First Class Tools

Here's a word of wisdom to all prospective open source projects, "Consider integration with other tools a first-class priority". It's so refreshing to see a project like spring take this approach by actively developing a Spring Eclipse Plugin.

I usually agree with the open source motto coined by Hibernate, do ONE thing well (empahsis mine), but even hibernate has forged ahead and developed their own toolset. What does this mean? While I agree that projects should avoid feature bloat and try to do too many things (cough XWork cough), it's apparent that a successful project should encompass tools to make it easier for developers to adopt the project. The general consensus thus far has been that most open source projects should consist simply of the "core project" and it should be up to some other project to develop and release tools.

Tapestry and spindle as one example of this strategy; They are separate, but spindle could not exist without tapestry. In the grand scheme of things, could tapestry exist without spindle? Of course, but I'm not so sure that other open source projects COULD exist without their accompanying tools.