요약

  • 아파치의 첫 공개 출시는 유지보수 공백에 대한 실용적 답변이었다. 웹마스터들이 이미 NCSA httpd 1.3에 대해 각자 수정을 만들고 있었고, 메일링 리스트와 공유 호스트, 기여자 주도 테스트가 이 수리들을 함께 배포 가능하게 만들었다.
  • 프로젝트 첫해는 NCSA가 사라진 단순한 계승 서사가 아니었다. NCSA는 개발을 재개하고 아파치 기여자들과 수정 사항을 주고받았으며, 아파치는 패치 모음에서 Robert Thau의 모듈형 Shambhala 아키텍처로 이동했다.

사용자에 의존하던 서버

1995년 초, 웹 서버는 널리 쓰이면서도 제대로 관리되지 않을 수 있었다. NCSA의 HTTP 데몬은 서버를 직접 운영해야 하는 운영자들에게 웹을 접근 가능하게 만드는 데 기여했다. 1994년 중반 Rob McCool이 NCSA를 떠난 뒤 개발은 둔화되었다. 그러나 이 공백은 운영자들을 수동적으로 기다리게 두지 않았다. 웹마스터들은 이미 자신의 설치 환경에 기능을 추가하고 버그를 고치고 있었다. 부족했던 것은 개별 수리를 다른 사람들이 테스트하고 채택할 수 있는 릴리스로 만들 수 있는 신뢰할 만한 방법이었다.

아파치의 기원은 흔히 여덟 명의 사람과 패치 더미라는 이야기로 압축된다. 더 유용한 세부 사항은 이 두 사실 사이의 인프라다. 기여자들은 처음에 사적 이메일을 통해 서로를 찾았다. 이후 Brian Behlendorf와 Cliff Skolnick이 메일링 리스트, 공유 정보 공간, 샌프란시스코 베이 지역의 한 장비에서의 개발자 로그인을 마련했다. HotWired가 대역폭을 기부했다. 이러한 장치들은 지리적으로 흩어진 운영자들에게 변경 사항을 비교할 장소와 공통 작업 기반에 대한 접근을 제공했다. 프로젝트의 후기 기록에 따르면 1995년 2월 말까지 여덟 명의 핵심 기여자가 최초의 Apache Group을 이루었다.

이는 겸손한 조정 계층이었다. 모든 설치를 동일하게 만들지도, 모든 제안된 변경이 안전함을 증명하지도 않았다. 변경 사항을 수집하고, 테스트하고, 배포할 만큼 충분히 보이게 만들었을 뿐이다. 개발자들은 NCSA httpd 1.3을 기반으로 삼아, 공개된 수정 사항과 유용한 개선 사항을 모으고, 결합된 서버를 자신들의 장비에서 테스트했다. 첫 공개 출시인 Apache 0.6.2는 4월에 나왔다.

1995년 4월 27일의 당시 공지는 후기 기원 요약보다 이 출시를 더 실감나게 만든다. Randy Terbush는 0.6.2를 NCSA 1.3에 대한 패치에 기반한 퍼블릭 도메인 서버로 묘사했다. 그는 콘텐츠 협상, 복수 도메인 이름, 사용자 지정 오류 처리, "as is" 파일 전송, 더 엄격한 프로토콜 준수, DBM 기반 인증을 추가 기능으로 꼽았다. 공지에는 HotWired, MIT AI Lab, Organic, Hyperreal 등 초기 사용자도 나열되어 있고, 여러 유닉스 시스템에서의 테스트가 언급되었다. 마지막 경고가 중요했다. 이것은 베타 소프트웨어였고 버그가 예상되었다. 공동 릴리스는 공유 가능한 테스트 제안이었지, 로컬 운영 리스크가 사라졌다는 선언이 아니었다.

공백은 아파치만의 것이 아니었다

익숙한 구원 서사는 NCSA가 멈췄고 아파치가 그 빈 공간을 채웠다고 말한다. 기록은 더 복잡하다. 아파치의 회고는 NCSA가 같은 기간에 개발을 재개했다고 밝힌다. NCSA 서버 팀의 Brandon Long과 Beth Frank는 3월에 명예 회원으로 새 리스트에 합류해 두 프로젝트가 아이디어와 수정 사항을 교환할 수 있게 했다. 같은 해 말의 Usenet 토론 역시 개발 중인 NCSA 계열을 언급하며 아파치에서 가져온 기능을 지목한다. 두 프로젝트는 설치 환경을 두고 경쟁했지만, 기술적 경로는 서로 봉쇄되어 있지 않았다.

이것이 중요한 이유는 실질적 질문이 어느 기관이 웹의 미래를 소유했는가가 아니었기 때문이다. 운영자들은 자신의 장비에서 작동하고, 검사 가능한 수정 사항과 설치 가능한 릴리스를 갖춘 서버가 필요했다. 패치는 모든 사이트가 즉시 업그레이드하도록 요구하지 않고 유통될 수 있었다. 웹마스터는 적용 여부에 대한 로컬 통제권을 유지했고, 릴리스는 다른 운영자들에게 평가할 구체적 버전을 제공했다. 이 배열은 메일링 리스트 공지 그 자체를 운영 명령으로 만드는 대신, 공유 아티팩트를 로컬 결정과 연결했다.

이 메커니즘에도 비용이 있었다. 여러 설치 환경의 변경을 결합하면 비호환성이 생길 수 있었다. 그룹은 플랫폼 전반에서 테스트하고, 출시하는 것을 문서화하고, 늘어나는 사용자층에 대응해야 했다. 아파치 자체의 역사는 0.6.2를 성공으로 묘사하면서도 코드에 전반적 정비가 필요하다고 인정한다. 이는 수고 없는 커뮤니티 개발이라는 신화에 대한 유용한 교정이다. 수리 작업은 서비스를 빠르게 복구할 수 있지만, 성장하는 공유 코드베이스는 그 자체의 유지보수 부담을 만든다.

패치 수집에서 설계 변경으로

5월과 6월 동안 기여자들은 프리포크된 자식 프로세스를 포함해 0.7 시리즈의 기능을 계속 구현하면서 급성장하는 사용자 커뮤니티를 지원했다. 동시에 Robert Thau는 모듈형 구조와 API, 풀 기반 메모리 할당, 적응형 프리포킹을 갖춘 새 아키텍처 Shambhala를 설계했다. 그룹은 7월에 이 기반으로 전환했고, Apache 0.8.8이 8월에 뒤따랐다. 추가 베타 테스트, 플랫폼 포팅, 문서화, 표준 모듈을 거쳐 1995년 12월 1일 Apache 1.0이 출시되었다.

이 연속성은 이 역사의 중심에 있는 전환을 표시한다. 첫 출시는 운영자들이 이미 알던 서버를 중심으로 변경을 조율했다. Shambhala는 이후 변경이 이루어질 표면을 바꿨다. 모듈 경계와 API는 확장을 패치의 흐름이 아니라 설계 속성으로 만들었다. 이 공동체는 더 이상 어떤 수리가 하나의 배포에 속하는지 결정하기만 하는 것이 아니라, 이후 수리가 어떻게 들어맞을지를 재구성하고 있었다.

이 변화가 유지보수를 영구히 쉽게 만들지는 않았다. 일부 조정 문제를 인터페이스, 모듈, 메모리 관리, 호환성 안으로 옮겼을 뿐이다. 모듈형 서버는 기여자가 코어에 덜 방해되게 기능을 추가할 수 있게 해 주었지만, 안정적 경계에 대한 합의와 더 규율된 테스트도 요구했다. 아키텍처는 코드 구조를 통해 미래의 변화를 통치하는 방식이 되었다. 그 통치는 부분적이었다. 운영자는 여전히 어떤 릴리스를 실행할지 선택했고, NCSA도 자신의 계열을 계속했다.

전설이 아니라 증거로서의 채택

아파치의 부상에 대한 증거는 첫 출시보다 뒤에 온다. Netcraft의 1996년 8월 설문 게시물은 1995년 8월의 응답 호스트 18,957개와 1년 뒤의 342,081개를 비교했다. 1996년 표본에서 아파치는 35%로, 18%의 NCSA를 앞섰다. Netcraft는 설문의 급속한 성장이 웹 자체의 성장과 사이트 발견 개선을 함께 반영한다고 주의했다. 이 수치는 응답한 호스트명을 서버별로 분류한 것이지, 고유 기업, 인구, 트래픽, 아파치의 인과적 기여에 대한 깨끗한 척도가 아니다.

그럼에도 이 설문은 출시 이야기만으로는 보여줄 수 없는 무언가를 가리킨다. 운영자들이 규모에 따라 아파치를 선택하고 있었다는 것이다. 로컬 수정에서 공통 배포로, 다시 재설계된 서버로 이어진 아파치의 경로는 실행 중인 설치에서 드러났다. NCSA는 여전히 활동적 경쟁자였고 웹의 성장에는 많은 원인이 있었지만, 아파치의 첫해는 비교적 작은 조정 계층이 어떻게 독립적 유지보수 작업을 식별 가능하고, 테스트 가능하고, 재사용 가능하게 만들 수 있는지 보여주었다.

지속된 메커니즘은 낭만적인 이름 유래 이야기도, 단일한 위원회 결정도 아니었다. 실용적 경계들의 연속이었다. 알려진 기반 버전, 비교 가능한 패치, 로컬 테스트, 공통 릴리스, 그리고 이후의 확장을 더 쉽게 조직화할 수 있게 만든 아키텍처. 서버의 역사는 조정이 작게 시작하면서도 여전히 가능한 선택지를 바꿀 수 있음을 보여준다. 그 정당성은 운영자가 실행하고 평가할 수 있는 작업에서 나왔고, 채택은 각 설치 환경의 결정으로 남았다.

출처와 한계

아파치 프로젝트 역사는 후기의 기관적 회고이며, 4월 공지와 1996년 Netcraft 설문은 동시대 기록이다. 1995년 당사자의 리스트 아카이브와 설치 로그는 이 기사에서 회수되지 않았다. 따라서 설문 수치는 유한한 표본으로 읽어야 하며, 아파치의 유지보수 모델만으로 웹 서버 시장의 변화를 일으켰다는 것을 단일 출처가 입증하지는 않는다.

인용 출처