← Henry's Zoo

In Pursuit of Open Source (Part 2)

April 06, 2018 • ☕️ 6 min read

In this post, I’ll be talking about some aspirations. First I will briefly touch on what I’ve been up to.

It’s Already Been One Month!

Wow, time flies when you’re having fun 😁! I’ve been completely blown away by all the support towards my initial post (~$2k/month donations in only 3 days!) and even moreso from all your encouragement and excitement. It’s truly a special feeling to know so many in the community have my back. I’m relieved. I do feel that I made the right choice even if it is just the beginning. Although there are many obstacles and challenges ahead (known and unknown), I have much hope!

In the last few weeks: I’ve more or less posted daily updates via Patreon for donators, started a new laptop/chair/table/monitor setup, done a talk with an open source contributor or company almost every other day, and have had more time to manage both my mental and physical health. I plan on doing more journaling on my own and actually going to attend and speak at more conferences (so if you know any conferences that would like a non-technical talk about open source, let me know 😁).

I’ve certainly begun a different schedule than what I’ve been used to: meeting with companies and doing some releases/reviews. I plan on spending a good amount of time doing this in the near term to try to support myself and grow funding/contributors. It’s possible it might take a toll on the current progress of the project, but we have an amazing group. Even then, I think it’s a worthwhile trade for long-term sustainability for both myself and the project 🙂.

But to answer the question of “What’s next”, let’s discuss about why I left Behance to do this in the first place.

Intro: Why Leave Work?

Many people have asked me why I left, since I only went into a bit of this in my first post. I ultimately believe that leaving to do open source full-time creates more opportunities for both Babel itself and for me by creating freedom.

Don’t get me wrong, I’m not saying that I was trapped before. It’s just freedom in the time sense (although there’s certainly a tradeoff that hasn’t gone away with time vs. money). More time has meant there is less context switching between open source and work, resulting in a greater ability to focus on one thing, and the mental space to think differently and, perhaps, even bigger. It’s definitely nice to now have such a flexible schedule; I can even travel home to Georgia whenever it’s convenient (like I will this week)!

There’s also freedom when it comes to work, too: I could’ve spent my time growing contributors or getting funding, but that could take up all my free time. Now with more time available, I have started again questioning “what actually is the best use of my time?”, and have been thinking about it a bit differently.

I do think everyone would be perfectly satisfied if I just “maintained” Babel in the smaller sense of the word (like fixing bugs), but it makes me think about where this could all go. Is that really all a maintainer does or can do? When I am able to think about things that no one else would have time to do (or no one would pay me to do), what kind of work would that be? I’m not really sure I know the answer yet, but I am taking it as an opportunity to try a lot of different things and to learn to be ok with having a flexible schedule. I understand a lot of this might not be easy to do, practical, or even actionable but it’s something to, at least, discuss and try.

Ultimately, I think my main goal is to improve open source as a whole: its influence on how we live and its culture. I plan to discover that notion in daily, intentional practice through any specific project I work on (Babel).

Some Ideas to Try

  • More Involvement on TC39

    • Send team members regularly to meetings (and raise money for that travel budget since it’s every 2 months)
    • Helping TC39 Champions and community members implement Babel plugins
    • Maintain the role of talking with the community and TC39
    • Work on guides to make it easier to contribute to Babel and TC39 proposals themselves, make the workflow from idea to finished proposal seamless.
  • Steward the maintenance/upgrading of community tools that depend on Babel: example with Next.js
  • Do more mentoring and programs like Summer of Code
  • Or do we partner with schools, bootcamps, do a meetup in our locations to teach how to contribute?
  • Content creation: videos (egghead, front-end masters), workshop.me, etc
  • Livestreaming open source maintainance: Tierney has made an awesome-developer-streams list.
  • Do a podcast on open source maintainence? (like RFC but on community)
  • Work more with companies like GitHub to improve open source in general, or companies that want to get better at doing community open source (work out of their offices?)
  • Partner more with other established communities like dev.to, CodeNewbie, Open Collective, repl.it, etc?

What’s Next?

Some things I want to learn more about:

  • How is open source as a whole moving in other industries and where we can learn from non-tech areas?
  • Where and how do we bring in new contributors? What kind of story do we tell?
  • How can non-code contributions be brought to the forefront?
  • How do we handle the influx of people as maintainers? Are we really prepared to act the role?

Growing the Community

Are we seeing a different picture of open source now?

While we shouldn’t forget the Cathedral/Bazaar model, many people don’t even know what that refers to anymore. Open Source has “taken over” in the Age of GitHub. Microsoft is “#1 in Open Source”. The Request for Commits podcast had it’s final episode after seeing the renewed interest in sustainability actually happening.

Beyond everyone using open source by default and individual projects starting to gain funding, what about non-monetary sustainability?

Do we really want all the hype/stars/likes/views/downloads? I know that focusing on that leads to emptiness. Is simply increasing in numbers considered growing? Is connecting the world that great when the ties can still be so weak?

I think we should strive for sincere discussion and collaboration, even if it starts small. Maybe trying to grasp at a sense of community in something so large is impossible? Can and should we please everyone that comes in??

And if, in my heart, I think something is important, why am I not devoting my time to it? I know there is a pressure from all sides about all aspects of the project to get better but in the end the long term goals are about consistent, daily practice. So if we want people to stay, then we need to have processes and a culture that encourages the how of people doing things rather than the action itself. But what can those processes be?

Freedom doesn’t just make time for more of the same things. I think it potentially broadens the scope and hopefully my heart as well.


Shoutout to Matt, Daniel, Brian, and many others for reviewing many versions of this post!

Thanks for reading this far! I haven’t gotten to far in thinking about these topics, so hopefully I have more insight in future posts 🙂.

Discuss on Twitter

Blog of Henry Zhu