Keith over at dotnetpimps (see trackback) has written a decent piece on the state of open source software and what it has and what it doesn’t. Really not anything that hasn’t been said before, but nicely summed up.
I’ve had discussions with mark on this topic over years (and with keith occasionally) and Mark’s take (which keith hit too) is that many open source projects lack management. Keith says ‘specs’ which is partly true, but not necessarily the root cause in all cases. I’ll post here some sketchy thoughts on this… and will probably touch on this later again
Heh… he actually hits a few nails on the head. I think more the point is that it’s not specifically that they lack a spec. Well, that’s part of it, but it’s a symptom, not the root, I think. The root is there’s not enough of a unified need in the community. The pain of not having easy shared calendars isn’t high enough for people to write something. To the extent that things are written, the pain of them not being interoperable isn’t high enough to do anything about it.
The pain of having potentially having different web browsers to talk to different web servers was enough to coalesce people around the idea of embracing commong HTTP specs.
For example, If the google calendar proves extensible enough, there will be migration to using that as a standard to build other interfaces around. However, the need for most people to have ‘shared calendars’ isn’t that high outside of businesses. And because something’s already written/existing in many businesses (exchange/outlook) the water of software development efforts flows downhill to other cracks in the people’s needs. Does that make sense?
I saw one other thing Keith posted which is correct, but yet wrong (or too narrow)…
I’ve said this over and over again when I taught Linux certification classes at the college level.
“The open source community is great at building things based on a protocol or an RFC. If you don’t give them a spec, you never know what you’ll get.”
That’s a bold statement I know, but allow me to give a few samples. The main reason this occurs is the developers don’t have to think about what they are building.
