Free Republic
Browse · Search
General/Chat
Topics · Post Article

Skip to comments.

When open-source eats itself, we win
The Register ^ | 6 February 2013 | Matt Asay

Posted on 02/06/2013 10:49:48 AM PST by ShadowAce

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. ®


TOPICS: Computers/Internet
KEYWORDS: opensource

1 posted on 02/06/2013 10:49:52 AM PST by ShadowAce
[ Post Reply | Private Reply | View Replies]

To: AdmSmith; Big Giant Head; grey_whiskers; Brandybux; dfwright; Bikkuri; Dacula; BuddaBudd; mbj; ...

2 posted on 02/06/2013 10:51:20 AM PST by ShadowAce (Linux -- The Ultimate Windows Service Pack)
[ Post Reply | Private Reply | To 1 | View Replies]

To: rdb3; Calvinist_Dark_Lord; Salo; JosephW; Only1choice____Freedom; amigatec; stylin_geek; ...

3 posted on 02/06/2013 10:51:49 AM PST by ShadowAce (Linux -- The Ultimate Windows Service Pack)
[ Post Reply | Private Reply | To 1 | View Replies]

To: ShadowAce; John Robinson; Jim Robinson
All the usual technical people who frequent articles such as this probably already know this but for a visitor who may come across this thread, Free Republic uses nginx as this report from the lynx browser shows:
   Linkname: Latest Articles
        URL: http://freerepublic.com/tag/*/index
    Charset: iso-8859-1 (assumed)
     Server: nginx/1.2.4
And there's a lot of John Robinson's well-written Perl, an open-source programming language crafted by Larry Wall, an evangelical Christian, driving the backend of what we often take for granted here on FR. I'd say that using open source has served Free Republic quite well.
4 posted on 02/06/2013 11:26:06 AM PST by re_nortex
[ Post Reply | Private Reply | To 1 | View Replies]

To: re_nortex
Re: Server: nginx/1.2.4

i didn't know FR used nginx. I just assumed it was apache given that it was running on Linux. I think it's great that there are so many great open source alternatives. If you need something light, and fast, nginx would be a good fit. If you need more features, Apache is a better fit. As long as you know what your environment is, you can choose the best tool for the job!

5 posted on 02/06/2013 12:00:36 PM PST by zeugma (Those of us who work for a living are outnumbered by those who vote for a living.)
[ Post Reply | Private Reply | To 4 | View Replies]

To: ShadowAce

What is “cannibalism” in the proprietary software world is merely OSS working as designed. Somebody finds something good, modifies its (open) source code and makes it better.

Simply put, this ain’t “cannibalism” - this is the OSS system working as designed.

Presumably if Apache so desired they could backport the enhancements into their own codebase - at least so it seems to me.


6 posted on 02/06/2013 12:37:05 PM PST by 2 Kool 2 Be 4-Gotten
[ Post Reply | Private Reply | To 1 | View Replies]

To: 2 Kool 2 Be 4-Gotten
Presumably if Apache so desired they could backport the enhancements into their own codebase - at least so it seems to me.

I'm not an expert in OSS licenses by any means. I don't know what is in the nginx license. Is Apache a commercial concern these days? I agree with you, though--I'd think if Apache wanted to, they could put the nginx features into its own code.

7 posted on 02/06/2013 12:50:48 PM PST by ShadowAce (Linux -- The Ultimate Windows Service Pack)
[ Post Reply | Private Reply | To 6 | View Replies]

To: ShadowAce

I’m not an expert either - I mean there is GPL v2, GPL v3, copyleft, copyright, etc. etc.

But really my only real point is that the very notion of “cannibalism” really doesn’t even apply in an open source setting - it’s basically an oxymoron - so that to me, at least, the premise of the article is false.


8 posted on 02/06/2013 1:38:46 PM PST by 2 Kool 2 Be 4-Gotten
[ Post Reply | Private Reply | To 7 | View Replies]

To: 2 Kool 2 Be 4-Gotten

And I guess on closer examination of the article, the author agrees with me. It’s just that they use the term “eating itself” but in a semi-ironic way. To say “it’s eating itself and that’s a good thing”. I don’t think I would have written it that way. I think I would have simply said that the OSS model is working as envisioned - so that the software gets better and better. Like vi and emacs for example. I presume that each has taken ideas from the other. But you’d be hard pressed to say that either has “eaten” or “cannibalised” the other.


9 posted on 02/06/2013 1:42:33 PM PST by 2 Kool 2 Be 4-Gotten
[ Post Reply | Private Reply | To 8 | View Replies]

To: re_nortex

??? I’m not sure where you are getting your information from, but it surely is not any of the FR pages I have looked at. All sourcecode reads “text/html;charset=latin1”, and no “server” listed at all. Perhaps it is on your end?


10 posted on 02/06/2013 4:28:31 PM PST by Utilizer (What does not kill you... -can sometimes damage you QUITE severely.)
[ Post Reply | Private Reply | To 4 | View Replies]

To: Utilizer; ShadowAce; rdb3; JRandomFreeper
I’m not sure where you are getting your information from, but it surely is not any of the FR pages I have looked at.

The page source does not have the name of the HTTP server unless the HTML author chooses to include it, sometimes they do perhaps as META tag.

Do you not have lynx? If not, you can easily build it from source using the familiar configure script to set your preferences. Once built, you can then easily find the HTTP server by visiting a site and then pressing '=' to reveal that information.

Alternately, good old telnet can be used to find what HTTP server a site is running as shown here, with the strings you type in bold with the ^M symbol representing a carriage return -- two are required:

telnet freerepublic.com 80
Trying 209.157.64.200...
Connected to freerepublic.com.
Escape character is '^]'.
HEAD / HTTP/1.0^M^M
HTTP/1.1 301 Moved Permanently
Server: nginx/1.2.4
Date: Thu, 07 Feb 2013 09:47:51 GMT
Content-Type: text/html
Content-Length: 184
Location: http://209.157.64.200/tag/*/index
Connection: close

Connection closed by foreign host.
Your platform may format the text differently but, when all is said and done, telnet is still pretty much telnet wherever you go.

Just for fun, I hit a few more random sites in no particular order to find their HTTP servers.

JRF -- The last one I did specially for you! :-) Eric Raymond, the collator of the lexicon, has a slightly newer version of the Jargon List than the one you link to on your profile page.

Courtesy ping to others who may know of a more GUI friendly manner to discern the HTTP server for a given site. But for me, I'll just stick with lynx and telnet since they're both just part of my DNA (and I still occasionally use the latter as my means to transmit a message via an SMTP host).

11 posted on 02/06/2013 7:41:48 PM PST by re_nortex
[ Post Reply | Private Reply | To 10 | View Replies]

To: re_nortex
Well, more information is always welcome, so thank you for that.

Running Mepis Linux v11 on this end, and looked at the sourcepages for both the Latest Articles and this posting on both the default Opera (12) browser and Firefox (9) for the info. Haven't tried Lynx so far but am always curious so I may play with it later after I finish some current downloads. Marked For Later...

12 posted on 02/06/2013 7:54:44 PM PST by Utilizer (What does not kill you... -can sometimes damage you QUITE severely.)
[ Post Reply | Private Reply | To 11 | View Replies]

To: Utilizer
Running Mepis Linux v11 on this end...

That distro more than likely has curl installed out of the box. If so, here are a few traces of how to run it (and the results):

curl -D - freerepublic.com/

HTTP/1.1 301 Moved Permanently
Server: nginx/1.2.4
Date: Thu, 07 Feb 2013 12:24:29 GMT
Content-Type: text/html
Content-Length: 184
Location: http://freerepublic.com/tag/*/index
Connection: close

curl -D - usmarines.com

HTTP/1.1 301 Moved Permanently
Date: Thu, 07 Feb 2013 05:43:29 GMT
Server: Apache/2.2.3 (Red Hat)
X-Powered-By: PHP/5.2.17
X-Pingback: http://www.usmarines.com/xmlrpc.php
Location: http://www.usmarines.com/
Content-Length: 0
Content-Type: text/html; charset=UTF-8

curl -D - gop.com

HTTP/1.1 301 Moved Permanently
Date: Thu, 07 Feb 2013 05:45:18 GMT
Server: Apache
X-Pingback: http://www.gop.com/xmlrpc.php
X-Powered-By: W3 Total Cache/0.9.2.4
Location: http://www.gop.com/
Vary: User-Agent
Cache-Control: public, max-age=900
Content-Length: 0
Connection: close
Content-Type: text/html; charset=UTF-8

curl -D - hillaryclinton.com

HTTP/1.1 200 OK
Content-Type: text/html
Last-Modified: Mon, 04 Feb 2013 13:36:54 GMT
Accept-Ranges: bytes
ETag: "a9ba6cb2dc2ce1:0"
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Thu, 07 Feb 2013 05:46:15 GMT
Content-Length: 2528

I've found that a number of leftist sites use Microsoft's HTTP server.
13 posted on 02/06/2013 9:56:21 PM PST by re_nortex
[ Post Reply | Private Reply | To 12 | View Replies]

To: re_nortex
Neither lynx or curl are installed by default on this distro, although they appear to be readily available on the Debian Stable repositories. Not sure how to look for available proggies for obtaining the info you found other than the two you mentioned. A different browser perhaps? Mepis has Firefox and Konqueror as the distro defaults, and Opera is the one I use as a personal default, but I would have to look more closely at the setup to determine what else is available as default. Apache is not installed by default either, however it too is readily available for install by deb repo download.
14 posted on 02/06/2013 11:51:33 PM PST by Utilizer (What does not kill you... -can sometimes damage you QUITE severely.)
[ Post Reply | Private Reply | To 13 | View Replies]

Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.

Free Republic
Browse · Search
General/Chat
Topics · Post Article

FreeRepublic, LLC, PO BOX 9771, FRESNO, CA 93794
FreeRepublic.com is powered by software copyright 2000-2008 John Robinson