Is open source really what is seems to be?

2020-10-23 • 3 minute read

Open source values are appealing. The idea that is transmitted from community to people is wonderful. Sharing, transparency, flourishment of mind to produce the best algorithms possible, accessible for free.

We can thank the biggest contributors to make this utopia a reality. They push the programing world further by bringing for literally no bucks awesome products that amplify our lives as developers.

A misusage

One day, trying to setup another side project, I had to swap tools for performance matters. Operating the switch was not easy, because the previous tool, a web bundler, was doing so much behind the scene, that switching to the new, more rudimentary one, would force me to find alternatives to cover some of my needs.

Like anybody, I first tried to find existing tool, and hopefuly I found one that would fit my need: cache busting files by appending a hash in the name.

By reflex, I went into the few opened issues, in order to see the actual limitations of this package. It was created by a famous "Full time open sourcer", and went throught a lot of downloads. In my head, I was happy, because I would not have to search too far to get back the experience I had with the bundler I just replaced.

Suddenly, I noticed an intriguing issue. Reading the issue, it was nothing weird. Someone asking to add a feature, which would have unlock possibilities for this user.

The author never replied, and in fact we could see in the first lines of the README:

“This project is feature complete.”

Jokingly, I was even more reassured that I had found the diamond library I was looking for. In a hurry, I set this package up, plug it into the new bundler, and try the beast. But it did not had the expected behavior, so I must have missed additional configurations.

I then went into the documentation, and tried nearly everything provided on the library. Some option were weird, but it was okay, since I would reach my goal.

After 1 hour of trial, I had lost my hope and remove the package. This got me thinking a little bit over what we consider finished, beside the fact that some people consider it is not.

Bread for the masses

Have you ever encoutered a library with a dedicated project for ideas? I did. One was clearly holding the namespace of the project, /idea. I always wondered, why would you separate the open source code from the improvement suggestion. Is it not the purpose of issues labels? Why would you add such a barrier between the possibility of improvements and the contributors force?

Worse, I saw a (famous) package pushing "read only" split of its packages, which sometimes do not contain any README. With the same /idea system, the improvements and bugs would be kept aside.

This is in my opninion a dangerous way of providing open source to people. Because now, open source is more than just "open access to the code". It is a true way of sharing and empowering things, no matter the purpose of the library. This is a place were true innovations come to life, and where anyone can push the idea further in order to have a true impact on our world.

This kind of project organization is synonym with a drastic reduced numbers of proposal, bug alerts, and closes at the end the access to improvements.

Should we follow this way

To get back on the first part of this article, the author of this completely achieved package has a lot of followers. At such point that he is influent. Influent on people's mind. If you would have created a package, that does the same as he do, he would obviously get instantly more downloads than your, even if the end result would be the same.

It is the fame around the person that creates a gravity pull around others. And this is dangerous in the sense that if this person would shift from a day to another to a new system, people would be loss because the ecosystem that he left would suffer from this departure. The example being this package that this author considered finish, that in fact was not for others.

Where is the line, in open source, to responibility? Are the famous open sourcers more than code geniuses? Are they conscious of this, or do they play of this situation to increase their influence? Do the ego have a place in the open source world?

Be the change you want to see

Friendly reminder, you have a role to play on this game. You can also influence people by giving your opinion. It is okay to follow big names on Twitter. But make sure to also forge your own opinion, make your thoughtful decision, and think about what you want to see in the future. In case of disagreement, the world is a big place, so mark it of your own innovations, and don't wait your favorite person to create the next big thing: be the change of tomorrow.