I’m a firm believer in the open source development model. That’s not to say it’s perfect, and I certainly don’t want to imply that it’s the most efficient was of building software. In fact, from an outsider’s view, it probably looks quite chaotic, and maybe even counter-productive at times. During my FUDCon Santiago presentation in July, I shared part of the speech that US President John F. Kennedy gave at the Berlin Wall in 1963, which I think helps illustrate the point. President Kennedy said:
Freedom has many difficulties and democracy is not perfect, but we have never had to put a wall up to keep our people in.
I’d go so far as to say that free software has many difficulties and open source development is not perfect. Thankfully, we don’t have to put up walls to keep our users in. (I’d love to talk about the difference between a “walled garden” and a “friendly prison” another day, but that’s not the point of today’s blog post.)
It’s understandable that people get animated about the technical decisions that go in inside of open source communities. What’s unfortunate, though, is that the conversations often turn ugly, and the communication shifts from arguing about “what is right” to “who is right”, and then goes downhill from there. My wife recently reminded me (as she was discussing politics with some friends) that most decisions we argue about these days aren’t yes/no, good/bad, right/left types of decisions, but are instead decisions that lie somewhere on the continuum between good, better, and best.
So, next time a mailing list troll baits you by telling you that you’re wrong and he or she is right, please take a moment to reflect on whether it’s really a question of good vs. bad, or whether both opinions find themselves between “good” and “best”. Seeing things from another perspective might just help smooth over some of the rough edges in open source development.