Skip to content

Latest commit

 

History

History
126 lines (98 loc) · 5.51 KB

why-i-do-open-source.md

File metadata and controls

126 lines (98 loc) · 5.51 KB

Why do I do open source?

Open Source, for me personally, is an expression of creativity and technical excellence, thrown out in the public for everyone to learn, copy and improve themselves from it.

I do it because I am ecstatic when I design new code, and because I believe that I should regularly exercise coding at the best of my capabilities.

My projects may not be the "best" out there, since everyone does measure with their own units, but I certainly try to express the best that I can do with my skill, experience and continuous effort.

I avoid cutting corners, because:

  • there's already a paid daytime-job for that
  • there are enough projects out there that do this, mostly to win popularity contests

I also do work on very legacy projects, some of which are stuck on technologies from more than a decade ago. Those projects are stuck there because engineering is not allowed to move them, and that can be for very good reasons that are not up to me to argue with.

This corner of the codeverse is mine to decide where engineering steers towards, and this capability is extremely precious to me.

Permissive licenses versus "free and open source software"

I do release my work under some of the most permissive open source licenses (MIT, BSD-2-Clause, BSD-3-Clause).

I did not put much thought into why I choose them, but permissive licenses allow for larger organizations (reads: anyone with a "legal department") to use my software as they wish.

The fact that my software can be used freely is something that I will probably change in the future, since there is much good to be done by stopping corporate greed from abusing work done in good faith.

There's an excellent talk by Larry Garfield that exposes the problem in detail: https://www.youtube.com/watch?v=sJpXhVD18-c

I don't do this for you

Some may think that open source comes out of my "good heart" (or some other bullshit expression like that).

No: I do it because I want to code, and I want to keep my edge with what's latest and greatest out there. Selfish, isn't it?

In practice, I do gain directly from publishing projects out there:

  • free publicity: as a freelance consultant, these projects do provide the visibility that some poor devils are often paid with at the beginning of their career. While I did pass through that stage in my career history, I do have steady income from an actual job that pays, and this is a "bonus" now.
  • occasional consulting gigs: open source does not pay (yet), but sometimes provides for some interesting client work that is worth picking up, for monetary or personal interest reasons.
  • having a voice: without these technical achievements, relevance in the technical ecosystems I work in is hard to obtain. While harsh, the reality is that the work you do has an effect on who you are perceived as, and therefore opinions are given different weights based on that.
  • sponsorship: I do get financial returns through Tidelift and Github sponsors, for which I am extremely grateful, but for which I also never worked directly. After a decade in OSS, both these platforms came in as a "wow, finally?" reaction, rather than a change in direction and interests. We are still far from having sustainable open source work, and these tools only provide an imperceptible fraction of my income, at the time of this writing.
  • stress relief: while open source users are often a big source of stress and gripe on my end, I take refuge in my OSS work when my mind makes it feel like the world around me is collapsing. This little corner of the world helps me maintain the sanity, especially after a long day of work where I may have had to take all the wrong decisions due to external constraints that I cannot control.

All of the above are certainly things I gain from directly, but are also not the "why" I do open source, rather interesting perks that come with it, after having worked on it for a decade, often for many sleepless weeks at a time.

You do matter

It may sound harsh to read "I don't do this for you" from a maintainer of projects that you directly rely upon, but rest assure that I take users of my projects in high consideration.

For years, my twitter bio spelled:

I'm a tad blunt, but I mean no harm. Making unpopular decisions, so you don't have to.

This is because:

  • I do get to the point, and quickly. That's very often perceived as blunt and rude, especially in angloamerican cultures, and is very appreciated in others (european, middle-eastern, for example).
  • while unavoidable, I despise politics: I emigrated because of them, and burnt a lot of bridges because of them too.
  • I do take technical decisions in the interest of the end-user, even though I wrote a whole page that states "I don't do this for you".
  • my technical decisions are based on my experience and interests, and not necessarily yours.

You can expect me to always combine my technical excellence with high sense of responsibility in my work.

Please note that it's not actual legal liability: that's why there's a license in place that says "it's your problem if it breaks".

I will certainly not make it break intentionally: it would only reflect negatively, both introspectively and from the outside observer.

I do care deeply for the quality of work being delivered to you, even if you aren't paying me for it, or never even heard my name/nickname before.