Node.js Fork - Now You Have A Choice To Make
Written by Alex Armstrong   
Monday, 08 December 2014

One of the big advantages of open source is that if you don't like the current state of things you can simply create a fork and make your own version of the project. However, not all forks are equal and not all are helpful. How do you react to the fork of the increasingly important Node.js?




Most of us have heard about Node.js, even those who haven't actually used it. Node.js brings JavaScript to the server, or to the desktop if you like. It makes JavaScript not just a browser language but something usable in places that languages such as Java, PHP or C# might be used. The fact that it is an open source project made it all the more attractive, but there were deep problems in the organization that have now resulted in a fork. 

Node.js has an official sponsor in the form of Joyent, a company, and it seems that many of the contributors didn't like the control it exercised over the development process. It seems like the main complaint was that Joyent was too slow. For its part, Joyent was concerned that Node.js continued it's amazing popularity and didn't want to make the wrong move - so things were thought about carefully before anything was done.

It also seems that Joyent had problems managing its unpaid volunteers and could be quite rude if things didn't go according to company policy, as evidenced in The Power of a Pronoun

In an attempt to make good the problem, an advisory board involving developers from outside of the company was formed but it seems to have been too late. Eighteen, at the last count, Node.js contributors have jumped ship and decided that going it alone is a much better solution than waiting for Joyent. 

The new project has a Github site and it seems to be called iojs although things are in the very early stages - a call for contributed logos and lots of community discussions. At the moment there is little difference between iojs and Node.js and many of the resources on the new site simply point to the Node.js site.  All we currently know of the future road map is that you can expect things to move faster. 

Is this good?

Well it is certainly within the rules of the game.

Most forks, however, consist of just one or two programmers taking the code and thinking that they can do better. Usually they fizzle out after a few months, but occasionally they do things better and turn a less than perfect project into something better.

Occasionally forks occur in big successful projects because enough people don't like the direction that the existing management is taking it in. The best known example is probably the Open Office-LibreOffice split. Both are still going and both have large user bases, i.e. both projects survived and are moving apart slowly but surely as time ticks on. 

Currently it seems that the Debian project as been forked in an effort to get away from the dreaded systemd. In this case, however, it isn't clear that enough momentum exists to see the fork actually happen and develop into an alternative. 

The problem is that a fork can seem like anti-democratic response. If you find yourself in the minority start a new game and be in the majority. It isn't so much taking your ball away and starting another game - it is more like cloning the ball and starting another game. If it is the democratic governance of the project that is in doubt, then perhaps this is a reasonable thing to do - but who is to say that this is the case?

Having two versions of Node might not be a problem at first, but as they inevitably drift apart it will become increasingly necessary to make exclusive choice.

If this isn't the case then what was the point of the fork? 

The big worry is that the dilution of effort and attention may make both projects less viable.


More Information


Related Articles

Node.js Tools for VS Updated       

Nodyn - Node.js On The JVM       

Node.js in Action       

Getting Started with Node.js       


To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, FacebookGoogle+ or Linkedin,  or sign up for our weekly newsletter.



Ladybird - An Independent Web Browser

Ladybird sets out to be an independent Web Browser, free of Google (or any) advertising. It has taken the step of becoming a non-profit project on receiving a $1 million donation from GitHub founder,  [ ... ]

NumPy 2 Released

NumPy 2.0 has been released, the first major new version since 2006. NumPy is the fundamental mathematical library for Python, and this release adds new features and performance improvements, but also [ ... ]

More News


kotlin book



or email your comment to:

Last Updated ( Monday, 08 December 2014 )