Apache : analyse d’un succès passé et présent

Le serveur HTTP Apache, avec plus de 60% de parts de marché, possède une position de leader incontesté. Des concurrents, tant libres que propriétaires, existent pourtant. Mais il n’ont jamais mis en péril la position d’Apache. Ce document se propose d’en analyser les causes de succès passées et présentes.

Avertissement au lecteur : ce document est une version provisoire. Toute remarque est la bienvenue et peut être adressée à [email protected].

Etat des lieux - / (un outsider) - Zserver (peu connu, mais intégré au Le marché des serveurs Internet est populaire CMS ) caractérisé par un nombre impressionnant de produits concurrents. et de trois serveurs propriétaires (soient Netcraft, qui analyse ce marché, en les plus répandus) : dénombre plusieurs dizaines. Mais seuls cinq possèdent une part de marché - Microsoft IIS supérieure au pour-cent ! - Zeus - SunOne (Netscape / Sun) Apache 62,72% Microsoft IIs 27,01% Apache et le serveur du NCSA Zeus 2,14% Netscape Enterprise** 1,16% … … Début 1995, le serveur HTTP le plus Zope 0,04% populaire était le logiciel du domaine Roxen* 0,04% public HTTPD, développé par Rob McCool Squid 0,02% du NCSA (Centre National des Caudium* 0,01% Applications sur Super-ordinateurs, NCSA 0,01% Université de l’Illinois, USA). * La famille Roxen (Roxen + Caudium) possède environ 0,07% du marché, ce qui en fait le Le développement d‘HTTPD s’étant sixième serveur du marché (et le deuxième arrêté à la mi-1994, suite au départ du libre). ** Nous parlerons ensuite de SunOne pour NCSA de McCool, un petit groupe de désigner les serveurs Netscape et dérivés webmestres se regroupe en vue de (iPlanet). mettre en commun les modifications apportées. Fin février 1995, huit Part de marché selon Netcraft programmeurs bénévoles travaillaient (février 2003) sur ce projets, baptisé Apache (a patche). Basée sur la version 1.3 du Les quatre plus importants sont Apache, serveur HTTPD, la première version Microsoft IIS, Zeus et SunOne. Le d’Apache (version 0.6.2) fut publiée en premier est un logiciel libre ; les autres avril 1995. sont propriétaires. Complètement réécrit, amélioré, testé et L'objectif de ce papier est de déterminer documenté, Apache 1.0 sortit en pourquoi Apache a bénéficié d’une telle décembre 1995. Moins d’un an après, le supériorité, à la fois sur les serveurs serveur HTTP Apache était le premier libres et sur les serveurs propriétaires serveur utilisé sur Internet, devant celui concurrents. Dans cette optique, nous du NCSA ! étudierons le cas de quatre serveurs Open Source : Apache est depuis 1999 un organisme à but non lucratif (Apache - NCSA (le premier) Foundation). - Apache (le plus répandu) De Spider à Caudium - Apache possède environ 60% du marché des serveurs WEB. Il est D’autres serveurs existaient à l’époque. considéré comme stable et sécurisé. - Par ailleurs, les licences sont Ainsi en 1993, Per Hedbor écrivait le différentes : GPL pour Roxen / premier serveur WEB suédois. Baptisé Caudium & licence Apache (libre mais Spider 1.0, il était écrit en C. Plusieurs incompatible avec la GPL et plus versions lui succédèrent, écrites dans permissive que cette dernière) pour des langages différents : Spider 2.0, Apache. écrit en LPC4 puis Spider 3.0, devenu Spinner 1.0, écrits en µLPC. Il fut ensuite Apache développé par la société suédoise Roxen, + issu du serveur NCSA (populaire) dont il pris le nom. Suite à la sortie de la fork + facile facile à débugger et mieux version 2.0, incompatible avec la 1.x, un vu fork communautaire eut lieu. Ainsi naquit modularité associé à PHP Caudium, basé sur le code de Roxen 1.3 - pas de FTP de fin juillet 2000. Roxen / Caudium + méta-serveur (abstraction) Pourquoi Apache et pas Roxen ? threadé (performance) - threadé (débug difficile, mal vu -> pas de Le premier serveur HTTP portable est fun pour le hacker) celui du NCSA (1993), dont est issu pike interprété et peu connu Apache. Mais la lignée des serveurs Avantages / inconvénients à l’origine Spider/Spinner/Roxen/Caudium est antérieure à Apache ! L'argument du Apache « first mover advantage » ne s'applique + image de marque donc pas à Apache. part de marché (-> retour de la communauté) Les choix techniques sont différents : complet (modules, notamment Java) bien intégré (ex. : EasyPHP)

associé à PHP - Apache est un serveur HTTP. Par - - contre, Roxen est un méta-serveur, Roxen / Caudium c’est-à-dire qu’il est capable de + convivial répondre à des requêtes HTTP, gestion de site en option FTP,... et apporte un niveau - PHP moyennement supporté d'abstraction plus élevé. Cela petite communauté s’oppose à la conception manque de finition (car moins de retour) traditionnelle du monde UNIX voulant société par derrière (mal vu des hackers qu’un logiciel fasse bien une et une ?) seule chose. Avantages / inconvénients à l’heure - Apache recourt au fork. Par contre, actuelle Roxen est threadé depuis 1994 (cette caractéristique se retrouve dans Apache semble donc avoir su profiter : Apache depuis la 2.x). - Apache est associé au langage de - de sa filiation avec le très populaire script PHP. Par contre, Roxen est lié à HTTPD du NCSA ; des langages maison (Rxml et Pike) - de ses choix technologiques en phase et supporte plus ou moins bien PHP. avec le monde UNIX. - Apache est développé en C (LE langage du monde UNIX), au Caudium a pour sa part débuté avec un contraire de Roxen qui est développé déficit d’image et a été pénalisé par des en C (µLPC initialement) et Pike. choix techniques originaux. Ces derniers ont maintenu la communauté dans une D’un point de vue commercial : taille réduite.

Apache profite aujourd’hui de sa popularité, de sa stabilité, de sa sécurité, de sa modularité et de sa complétude. Il est en outre associé au langage PHP, - le Zserver est intégré dans un produit moyennement supporté par Roxen / plus général, à l'instar de Roxen Caudium. - le Zserver est lié à un produit spécifique, développé dans un L'impact du choix de la licence est langage marginal (Python) difficilement quantifiable, de même que - le Zserver n'est pas "poussé" comme l'impact de la présence d’une société serveur de production et peut derrière le serveur Roxen. aisément être remplacé

Ajoutons que l’Apache Software Il en résulte une faible diffusion : les Foundation possède aujourd’hui un retours d'expérience et les contributions important portefeuille de projets à la externes sont donc plus rares. pointe, à commencer par Tomcat, l’implémentation de référence de Zope Zserver l’architecture J2EE de Sun. + méta-serveur (abstraction) intégré Zope Zserver - limité, facilement remplaçable associé au langage Python Zope se définit comme une plate-forme Avantages / inconvénients dynamique de publication d'objets sur le WEB. Il intègre dans un seul produit Les compétiteurs propriétaires base de données, serveur web (Zserver) et serveur d'applications. Initialement Le principal compétiteur propriétaire développé par la société Digital Creations reste, en terme de part de marché, (rebaptisée Zope Corporation en juillet Microsoft, avec son Internet Information 2001), Zope est devenu Open Source en Server (IIS), avec environ 30% de part novembre 1998, la société se recentrant de marché. D’autres se sont développés sur des activités de service. sur des marchés de niche, comme Zeus (moins de 2%), dédiés aux sites à très Le développement de Zope est forte fréquentation, et SunOne, associé étroitement lié au langage orienté objet aux technologies Java mais en perte de Python, dans lequel il est écrit (une vitesse. partie, nécessitant une optimisation, est écrite en C). Et IIS ?

Le Zserver est un méta-serveur (HTTP, Microsoft IIS possède pour sa part FTP, WebDAV, SOAP, etc) environ 30% du marché des serveurs multiplateforme (Unix/Linux, MacOS, Internet et reste stable. Mono-plate- Windows,...) basé sur Medusa (Sam forme, il bénéficie d’une diffusion Rushing). Il présente certaines maximale sous Windows (intégré à limitations comme l’absence de support Windows depuis NT 4.0) et d’une SSL. Il est principalement utilisé sur des administration simplifiée. serveurs de développement. En production, il est fréquemment remplacé Il est par contre assez lourd et a souffert par Apache (dans 80% des cas environ)) de bogues et de failles de sécurité. Il est ou Squid (dans 20% des cas environ). en outre arrivé assez tard sur le marché, en juillet 1996 ! Apache était déjà n°1 Zope est un système très ouvert : des depuis un an… modules spécifiques tels que Zserver ou ZoDb (base de données objet) peuvent Microsoft IIS + gratuité être remplacés par des alternatives plus diffusion (intégré à Windows) classiques : Apache, IIS,.. pour le administration simplifiée Zserver ou mySQL, PostgreSQL,… pour - arrivée tardive ZoDB. qualité de départ (sécurité) lourdeur Il en ressort donc que : Avantages / inconvénients Apache a donc développé un avantage Des serveurs de niches de départ :

De nombreux autres serveurs existent. - en se basant sur un précédent Citons , cern-httpd, fnord, wn, développement de qualité (notoriété) , bozohttpd, dhttpd, , thy dans - en adoptant des choix techniques une distribution Linux Debian. Ou encore populaires. Zeus. Apache a su conserver cet avantage Ce dernier est un serveur Internet par : propriétaire. D’un prix élevé (environ 1700 euros), il est ergonomique, très - son image de marque, préservée et stable et permet de faire face à de très renforcée par la qualité du produit gros pics de fréquentation. Il anime (performance et sécurité) notamment le site d’enchère eBay. - sa modularité (encouragement de Permettant donc de faire face à des l’innovation et de la exigences très fortes, il occupe une niche personnalisation). de marché (environ 1,4%). Les autres serveurs ont conservé une Zeus position –souvent marginale- grâce : + serveur haute performance administration simplifiée - à l’adoption d’une stratégie de - payant niche : optimisation pour une plate- Avantages / inconvénients forme (IIS, sous Windows) ou positionnement technologique SunOne original : serveur critique (Zeus), métaserveur (Roxen / Caudium), SunOne est l’architecture de Sun Java (SunOne), etc. Microsystems pour le développement de - à l’intégration (Zserver et le CMS services Internet. Il intègre l’iPlanet Web Zope, Roxen et le CMS Roxen, IIS et Server, issu de l’alliance avec Netscape Windows). ¨ (1999). © Robert VISEUR, 2003 Netscape a fort souffert dès 1996 de [email protected] l’arrivée sur le marché sur serveur Microsoft IIS. Après avoir atteint une Sources part de marché de 10% environ, il a progressivement décliné, pour atteindre Articles environ 1% en 2003 ! -> Apache – HTTP Server Project, http://httpd.apache.org/ABOUT_APACHE.html iPlanet est associé aux technologies Java -> The history of Caudium, (JSP). JSP est souvent utilisé sur des http://caudium.net/server/history.rxml sites plus grands et plus complexes que -> Netcraft Survey, http://www.netcraft.com/survey/ ceux développés en ASP ou PHP. Il est -> Serveurs Web : le martch Apache, IIS, Zeus, en outre concurrencé par le serveur http://solutions.journaldunet.com/0212/021218_w Tomcat (Apache), peu présent dans eb.shtml l’absolu, mais dominant dans les -> Roxen WebServer 2.2, http://www.linuxjournal.com//article.php?sid=565 déploiements Java en ligne. 1 -> Les chantiers de la fondation Apache, SunOne http://news.zdnet.fr/cgi- + ? bin/fr/printer_friendly.cgi?id=2124424 - retard sur les langages dynamiques -> Zeus, http://www.zeus.com/products/zws/ -> Scalability, three-tiered architectures, and associé à JSP (peu accessible) applications servers, Avantages / inconvénients http://philip.greenspun.com/wtr/application- servers.html Synthèse

-> The Zope Application Server Revisited, http://www.linuxplanet.com/linuxplanet/print/1319 -> Zope, http://www.ingeniweb.com/tech/zope/ Questions en suspens -> Twenty years of innovation, Sun Microsystems - Y a-t-il une différence dans le modèle de Discussions développement (cô bazaar vs cathédrale ?) entre Apache et Roxen ? -> Pierre Gumy, Project Manager, pronaos (Suisse) - Influence de la Fondation Apache -> Olivier Deckmyn, consultant, Ingeniweb (partenariats externes notamment) ? (France) -> Robert Page, Zope Corporation. -> Michel Verdier, Jean-Daniel Dodin ; liste marketing_oss (Yahoo!, France)

Articles sur forums

-> Apache vs Caudium / Roxen, http://linuxfr.org/2001/04/21/3244.html -> Roxen WebServer 2.2: alternative à Apache, http://linuxfr.org/2002/03/21/7646.html