The Dark Side of Open Source

Contribute to open source, it's the best thing that happened to me!” is something I've been hearing more and more on Twitter lately. While I don't disagree with the statement itself, it seems to me that it unintentionally (or intentionally) leaves out a fair amount of the truth about open source contributions and authorship. It's kind of like if you were to recommend a hiking trail that ends up with an unforgettable view, but you fail to mention how much difficulty and preparation the hike requires.

I know there will be people who take this route and find themselves overwhelmed, if not unprepared, when faced with what the life of an open source maintainer is really like. Since I created this blog with the goal of writing about things that I think people should talk about more often, it's time for me to delve into the vast and alluring realm of open source.


Checking status

I will write from the point of view of an open source author. Partly because this is where I have the most experience and can highlight problems I've encountered myself. But mainly because I believe that the issue of turning a contributor into an author is solved with just one commit.

There is a significant difference between the experience of a contributor and an author when it comes to open source. Visiting a park on weekends for volunteer service is not quite the same as being a caretaker of this park, mowing the grass every day, organizing repairs, caring for and treating the animals living on its territory. It's like living in two different worlds that will collide sooner or later.

I should note that my goal is not to discourage you from diving into open source and becoming whoever you want to be. Open source is a great place to learn and make friends – you've been told that right. This has been my main way of teaching for half a decade, and it would be stupid of me to stop you from learning yourself. So if you are thinking about making your first investment – do it by all means. See you at the end of the article.

Enjoy not being found out.

I say this without the slightest hint of sarcasm. Enjoy the time when your projects remain only yours, because it is truly magical. Once they are discovered and picked up, everything will change depending on the rate of adoption, so don't miss the opportunity to get some fresh air from a new project that no one knows about.

Here I'm tempted to say, “Create something great and people will follow you,” but that couldn't be further from the truth. It's like making a name in the music industry: it has nothing to do with the genre or quality of the music you write. It's a matter of luck – once, twice, and then a couple more times. Because it takes a huge amount of effort to convince people to look at what you create, let alone accept it and contribute to it.

I repeat again: enjoy the fact that you have not been discovered. There's something unique about playing your songs in the garage, maybe even with a group of friends. Not everyone needs to sell out big stadiums or sell platinum records. The life of a famous musician isn't all about amassing loads of money and drinking huge pints of wine. There are difficulties and struggles, so enjoy them while they are not on your daily list.

If you eventually decide to seek attention, use all the tools available to you: social marketing, speaking at conferences, joining existing communities and finding friends online. The latter has worked best for me, and I've been incredibly lucky to have my work highlighted multiple times by incredible people in the community. However, your path is yours alone.

You'll learn a lot about marketing by promoting your open source work. Well, no wonder. To be honest, you won't be promoting open source, but…

This is a product, not a feature

Think of an open source project that you associate with being successful. Now tell me what is the probability that this project:

  • Purchased;

  • Owned by a corporation;

  • Serves as an entry point into a paid product;

  • Won a lottery ticket after receiving a sufficient number of voluntary sponsors;

  • Any combination of the above.

In the JavaScript ecosystem, the probability of this happening is approximately 100%. And if you think you've come up with an exception, then it's probably going in one of these directions without your knowledge.

Open Source Libraries are products.

It is even customary to brand them, draw logos, develop unique styles and engage in other types of product branding. It's not a bad thing, it's just something that might slip past your keen eyes, and something that I rarely see mentioned by the authors of such projects.

Many of these projects are still created by enthusiasts and endlessly creative people, but despite this, they are all destined to become a product in one way or another.

Enthusiasm is great, but it won't make dinner.

In addition, any enthusiasm must be maintained. And so, in an effort to preserve the embers of their inspiration, authors naturally look for ways to support their projects financially. There's just one catch.

If you look at the list above, not a single item is relevant to the actual open source work you do. The financial stability of the authors is ensured through external sources, often created by them themselves in addition to the Herculean efforts that they have already invested in their projects.

Open source money

Whenever I mention the words “money” and “open source” in the same sentence, the room suddenly becomes quiet. For some abnormal reason, it is an unspoken taboo to associate something that is legally and infinitely free with such a dirty thing as money. I honestly don't understand this. How can you taboo something that doesn’t exist?

Because there is no money in open source

Of course, none of the co-authors participates in projects with the sole purpose of obtaining financial benefits from them. Open source has never been about money either. But for you as an author, not having the resources to support your ideas and pay for even a small portion of the time you spend on them is, I won't lie, devastating. This may not bother you at first, but it will inevitably become a problem when your ideas gain popularity and require significantly more time than you have in the day.

However, there are unicorn projects that exist thanks to the support of their users. Whether your project will become one of them is a separate conversation. I would say that you are more likely to win several lotteries in a row than to receive stable financial support through voluntary sponsorship. The entire open source culture is structured so that there is no need or desire to sponsor creators, and there has not been a single shift in this direction for decades. Like a motionless windmill on a windless day, the financial position of open source hangs in the air, unresolved, unclaimed, stagnating.

That's why almost everyone builds a product within or around their open source ideas. I can’t say that I share this direction, but it is certainly the only one that is accessible to everyone. I do believe that the productivity of ideas leads to shifting priorities, which often results in decisions that are better for the product rather than its users. Ultimately, when it comes to a product, revenue is the driving force, and so everyone is stuck in an endless tug-of-war to attract users to their product and their product alone.

Plan your exit

The sooner you start thinking of your ideas as products, the healthier your open source (and personal) life will be. And with any product, it’s worth considering your options for getting out of it. In the context of open source, these are the options that will keep your product afloat and your creativity fueled.

It is no coincidence that most of the projects that I can remember have a clear maintenance strategy. I'm not encouraging you to write SaaS in parallel with your other ideas, but if you can, then by all means go for it. Otherwise, think about the future of your project and how to ensure that this future does not become your second job. If I managed to convey to you at least part of my thoughts set out in the previous section, then you yourself can answer how well this work will be paid.

To further complicate matters, not all ideas turn into paid products. You may come up with fantastic tools that won't be sold on their own or as part of another product, which will leave you stumped. Don't wait for this to happen, develop a reasonable plan for maintaining your projects early on and stick to it.

I'd be happy to recommend specific things or give you direction to follow when it comes to sustainable open source. But I can not. Not because I want to hide the secrets of the universe from you, but because I myself have not yet fully figured it out (hello from limbo!'). My projects are stagnating and I'm burning out from spending so much free time on them. Once I figure this all out I'll write another article, but for now the best I can do is warn you and hope you're better prepared than I was.

Establish a healthy balance

Even from the earliest days, when you create something for fun without intending or hoping that it will ever be discovered by anyone, maintain a healthy balance in the time you spend on open source. Once your project is known and people start demanding more, it will be too late to think about such things.

Open source is a vast sea of ​​opportunity, and it's easy to get lost in it, watching the hours and weeks fly by as your ideas slowly take shape. Open source is fun and, frankly, addictive, but be careful not to sacrifice your personal and family time to this addiction. This may seem silly to you, but I know how easy it is to panic a little when I see someone reporting a problem with my project. It also makes me nervous to realize that I can't move forward with my ideas as quickly as I'd like, simply because there are too many of them. Mental health is not something to be trifled with and there are different things that make us happy, sad, nervous or elated. This is where the right balance and attitude towards open sources is very important.

Honestly, I would recommend just setting time limits on the open source activities you do during the day. “Okay, it’s 5:00 pm, so I have an hour and a half to contribute to open source,” that’s where a good balance begins. Of course, you can afford more time, but it is the idea of ​​clear boundaries of activity that makes it healthy. Don't work in the evenings or at night. Don't forget about your friends and loved ones. Believe me, they are more important than all the codes in the world.

And once you get big, try to keep it simple. Don't let this take your attention. Don't stress over stupid things. And yes, the code we write is ultimately just stupid stuff. That doesn't make it uninteresting or meaningless, but it's just bytes in a computer. It's funny, but changing your attitude to a more distant one will also have a positive effect on your work. Everyone wins when the creator is healthy.


Final Thoughts

There's no better place to learn engineering than open source. There is also no better place to sacrifice your personal life and mental health than open source. And how you balance these two is entirely up to you and the culture you establish around his open source work. Bring your ideas to life. Help others. And above all, don't forget to take a week off from open source work every now and then – it will pay off.


Artem Zakharchenko – author of the testing library M.S.W. with 15K stars on GitHub.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *