Very rarely does something completely disconnected from my day-to-day existence annoy me so much that I feel the need to say something, but this is something I feel very strongly about.
Robert Fischer wrote a post titled “Dear User of My Open Source Project” and many of the proggit comments were quite vicious. I noticed that some of these commentators seemed to have the same understanding of “open source”: that an open source project is a product, like any other product, that is simply distributed with its source code. Therefore, Robert is clearly creating and releasing “inferior” products and this behaviour should be punished. Being open source is not an excuse.
If this is your understanding of open source, you have missed the point. Entirely.
Yes, there are open source projects out there that are very well-documented, quite reliable, and have attracted large communities of contributors that tirelessly work to improve every aspect of the software. But by my count, that seems to be the exception rather than the rule. Most open source projects out there are maintained by just one person who scratched an itch and thought the solution might be useful to others. Some of these projects might be lucky enough to have a few passionate contributors. These projects may have some rough edges in their code or their documentation, and perhaps the contributors might be too busy to put on the appropriate polish.
You might think that irresponsible, or even reprehensible. How dare this person release this garbage and pollute the open source community!
News flash: it is these people who drive open source software. Those large, reliable open source projects with all of the sparkle and polish? They became that way because large groups of people found them useful enough that they decided to invest their time in making the project even better. But in all cases, for open source software to progress, people have to be willing to give up their time and energy for free and with no expectation of reward. Open source is driven by pure altruism.
And yes, as a programmer using open source software, you may sometimes have to roll up your sleeves, get into the code, and make the changes that you need. Or perhaps you can find other ways to contribute. But complaining like a petulant child that it doesn’t serve your particular purpose is, frankly, incredibly rude considering that you were given this software entirely for free and given the power to inspect its source code and change it to suit your needs. If that is the way that you’re going to approach these projects, go use something else.
Like Christmas, the true spirit of open source is giving.
Edit: Some one on proggit rightly pointed out that I’ve made a common mistake of grouping “open source” software with “free” software, a subtle distinction that this pagefrom the FSF makes very clear. However, I believe that Robert Fischer’s post and his complaints also referred more to “free” software than “open source” software. Consider, for example, that he prefers to use the WTFPL for his projects, the spirit of which is “I’ve decided to put this out here, and you guys can do whatever you’d like with it.”
This is not to say that all “open source” software doesn’t adhere to the values of “free” software or that all “open source” software necessarily follows the values of “free” software.
The problem is that you start using terms like “the spirit” of open source. Until you get over your emotional baggage with open source, you’ll never get it.
Yes, such “emotional baggage” really only applies to “free software” and not all open source software is “free”. This was pointed out by a Redditor and I’ve added a note to concede the point.
I write a ton of open and free software and the last reason on my list is altruism. Nature does not recognize entitlement so screw your altruism. I do it because I can; nothing else.
The trouble is that the flag bearers of OSS are hard at work at constantly evangelizing and declaring that OSS is so much better than everything else, and that everyone should switch from those horrible closed corporation products to the world of openness and community and blah blah. This creates an expectation that the OSS movement is trying to pass OSS software as something serious, and on the level or better of a commercial product. So naturally us users will have certain expectations of it, usually to our own disappointment.
Naturally I understand that “the OSS movement” is not what “the spirit of OSS” really is, but at this point it’s presumed by default that the act of publishing a piece of software symbolizes that you want people to actually use it (otherwise why would you do it? To stroke your ego?). And if so, then you should expect that people will treat you to the same standards as any other “serious” software publisher. What with the program having to be, you know, good. And having support and all that. So Robert really shouldn’t be surprised that he finds himself surrounded with people demanding things from him.
The way he ranted that he wants no responsability over the monsters he unleashed on the world, makes it look like he doesn’t give a damn about having a userbase at all. If he doesn’t want anything to do with the programs that he published, he should either stop doing that, or make it perfectly clear that he doesn’t want anyone to use them, and the binaries/source are just there to decorate his website. Maybe a large notice with a middle finger would be appropriate, because that’s what he’s basically doing to his userbase.
MySQL, Glassfish , JBoss, they are all open source. Do you want support? Pay for it. Do you want a bugfix? Pay for it, or wait until they fix it (which may take a few years). You may try posting a question in their forums, and a kind user or developer may answer you out of the goodness of their hearts, but if you want technical support, then it won’t matter if it’s made by a team of engineers at Oracle or by Pete in his basement, you will have to open your wallet and pay for their time.
@Ilia: I think that really depends on what the author’s intent is in publishing it. Not every single piece of free and open source software is out there to gain market dominance and/or replace “evil” proprietary software solutions. Sometimes, a guy just wrote a thing and thought it might be somewhat useful to the world at large. Is it really a good idea to hold that guy to the same standards as you might hold, say, the entire Apache Foundation?
I think that’s dangerous because if you assert that every single time I decide to, for example, push a repository to GitHub, I am obligated to provide that level of maintenance and support, you can be damn sure that I will be pushing very few repositories. I don’t want to be expected to spend a great deal of hours on work that doesn’t have any value to me just to meet the expectations of every single person who uses my code. I could be spending that time making new things while others continue to contribute features and fixes to the stuff I used to maintain. So pushing the expectation of “product-quality” maintenance might actually reduce people’s ability to innovate and provide even more value.
Open Source software is driven by passion. You here have a person or a community of developers giving freely of their time to provide everyone with a solution that they otherwise would have to develop themselves.
Instead of complaining about this and that, find a way to give back. In life people are always taking, taking, taking… Maybe it is time to say thanks and give something back.
Kind Regards,
Schalk Neethling
OpenSource Release Feed