Open Source Dickishness

Yesterday, to the surprise of the express community, the framework’s creator and longtime maintainer TJ Holowaychuk sold the project to StrongLoop, a commercial node services startup. The move came as a shock to the project active maintainers who have been responsible for the framework exclusively since early January. In a clumsy transfer of ownership, the people actually responsible for the last eight months of the project lost their commit rights (which was later restored).

In a blog post, StrongLoop announced the move as a great next step in the evolution of the project. The blog post masks a commercial transaction as an act of good will by calling it a “transfer of sponsorship”. If all they wanted was to “pitch in and help”, why did they need to take over and move the project? Why is their first public act a blog post and not a pull request?

There is no excuse for violating one of the basic rules of open source – taking a project away from its rightful maintainers. It is also bad form to sell open source maintainer rights (as opposed to trademarks which is pretty common, if obnoxious practice).

The thing about successful open source projects is that their success doesn’t come from the project creator, but from the contributions and adoption of its community. Express’ success has much more to do with the people who chose to use it than the work of one individual, even if he “is responsible for ~95%+ of the project”.

When TJ Holowaychuk lost interest in maintaining Express, he did the right thing (for a change) by letting others take over and keep it going. In open source, that meant the project was no longer his, even if it was located under his GitHub account – a common practice when other people take over a project.

Keeping a project under its original URL is a nice way to maintain continuity and give credit to the original author. It does not give that person the right to take control back without permission, especially not for the sole purpose of selling it to someone else. Not to mention the fact that Express already has a GitHub organization ready and eager to take over the project.

What makes this particular move worse, is the fact that ownership was transferred to a company that directly monetizes Express by selling both professional services and products built on top of it. It gives StrongLoop an unfair advantage over other companies providing node services by putting them in control of a key community asset. It creates a potential conflict of interest between promoting Express vs. their commercial framework LoopBack (which is built on top of Express).

This move only benefits StrongLoop and TJ Holowaychuk, and disadvantages the people who matter the most – the project active maintainers and its community.

Update: TJ Holowaychuk posted his account of the events.