One of the points from my EclipseCon talk on building communities was "Wear two hats." Essentially, to successfully attract new contributions, you have to show that you are working in the best interest of the project as a whole. Of course, you also need to make sure the project is meeting the commercial needs of the vendor you work for or else that might not last long.
This is something I've done always in my life at Eclipse. At times, I may have been too much with the open source hat and not enough commercial, but I always had a team with me to compensate for that so it worked out. I do believe that has been one of the main reasons the CDT project has been so successful growing a diverse community.
But as the CDT matures and the vendors who have made big investments in CDT reduce that investment to allow their developers to work on other things that are more important now, I get worried about how we're going to finish off things off. The CDT build system still needs a lot of work to undo and clean up some of the architectural decisions of the past. There are a few guys interested in helping, but these guys are just part-timers, not the dedicate investment we need to be successful.
All I have to hope on is that vendors will put on their open source hat and work for the common good. In theory, working with other such vendors to build a kick-ass build system would help them in the long run and should be cheaper, since they are benefiting from the investment from the other vendors.
But "theory" isn't a place we all live in and few vendors have the vision and long term planning to see that formula work. In fact, what makes it worse, is that vendors tend to see their "improvements" over base Eclipse functionality as a competitive advantage over the free Eclipse. And, trust me, I have seen first hand the view that the freely available Eclipse eats at the bottom line. And there is some validity in that since you can't charge the premiums for development tools that you used to, or so customers believe anyway.
It was a lot easier in the early days of Eclipse when everything was new and everyone needed development tools, especially on the C/C++ space. The vendors that kicked off the CDT found it easy to wear the open source hat because they really needed the help. Everyone fears the elephant in the room, so don't be one.
But now that the development tools are "good enough" the investment is no longer there to take it to the next level to make them "best in class". And as much as users of the free Eclipse see the deficiencies and raise bugzillas to have those deficiencies fixed, I have to feel for them.
As long as Eclipse is staffed solely by vendors making money on Eclipse-base product, the free one isn't going to be great. Now, also in that magical place called "theory", an Eclipse.com funded to do development would help as much as Mozilla.com helps Firefox. But it doesn't work that way in the Eclipse ecosystem and that makes the poor project lead who likes to wear the open source hat wonder whether it's worth it anymore.
Actually, the title should read "Now where's that open source hat?", but this one fits since it sort of is "No where".
ReplyDeleteDoug,
ReplyDeleteDo not be so sad.
There is always bright side - improving Eclipse about your competitor unique features disarms him, so if only we are able to attract more than one vendor to each Eclipse project, there should be no problem.
Doug, cheer up. At Nokia we're moving our entire set of CDT based tools to open source to follow the Symbian open source mobile platform. So we have our open source hats on all the time now and except for something really Symbian specific we'll be planning to contribute everything we can to CDT.
ReplyDeleteWe really appreciate the work you do leading the CDT project. Remember this time last year it wasn't clear what was going into CDT 6.0 and we ended up having a great release.
Thanks, Ken. You guys at Nokia are definitely one of the exceptions to the rule. And we are very grateful for your contributions.
ReplyDeleteBut there are many other vendors out there who are taking without contributing, or worse yet, see the improvements going into the CDT as a threat. It's years of that in the face of a poor user experience with the free CDT that has me in this state.
What we really need is a vendor that has the interests of the Eclipse user community, or better yet, has the business need to see the free Eclipse be "best in class". You guys might finally be it.
Two points I would like to comment on.
ReplyDeleteYou say "All I have to hope on is that vendors will put on their open source hat and work for the common good.", where is WindRiver's hat at least on the thing they consume heavily?
Also "And as much as users of the free Eclipse see the deficiencies and raise bugzillas to have those deficiencies fixed, I have to feel for them." What about addressing those bugs rather than just feeling?
Good questions, Pascal. Wind River consumes the CDT very heavily and at times we've had up to 6 people working full time on it. That's a pretty significant investment, no?
ReplyDeleteI assume you are referring to p2. We consume the engine and throw away the UI in our installer RCP engine. So far that meets our needs and our UI is completely inappropriate for general use. At some point we're going to want to redo the UI that comes with Eclipse because it is very poor, especially for new users. We'll be happy to contribute that.
I would love to fix bugs for the community but I am only allowed to work on open source one day a week. That does not allow me to fix any bugs as I'm busy with my project lead duties. I've contributed immensely to the CDT with my open source hat. But those days are gone.
You need to spend some time looking through the archives before insinuating we aren't pulling our share of the load. Relative to the companies that take Eclipse technologies, make a boat load of money on them and contribute nothing, I think we're good.
"Now, also in that magical place called "theory", an Eclipse.com funded to do development would help as much as Mozilla.com helps Firefox."
ReplyDeleteThat would be best IMO. I'm still a student and I see a lot of potential in the free Eclipse and CDT and I do my best to help part-time. But if I start a company and we use CDT, it makes more sense to help fund Eclipse.com and have full-time developers there instead of having a lonely CDT guy in my company. I'm always trying to get people involved when they don't like something about Eclipse or CDT but it's very hard.
== snip ==
ReplyDeleteSo far that meets our needs and our UI is completely inappropriate for general use. At some point we're going to want to redo the UI that comes with Eclipse because it is very poor, especially for new users. We'll be happy to contribute that.
== /snip ==
Just to be clear Doug, I assume you meant:
The UI is completely inappropriate for *OUR* general use. At some point we're going to want to *HELP* redo the UI that comes with Eclipse because we feel *THERE IS PLENTY OF ROOM FOR IMPROVEMENT*, especially for new users.
Keep in mind that everyone has an opinion on how to create the "perfect" update UI, and for every opinion, everyone has 10 requirements. And like all software, all these opinions and requirements collide. Lucky for us, Susan stepped up and made sense of all this and provided an excellent solution that found the middle ground between all these conflicting requirements. Is it perfect? No. But it's by far the best one we have!
We are by no means done, and lucky for us it sounds like you will be assisting with some of the new design. The best bug to follow for some of this work is probably: https://bugs.eclipse.org/bugs/show_bug.cgi?id=281226
btw, another excellent title for this blog could have been:
ReplyDeleteNow Wear That OpenSource Hat! ;)