인터넷은 거대한 시스템처럼 보이지만, 실제로는 수많은 작은 코드와 의존성 위에 세워진 구조다. 이 글은 left-pad, Log4Shell, Heartbleed와 같은 사건들을 통해 작은 코드 하나가 어떻게 전 세계 인프라를 흔들 수 있었는지, 그리고 우리가 의존하는 소프트웨어 생태계의 본질을 따라간다.
우리가 당연하게 사용하는 개발 방식은 자연스럽게 만들어진 것이 아니다. Git, GitHub, Stack Overflow, npm, Docker와 같은 도구들은 각각의 문제를 해결하는 과정에서 등장했고, 그 선택들이 쌓이며 오늘의 개발 문화가 형성되었다. 이 글은 그 흐름을 하나의 이야기로 정리한다.
Git은 처음부터 세상을 바꾸기 위해 만들어진 도구가 아니었다. Linux 커널 개발 과정에서 발생한 협업 위기 속에서 탄생한 Git은 분산 버전관리라는 새로운 구조를 통해 개발 방식 자체를 바꾸었다. 이 글은 Git이 등장하게 된 배경과 그 구조가 어떻게 개발 문화를 바꾸었는지를 하나의 흐름으로 정리한다.
웹은 처음부터 준비된 인프라 위에서 성장한 것이 아니었다.
표준도, 안정적인 서버도 없던 혼란 속에서 개발자들은 직접 코드를 고치기 시작했고, 그 과정에서 Apache가 탄생했다. 이 글은 Apache가 어떻게 웹 서버를 넘어 인터넷 인프라의 중심이 되었는지, 그리고 오픈소스가 어떻게 웹의 기본 구조를 만들어냈는지를 따라간다.
인터넷 초창기, 브라우저는 단순한 프로그램이 아니라 웹 그 자체였다. Netscape가 시장을 지배하던 시대, Microsoft는 운영체제를 무기로 전쟁에 뛰어들었고 경쟁의 규칙 자체를 바꾸기 시작한다. 그리고 이 싸움 속에서, 소프트웨어 역사상 가장 급진적인 선택이 등장하게 된다.
Linux는 거대한 기업이 만든 시스템이 아니라 한 대학생의 취미 프로젝트에서 시작되었다. 그러나 GPL, 커뮤니티 협업, 그리고 인터넷의 성장과 맞물리며 결국 세계 서버 인프라의 중심이 된다. 이 글은 Linux가 어떻게 단순한 코드에서 시작해 소프트웨어 산업의 구조 자체를 바꾸게 되었는지 그 흐름을 따라간다.