Long Live the Benevolent Dictator

The last few weeks I’ve been nose to the grindstone finishing up our first Wind River product release with a new p2-based installer. It’s been a while since I’ve been involved in commercial development and, though it’s been grueling and has taken me away from my CDT project lead duties, I can see the light at the end of the tunnel and it looks like we’ll be able to ship on time and with good quality, but maybe without all the bells and whistles I had hoped for when we started.

It’s good to work in the corporate structure again too. If there are any decisions to be made, we have the processes and organization in place to make sure those decisions get made and that all the loose ends get tied up. It’s the only way to succeed. You need that structure to make sure everyone is going in the same direction and has the same objectives.

So that got me thinking. Looking at my involvement with the CDT, I have had feedback that people looked to me as the guy to make the decisions, or at least to adjudicate any conflicts. To be the benevolent dictator at times. And we ended up getting a lot of things done over the years and everyone working on the CDT was going in the same direction. We sort of made up a structure where one didn’t really exist, because we needed it to be successful.

I have big fears for e4 on that front. McQ and the IBM gang has made it clear over and over again, including on today’s e4 call, that they are working on what they find important, and everyone else should do the same, or nothing will get done. And there are a few things going on. I’m leading the resources effort and we’re working on things that individually are important to us and our employers. And clearly the SWT team is doing the same. But as hard as I try, I can’t figure out what the UI guys are trying to accomplish. And then there are lots of things in the Eclipse Platform that no one is looking at. Debug, for example.

I firmly believe that even with open source projects, you need that benevolent dictator to actually deliver things. Where would Linux be without Linus? Where would Eclipse be without the early dictatorship of IBM? And there are countless examples. Where you see a successful open source project, you find an individual, or a small team, who make decisions and ensures everyone is working together. I get the sense that people think that’s anti-open, but I can’t see how a project, open or not, can succeed with out one.