They say JavaScript modules die twice. One time when you stop committing and a second time, a bit later on, when somebody ‘npm installs’ it for the last time.
– with apologies to some body.
Chances are if your company has a Node.js based web service, Express.js is somewhere in the mix. It has been one of the most popular uses of the Node platform since its inception.
Express is the Node platform of all platforms. Popular, easy to use, widely adopted, and suddenly in trouble?
What is Express
Express.js is the most adopted web service framework for the Node (JavaScript on the server) platform. The numbers on the NPM module page speak for themselves: 86,000+ downloads in the last day, 3.7 million downloads in the last month.
Express has had a controversial recent history. After early adoption as a popular open source project initiated by the legendarily prolific TJ Holowaychuk he announced his exit from the Node ecosystem, and shockingly sold the Express project to StrongLoop: a Node services company. This took everybody by surprise including the individuals who took the active role in keeping the project going.
Although its hard to say someone can really own an open source project (as opposed to the brand), when all is said and done, the owner of the primary repository controls what may happen to the main source tree. StrongLoop became that owner.
Eventually this controversy settled down, Express.js and its adoption continued. Unfortunately, when a corporation owns something and that corporation sells itself to the original stereotypical behemoth of a computing company it has an effect. After a period of relative dormancy we may be seeing that effect now.
In September of 2015 IBM became the owners of Express, now it is 2016 and the lead maintainer seems to be fed up with trying to get a meeting at IBM.
Is Express.js dead?
Express.js cannot die, in the sense that no open-source project could die. People have access the the source, they can make their own copy (a fork) and keep it forever. This may, however, be its first death, if the JavaScript community stops contributing to IBM’s acquisition and IBM does not assign a dedicated team to keep the project alive. Express was successful not just because it was open-source, it was successful because of the community involvement.
As far as being a community project with the high level of contribution and support required to keep a project viable in the long-term, did Express.js just die its first death and nobody really notice?
What could happen
Most likely the community will fork the project: create their own copy and begin to invest time in that version rather than the version owned by IBM. This fork could become the new popular de facto implemention of Express. At the same time, if Express still works and does what users require it can stay stagnant and functional for years. People will still use it, and over time something else will replace it.
The other scenario is that a fork can be used to push the owners into becoming more community responsive. Node itself forked in 2014, after dissatisfaction with the responsiveness of the project ownership. It was very successful in pushing the Node owners forward and the fork was reconciled in 2015.
The bottom line is: if your infrastructure is dependent on Express it is time to pay attention to what is happening with the project’s stewardship. If you are initiating a new project using a Node.js web framework it may be time to investigate alternatives.
Leave A Comment