비즈니스

프리 오픈소스 소프트웨어 혁명

인간은 어떻게 기계를 통해 서로 소통을 시도했을까

2023. 03. 08 (수) 15:26 | 최종 업데이트 2023. 03. 08 (수) 15:40

1.시스템은 혁명의 결과
 

돈으로 시스템을 만들면 자본주의가 되고 평등한 투표로 시스템을 만들면 민주주의가 된다. 자본주의, 민주주의 등은 한마디로 압축해서 말할 개념은 절대 아니다. 단지 이렇게 언급한 이유는 시스템이 세상을 지배해서다. 시스템은 모두 혁명의 결과다. 자본은 종교와 왕권의 기득권에서 승리를 했고 모든 사람이 투표권을 얻는 건 많은 이들의 피의 결과다. 이는 마치 하나의 종교가 사람들에게 영향을 미치는 것과 유사하다. 교리는 시스템의 뼈대를 이루고 신도들은 시스템의 살을 이룬다.

근대사회는 기존의 종교 같은 도그마를 해체하기 위해 과학(Science)를 받아들였지만 과학의 전파 과정 또한 아이러니하게도 종교의 전파 방법과 유사하다. 가장 비근한 예인 핵은 단지 물리학의 발전의 결과인가. 따지자면 현대 과학이라는 학문은 종교를 대체했지만 그 자체도 종교와 같은 길을 걸어야 한다. 과학도 종교처럼 사람들의 ‘믿음’안에서 움직인다. 시스템 이야기하면서 종교와 과학 이야기하는 게 이상할 수 있다.

혁명은 과학의 영역이 아니다. 시스템을 만들기 위해서는 ‘기술’ 이상의 것이 필요하다. 이는 이상하게 들리겠지만 ‘사람들의 믿음’의 영역이다. 프리-오픈소프트웨어는 어떻게 컴퓨터 계를 실제로 지배했는가? 이는 기술 이면에 있다. 그것이 옳다고 믿는 사람들! 지구가 둥글다고 말해도 믿어주는 이가 없으면 둥근 것이 아닌 것 처럼 말이다. 힘의 균형은 항상 다수에 의해 결정되었다.

컴퓨터를 이야기 하면서 프리-오픈소스 소프트웨어를 설명할 때 ‘혁명’이라는 단어를 사용했다. 우리가 사용하는 컴퓨터 소프트웨어는 언뜻 보면 프리-오픈소스 소프트웨어와 관련이 없어 보인다. 1990년대에서 2010년대 까지 사람들은 MS 윈도우와 오피스를 사용했다. 그리고 지금도 그 영향력에서 벗어나 있지 않다. 2010년대 모바일 혁명으로 리눅스가 기반이 된 안드로이드 OS를 사용하게 되어 체감을 하지만 사용자들은 안드로이드가 프리-오픈소프트웨어라는 것을 인지하지 못한다.

언뜻 보면 프리-오픈소스 소프트웨어가 혁명이 맞나 싶을지도 모른다. 혁명은 다수에 의해 완수되는데 프리-오픈소스 소프트웨어는 그리 보이지 않는다. 프리-오픈소스 소프트웨어는 개별적인 앱이 아니라 ‘시스템’이 이어서 그렇다. 소프트웨어 개발에 있어서 프리-오픈소스 개념은 절대적이다. 그 주체는 누구일까?

왼: 토발스, 우: 스톨만


2. 다투는 두 진영


FOSS를 만든 스톨만은 리누스 토발스를 좋아하지 않았다. 스톨만은 자신이 하버드와 MIT를 나온 엘리트라 생각하는 사람은 아니었지만 핀란드 작은 나라에 있는 토발스를 듣보잡으로 생각했을 수 있다. 사실 토발스도 만만한 인간이 아니었다. 스톨만과 토발스는 둘다 강대강 성격으로 지리적으로 가까이에 있었다면 (물론 농담이지만) 치고박고 싸웠을 지도 모른다. 둘 모두 지도자가 될 운명이었다. 권력은 부모 자식간에도 나누지 않는다는 말 처럼 FOSS 진영은 균열이 가기 시작했다.

FOSS는 두 진영으로 나뉘게 되는데 스톨만은 프리 소프트웨어 진영, 토발스는 리눅스와 함께 오픈소스 진영으로 나뉘게 되었다. 속된 표현으로 “진보는 분열로 망한다”라는 말 처럼 진보적인 모임은 의례 다양한 의견을 피력하고 수용하는 경우가 많다.

이상주의자들은 항상 용어의 정의에 신경을 쓴다. ‘소프트웨어의 자유’의 의미에 대하여 양진영을 매우 날카롭게 맞서게 된다. 신흥 종교는 완전한 교리로 부흥을 시작하지 않는다. 스톨만은 1983년 9월 GNU 선언에서 Free라는 용어를 사용했지만 정의하지 않았다. 많은 사람들이 Free를 자유 보다는 공짜라는 의미로 해석했다. 1985년 GNU 선언에서 Free를 소스코드 개방(자유로운 배포)이라 설명했지만 사람들의 인식은 무료에 더 가까웠다. 후에 스톨만은 Free라는 단어 선택에 후회했다. 가장 중요하다 생각하는 Free의 의미가 모호했기에 커뮤니티 내에 혼란은 계속되었다. 스톨만의 노력으로 Free 개념은 정립이 되었지만 커뮤니티 내에서는 여전히 갈등하고 있었다.

지난 글에서 언급 했듯 스톨만과 GNU 핵심 멤버들의 개발 방식은 소수 정예방식이었다.(30편 참조) 이 방식으로 허드 커널은 실패를 했고 인터넷을 통합 협업을 처음부터 적용했던 토발스는 리눅스 커널을 성공시켰다. 스톨만은 GNU 철학을 중시했다. GNU C 라이브러리(glibc)를 개발 할 때 양 진영의 분위기는 험악해진다. 리눅스(오픈소스) 진영은 GNU 진영의 개발속도가 너무 느려 불만을 제기했고 결국 glibc 소스를 가져다 별도의 버전을 만들기 시작했다. 오픈소스 진영은 별도 버전을 계속 업그레이드 하였는데 1997년 GNU가 glibc를 새롭게 내놓게 된다. GNU 진영은 리눅스 진영에게 새버전의 glibc를 사용하라고 강요했다. 그리고 스톨만은 오픈소스 진영이 만든 라이브러리는 누가 코드를 작성했는지 모른다는 이유로 거절해 버린다.

GNU 진영은 어수선하지 않고 검증된 코드만이 사용자를 혼란스럽지 않게 만든다고 주장했고 오픈소스 진영은 개발자들의 요구를 최대한 받아들여야 한다고 주장했다. 스톨만이 이끄는 GNU(프리 소프트웨어) 진영 보다는 오픈소스 진영이 힘을 더 얻고 있었다. 넷스케이프은 1998년 웹브라우저를 오픈소스로 공개를 하고 모질라 재단을 설립했다. 그 모임에는 토발스는 초대를 받고 스톨만은 초대받지 못했다. 그 모임에서 프리 소프트웨어 용어 대안으로 ‘오픈소스’라는 용어를 공식적으로 지지하는 결정을 했다. 이는 Free를 제시한 스톨만을 전면으로 대항하는 일이었다.

오픈소스 진영은 스톨만이 Free라는 용어에서 준 혼란을 반면교사 삼았다. ‘오픈소스 정의’라는 문서를 만들어 오픈소스 라이센스 이해 및 프리 소프트웨어와 차별점을 알렸다. 1998년 오픈소스 이니셔티브 단체를 만들고 활동하기 시작했다. 스톨만과 GNU는 분개했고

1999년 리눅스월드 컨벤션 엑스포에서 오픈소스 운동을 사용자 자유에 대한 철학이 없는 대책이라 비난했다. 오픈소스 진영은 프리 소프트웨어 진영, 스톨만이 불필요한 아집으로 공감대 형성을 실패했다고 맞섰다. 둘 사이는 승패없이 각자 도생으로 남게 되었다. 현재 사람들은 스톨만 보다는 토발스를 더 알고 있다.


성당과 시장 그리고 에릭 레이몬드

3. 성당과 시장, 개발 방법론 변화

빌게이츠의 MS는 MS-DOS로 DOS의 친아버지인 게리킬달의 CP/M을 박살내버렸다. GUI에서 1984년 맥킨토시를 애플이 발표하자 Windows를 베끼다시피 만들었고 Windows 95로 세상을 지배했다. DOS시대 스프레드시트 시장에서 절대 강자였던 Lotus 123, 워드 프로세서 시장에서 표준이었던 워드 퍼펙트를 MS 엑셀과 워드를 윈도우 버전으로 내놓으면서 Lotus 123과 워드 퍼펙트를 시장에서 완전히 몰아냈다. MS 엑셀과 워드는 맥킨토시에서 먼저 개발되었고 윈도우가 시장 지배력이 높아지자 개발을 중단한다. IBM이 새로운 OS, OS/2를 MS와 함께 공동개발을 하고 있었는데 윈도우가 성공하자 OS/2 개발에 손을 떼버린다. MS가 지금의 MS가 될 수 있게 만든건 IBM이 PC를 만들 때 MS-DOS를 도입했기 때문이었다. 물론 MS 만의 잘못은 아니다. 그렇지만 MS가 어떻게 컴퓨터 계에서 최고의 자리를 가지게 되었는지 여실히 보여준다.

빌게이츠가 상대한 건 기업들이었다. 빌게이츠는 이들을 어떻게 망가트리는지 누구보다 잘 알고 있었다. 넷스케이프와 인터넷 익스플로어(IE)의 브라우저 전쟁이 일어나자 빌게이츠는 이 전쟁을 가볍게 이길 수 있었다. 절대적인 시장지배력이 있는 윈도우에 자사 브라우저인 IE를 미리 설치하도록 한 것이다. IE의 시장 점유율은 급격하게 올라갔고 넷스케이프는 사망선고를 받게 된다.

MS는 브라우저 전쟁에서 완전한 승리를 한 것으로 보였다. 반독점 소송에 휘말렸지만 MS에게 위협이 되지 않았다. 그런데 넷스케이프 행보는 완전 변칙적으로 흘러갔다. 상용 소프트웨어 자산인 소스코드를 1998년 오픈소스화 해버리고 모질라 재단을 설립한다. 빌게이츠는 위협으로 다가왔다. 기업을 상대하는 것은 어려운 싸움이지만 상대할 수 있었다. 그렇지만 오픈소스는 이념이었다. 빌게이츠는 프로그래밍에 얼마나 많은 인력이 필요한지 알고 있었다. FOSS가 어떻게 자리잡게 되는지 빌게이츠 또한 주시하고 있었다.

오픈소스 철학을 담은 ‘성당과 시장’을 집필한 에릭 레이먼드는 이를 ‘리누스의 법칙’으로 정리했다.

눈알이 충분할 수록, 모든 벌레는 드러나기 마련이다. (눈알=보는 눈, 벌레 = 버그)

(given enough eyeballs, all bugs are shallow)

-에릭 레이먼드의 ‘리누스의 법칙’ (1999, 성당과 시장)

이 말은 FOSS가 어떻게 세상을 지배하게 되는지를 통찰력 있게 말한 것이다. 그리고 그건 예언이 되고 현실이 된다. 레이먼드는 스톨만을 ‘성당 건축’으로 묘사했고 토발스를 ‘시장’으로 묘사했다. 철학은 스톨만에서 나왔고 구체적인 방안 마련은 토발스가 한 것이다. 시장은 소비자의 욕구에 바로 반영한다. 필요한 물건을 비치하고 파는 사람 마저 서로 경쟁적으로 소비자를 유혹한다. 하지만 성당 건축은 다르다. 완벽한 건축을 위해 허가 받은 사람들만 접근 할 수 있다.

1960년대 부터 이어져 온 소프트웨어 개발 방법론은 IBM System/360을 구상한 프레더릭 브룩스가 제안한 것이다. 그의 저서 ‘맨먼스 미신’에는 “(극도로 단순화해서 말하면) 지체되는 소프트웨어 개발 프로젝트에 인력을 더하는 것은 개발을 늦출 뿐이다” 언급되었고 이를 부룩스의 법칙이라 알려졌다. 브룩스는 뛰어한 소수의 개발자들이 다수의 평범한 개발자보다 효율적이라는 것을 말한 것이다. 1990년대 까지 모든 기업이 이 방법론으로 소프트웨어를 개발하게 된다. 아이러니 한 것은 이 원칙을 깬 기업이 브룩스가 몸 담았었던 IBM이었다. IBM은 1998년 리눅스를 적극 도입했기 때문이다.

오픈소스 재단 모질라는 출범하면서 독자적인 라이센스를 발표한다. BSD는 너무 관대했고 GPL은 너무 엄격했다. 모질라는 라이센스 작성 또한 시장의 원리를 적용했다. 1998년 3월 5일 Nestscape Public License 초안을 인터넷에 공개 했다. 너무 많은 의견으로 NPL은 작성하기 어려웠다. 모질라는 Mozilla Public License를 작성했다. 3월 31일 150만줄 모질라 브라우저 소스코드를 공개했다. 하지만 기대한 만큼 성공적이지 못했다. 모기업인 AOL은 2003년 프로젝트 예산을 확 줄여 버린다. 이 소식으로 커뮤니티는 좌절대신 더 활성화 된다. 브라우저 뿐 아니라 여러 응용프로그램을 개발하기 시작했다. 이는 리눅스의 성공이 끼친 영향도 있었다. 모질라 재단은 운영 하기 어려웠지만 FOSS는 리눅스의 성공으로 살아 남았기에 이를 원동력으로 삼았다.

할로윈 문서

4. 공룡 MS의 공격

MS는 모질라와 FOSS를 모질게 괴롭혔다. MS는 리눅스가 사용하기 거지같다고 말했다. 사실 맞는 말이었다. 일반인들이 리눅스를 사용하는 건 그래픽인터페이스(GUI) 부터 난제였다. KDE와 GNOME이 노력했지만 윈도우즈 만큼은 아니었다.

MS는 ‘수용하고, 확장하고, 제거하라’라는 캠페인을 이어갔다. 이는 넷스케이프를 정조준한 전략이었다. MS는 오픈소스로 개발된 앱을 자사 제품에 통합했고 오프소스 앱이 시장에 안착 못하도록 했다. 이는 기존의 MS가 경쟁기업을 제거하는 방식이었다. 반대로 말하면 MS는 오픈소스를 위협으로 받아들이고 있었다. 이는 1998년 10월 레이몬드가 입수한 MS 내부 문건에 나타난다. 레이먼드는 이를 할로윈 문서라 말했다.

오픈소스가 MS에게, 특히 서버 영역에서 단기 매출 및 플랫폼에 직접적인 위협이 되고 있다. 더하여 오픈소스에 내제된 동시다발성과 자유로운 아이디어 교환은 우리의 현 라이센스 모델로는 복제할 수 없는 장점들을 가지고 있어서 향후 개발자의 인지도 측면에서 위협이 된다.

- 오픈소스 소프트웨어: (새로운?) 개발 방법론, 1998년 8월 11일, MS 비노드 발로필리

동 할로인 문서에서 MS는 이를 대응하기 위해서는 기업이 아닌 방법(프로세스)를 목표로 해야 하고 FOSS를 공격하기 위해 FOSS 성공사례를 우연의 결과로 보이도록 만들어야 한다고 언급했다. 레이먼드는 MS에게서 입수한 문서를 조금씩 까기 시작했다.

두번째 문서는 ‘리눅스 운영체제 경쟁력 분석: 자바 VM의 다음 주자?’ 였다. MS 내린 결론은 리눅스가 일반인이 사용할 가능성은 없다였지만 리눅스의 장점을 언급하면서 ‘수용-확장-제거’로 리눅스를 없애야 한다고 결론 지었다.

세번째 문서는 ‘MS 네덜란드 자사 언론 발표문’으로 첫번째 문서가 사실임을 입증했다. MS는 레이먼드의 발표에 대해 사실임을 인정했지만 대수롭지 않는 엔지니어의 개인의견으로 치부했다. FOSS 두 진영 모두 MS의 할로윈 문서를 MS의 공격으로 인식했다.

수용-확대-제거 전략은 2001년 5월 사실로 드러났다. MS는 '쉐어드 소스(Shared Source)’ 추진 사업을 발표했다. 이는 MS가 외부 개발자를 지원하는 방법으로 허가받은 고객들과 소스 코드를 공유하는 것이다. GPL은 보안위엄이 있고 사적 지식재산권을 보호할 수없기에 개발자들이 돈을 벌기 어렵다고 주장했다. 2000년 CEO 스티브 발머는 리눅스 지식재산권은 ‘암’이라고 말하고 오픈소스는 상업적으로 의미없다고 주장했다. 발머는 GPL, MPL 등 라이센스가 상업적으로 사용할 수 있음을 알고 있었지만 FOSS를 망칠 계획이었다. MS의 간절함에도 불구하고 쉐어드 소스 프로그램은 실패로 돌가갔다. 그리고 실패했다는 조사보고서 또한 유출되어 레이먼드의 할로윈 문서로 다시 대중에 공개되었다.

MS 공격은 다음 단계로 넘어갔다. FOSS를 직접 상대할 수 없게 되자 유닉스 라이센스를 소유한 SCO 그룹을 지원하기 시작했다. SCO는 IBM이 System V 코드를 무단으로 사용했다고 하며 10억 달러 소송을 제기했다. SCO는 유닉스 뿐 아니라 1990년대 칼델라 리눅스 배포판을 판매했었다. SCO는 그 배포판을 사용했던 노벨, 다임러크라이슬러 등에 소송을 추가 제기했다. 리눅스 커널이 유닉스 커널을 무단으로 썼다는 주장이었다.

이는 조금 이상해 보였다. 2003년 6월 SCO는 리눅스 고객들에게 고소하지 않겠다는 약속 메일을 보냈다. 리눅스 커널에 삽입된 유닉스 커널을 보여달라고 개발자들이 독촉하자 SCO는 거절했다.

2004년 3월 결정적인 메모가 유출 되고 레이몬드는 입수한다. 이 메모에 MS가 SCO 그룹을 재정적으로 지원한다는 내용이었다. 소송을 지원한다는 결정적인 증거은 아니었지만 FOSS 개발자들은 MS가 SCO이 진행한 소송에 큰 역할을 했을 것으로 믿었다. 2007년 SCO는 패소하게 된다.


왼: MS의 실패한 백과사전 엔카르타, 우: 재미로 만든 IE 묘비(한국)

5.FOSS의 확장

MS와의 전쟁은 FOSS의 승리로 끝났다. FOSS 직접적으로 이겨서가 아니다. MS가 싸운 건 FOSS 재단이 아닌 개발 방법론이었다. 스톨만이 시작하여 토발스가 완성한 리누스의 법칙의 승리였다. 그 승리는 너무 광대했다. 결과적으로 완전히 바뀐 곳은 MS 였다.

MS는 디지털 백과사전 엔카르타를 1993년 발표하고 인터넷으로 공개했지만 2009년 서비스를 중단하게 되었다. 직접적인 원인은 위키피디아 때문이었다. 또한 동영상 표준 전쟁(MPEG-4)에서도 MS는 애플의 QuickTime 포멧에 지게된다. 위키피디아는 인터넷을 사용하는 대중의 힘이 MS를 무너트렸고 동영상 표준 전쟁은 기술과 기업의 연대에 의해 MS가 패하게 된다.

IBM이 시작한 오픈소스 지원은 다른 기업(페이스북, 구글, 애플, 도커 등)까지 영향을 끼치게 된다. 모질라 재단이 브라우저 소스코드를 공개한 후 모든 브라우저는 오픈소스화 되었다. 모질라는 오픈소스 파이어폭스(게코)를, 애플 사파리는 오픈소스 기술인 Webkit을 이 Webkit을 기반으로 만든 구글 크롬의 오픈소스 크로미엄(Chromium)을, 이 크로미엄을 기반으로 만든 웹 브라우저가 MS 엣지 브라우저다. MS는 클로우즈 소스 IE를 폐기하기에 이른다.

MS는 3대 CEO 사티아 나델라는 과거 MS가 오픈소스에 반대했던 것에 잘못된 생각이었다고 말했다. 실제라도 MS는 현재 오픈소스에 가장 적극적인 회사가 되었다. 이는 윤리적인 이유가 아니라 실제로 오픈소스가 이익에 도움이 되기 때문이다.

나델라는 리눅스를 받아들였다. 대표적으로 파워쉘을 도입하여 리눅스(유닉스) 개발자들이 접근을 용이하게했으며 이를 오픈소스로 했다. 윈도우 내에 리눅스를 설치할 수있게 만들었다.(WSL) 오픈소스에 비주얼 스튜디오 코드 또한 오픈소스를 반영했으며 자사의 많은 앱들을 오픈소스로 하고 있다. 2018년 깃허브(Github) 인수는 상징하는 바가 크다. 깃허브는 오픈소스 그 자체로 운영되는 사이트다.

FOSS의 확장은 MS 마저 바꿔놓았다. FOSS는 개발 방법론을 넘어 이제 ‘문화’가 되었다. 소프트웨어를 개발하려는 모든 회사는 FOSS의 영향아래 있을 수 밖에 없다. FOSS는 많은 잡음이 있었지만 그리고 그들이 원래 생각했던 그림에서 다소 멀어진 것도 있지만 결국 무너지지 않는 성을 구축했다. 그리고 컴퓨터가 아니 소프트웨어가 없어지지 않는 이상 FOSS 문화는 영원히 지속될 것이다. FOSS는 완전히 승리했다. 다음시간에 보자.