A buddy of mine noticed that I don't get as many comments on my blog as I used to. He thought it was because I wasn't being controversial enough. He's probably right. Most of my readers follow this on Planet Eclipse and I haven't really commented on that much lately other than the great fun I'm having using it for my Wind River Installer work and for Android native development in my hobby time. I'm just a happy user now, I guess.
"Linus is a wise man"
Following Ian Skarrett on Twitter, he points us at an article in Linux magazine where they discuss Microsoft's Linux driver patch that I'm sure you all heard about. They quoted Linus, who is indeed a wise man with a cool head. He's just happy to get a contribution from a new member of the community and doesn't care who it is. That's certainly one of the big factors to the CDT's success as hard nose competitors worked together peacefully. It's the only way to be successful. Don't let emotions cloud your judgement.
Selfish need drives contributions
The other thing that Linus pointed out was that "I agree that it’s driven by selfish reasons, but that’s how all open source code gets written! We all scratch our own itches". He's bang on there. All of the vendors I work with on the CDT are contributing to it to make their products better. I'm sure that's true for many open source projects. For the most part that's a good thing, since open source users get the benefits of that work. But it also means, if there is a feature you need that none of the vendors do, you aren't going to get it. And as much as we beg people to contribute, it rarely happens. ~350,000 open source CDT users, ~3 contributors, that's pretty rare.
What does this mean for e4?
Well as much whining as the CDT community has done over the constraints we have to deal with via the IResource system, we only got one contributor to the e4 flexible resources project. And even there, the changes being done should end up in the 3.x series and isn't a major break from current system. So I can only assume that vendors are dealing with what they have and the need isn't really there for them. But I do know there are some big open source users who need it. Time will tell if they are big enough to invest in it.
But my biggest fear is the rest of e4. There are some pretty major changes in it. Will the contributor community feel the need to adopt it? And what do you do when certain vendors don't want to adopt it? What do we do with the CDT if none of the vendors step up to support e4? Stay on e3? What if Mylyn decides to support e4 and drop e3? What if we're forced to adopt e4 if the rug gets pulled out from under us on e3? And don't let backwards compatibility fool you, there is a massive verification activity in the least to make sure old plugins work on the new platform.
My big fear
I've stated this before, and it remains true today. We're headed into uncharted waters with e4. I fear that the contributing vendors to the CDT will not put the effort into supporting e4, because they don't have the need. And I think this is too big to artificially "create the need". Eclipse can't afford two platforms. Yet that's what we seem destined to have. A lot of CDT vendors consider the CDT finished. We have very few new features on the horizon. That will likely mean less contributions. How are we supposed to pull off adopting a new platform? That's my biggest fear.
I would have to concur with your fears. There is a lot of neat stuff happening on UI-front in e4, but the primary benefactors of those features are people building RCP apps and those cross-hosting SWT code in a browser. For the core IDE tooling projects and vendors, there is very little compelling value in e4, especially if resources API changes make it into the 3.x stream. That means that e4 backwards compatibility has better be flawless or there will be tremendous resistance to moving to e4.
ReplyDeleteLet's hope that e4 is handled better than p2.
- Konstantin
I'm not sure I'd even adopt it for doing web applications. Google's GWT does a good job I hear.
ReplyDelete"Let's hope that e4 is handled better than p2." Ouch, but good point. To many, the changes in e4 will look gratuitious, just like they appeared with p2. It may be great technology, which it is, but is it worth the pain?
There's no 'emotion' in the conclusion that Microsoft's driver contribution is an attack on Linux. The code is intended to make Linux more attractive as a GUEST on a Microsoft virtualisation host, in other words, strengthening the Windows lock-in. Looks like plenty of people were fooled, but not apenwarr: http://advogato.org/person/apenwarr/diary/513.html
ReplyDeleteHow does good VM support for Linux guests mean Windows lock-in? The only people who would want that are people who already have Windows and are migrating towards Linux. Sounds like the opposite of lock-in to me. Or are you proposing Windows lock-out? How is that not emotion.
ReplyDeleteI think you meant Skerrett, or was that a cunning plan to get people to comment on your blog?
ReplyDeleteThe nature of open source contribution also tells us why open source software often leaves room for improvement with respect to performance optimization and usability, and I think Eclipse bears this out to some degree.
ReplyDeleteIt also explains why some forces may push for major changes that users aren't actually asking for, which may apply to E4 and P2.
Doug, you have been an active contributor on e4, and you've been around when we've had discussions that, I thought, addressed your concerns. If you weren't convinced, or something has happened to cause you increased worry, it seems like it would have been worth bringing those concerns to us, first.
ReplyDeleteMcQ.
McQ, no I haven't. Other than running the e4 resources meetings, I haven't done a thing. And I have not been allocated the time to do anything for e4. Thus I won't.
ReplyDeleteThe only thing that would relieve my fears is to stop e4. You aren't about to do that.
To add, my prediction is that certain vendors will veto moving CDT to e4. The IBM CDT team will be forced to, leading to a fork. The few resources I have working on the CDT will be split. Nothing good can come of that.
ReplyDeleteAnd I was pretty clear on the last Architecture Council call that e4 was an impending disaster. And I wasn't the only one.
ReplyDelete"Things need to change now or the world will end, omg!"
ReplyDelete"OMG, people are trying to bring forth change, the world is going to end!"
Jeesh.
IMHO E4 should not happen overnight. Parts of E4 should be "backported" to the 3.5.x so that people get accustomed to it.
ReplyDeleteRevolutions are not well accepted, so think about evolutionary approach.
This comment has been removed by the author.
ReplyDeleteThis comment has been removed by the author.
ReplyDelete