우리가 당연하게 사용하는 것들의 출발점

오늘날 소프트웨어를 만든다는 것은 곧 오픈소스를 사용하는 것을 의미한다. 운영체제는 물론이고, 웹 서버, 데이터베이스, 프로그래밍 언어의 런타임, 심지어 우리가 사용하는 개발 도구와 라이브러리까지 대부분은 공개된 코드 위에서 동작한다. 개발자는 더 이상 모든 것을 처음부터 만들지 않는다. 이미 존재하는 수많은 오픈소스 프로젝트 위에 자신의 코드를 쌓아 올리고, 필요하다면 다시 그 생태계에 기여한다. 이런 흐름은 너무 자연스럽게 받아들여지기 때문에, 마치 소프트웨어 세계가 원래부터 이런 방식으로 작동해 온 것처럼 느껴지기도 한다.

하지만 조금만 시선을 과거로 돌려보면, 이 모든 것은 매우 최근의 변화라는 사실을 알 수 있다. 한때 소프트웨어는 철저히 닫힌 세계에서 만들어졌다. 기업은 코드를 자산으로 여겼고, 외부에 공개하는 것은 상상하기 어려운 일이었다. 개발은 내부 조직의 통제 아래 이루어졌고, 사용자와 개발자 사이에는 분명한 경계가 존재했다. 코드에 접근할 수 있는 사람과 그렇지 않은 사람은 명확히 구분되었고, 소프트웨어는 협업의 결과라기보다는 제품으로서 완성되어 배포되는 대상에 가까웠다.

소프트웨어는 한때 닫혀 있었고, 지금은 연결되어 있다

그런 세계가 어떻게 지금의 모습으로 바뀌게 되었을까. 이 질문에 대한 답은 하나의 기술이나 한 명의 인물로 설명되지 않는다. 오히려 여러 사건들이 서로 영향을 주고받으며 점진적으로 축적된 결과에 가깝다. 그리고 그 변화의 시작점에는, 지금 돌아보면 너무나 단순해 보이는 몇 가지 선택과 실험이 있었다.

개인의 취미가 세계 인프라가 되기까지

이 시즌의 첫 번째 이야기는 Linux에서 시작된다. 많은 사람들이 알고 있듯, Linux는 거대한 기업의 프로젝트로 시작된 것이 아니다. 한 대학생이 개인적인 흥미로 시작한 운영체제 커널 프로젝트였다. 당시에는 완성도도 낮았고, 상업적인 목적도 없었으며, 그저 더 나은 시스템을 만들어 보고 싶다는 동기에서 출발한 작업이었다.

그러나 이 프로젝트는 기존의 소프트웨어 개발 방식과는 다른 선택을 했다. 코드가 공개되었고, 누구나 참여할 수 있는 구조를 갖추었다. 이 선택은 단순한 공개 이상의 의미를 갖는다. 코드가 공개된다는 것은 단순히 볼 수 있다는 의미가 아니라, 수정하고, 개선하고, 다시 배포할 수 있다는 것을 의미한다. 그리고 이 과정이 반복되면서, Linux는 단순한 개인 프로젝트를 넘어 전 세계 개발자들이 함께 만들어가는 시스템으로 변화하기 시작한다.

이 흐름이 만들어낸 가장 중요한 변화는 개발의 주체가 바뀌었다는 점이다. 더 이상 소프트웨어는 특정 기업이나 조직의 전유물이 아니었다. 전 세계 어디에 있는 개발자든 참여할 수 있었고, 기여의 결과는 다시 전체 커뮤니티로 돌아갔다. 이런 구조는 빠른 속도로 성장했고, 결국 Linux는 서버 시장에서 사실상의 표준 운영체제가 된다. 오늘날 우리가 사용하는 인터넷의 상당 부분이 이 흐름 위에서 동작하고 있다는 사실은, 이 변화가 얼마나 근본적인 것이었는지를 보여준다.

작은 코드 하나가, 전 세계 인프라가 되는 순간S

코드 공개라는 결정이 만든 새로운 흐름

Linux의 등장이 개인 프로젝트에서 시작된 변화라면, Netscape의 결정은 보다 구조적인 변화를 상징한다. 브라우저 전쟁 속에서 경쟁력을 잃어가던 Netscape는 자사의 브라우저 코드를 공개하는 선택을 한다. 당시로서는 매우 급진적인 결정이었다. 핵심 자산을 공개한다는 것은 기업의 경쟁력을 포기하는 것처럼 보였기 때문이다.

하지만 이 선택은 예상과 다른 방향으로 흘러간다. 공개된 코드는 Mozilla 프로젝트로 이어졌고, 이후 오픈소스라는 개념이 본격적으로 확산되기 시작한다. 이 사건은 단순히 하나의 브라우저 프로젝트가 변화한 것이 아니라, 소프트웨어를 바라보는 관점 자체를 바꾸었다. 코드를 공개하는 것이 손해가 아니라, 오히려 더 큰 생태계를 만들 수 있다는 인식이 등장한 것이다.

이 시점부터 오픈소스는 단순한 실험이 아니라 하나의 운동으로 발전한다. 개발자는 더 이상 소비자가 아니라 참여자가 되었고, 소프트웨어는 더 이상 완성된 제품이 아니라 지속적으로 진화하는 과정으로 인식되기 시작한다.

인터넷을 떠받친 보이지 않는 기반

이런 흐름은 웹 인프라로 확장된다. Apache 웹 서버의 등장은 그 대표적인 사례다. 초기 인터넷 환경에서 웹 서버는 필수적인 구성 요소였지만, 상용 제품 중심의 시장에서는 접근성과 확장성이 제한적이었다. Apache는 이러한 상황에서 등장하여, 누구나 사용할 수 있고 자유롭게 수정할 수 있는 웹 서버를 제공했다.

이 프로젝트가 중요한 이유는 단순히 기술적인 완성도 때문이 아니다. Apache는 인터넷의 확산을 가속화한 기반 기술이었다. 누구나 웹 서버를 구축할 수 있게 되면서, 웹은 특정 기업의 영역이 아니라 누구에게나 열려 있는 공간으로 확장되었다. 이후 등장하는 수많은 웹 서비스와 플랫폼은 이러한 기반 위에서 성장하게 된다.

이와 함께 MySQL의 등장은 또 다른 변화를 만들어낸다. 데이터베이스는 오랫동안 고가의 상용 제품이 지배하던 영역이었다. 그러나 MySQL은 오픈소스 모델을 기반으로 누구나 사용할 수 있는 데이터베이스를 제공했고, 이는 특히 스타트업에게 중요한 의미를 갖는다. 초기 비용 부담 없이 서비스를 구축할 수 있게 되면서, 새로운 아이디어가 빠르게 실험되고 확장될 수 있는 환경이 만들어졌다.

이 시기에 형성된 LAMP 스택은 단순한 기술 조합이 아니라, 인터넷 서비스 개발의 표준 모델로 자리 잡는다. 이는 곧 오픈소스가 단순한 대안이 아니라, 실제로 산업을 움직이는 중심 기술로 자리 잡았음을 의미한다.

오픈소스가 개인을 넘어 플랫폼으로 확장되다

이 흐름의 정점 중 하나는 Android의 등장이다. 모바일 시대가 열리면서, 플랫폼의 중요성은 더욱 커지게 된다. Google은 Android를 오픈소스로 공개하며, 수많은 제조사와 개발자가 참여할 수 있는 생태계를 구축한다. 이는 단순히 운영체제를 제공하는 것이 아니라, 플랫폼 전체를 개방하는 전략이었다.

그 결과 Android는 빠르게 확산되었고, 전 세계 수십억 대의 기기에서 사용되는 운영체제가 된다. 이 과정에서 오픈소스는 더 이상 서버나 개발자 커뮤니티의 영역에 머물지 않고, 일반 사용자에게까지 영향을 미치는 기술이 된다. 스마트폰이라는 개인의 일상 속에 오픈소스가 자리 잡게 된 것이다.

이 시점에서 우리는 하나의 흐름을 명확하게 볼 수 있다. 오픈소스는 더 이상 특정한 개발 방식이 아니라, 소프트웨어 생태계를 구성하는 기본 구조가 되었다. 개인 프로젝트에서 시작된 실험은 기업의 전략으로 확장되었고, 결국 전 세계 플랫폼을 움직이는 핵심 요소로 자리 잡았다.

이 모든 변화가 의미하는 것

이 시즌에서 다루는 다섯 개의 사건은 각각 독립적인 이야기처럼 보이지만, 사실은 하나의 흐름으로 연결되어 있다. 개인이 만든 코드가 공개되고, 기업이 그 흐름에 참여하며, 인프라가 오픈소스로 재구성되고, 결국 플랫폼까지 확장되는 과정이다. 이 모든 변화의 중심에는 공통된 질문이 있다. 소프트웨어는 누구의 것인가라는 질문이다.

과거에는 이 질문에 대한 답이 명확했다. 소프트웨어는 그것을 만든 기업의 것이었다. 그러나 오픈소스의 등장 이후, 이 질문의 답은 달라지기 시작한다. 소프트웨어는 더 이상 특정한 소유의 대상이 아니라, 함께 만들어지고 함께 사용하는 자산으로 인식된다. 물론 이 과정에서 새로운 문제들도 등장했다. 유지관리의 책임, 라이선스 문제, 보안 이슈 등은 여전히 해결해야 할 과제로 남아 있다. 하지만 그럼에도 불구하고, 오픈소스가 만들어낸 변화는 되돌릴 수 없는 방향으로 진행되었다.

지금 우리가 사용하는 대부분의 기술은 이 흐름 위에 존재한다. 그리고 그 시작점에는, 당시에는 작아 보였던 몇 가지 선택과 사건들이 있었다. 이 시즌은 그 순간들을 따라가며, 오늘의 개발 세계가 어떻게 만들어졌는지를 하나씩 풀어내려 한다.