Open Source Attitude
By fvdl on May 17, 2006
For my first blog entry, I figured I'd make some sweeping generalizations and be judgemental to boot. Ah, why not, I can get away with it, since noone's reading this ;-) I've been around in the Open Source world since the time it wasn't even called Open Source (he said, trying to play up his streetcred, you can stop making gag gestures now..), and an important factor in the success of a project is the attitude of the community members. An "open attitude" is essential. Ok, that sounds very general and vague. What do I mean by that? I guess it means a few things:
- Be open to external input. This may seem obvious, but often it does not seem to be. You've just put your code out there for everyone to see, and a lot of people will have an opinion on it, will find bugs in it, or can simply write a better version of what you did. If you've been in the business for 20 years and proud of your work, some snotty 16-year old kid fixing bugs in your code a day after you've released it may make you stop for a moment. Contain that kneejerk reflex, and consider that this kid has just \*improved\* your work, which can only be a good thing. Don't take it as personal criticism
- Open Source means that things move faster, since the amount of people participating is much bigger. Don't get left behind. Be responsive, work with the input from the community you're getting. If you get complacent, people will just take your source code and will start their own project, leaving you in the dust. Which is their right, and that's a good thing, but by the time you realize you got left behind, a lot of time will have been wasted on code duplication, etc. Of course, it's entirely valid to reject contributions because they are not good enough or do not match the goals of the project. However, being unresponsive or just dropping contributions on the floor will have your project end up in the Open Source graveyard eventually.
- Don't be a jerk. Again, that's pretty obvious, but in an Open Source community it tends to be a bigger issue. Within a company, there is a management structure that keeps people in check, since professional behavior is expected by those who have control over whether you have a job or not. However, an Open Source community is different. Most contributors will probably not work on a project professionally, and may have a more cavalier attitude. This also means that people will leave more easily, or start forks of a project if they don't feel welcome anymore. In other words, an Open Source project can be much more volatile. Take this into account, and be polite. Too many splits in Open Source project have happened because of personality issues, and that's a real shame.