I really like Open Source software. I use it a lot: Linux, apache, postfix, amavis-new, clamav, openSSL, openLDAP, PostgreSQL, PHP are just a few of the OSS products I have on my servers.
When developing JAVA, I use Eclipse, Ant, JUnit and heck even Java 🙂
OSS is actually very important for be, being a Freelance I/T consultant, it allows me to play with features, technologies and implementations, in an effective manner, without having to pay a lot in license fees!
I’m not a big committer. Not that I don’t want to, but usually when I hit a bug or a poorly implemented feature, I either accept it or code around it.
Only 3 times since I started using OSS for the first time in about 2002 have I been in a situation where I had something to contribute with:
- Some missing Locale handling in Struts. I was just about to submit a patch when I discovered someone else had done just that a few days before.
- A bug in Stripes – also related to Locales – rendering some of the features useless if the Locale does not contain a valid country code. This was somewhat accepted by Tim Fennel and made it into version 1.4.
- A serious performance problem in Hibernates WebSphere transaction adaptor. This I fixed and submitted as a patch and then the story being told here is about to begin.
Apart from that, I try to contribute with helpful comments when I see someone report a problem I’ve seen and possibly solved myself. At least to let the other users know there are others with the same problem.
Does it make me a bad person? I think not – I’m no more different than 99.99% of all other OSS users.
This blog entry (or article) is meant as a warning to anyone who considers making a contribution to a major open source product.
The conclusion
To start with the conclusion – here’s what I’ve learnt from trying to “do the right thing” and submit a patch to an OS project:
- Don’t expect to be treated with any respect at all, unless you are already a known committer – “one of the guys”.
- If you do commit anything, expect that you are to be considered the maintainer of the feature from that point on.
- Expect to have your name and personal email specified as author of source and comments that you have not written.
- Be aware that when you submit anything, the project owner can do with it as he pleases; even break the implementation, and still call the bug fixed…
- Be aware, that if you do not agree with the King of the project, he can call you anything he likes, telling that you are being spiteful and things that are worse.
Continue reading →