Monday, May 22, 2006

You want to do what with Eclipse?

It's my birthday, and I'm giving myself the present of playing Devil's Advocate about Eclipse.

At we talk a lot about "extensible frameworks and exemplary tools." Frameworks are meant to be built on, and are not end-user tools by definition. Some projects even use this word in their name:

  • EMF: Eclipse Modeling Framework
  • GEF: Graphical Editor Framework

We also use the word "platform" a lot, especially in project names. Examples:

  • DTP: Data Tools Platform
  • WTP: Web Tools Platform
  • TPTP: Test & Performance Tools Platform
  • STP: SOA Tools Platform
  • DSDP: Device Software Development Platform

I'll take the notion of "platform" to mean something like what Michael Cusumano has written: " evolving system made of interdependent pieces that can each be innovated upon." ("Platform Leadership," p.2-3).

Yet we also find an emphasis on tools:

  • JDT: Java Development Tools
  • CDT: C/C++ Development Tools
  • BIRT: Business Intelligence and Reporting Tools

Those of us who work on "platform" or "framework" projects, however, often get requests and questions from end users, typically trying to use the example (exemplary) tools for a particular task. Now (and here's the Devil's Advocate): Why would you try to use a platform or framework to do a end user task? It's not a coincidence, I think, that the last three projects above have strong user communities and the earlier examples tend to have much strong extender communities. In the end, it is really is an expression of the committer base and those who "fund" the open source project by enabling committers to work on them. If platforms or frameworks are primary, then that's great for extenders, but not so good for end users.

Is this obvious? Even if so, if this the direction that should be moving? If you don't think so, then what can you do to motivate change?


Blogger AlBlue said...

Happy birthday :-) Turns out it's mine, too ...

6:18 PM

Blogger Sam Mesh said...

Count me in for May 22 too - happy birthday! :)

Is this "Advocatus Diaboli in Action"? :)

7:26 PM

Blogger Dave said...

Hi John,

Excellent post! I replied on my blog:

Dave Orme

10:45 AM

Blogger John Graham said...

Thanks for the birthday wishes! Looks like May 22 is a good day for computer people!

Dave made an interesting reply to this post (BTW, Dave, I couldn't leave a comment on your blog -- it said the comment form is closed..). Dave's main point is an emphasis on tooling and encouragement of ( external providers for this tooling. I think the external community is vital, but also that it needs to be seeded with some pretty strong tools to start. What do you all think?

And, yes, Sam... That is the Advocatus Diaboli in action ;-)

3:15 PM

Blogger Dave said...

Hi John,

I'm glad you liked my response. :-)

In data binding land (Platform project), here's how we're trying to achieve what I outlined:

1) We've started with a strong but simple library that any developer can get her head around.

2) We're actively cultivating co-developers on our core framework. We are close to announcing our first outside committer, who will be the third core developer on the team. Not a bad ratio of community involvement. :-)

3) Yes, we agree that tooling is important to help grow the community, but documentation is probably just as essential, maybe even more so. Hibernate got off the ground with just good documentation, so I don't think tooling is essential.

Regarding commenting, I have temporarily closed commenting on my blog until the comment spammers lay off. Then I'll probably re-open commenting...


2:36 PM


Post a Comment

<< Home