Friday, April 4, 2008

On Doing The Right Thing...

Another frequent pain point of mine revolves around shopping carts. More specifically, the things people do (or rather, don’t do) with them. For example, I often find myself reorganizing the corral in the parking lot of at Loblaw’s or Costco just so that vehicles (including mine) can get by. Are people so concerned with their own interests that they can’t exert even a small amount of effort to return their carts in an semi-orderly fashion? Have we as a society become so preoccupied with our busy lives that we’ve forgotten simple things like common courtesy? Why is it that children so often seem to know better than we do? I was on a Family Day walk to Starbucks with my kids few weeks ago when they discovered a couple of abandoned shopping carts at a strip mall. Watching them struggle to push the carts all the way to the other end of the mall so that they could be returned to the corral got me thinking…

What is it that makes a community really successful? Is it not a critical mass of members that are committed to doing The Right Thing? Do the members of a community not get to decide what The Right Thing is? What if those members don't see eye to eye? Are the inevitable conflicts that arise not actually good for the community in the end? Is conflict not a necessary prerequisite to growth?

Projects at Eclipse have a responsibility to build and be responsive to three communities – contributors/committers, users, and adopters. What happens when what’s in the best interest of one of those communities is at odds with what’s in the best interest of another? I had to face a situation like this during the Birds of a Feature session that I moderated recently at EclipseCon 2008. The current leadership of the UML2 Tools component stated that one of their goals, in attempting to address the needs of the adopter community, was to regulate the commoditization of UML tooling at Eclipse. Many of the attendees seemed surprised to learn this, and made it clear that while working towards eventually being able to completely generate tooling using GMF is a noble pursuit, what the user community really needs now is a set of robust, usable editors for UML models. I’m quite happy with outcome of the session – representatives from at least four different parties (so far) have offered to pool their resources (nearly three times as many as the number of committers on the current component) in building a complementary set of exemplary end-user UML tools at Eclipse (most likely as part of a new component of the MDT project). Some may argue that this will only serve to further add to the confusion that already exists within the Modeling project, but I’m not sure I agree. Regardless, I’m encouraged by the prospect of what appears to be a true community-driven initiative to do The Right Thing at Eclipse...

5 comments:

Doug Schaefer said...

Great post Ken. I found it really funny that a project was trying to limit contributions. It's foolish to think you can. If the community wants something and contributes to make it happen, there is little you can do about it.

And kudos to the group that want to do this. UML editors should be a commodity by now.

Richard C. Gronback said...

As I recall, the statements were not linked. There was the statement that some contribute to Eclipse to control the rate of commoditization of their products. And, there was a statement that the current UML2 Tools project is proceeding in such a way so as to provide a fully generative solution using GMF. And then there was the agreement that if contributions being made to improve usability could not be done in such a manner as to align with this approach, a new component should be created whereby contributions can be made on top of UML2 Tools so as not to disrupt the current team. Oddly enough this also sounds like "the right thing to do."

Kenn Hussey said...

Exactly my point - what sounds like The Right Thing is often a matter of perspective. Whether or not the statements were intended to be linked, the perception of many at the BoF was that the current approach seems more oriented towards the needs of the adopter community (which is, for obvious reasons, more concerned about the rate of commoditization) than the user community; hopefully, with the introduction of the new component, we'll have the best of both worlds. ;)

Richard C. Gronback said...

It still seems odd that we'll have one incubating component building "usability" upon another incubating component. As was also discussed, there is a way to combine efforts such that where appropriate, these enhancements could baked into the generation itself, or even better, into GMF itself. That's the true motivation here... to improve GMF in the process of delivering UML diagramming. But, I guess that's too hard? I'd also point out that for years there was a UML2 component with absolutely no diagramming! Rushing to add some usability that may be difficult to maintain due to the underlying structure still at v0.8 should make life interesting ;-)

Kenn Hussey said...

I agree that it seems odd. Ideally, the needs of both communities could be met by one component; however, it's been nearly two years (two releases) and the user community is still waiting for "usable" UML tooling. I understand the current motivation, but I also understand the user community's impatience (they're naturally more concerned with function than form), considering that attempts to make contributions have been largely ignored and that the new Ecore Tools component is already (in less than one year) more usable...