Related topics

When open-source eats itself, we win

Lessons of the Nginx v Apache slug fest

Open ... and Shut For years the headlines have been about open source cannibalising proprietary software. But what happens when open source starts to cannibalise itself?

In some markets, open source rules the roost. For example, Drupal, Joomla, my old company Alfresco and other open-source content management systems regularly duke it out for supremacy, depending on the workload. In application servers, JBoss and Tomcat spar. In cloud, Cloudstack, Eucalyptus, OpenStack, and others battle.

But web servers? That's a market that Apache won ages ago, with no open-source competition to speak of.

That is, until recently.

In the past few years, a lesser-known web server, Nginx (pronounced "Engine-X"), has quietly taken market share, to the point that it now owns 12.64 per cent of the global web server market, and 12.77 per cent of the world's most heavily trafficked websites, according to new data from Netcraft:

Nginx starts to stand out

It wasn't supposed to be this way. Once an open-source project gains traction, it has tended to continue to gain share. Like Linux.

But Apache has been on the wane, losing 100 million hostnames since June 2012, and not because of any resurgence from Microsoft IIS. Apache still claims 55.47 per cent of all active sites, but Nginx is on the rise.

The reason is scale.

Started in the early 2000s by Igor Sysoev, Nginx now powers websites with serious scale requirements like 163.com, Wordpress.com, Yandex.ru, and CNN.com. As explained on the WikiVS site:

Nginx and Lighttpd are probably the two best-known asynchronous servers and Apache is undoubtedly the best known process-based server. [...] The main advantage of the asynchronous approach is scalability. In a process-based server, each simultaneous connection requires a thread which incurs significant overhead. An asynchronous server, on the other hand, is event-driven and handles requests in a single (or at least, very few) threads.

While a process-based server can often perform on par with an asynchronous server under light loads, under heavier loads they usually consume far too much RAM which significantly degrades performance.

Today, Nginx offers fewer features than Apache, but its performance is significantly higher. In this way, it's not unlike MySQL or NoSQL in the database market, or JBoss and Tomcat in the application server market, or any number of other open source examples where the open-source alternative is initially feature-constrained but significantly better for a particular purpose. Over time, it adds functionality and continues to improve performance until, like Linux in the server and mobile operating system markets, it dominates.

This used to be the story of Apache, too, which displaced all proprietary players in the web server market. But now its market share is being eaten away, and unless it fundamentally re-architects for scale, Apache may ultimately give way to Nginx or another open-source web server.

The Apache folks know this, and haven't been sitting idle. In early 2012 the Apache Software Foundation released version 2.4, of which ASF president Jim Jagielski declared: "As far as true performance is based - real-world performance as seen by the end-user- 2.4 is as fast, and even faster than some of the servers who may be 'better' known as being 'fast', like Nginx."

Despite nearly a year in the market, Apache 2.4 hasn't stemmed its slide. But for me, that's not really the point. What's so interesting and healthy here is that two open-source projects are fighting for market supremacy in the only way open source really knows how: technical merit. Because both have to appeal to developers, and developers have a low tolerance for marketing speak.

In web servers, open source is eating itself. We all benefit. Let's hope it happens in every market. ®

Matt Asay is vice president of corporate strategy at 10gen, the MongoDB company. Previously he was SVP of business development at Nodeable, which was acquired in October 2012. He was formerly SVP of biz dev at HTML5 start-up Strobe (now part of Facebook) and chief operating officer of Ubuntu commercial operation Canonical. With more than a decade spent in open source, Asay served as Alfresco's general manager for the Americas and vice president of business development, and he helped put Novell on its open source track. Asay is an emeritus board member of the Open Source Initiative (OSI). His column, Open...and Shut, appears three times a week on The Register. You can follow him on Twitter @mjasay.

Sponsored: 5 critical considerations for enterprise cloud backup