3, 2, 1… STEP!
Wednesday, May 28th, 2008I just flew into our Santa Clara, CA office today. I’m a band geek… I played trombone, marched in high school, and marched for two years with the Georgia Tech Yellow Jacket Marching Band. Lots of fun!
I learned a lot in band and was reminded of it when I arrived at our corporate offices in Santa Clara, CA. Since school is out now there are teams of devoted musicians who are participate in drum and bugle corp competitions all around the US. One of the best known and elite corps, the Santa Clara Vanguard, practices in a parking lot about a 3 minute walk from the office. If you’ve ever heard a corp play in competition you’ll always know the distinctive sound when you here it. Listening to a corp is an experience your entire body participates in… not just your ears. It is that powerful.
One of the most important lessons I learned from marching was that even the most simple of tasks is profoundly complicated if you are trying to get a lot of people to do it together. We’d line up 20 high school band students, count down from three, and expect each of them to take one measured step with their left foot. This simple exercise could take an hour to get right. Double the number of people and it would likely take 4 times as long to get it right.
Mark Shuttleworth (Ubuntu’s BDFL) recently called for cooperation and release synchronicity in a recent blog post. His main argument was that if various major distributions agreed on a major release schedule that their efforts within the upstream communities could be coordinated. The distributions could also agree on a kernel, gcc, glibc, and major library versions to unify around and thus make life easier for ISV’s. Interesting idea… very user focused as one would expect from Mark.
There are competitive angles on this, of course. Ubuntu is probably 3rd or 4th place in server adoption behind Red Hat and Suse. That’s a cold place to be. Large ISV’s don’t really care beyond #1 and #2 unless they’ve got a key customer that wants you. Red Hat, of course, doesn’t see this as a problem that needs solving.
Synchronicity is also a challenge not only between Linux distributions but within a given Linux distribution. It is incredibly challenging to align the hundreds of community backed components that constitute a typical Linux distribution and get them to all be ready to provide to customers at the same time. This truth has often been misinterpreted as a criticism that these community projects are not suitable for production usage. That is not true… what is true is that there aren’t all suitable for production usage at the same time. Getting all of these components to take one measured step, with the same foot, in the same direction, at the same time is a profoundly non-trivial challenge.
Getting this to work between companies might be too much to expect without a massive groundswell of user and customer demand that would be needed to focus everyone’s attention. It is not clear to me that this demand is there.
Brad






