Nginx and the Open Core model

For years now the Apache HTTP Server has been by far the most widely used web server on the internet. Netcraft publish statistics on web server usage monthly, using a variety of metrics, and this month’s stats show an interesting change. While Apache HTTP Server is still miles in the lead, second place in the ‘active sites’ metric (meaning sites which are not just mothballed domain names) has transferred from closed source Microsoft web server IIS (Internet Information Server) to open source upstart Nginx (pronounced ‘Engine X’), released under the two-clause BSD license. Nginx has developed a reputation for speed and low resource requirements that has made it popular in a relatively short time.

So the fact that the top two slots in one of Netcraft’s surveys are now filled by open source web servers is interesting in itself, but there’s something more to this. Unlike Apache HTTP Server which is developed under the supervision of a US not-for-profit foundation, Nginx has recently become a commercial company offering paid support and successfully raising $3m in series A venture capital funding. As well as paid support, Nginx has announced that the intend to implement an Open Core model for their business going forward.

Now the Open Core model is what we used to call ‘proprietary extensions’, meaning that the open source code is supplemented with closed source paid add-ons for those that want them. In a way it is similar to the shareware model that did so much for PC gaming during the 1990s, bringing games like Doom to offices everywhere. One often cited problem with the Open Core model is, however, that users of the open source ‘core’ are at liberty to build competing open source versions of your proprietary extensions. Indeed you can find that ideological opponents of the partial freedom that Open Core embodies may be motivated to compete simply because of that ideological opposition, essentially enforcedly ‘opening’ the parts of the project functionality that you wish to keep closed. The only really effective defence against this risk is to be the best-resourced and most skilled team working on the code, thereby ensuring that your extensions cannot be easily replicated by competitors. So Open Core is an interesting strategy, in that it has drawbacks from both the purely ‘open’ point of view and the more traditional closed source approaches to software exploitation. In the past it has been accused of attempting to benefit from the ‘Halo Effect’ of open source while in fact leveraging closed methodologies for value realisation, but the fact that Nginx has managed to achieve so much in such a short period makes it a technology and a company to watch.

2 thoughts on “Nginx and the Open Core model

  1. Mike Schinkel

    You mentioned “Ideological Opposition” with the Open Core model but what you didn’t mention is something I call “Pragmatic Opposition.” I view pragmatic opposition as being related to interest in the full defacto-standardization of a platform.

    If there is a cost to selected extensions then the vast majority of users won’t be using those extensions. As open-source alternatives are released the business supporting the platform will see it as in their best interest to deflect interest in the open-source alternatives to ensure the alternative is not viewed as the platform’s defacto-standard.

    Making matters worse is when multiple alternatives emerge and then important aspects of the platform becomes fragmented. Sadly, It’s Unix all over again (or today maybe I should say “Android.”)

    So while ideological opposition certainly gets the press because of how people love to read about conflict orchestrated by larger-than-life personalities, I believe pragmatic opposition is more important from a business decision-making perspective.

    Which leads me to be very sad that Nginx chose an open core model.

  2. Andrew Katz

    @Mike – yes, agreed. I’m surprised to see any open core development still in action, to be honest; I thought the idea was debunked a couple of years ago.

    It seems to combine the worst of both worlds. For example, one joy of open source software is that you don’t have to worry about how many copies you are running, or do licence audits. Not true with open core, if you have any closed extensions.

Comments are closed.