Resumen

  • Apache comenzó cuando los administradores web ya habían corregido por separado NCSA httpd 1.3. La lista de correo, el espacio compartido y las pruebas en servidores de los propios colaboradores convirtieron esas reparaciones en una versión común.
  • NCSA no desapareció en 1995: retomó su desarrollo e intercambió arreglos con Apache mientras el grupo pasaba de reunir parches a diseñar la arquitectura modular Shambhala.

El mantenimiento que los usuarios ya estaban haciendo

A comienzos de 1995, NCSA httpd era uno de los servidores más usados en la Web, pero su desarrollo se había frenado después de que Rob McCool dejara NCSA a mediados de 1994. Los operadores no se limitaron a esperar. Muchos administradores habían añadido funciones y corregido errores en sus instalaciones. Faltaba un mecanismo fiable para comparar esas modificaciones, combinarlas y ofrecer a otros una versión que pudieran probar.

La historia oficial de Apache cuenta que primero se localizaron por correo electrónico privado. Brian Behlendorf y Cliff Skolnick organizaron después una lista de correo, un espacio común de información y cuentas para los desarrolladores en una máquina de la zona de la bahía de San Francisco. HotWired aportó el ancho de banda. Al terminar febrero, ocho colaboradores formaban el núcleo del grupo Apache. Ese soporte no uniformó los servidores de cada sitio. Creó un punto compartido donde sus operadores podían ver y evaluar cambios.

El grupo tomó NCSA httpd 1.3 como base, reunió correcciones publicadas y mejoras útiles, y probó la combinación en sus propios servidores. Apache 0.6.2 salió al público en abril de 1995. En su anuncio del 27 de abril, Randy Terbush lo describió como un servidor de dominio público construido con parches para NCSA 1.3. Destacó negociación de contenido, varios nombres de dominio, respuestas de error personalizadas, envío de archivos «tal cual», mayor conformidad con las especificaciones y autenticación mediante DBM.

El anuncio contemporáneo mencionaba a primeros usuarios como HotWired, MIT AI Lab, Organic e Hyperreal, y enumeraba varias plataformas Unix donde se había probado el servidor. También decía que era una versión beta y que aún podía contener errores. La publicación común no eliminó el riesgo operativo: hizo que una combinación concreta de cambios pudiera ser examinada por otros.

NCSA siguió su propia línea

La versión más sencilla de la historia presenta a Apache ocupando el vacío dejado por un NCSA ya abandonado. El propio relato retrospectivo del proyecto es más preciso: NCSA reanudó su desarrollo en el mismo periodo. Brandon Long y Beth Frank, del equipo de servidores de NCSA, se incorporaron a la lista de Apache en marzo como miembros honorarios para intercambiar ideas y arreglos. Una conversación de Usenet de octubre de 1995 también describe una rama de NCSA en desarrollo y señala funciones que había incorporado de Apache.

Los dos proyectos competían por las instalaciones, pero no estaban aislados técnicamente. Para el operador la pregunta cotidiana era otra: qué versión funcionaba en su máquina, qué cambiaba y si podía volver a la anterior. Un parche podía circular sin exigir una actualización simultánea de todos los sitios. Una versión hacía reproducible el cambio; instalarla seguía siendo una decisión local.

El arreglo distribuido tenía costes. Juntar modificaciones nacidas en servidores distintos podía crear incompatibilidades. Había que probar más sistemas operativos, documentar cada versión y atender a una comunidad creciente. La historia de Apache admite que 0.6.2 tuvo buena acogida, aunque la base de código necesitaba una revisión general. La colaboración abierta no hacía desaparecer el mantenimiento; distribuía el trabajo y, al crecer el uso, elevaba la necesidad de coordinarlo.

De los parches a una arquitectura

En mayo y junio, el grupo siguió implementando funciones para la serie 0.7, entre ellas procesos hijos prefork, y apoyó a más usuarios. A la vez, Robert Thau diseñó Shambhala: una estructura modular con API, asignación de memoria por pools y un modelo adaptativo de preforking. El grupo adoptó esa base en julio. Apache 0.8.8 llegó en agosto y, después de más pruebas beta, adaptaciones a plataformas y documentación, Apache 1.0 se publicó el 1 de diciembre de 1995.

Ahí se produjo el cambio decisivo. Al principio se organizaban modificaciones alrededor de un servidor conocido. Shambhala modificó el terreno donde se desarrollarían las siguientes: la modularidad y la API hicieron que la extensibilidad formara parte del diseño del servidor, en lugar de depender solo de nuevas series de diferencias.

La arquitectura también redistribuyó las obligaciones. Los módulos pueden aislar una extensión y limitar sus efectos sobre el núcleo; a cambio, hacen falta interfaces comprensibles, pruebas de compatibilidad y responsables a largo plazo. El rediseño no automatizó el mantenimiento. Trasladó parte del problema a las API, los módulos y los límites de compatibilidad. Cada operador conservaba la decisión de qué versión ejecutar, y NCSA mantenía su propia versión del servidor.

La adopción se comprueba en los servidores activos

Los datos más claros sobre la expansión de Apache aparecen en 1996. La publicación de Netcraft del mes de agosto compara 18.957 hosts que respondieron en agosto de 1995 con 342.081 un año más tarde. Dentro de la muestra de 1996, Apache tenía el 35%, por delante de NCSA con el 18%. Netcraft advertía que el crecimiento de la muestra respondía tanto al crecimiento natural de la Web como a que la empresa había aprendido a localizar más sitios. Son hostnames que contestaron a una encuesta, no empresas únicas, personas, tráfico o una explicación causal del éxito.

Aun con esos límites, la encuesta muestra algo que una nota de lanzamiento no puede probar: muchos operadores elegían Apache. La secuencia fue tangible: una versión conocida como base, cambios comparables, pruebas en instalaciones locales, una versión común y después un servidor rediseñado. Su autoridad práctica se apoyó en código que podía ejecutarse y evaluarse. La lista y el grupo facilitaron la adopción, pero no la sustituyeron.

Fuentes y límites

La historia del proyecto Apache es retrospectiva. El anuncio de abril de 1995 y la encuesta de Netcraft de 1996 son registros de la época. No se localizaron para este trabajo los archivos originales de la lista de desarrollo ni registros completos de instalaciones. Por ello, las cifras de Netcraft describen una muestra limitada y no demuestran que el modelo de mantenimiento de Apache, por sí solo, transformara el mercado.

Fuentes citadas