Why I publish my projects open source

Just a random thought about publishing software.

Why I publish my projects open source

Within the last years, I spent some of my free time working on software projects. Often more, nowadays less. The majority of them are stored in repositories on my GitHub account or within it's related organisations.

"Free time projects" are projects with a ripcord. At some point, you may either run out of time, luck, motivation or you reach a point where a development makes simply no sense for you at all.  And you just stop working on it. And now?

If a software is published using a closed source, e. g. freeware license, you are adding an indirect expire date to it, or a time bomb, if you will. This "expire date" depends on multiple factors.

One of it is your distribution way, which may be your personal project website where you host the downloads itself. If you shut it down at some point, the project is lost for the outside world. Another factor is your source code management. If you are running no version control (shame on you) or you loose the source, the possibility to make changes anymore is lost permanently. And as you never opened the source code access, no one ever will. An extreme, but also possible factor may also be: What happens if you cannot do any changes to it anymore, e. g. due to injure or death? The project you've build is lost and all the work you've put in it also. Basically your "code legacy" fades away.

For me, I spent my first 2-ish years working on projects during my  free time designed to be freeware, but not open source. And spoiler - the source aswell as the binaries got lost years ago. I doubt the proejcts ever had a real user base, but for me it was a lot about learning and not about delivering. So it's not that of a hard loss. But for projects with a real user base, but with proprietary source code disclosure licenses, it will be a loss.

Some years ago, I decided to put the majority of my projects open source on GitHub (we won't start a discussion about GitLab vs GitHub here, thank you). Even although the majority of the tools and repositories won't ever serve a daily work purpose nor do they have a real user base, there may be a chance where a developer or user can benefit from it. And this could even happen when I do not even work or think about the project anymore. And for me one of the largest advantage of having projects open source is the fact that people can approach you for participation a lot easier, which may also be supported by GitHub as an collaboration platform. I doubt this would happen that often if the projects would be proprietary and just being hosted on my website, for example. Especially the distrochooser benefits a lot from this.

Photo by Joshua Aragon on Unsplash