4.oss

Episode 4: "오픈소스의 승리: GPL에서 MIT까지"

코드 공유의 철학이 산업을 바꾸다


프롤로그: 코드를 해방시킨 사람들

1980년대 초, MIT의 한 괴짜 프로그래머가 **"모든 소프트웨어는 자유로워야 한다"**고 선언했습니다. 당시 대부분의 사람들은 이를 이상주의자의 헛된 꿈이라고 생각했죠. 하지만 40년이 지난 지금, 그의 철학은 전 세계 소프트웨어 산업의 토대가 되었습니다.

이것은 리차드 스톨만의 성전(聖戰)으로 시작되어, 리누스 토발즈의 실용주의를 거쳐, 결국 마이크로소프트까지 항복시킨 오픈소스의 이야기입니다.

이 글에서 다룰 내용
  • 리차드 스톨만의 자유 소프트웨어 운동 - 리누스와 리눅스: 취미가 된 세계 인프라 - 라이선스 전쟁: GPL vs BSD vs MIT - 마이크로소프트의 항복선언과 현재

Chapter 1: 리차드 스톨만의 성전(聖戰)

1980년, 잃어버린 낙원

MIT 인공지능 연구소의 리차드 스톨만(Richard Stallman)은 해커 문화의 마지막 수호자였습니다. 1960~70년대 MIT에서는 소스코드가 자유롭게 공유되고, 모든 프로그래머가 다른 사람의 코드를 개선할 수 있었죠.

1970년대 MIT의 해커 문화

잃어버린 코딩 낙원

코드 공유가 당연했던 시대

  • 모든 소스코드가 공개되어 있음
  • 누구나 소프트웨어를 개선할 수 있음
  • 지식과 도구의 자유로운 공유

해커 윤리

  • 정보는 자유로워야 한다
  • 컴퓨터에 대한 접근은 무제한이어야 한다
  • 권위를 믿지 말고 분권화를 촉진하라

하지만 1980년대에 들어서면서 상황이 바뀌었습니다. 소프트웨어가 상품이 되기 시작한 것입니다.

프린터 사건: 혁명의 발화점

스톨만의 분노는 하나의 작은 사건에서 시작되었습니다. 제록스에서 받은 새 프린터가 종이 걸림이 자주 발생했는데, 예전 같았으면 소스코드를 고쳐서 해결했을 텐데 이번에는 소스코드가 공개되지 않았습니다.

"내가 원하는 것은 단순하다. 내 이웃과 코드를 공유할 수 있는 자유, 그리고 소프트웨어가 어떻게 작동하는지 알 수 있는 권리다."

리차드 스톨만1983년 GNU 선언문

스톨만은 이 사건을 통해 깨달았습니다: "소프트웨어의 사유화는 프로그래머의 기본권을 침해한다."

1983년: GNU 프로젝트의 시작

1983년 9월 27일, 스톨만은 GNU 프로젝트를 시작한다고 발표했습니다. GNU는 "GNU's Not Unix"의 재귀적 약자로, 유닉스와 호환되지만 완전히 자유로운 운영체제를 만들겠다는 선언이었습니다.

1

자유 소프트웨어의 정의

모든 사용자가 소프트웨어를 자유롭게 사용, 연구, 수정, 배포할 수 있어야 함

2

도구 개발

자유로운 컴파일러(GCC), 에디터(Emacs), 디버거 등 개발

3

법적 장치

GPL(General Public License) 라이선스 창조

4

이념 전파

자유 소프트웨어 재단(FSF) 설립

GPL: 바이러스인가, 백신인가?

1989년, 스톨만은 **GPL(General Public License)**을 발표했습니다. 이는 혁명적인 라이선스였습니다.

GPL의 핵심 아이디어: Copyleft

저작권(Copyright)을 역이용하여 소프트웨어의 자유를 영구히 보장하는 장치. GPL 코드를 사용한 모든 파생 소프트웨어는 반드시 GPL로 공개되어야 함.

bash
# GPL의 바이러스적 전파
독점 소프트웨어 A + GPL 라이브러리 B = GPL 소프트웨어 A'
# A의 소스코드도 공개되어야 함!

기업들은 GPL을 **"바이러스"**라고 불렀습니다. 하지만 스톨만은 이를 **"백신"**이라고 반박했죠. 소프트웨어의 자유를 영원히 보호하는 백신이라고.


Chapter 2: 리누스와 리눅스 - 취미가 된 세계 인프라

1991년: 핀란드 대학생의 취미 프로젝트

1991년 8월 25일, 핀란드 헬싱키 대학의 21세 학생 리누스 토발즈가 comp.os.minix 뉴스그룹에 이런 글을 올렸습니다:

"386(486) AT용 무료 운영체제를 만들고 있습니다 (단순한 취미일 뿐이고, GNU처럼 크고 전문적이지는 않을 겁니다). 이건 지난 4월부터 시작한 것이고, 사용할 준비가 거의 되었습니다."

리누스 토발즈1991년 8월 25일 Usenet 게시물

리누스는 GNU 프로젝트의 철학에는 관심이 없었습니다. 그저 "재미있어서" 커널을 만들고 있었을 뿐이죠.

실용주의 vs 이상주의

리누스와 스톨만의 차이는 명확했습니다:

두 철학의 대비

이상주의자 vs 실용주의자

리차드 스톨만 (이상주의)

  • "자유는 타협할 수 없다"
  • GPL만이 유일한 해답
  • 독점 소프트웨어는 사회악

리누스 토발즈 (실용주의)

  • "그냥 재미있으니까 하는 거야"
  • 라이선스는 실용적 도구일 뿐
  • 좋은 소프트웨어면 독점이든 오픈이든 상관없어

0.02에서 세계 정복까지

리눅스의 성장은 폭발적이었습니다:

1991년 9월: Linux 0.01 (10,239줄) 1992년: 버전 0.95 (GPL 라이선스 채택) 1994년: 버전 1.0 (176,250줄) 1996년: 기업용 리눅스 배포판 등장 2000년: 인터넷 서버의 주류 OS 2024년: 전 세계 서버의 96% 이상이 리눅스

바자 모델의 승리

에릭 레이몬드(Eric Raymond)는 1997년 **"성당과 바자"**라는 에세이에서 리눅스 개발 방식을 분석했습니다:

"충분히 많은 베타 테스터와 공동 개발자가 있으면, 모든 버그는 얕다 (리누스의 법칙)."

에릭 레이몬드성당과 바자
1

성당 모델 (전통적 개발)

소수의 전문가가 폐쇄적으로 개발

2

바자 모델 (리눅스 개발)

전 세계 개발자들이 공개적으로 협업

3

리누스의 법칙

"Given enough eyeballs, all bugs are shallow"

4

분산 개발의 효율성

전 세계 24시간 개발 사이클

기업들의 눈치작전

처음에는 기업들이 리눅스를 무시했습니다. "학생들의 장난감" 정도로 치부했죠. 하지만 1990년대 후반, 인터넷 붐과 함께 리눅스의 안정성과 성능이 입증되면서 기업들의 태도가 바뀌기 시작했습니다.

기업들의 리눅스 수용 과정

무시에서 포용까지

1995년: "학생들의 장난감" 1998년: Oracle, IBM이 리눅스 지원 발표 1999년: Red Hat IPO 대성공 2000년: IBM이 리눅스에 10억 달러 투자 발표 2024년: 마이크로소프트까지 리눅스 전폭 지원


Chapter 3: 라이선스 전쟁 - GPL vs BSD vs MIT

라이선스 스펙트럼

오픈소스가 성장하면서 다양한 라이선스가 등장했습니다. 각각은 서로 다른 철학을 반영했죠:

1

Copyleft (GPL)

자유의 영구 보장, "바이러스적" 전파

2

Permissive (MIT, BSD)

최소한의 제약, 상업적 이용 허용

3

Public Domain

아무런 제약 없음

GPL: 자유의 수호자

GPL은 가장 강력한 보호막을 제공합니다:

bash
# GPL의 4가지 자유
0. 목적에 관계없이 소프트웨어를 실행할 자유
1. 소프트웨어의 작동 원리를 연구하고 변경할 자유
2. 소프트웨어를 재배포할 자유
3. 개선된 버전을 배포할 자유
GPL의 딜레마

GPL은 자유를 보장하지만, 동시에 자유를 제한하기도 합니다. 기업들이 GPL 코드를 사용하기 어려워하는 이유입니다.

BSD/MIT: 자유방임주의

반면 BSD와 MIT 라이선스는 최소한의 제약만 가합니다:

bash
# MIT 라이선스의 핵심
"이 소프트웨어를 누구든지 무료로 사용할 수 있다.
단, 저작권 표시와 이 허가 조건을 포함해야 한다."

# 그게 다다!

라이선스별 특징 비교

철학의 차이가 만든 선택지들

GPL (Copyleft)

  • ✅ 자유의 영구 보장
  • ❌ 상업적 이용 제약
  • 🎯 이념: "모든 소프트웨어는 자유로워야 한다"

MIT/BSD (Permissive)

  • ✅ 상업적 이용 자유
  • ❌ 자유 보장 없음 (독점화 가능)
  • 🎯 이념: "개발자에게 최대한의 자유를"

Apache 2.0 (중간지대)

  • ✅ 특허 보호 조항
  • ✅ 상업적 이용 가능
  • 🎯 이념: "실용적 균형"

라이선스 전쟁의 전장들

각 라이선스는 서로 다른 영역에서 승리를 거두었습니다:

  • 시스템 소프트웨어: GPL 계열이 우세 (Linux, GCC, Git)
  • 개발 도구: MIT/BSD가 우세 (Node.js, React, Angular)
  • 기업 소프트웨어: Apache 2.0이 인기 (Hadoop, Spark, Kafka)

듀얼 라이선스: 양다리 걸치기

영리한 기업들은 듀얼 라이선스 전략을 발견했습니다:

bash
# MySQL의 듀얼 라이선스 전략
오픈소스 버전: GPL → 무료지만 소스 공개 의무
상업용 버전: 독점 라이선스 → 유료지만 소스 공개 불필요

이는 **"오픈소스로 시장을 확대하고, 상업 라이선스로 수익을 창출"**하는 전략이었습니다.


Chapter 4: 마이크로소프트의 항복선언 "Microsoft ❤️ Linux"

2001년: "암(Cancer)" 발언

2001년, 마이크로소프트 CEO 스티브 발머는 리눅스를 **"지적재산권에 대한 암(cancer)"**이라고 불렀습니다. 당시 마이크로소프트의 오픈소스에 대한 인식을 보여주는 상징적 발언이었죠.

"리눅스는 지적재산권이라는 개념에 대한 암이다. GPL 방식으로 접촉하는 모든 지적재산권을 공산주의적 방식으로 파괴한다."

스티브 발머2001년 인터뷰

서서히 변하는 조짐

하지만 현실은 냉혹했습니다. 인터넷 서버 시장에서 리눅스가 윈도우를 압도하기 시작했고, 클라우드 컴퓨팅이 부상하면서 상황은 더욱 악화되었습니다.

2006년: Microsoft와 Novell 협력 발표 2012년: Azure에서 리눅스 지원 시작 2014년: "Microsoft loves Linux" 선언 2016년: Windows Subsystem for Linux (WSL) 출시 2018년: GitHub 인수 (75억 달러)

사티아 나델라의 혁명

2014년 CEO가 된 사티아 나델라는 마이크로소프트의 전략을 180도 바꿨습니다:

"우리는 모든 플랫폼에서, 모든 기기에서 고객들이 성공할 수 있도록 도와야 한다. 그것이 리눅스든 iOS든 Android든 상관없이."

사티아 나델라2014년 취임 연설

Azure의 진실

가장 충격적인 사실은 마이크로소프트 자체 클라우드 플랫폼 Azure에서 벌어지고 있었습니다:

Azure의 놀라운 현실

마이크로소프트 플랫폼의 리눅스 점유율

2014년: Azure 인스턴스의 20%가 리눅스 2017년: Azure 인스턴스의 40%가 리눅스
2020년: Azure 인스턴스의 60%가 리눅스 2024년: Azure 인스턴스의 70% 이상이 리눅스

마이크로소프트 고객들조차 윈도우보다 리눅스를 더 선호하고 있었습니다.

오픈소스 기여자로 변신

마이크로소프트는 이제 세계 최대의 오픈소스 기여자 중 하나가 되었습니다:

  • Visual Studio Code: MIT 라이선스로 공개
  • TypeScript: Apache 2.0 라이선스
  • PowerShell: MIT 라이선스로 오픈소스화
  • Microsoft Terminal: MIT 라이선스
  • .NET Core: MIT 라이선스
완전한 전향

2024년 현재, 마이크로소프트는 GitHub에서 가장 활발한 기여자 중 하나이며, 수많은 오픈소스 프로젝트를 관리하고 있습니다.


Chapter 5: 오픈소스의 현재와 미래

승리한 오픈소스

2024년 현재, 오픈소스는 이겼습니다. 완전히, 압도적으로.

1

운영체제

서버의 96%+ 리눅스, 스마트폰의 80%+ 안드로이드

2

웹 인프라

Apache/Nginx, MySQL/PostgreSQL, Redis 등이 표준

3

개발 도구

Git, Node.js, React, Python 등 대부분이 오픈소스

4

AI/ML

TensorFlow, PyTorch, scikit-learn 등 핵심 도구들

5

클라우드

Kubernetes, Docker, Kafka 등 클라우드 네이티브 스택

새로운 도전들

하지만 오픈소스에도 새로운 문제들이 나타나고 있습니다:

현재의 도전 과제들

성공이 가져온 새로운 문제들

지속가능성 문제

  • 핵심 라이브러리 관리자의 번아웃
  • 보안 취약점과 유지보수 부담
  • 수익 모델의 부재

라이선스 피로감

  • 너무 많은 라이선스의 혼재
  • 기업 컴플라이언스의 복잡성
  • 듀얼 라이선스의 남용

대기업의 지배

  • FAANG의 오픈소스 프로젝트 독점
  • 진정한 커뮤니티 vs 기업 후원 프로젝트
  • 오픈워싱(Open-washing) 문제

새로운 라이선스들

최근에는 새로운 형태의 라이선스들이 등장하고 있습니다:

  • SSPL (Server Side Public License): MongoDB가 클라우드 기업들을 견제하기 위해 만든 라이선스
  • BSL (Business Source License): 특정 기간 후 오픈소스로 전환되는 라이선스
  • PolyForm 라이선스 패밀리: 다양한 사용 제한을 담은 라이선스들
오픈소스의 정체성 위기

이런 새로운 라이선스들은 "오픈소스란 무엇인가?"라는 근본적 질문을 다시 제기하고 있습니다. 과연 제한이 있는 라이선스도 오픈소스라 할 수 있을까요?

AI 시대의 오픈소스

인공지능 시대에 오픈소스는 더욱 중요해지고 있습니다:

  • 투명성: AI 모델의 작동 원리를 이해할 권리
  • 편향성 방지: 공개된 코드를 통한 알고리즘 검증
  • 민주화: 거대 기업의 AI 독점 방지

하지만 동시에 새로운 문제들도 제기됩니다:

  • 오픈소스 AI가 악용될 위험
  • 모델 훈련 데이터의 저작권 문제
  • 계산 자원의 불평등

에필로그: 철학이 승리한 이유

40년의 여정

1983년 리차드 스톨만의 선언에서 시작된 여정이 40년 만에 결실을 맺었습니다. 하지만 이 승리는 단순히 기술적 우월성 때문만은 아니었습니다.

성공의 진짜 이유들

오픈소스가 승리한 이유

기술을 넘어선 근본적 힘들

협업의 힘

  • 전 세계 개발자들의 집단 지성
  • 다양성이 가져오는 혁신
  • 24시간 개발 사이클

경제적 효율성

  • 개발 비용의 분산
  • 중복 투자 방지
  • 네트워크 효과

신뢰와 투명성

  • 소스코드 공개를 통한 신뢰 구축
  • 보안 문제의 빠른 해결
  • 벤더 종속성 회피

이념의 힘

  • 지식 공유에 대한 근본적 믿음
  • 개발자 커뮤니티의 결속
  • 자유에 대한 열망

스톨만이 옳았나?

흥미롭게도, 실용주의자 리누스의 접근법이 더 널리 받아들여졌지만, 결과적으로는 스톨만의 비전이 실현되었습니다. 소프트웨어는 정말로 자유로워졌고, 코드 공유는 당연한 것이 되었습니다.

"나는 소프트웨어의 자유를 위해 싸웠다. 그것이 GPL이든 MIT든 BSD든 상관없다. 중요한 것은 사용자가 자유를 가지는 것이다."

리차드 스톨만2020년 인터뷰

미래를 향해

오픈소스의 미래는 여전히 진행형입니다. AI, 블록체인, 양자컴퓨팅 등 새로운 기술 영역에서도 오픈소스가 중심 역할을 할 것으로 보입니다.

하지만 가장 중요한 것은 오픈소스의 정신입니다. 기술이 바뀌어도, 플랫폼이 바뀌어도, 지식을 공유하고 함께 발전시키려는 인류의 본능은 변하지 않을 것입니다.

오픈소스의 진정한 의미

오픈소스는 단순히 소스코드를 공개하는 것이 아닙니다. 그것은 **"함께 만들면 더 좋은 세상을 만들 수 있다"**는 믿음입니다.

40년 전 한 괴짜 프로그래머의 이상주의적 선언이 오늘날 전 세계 소프트웨어 산업의 토대가 되었습니다. 이것이야말로 아이디어의 힘을 보여주는 가장 극적인 사례 중 하나일 것입니다.



이것으로 "코드 전쟁: 프로그래밍 역사 속 4대 혁명" 시리즈를 마칩니다. LLVM의 표준화, 자바스크립트의 우연한 제국, Git의 협업 혁명, 그리고 오픈소스의 승리까지 - 이 모든 이야기들이 오늘날 우리가 사용하는 프로그래밍 세계를 만들어냈습니다.