First of all I want to clearly state that open source has changed my life, allowed me to quit my 9-5 job, and dedicate my time to the things I love.
There are plenty of good things that come out of it and I still believe it still can bring so much good to the table for so many people.
However, I’ll be focusing on the dark side of open source in this article. A side that not many people talk about but that web developers tend to suffer in silence.
A side that only comes to light from time to time with news like the ones regarding Faker.js. Where the world got surprised by a corrupted version of some widely-used open source libraries.
The current open source landscape
Have you ever stopped to look at the GitHub landscape?
It’s not unusual to see companies leading the top starred/forked and used libraries out there.
- Angular (Google)
- Font-Awesome (Twitter)
- React (Facebook)
- Bootstrap (Twitter)
- Tensorflow (Google)
- Flutter (Google)
- VsCode (Microsoft)
Why is this? Can’t we all do open-source projects? What’s going on here?
Open sourcing the code is just the beginning
I myself sum more than 38K stars on my open-source projects at GitHub and I’ve suffered the open-source dilemma in some way or another.
Here’s the thing: 👇
We can all play at home on a rainy day and come up with a great idea we get motivated with.
Then, with a bit of luck, we can gain some track and carry some people with us on the way. Gain some stars, become a trending dev a couple of days, and have a usable and decent project.
Related article: Best Open Source Web Browsers
But then we realize it is not only about building it, adding it to your CV, and keeping going with your life as if nothing happened.
The maintenance open-source dilemma
It is a constant flow of new bugs, issues, questions, enhancements… A never-ending task demanding constant monitoring.
And of course, the more popular it gets, the more time it will require from you. (This is the trap!)
That’s what I like to call: “The maintenance dilemma”.
At some point in time, you’ll have to make a decision:
- 1- You stop maintaining it.
- 2- Or you keep doing it.
Open source and life choices
If you keep doing it, you’ll probably have to sacrifice your own free time.
You’ll have to choose between a barbecue with friends during the weekend or fixing bugs and closing issues by yourself at home.
Between chilling out with a movie or adding a new “urgent” feature.
And of course, do not even think about creating any other new open source projects with those great ideas you have in mind.
You know you won’t have time for it unless you decide sleeping is for losers, and at that point, your life is at risk.
Open source contributors and community
“But Alvaro, won’t open-source projects get maintained and supported by the good people in the open-source community? I’m sure they won’t just die!”
Are you sure about that?
I bet you’ve found tens of unmaintained or dead projects with no support and issues getting accumulated.
Unless the project is quite promising and you decide to invest your life in it, the answer is “no”.
The “community” tends to just use your “free” project and few are the one’s willing to help maintain and improve a project in the long term.
Related article: Best Open Sourced Databases
In fact, sometimes the more they want to help the more of a burden they put on your shoulders.
Now, on top of all you do, you’ll have to review their pull request, understand it and potentially get into a conversation to fix that issue/feature you’ve never thought of.
Here’s a great article by @geerlingguy explaining why he won’t allow pull requests on his open-source projects
Is open-source actually good?
So, is open source great after all?
Sure! But especially if developers working on them don’t burn out, get crazy or abandon the project for good.
Great open-source projects tend to be the ones maintained by developers who get paid to work on those and can maintain a balance in their lives.
Those who can dedicate their full time and effort to improve them.
That’s why I believe having a company behind a project tends to result in a better project and in some way gives you the security that the project won’t get unmaintained next week.
How not to burn outbuilding open source projects
I’ve been working on my open source project for about 7 years and recently reached its record of 114K npm downloads in a week.
“But Alvaro, how? Didn’t you burn out?”
After 3 years of working on my side open source project for free along with my 9-5 developer job, I decided to try selling paid extensions.
6 months after that I quit my job to dedicate full-time to it.
Since then I noticed things become less of a burden for me.
I happily answer emails, Stackoverflow questions, Github issues, Webflow forums, Youtube comments, Linkedin DMs, Facebook DMs, and Twitter.
I don’t see it as a sacrifice anymore but as a great opportunity to work on what I like.
Every feedback I get, every bug report, every possible enhancement someone suggests, is a potential improvement of my product. And now I’m able to see it this way instead of a time-eater monster.
The healthy open-source relationship
It is now when I can fully dedicate myself to it if I need/want and I can create a better experience for developers by providing fast support, fixing bugs quicker, and giving them the security that the project won’t just die. Unlike probably 80% of the projects on Github.
This is definitely a win-win in my case. It’s good for me AND it’s good for developers who want to use it.
I’ve been lucky to find this equilibrium, but not everybody can.
When this doesn’t happen, the dark side might end up turning down some projects on the way.
Other open source dark stories
This is my story and my point of view, but there are many others you can listen to with much bigger open source projects.
Here’s a great talk from @fat, from Bootstrap and Bower, explaining why he feels guilty creating open-source projects and the cost of it:
And on a related note, here’s another talk by Desandro (the creator of Masonry, Flickity and other JS libraries). The name of the talk: ” Open-source ain’t free”.
Final thoughts on open source
I personally believe it’s up to us to define what open source looks like and what’s relationship we want to develop with it.
Each of us will have to decide how to deal with it, and there’s no good or bad decision. But if you are burning out, then stop and reflect.
And remember: “If Once You Start Down The Dark Path, Forever Will It Dominates Your Destiny.”
I’m Alvaro Trigo, @imac2 on Twitter. Creator of fullpage.js.
The article was originally posted on Twitter.