Skip to content
Ovilia Zhang

Finding inspiration from, with, and for the community

Ovilia makes an impact by dedicating time to both code and creativity.

Ovilia Zhang // @Ovilia

Hi, I’m Ovilia, and I’m from Shanghai. I’m a data visualization developer and full-time maintainer 👩🏻‍💻 for Apache ECharts (incubating), which was originally open sourced by Baidu and is now in incubation at The Apache Software Foundation (ASF). I love working on meaningful personal projects and finding inspiration for both myself and other female developers! ✨

Shanghai, China

@OviliaZhang

Organizations

The ReadME Project amplifies the voices of the open source community: the maintainers, developers, and teams whose contributions move the world forward every day.

It all started when someone posted an interesting question on Zhihu, a Chinese platform similar to Quora: “Who are the exciting female developers to follow on GitHub?” I decided to take a chance and speak up for myself, and it worked. I started to gain recognition from fellow developers in China and, from then on, became more well known.

I’ve been a GitHub user for more than nine years, and my profile page is pretty much my resume. It allows visitors to see who I am as a developer, and gives my work the greatest opportunity to resonate with the community and evolve through contributions. I have about 10,000 followers and more than 50 open source projects. One is ThreeExample.js, a project with examples from a free ebook I wrote in Chinese about Three.js, a popular WebGL library that helps you create 3D objects. I wrote it about seven years ago, and it has more than 100,000 views. Another is Lipstick, a color visualization of lipsticks I made in honor of International Women’s Day two years ago, and it also has more than 100,000 views.

I hope that by creating cool projects, I can inspire people—especially young Chinese women. I want them to know they can do as well as male developers, and encourage them to embrace their creativity and find their own developer voice.

Ovilia Zhang pictured at a sunny park.

Behind great code is a healthy community

I studied computer graphics and image processing because it helped me to take what I saw in my head and bring it to life—which was exciting. Four years ago, I put that education to practice as a front-end web engineer for Baidu’s ECharts project. ECharts is an open source charting and data visualization library written in JavaScript that provides a powerful, interactive tool for web browser, mobile app, and backend usage. It started when an engineer at Baidu created a prototype of the library for some chart-related tasks. He later noticed that the project was helping other developers and decided to open source it on GitHub.

Today, we are one of the most well-known and widely used data visualization libraries in China, and are growing more internationally. Tens of thousands of people depend on the project, and there are over 200,000 downloads each week on npm. In 2018, we donated the project to the Apache Software Foundation (ASF) so that more people could use it without licensing issues, and we’re now being incubated by ASF, which has helped us become a high-quality open source project with a healthy community.

For the eight years before we joined ASF, we were maintained by a limited number of developers, many of whom were also Baidu employees. So if one or two employees had other things to do, ECharts might be deprioritized, which was dangerous. So we decided that the healthier way forward was to empower the community to maintain the project. We labeled the issues so it was easy to filter tasks based on the level of difficulty and identify what needed to be done. This way, more senior developers could fix bigger issues and help junior developers tend to easier tasks.

We learned to promote community over code on GitHub. Now we understand that maintainers and contributors who have a good work-life balance will consistently produce great code. On the flip side, even if you have good code but an unhealthy community, the code will eventually fail.

Turning to the community for clarity, inspiration, and feedback

One of the bigger problems I see in open source is the lack of contributors compared to users. People are accustomed to asking maintainers for help. But as the project grows, it can be hard for maintainers to fix all the bugs and fulfill all the feature requests, especially since the work is so often done in someone’s spare time. If more and more users take this for granted, maintainers may stop contributing because they don’t feel respected. So we have to continue to inspire, support, and encourage each other to foster an inclusive environment that’s sustainable for everyone.

I also think it’s important to just do the job, and not get bogged down with perfection at an early stage. So many people think their ideas aren’t good enough so they just don’t do them; or they don’t think their code is perfect just yet, so they don’t open source it. But I don’t think you should be afraid of that. With open source projects, you can let others know why it’s not polished, and that you’re looking for feedback. And when they have a positive reaction, it really motivates you to continue. If you wait for perfection, you may never end up doing it.

Photo of Ovilia Zhang wearing a tulle skirt, looking thoughtful, under a canopy of lights.

Making space for projects that have an impact

Developers in China generally have long days and less leisure time. But for me personally, it’s important to carve out time for reading, thinking, and learning new things even when I’ve had a long day. Most of my side projects are inspired by that time. It helps that my husband is a developer, so we brainstorm and collaborate a lot. We once made a pixel art–style wedding project together where you can take a photo and customize your hair, eyes, mouth, outfit. It wasn’t open source, but it gained popularity quickly, and people were asking if we could generate the same tool for them.

Accessibility is another important factor to consider in open source. In data visualization especially, the actual types of charts need to be interesting and useful for everyone. For example, I made the Accessible Rich Internet Applications Suite for ECharts, which generates an accessibility-friendly description in HTML for those who might not be able to clearly see a chart.

When you’re in the world of open source, you quickly learn how impactful your work can be. What you think only affects you might actually help an entire community; we have the power to change things for the better with every line of code, comment, and pull request. Sometimes when I share my projects on GitHub and people get excited about what I’ve built, they’re surprised that I’m a female developer. But I wish that one day, they will be surprised by my work only, and not by my gender. So it’s important for me to continue this work. To inspire and encourage everyone, but especially women, to code with confidence and creativity.

About The
ReadME Project

Coding is usually seen as a solitary activity, but it’s actually the world’s largest community effort led by open source maintainers, contributors, and teams. These unsung heroes put in long hours to build software, fix issues, field questions, and manage communities.

The ReadME Project is part of GitHub’s ongoing effort to amplify the voices of the developer community. It’s an evolving space to engage with the community and explore the stories, challenges, technology, and culture that surround the world of open source.

Follow us:

Nominate a developer

Nominate inspiring developers and projects you think we should feature in The ReadME Project.

Support the community

Recognize developers working behind the scenes and help open source projects get the resources they need.

Thank you! for subscribing