Revealing the dark side of open source projects

🧵👇

First of all I want to clearly state that open source has changed my life, allowed 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, however, I'll be focusing on the dark side of it on this thread. 🌑
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...
Why is this?

Can't we all do open source projects?

What's going on here?
I myself sum more than 37K 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 in 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, becoming a trending dev a couple of days and have a usable and decent project
But then we realise it is not only about building it, adding it in your CV and keep going with your life as if nothing happened.

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 take a decision:

1 -You stop maintaining it.
2- Or you keep doing it.
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 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.
"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 on it, the answer is "no".

The "community" tend to just use your "free" project and few are the ones willing help maintaining and improving a project in the long term.
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 request on his open source projects:

https://t.co/zWfvFiA3Jo
So, is open source great after all?

Sure! But specially if developers working on them don't burn out.

Great open source projects tend to be the ones maintained by developers who get paid to work on those.

Those who can dedicate their full-time and effort on improving 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.
I've been working on mine for about 7 years and recently reached its record of 114K npm downloads in a week.

"But Alvaro, how? Didn't you burned out?" 👇
After 3 years working on my side open source project for free along with my 9-5 developer job, I decided try selling paid extensions.

6 months after that I quit my job to dedicate full-time to it.
Since then I noticed thing became less of a burden for me.

I happily answer emails, stackoverflow questions, Github issues, Webflow forums and DMs on Twitter.

I don't see it as a sacrifice anymore but as great opportunity to work on what I like.
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 finding this equilibrium, but not everybody can.

When this doesn't happen, the dark side might end up turning down some projects on the way.
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 great talk from @fat from Bootstrap and Bower explaining why he feels guilty creating open source projects and the cost of it:
https://t.co/v5a7ZXUtHb
If you are interested on web development (front-end mainly), startups, entrepreneurship or just open source in general, follow me at @imac2.

And remember:

“If Once You Start Down The Dark Path, Forever Will It Dominate Your Destiny.”

You May Also Like

Rig Ved 1.36.7

To do a Namaskaar or bow before someone means that you are humble or without pride and ego. This means that we politely bow before you since you are better than me. Pranipaat(प्राणीपात) also means the same that we respect you without any vanity.

1/9


Surrendering False pride is Namaskaar. Even in devotion or bhakti we say the same thing. We want to convey to Ishwar that we have nothing to offer but we leave all our pride and offer you ourselves without any pride in our body. You destroy all our evil karma.

2/9

We bow before you so that you assimilate us and make us that capable. Destruction of our evils and surrender is Namaskaar. Therefore we pray same thing before and after any big rituals.

3/9

तं घे॑मि॒त्था न॑म॒स्विन॒ उप॑ स्व॒राज॑मासते ।
होत्रा॑भिर॒ग्निं मनु॑षः॒ समिं॑धते तिति॒र्वांसो॒ अति॒ स्रिधः॑॥

Translation :

नमस्विनः - To bow.

स्वराजम् - Self illuminating.

तम् - His.

घ ईम् - Yours.

इत्था - This way.

उप - Upaasana.

आसते - To do.

स्त्रिधः - For enemies.

4/9

अति तितिर्वांसः - To defeat fast.

मनुषः - Yajman.

होत्राभिः - In seven numbers.

अग्निम् - Agnidev.

समिन्धते - Illuminated on all sides.

Explanation : Yajmans bow(do Namaskaar) before self illuminating Agnidev by making the offerings of Havi.

5/9
A THREAD ON @SarangSood

Decoded his way of analysis/logics for everyone to easily understand.

Have covered:
1. Analysis of volatility, how to foresee/signs.
2. Workbook
3. When to sell options
4. Diff category of days
5. How movement of option prices tell us what will happen

1. Keeps following volatility super closely.

Makes 7-8 different strategies to give him a sense of what's going on.

Whichever gives highest profit he trades in.


2. Theta falls when market moves.
Falls where market is headed towards not on our original position.


3. If you're an options seller then sell only when volatility is dropping, there is a high probability of you making the right trade and getting profit as a result

He believes in a market operator, if market mover sells volatility Sarang Sir joins him.


4. Theta decay vs Fall in vega

Sell when Vega is falling rather than for theta decay. You won't be trapped and higher probability of making profit.