Since people wishfully read my previous posts criticising (part of) the GNU project as a wide-area attack on Free Software, I would like this time to post some positive thoughts on the greatness of Free Software altogether. I actually like writing enthusiast posts more than rants, but for my own character, I tend to see the bad stuff sooner than the good stuff. But notwithstanding this, I’m totally in love with the idea, and the principles of Free, Open Source Software!
*All what I’m going to write here, is likely to be considered happening in a world that, even not perfect, is a bit better of the real world we all live in together; a world where software patents don’t exist, as they bring out the worst part of legal troubles, and heavily step into the Freedom given by Free Software.*
Free, Open Source Software is so great, because whenever you have to do something, you can first make sure nobody else did; if they did, then you have the freedom of using that, improving that, or scratching that and invent a better solution. It’s so great because when you find something that almost suit what you need, you have the change of improving it and making it better. Free Software is also great because you can reuse the code someone else wrote, for a slightly different task, and you can then give it back as new Free Software. And that Free Software can then be slightly changed to suite a different task and so on so forth for as long as it’s possible.
Even not-so-free, but still Open Source Software is good, if not truly great. You can see how stuff is done, you can make a “cleanroom” implementation, or you can just find what you have been doing wrong so long or you can give at least partial support for otherwise too far-fetched technologies (I’m thinking about Apple’s APSL-licensed
fsck utilities for HFS+). And even accepting it’s not as Free as we usually like it to be, it gives you time to focus on what we lack entirely, rather than something we can accept as it is for now, and strive for perfection later.
And good, Open projects make it easy to contribute fixes back; Distributed Version Control Systems make it even easier, but in general the ability to take a piece of software with a bug, and being able to get the bug fixed so that it works exactly as you wish, and have upstream accept it, and merge it back (eventually with more fine-tuning if needed) is something especially important. I’ll quote Delano here: “Open source developers are a lot like smokers — always helping each other out!” — so true!
He was, at that time, referring to a fix I sent him for the Storable gem (which is in Gentoo as
dev-ruby/storable and is a dependency of Rudy, the EC2 management tool I’m so enthusiast about and saved me from burnout so many times). Around the same time, I got the confirmation of my two fcron fixes being merged in by Thibault. And today, I went on to fix and improve pam-pgsql.
For two of my current work tasks, I’m also considering doing some extra improvements, which may not be strictly needed, so shouldn’t stop me from going on with the work, but will make my work more detailed and improve Free Software for others: make Gentoo provide a way to disable dynamic modules on ImageMagick/GraphicsMagick (upstream has a way to provide this, albeit slightly incomplete) and improve PowerDNS build system so that built-in modules can be built cleanly and be switched by packagers. No, even though in both cases I’m fighting with dynamically-loaded modules, they really have no common ground but my own opinions and the fact that I like my results to last as long as possible. But I’ll talk to how I mix my job with Free Software at another time.
Free Software is so great because of licenses like the GPL, that make it possible for more and more software to be Free, but also because of licenses like BSD, that give space to choose a different, more “soft” approach, that goes better in hand with some commercial venues (I’ll talk about that another time as well). Choice is good, more choice is even better. So both Free Software, and Open Source Software are good for all of us.