오픈소스, 직접 참여하자

오픈소스에 기여하기

오픈소스에 기여한다는 건 소스 코드를 수정하고 고치는 일만 뜻하는 건 아니다. 오픈소스 SW를 개발하는 개발자에게 도움을 주는 모든 행위가 오픈소스에 기여하는 일이다. 오류를 제보하거나, 주석을 쓰거나, 문서화 작업에 참여하는 일도 포함된다. 오픈소스에 도움을 주는 사람을 통칭해 ‘컨트리뷰터’(Contributor)라 부르고, 소스코드를 수정하고 조절할 수 있는 권한을 가진 사람을 ‘커미터’(Committer)라고 부른다.

오픈소스에 기여하기 위해서는 사람들과 소통해야 한다. 물론 당신은 이리저리 오픈소스를 함께할 사람을 찾아다니지 않아도 된다. 누구나 쉽게 오픈소스 커뮤니티를 통해 자신이 관심있는 분야의 오픈소스를 보고, 참여할 수 있다.

github와 git

오픈소스 프로젝트는 전세계에 흩어져 있는 개발자들을 모아 작업한다. 따라서 협업도구를 이용해야 하는데, github는 요즘 가장 보편적인 협업도구이다. github는 웹을 통해 오픈소스 운동을 확산하는 데 큰 도움을 주기도 했다. 이전에는 e메일로 파일을 주고받으며 소스코드를 수정했다면, 이제는 깃허브 같은 쉬운 도구 덕분에 누구나 편하게 오픈소스에 기여할 수 있게 되었다.

‘git‘은 소스코드 관리에 쓰는 협업 도구다. 깃허브는 깃에 소셜 기능을 더한 서비스다. 깃허브는 내 코드와 다른 사람의 코드를 합치거나 비교할 수 있게 도와준다. 관리자는 여러 사람의 코드 중 일부를 합쳐가면서 완성본을 만들어간다. git은 홈페이지를 통해 무료로 내려받을 수 있고, 깃허브와도 연동된다. 깃허브엔 다른 개발자 코드 밑에 덧글을 달거나 메시지를 주고 받는 기능이 들어 있다. 이런 소통 기능을 활용해, 해외에선 github에 저장된 프로그래밍 기록을 구직활동에 적극 활용하기도 한다.

또, 깃허브의 ‘star’수와 ‘fork’수로 현재 활동중인 오픈소스 프로젝트들의 인기를 가늠할 수 있다. github는 오픈소스 기술들이 모여 있는 저장소로, 즐겨찾기라는 뜻의 ‘star’와 소스코드를 복사해 갈 수 있는 ‘fork’라는 기능을 제공하고 있다. star와 fork수가 높을수록 관심을 많이 받는 프로젝트라고 볼 수 있다.

오픈소스의 "지금"

현재 오픈소스의 위상

10년 전만해도 기업에 무료 소프트웨어를 배포한다는 오픈소스 지지자들 (대표적으로 OSI)의 주장은 망상에 불과했다. 마이크로소프트를 비롯한 상용 SW업체들의 입장이 강했고, 당시는 그 의견들이 공개적으로 지지받던 시절이었다. 오픈소스를 비판하던 이들은 이것이 제대로 된 보안, 지원, 보장 및 보상 체계를 갖추고 있지 못하며, 공짜로 제공되는 이러한 제품들이 구매 혹은 임대 비용을 지불해야 하는 상용 소프트웨어보다 떨어질 수밖에 없다는 주장을 펼쳤다.

그러나 10년 만에 시장은 완전히 변했다. 오픈소스의 토양은 탄탄히 다져지고 있으며, 그것에 대한 대중의 이해 역시 큰 폭으로 개선되었다. 오히려 상용 소프트웨어만으로 운영되는 IT 기관을 찾아보기가 더 어려운 일이 되었을 정도이다.

오픈소스가 이 정도로 성장할 수 있던 첫 번째 이유는, 오픈소스가 처음 가지고 있던 우려들 가운데 많은 부분을 해결했다는 점을 들 수 있다. 최근 진행된 오픈소스의 미래 설문(Future of Open Source Survey)에 따르면 응답자의 72%가 자신들이 오픈소스를 사용하는 이유로 상용 제품들보다 뛰어난 보안 성능을 꼽았고 80%는 오픈소스 소프트웨어의 품질을 상용 시장의 경쟁자들보다 나은 것으로 평가했다.

이러한 설문 결과는 많은 IT 전문가들의 일상적인 경험을 잘 반영하는 것이라 할 수 있다. 대표적인 시장 전문가인 오픈소스 개발 및 훈련 업체 캐릭터 소프트웨어(Charter Software)의 마크 위니버그 대표는 “10년 전만 해도 오픈소스 소프트웨어를 받아들이는 기업은 극소수에 불과했다. 그러나 이제는 그것에 대한 반대가 확연히 줄어든 것을 체감한다”라고 말했다.

지금이 제로데이어택(아직 밝혀지지 않은 버그를 이용한 공격) 시대라는 관점에서, 공개된 소스를 통해 문제점을 빨리 찾아낼 수 있는 오픈소스가 보안성이 높으며, 소스가 공개되어 있어 투명하고 문제점 발견 시, 소수에 의해 주도되는 프로젝트에 비해 빠르게 해결이 가능 하다는 의견이 지배적이다.

또한, 세계 각국에서는 오픈소스 소프트웨어의 장려 정책을 펼치고 있으며, 아마존, 마이크로소프트, 구글, 페이스북, 바이두 등 세계적인 기업들도 적극적인 오픈소스 소프트웨어 개발로 기술 혁신과 성장세를 강화하고 있다.

특히 마이크로소프트는 지난 2001년 “리눅스는 암적인 존재(Linux is a cancer)”라고 언급했다가 2014년에는 “마이크로소프트는 리눅스를 사랑한다(Microsoft loves Linux)”고 전향적인 자세를 보이며 현재 오픈소스 소프트웨어의 최대 후원자로 활동하고 있다.

그럼에도 불구하고

오픈소스 소프트웨어가 널리 보급되고 있음에도 불구하고, 일부 기관들에서는 여전히 오픈소스 프로젝트의 안정성과 가능성에 대한 우려를 버리지 못하고 있다. 이들은 위험을 피하기 위해 재무 기록이 있는 좀 더 큰 규모의 상업적 기관들을 상대하는 편을 선호한다.

또, 상용 소프트웨어를 선택하는 것이 유리한 경우가 있다면 기업은 당연히 오픈소스가 아닌 상용소프트웨어를 사용할 것이다. 상요의 사용 방법이 훨씬 쉬운 경우, 상용이 사실상의 표준인 경우, 상용의 지원이 우수하거나 기능이 더 풍부한 경우, 보증/책임보상이 중요한 경우, 하드웨어 호환성이 우수한 경우(예 : Windows XP HW Driver 지원 ) 등, 다양한 이유로 오픈소스 소프트웨어가 선택되지 않는 경우가 있다.

또, 오픈소스에 대한 인식이 아예 정립되어 있지 않은 경우도 있다. 실제 오픈소스에 대한 설명을 할때, 소프트웨어 비종사자들의 “오픈소스는 무료입니까?” 라는 질문은 희귀하지 않다. 실제로 비용이 들지 않는다는 점은 오픈소스의 매력 중 하나이나,’무료’가 오픈소스의 전부가 아니라는건 지금 이 챕터5까지 따라 읽어온 사람이라면 알것이다.

한국, 오픈소스

우리나라에서 오픈 소스에 대한 태도는 어떨까?

우선 정부에서는 오픈소스 SW를 ‘공개 소프트웨어’라는 말로 사용하며 ‘공개 소프프트웨어 포털’을 국가 차원에서 운영하고 있다. 우리나라 공개SW 시장 규모는 2016년 기준 약 1602억원 수준이다. 정보산업진흥원 조사에 따르면 연평균성장률은 15.2%로 2020년에는 2862억원에 도달할 것으로 전망한다. 예산은 12조원 정도이다.

당면한 과제들

국내 오픈소스 산업의 활성화를 위해 해결해야할 과제로 1.국내 SW 생태계 전반에 걸쳐 공유·협업의 공개SW 개발 문화 미정착 2. ‘공개SW는 무료다’ 라는 식의 공개SW에 대한 사회적 인식 부족 3. 여전히 높은 공개SW 성능에 대한 부정적 인식 4. 국내 공개SW 기업의 영세성과 부족한 공개SW 개발자 5. 수요자의 긴급한 상황에서 빠른 기술 지원 미흡, 보안 취약점 발견 시 느린 대처 등 크게 5가지로 요약된다.

공개SW 시장 활성화 장애 요인

(출처 : 정보통신산업진흥원)

오픈소스 활성화 : 국내 SW산업 발전의 “Key”

하지만 오픈소스에 대한 국내 전망이 나쁘다고 보기만은 어렵다. 우리 정부도 2004년부터 지금까지 4차에 걸친 공개SW 활성화 계획을 수립해 유망 공개SW R&D 기술개발, 안전한 공개SW 활용 지원, 협업 및 공유의 공개SW 개발문화 정착 등을 적극 추진해왔다.

정부는 앞으로 궁극적으로 우리나라가 공개SW의 소비국에서 공헌국(Contribution Country)으로 성장할 수 있도록 기업·커뮤니티·개발자 등의 공개SW 기술개발 활동을 지속적으로 지원한다는 전략이다.

2018년에는 국내 소프트웨어 생태계가 빅데이터, 클라우드, AI 등 미래 유망 기술 분야의 핵심 공개SW 기술력을 확보할 수 있도록 지원하고, 개발된 공개SW R&D의 소스코드를 시장에 적극 개방할 계획이다.

특히 공개SW 라이선스 검증 지원 사업을 전년대비 2배 확대해 자유롭고 안전하게 공개SW를 활용할 수 있는 환경 조성에 힘쓸 계획이다.

국내 공개SW시장 규모 및 전망

(출처 : 정보통신산업진흥원)

오픈소스 활용 기업

최근 오픈소스 소프트웨어(SW)는 기업 IT시장의 핵심으로 떠오르고 있다. 오픈소스의 장점을 취하려는 노력이 물론 어제 오늘의 일은 아니지만 기업의 IT인프라를 구성하는 핵심 솔루션으로 활발하게 선택되는 것은 비교적 최근 몇 년 간의 일이다.

특히 기업의 IT 투자비용은 계속 줄어들고 있는 반면, 신기술 및 서비스 수준에 대한 요구는 높아지면서 점차 상용 SW 도입은 부담으로 작용하고 있다.

실제 시장조사기관 IDC에 따르면, 전세계 오픈소스 SW 매출은 619억달러를 기록했으며, 연평균 성장률도 19%에 이른다. 또한 가트너에 따르면 오는 2017년까지 IT 분야 글로벌 3000여개 기업의 오픈소스 SW 활용율은 99%까지 확대될 전망이다.

대표적인 오픈소스 SW 기업인 레드햇의 경우, 최근 마감한 2016년 회계연도(2015년 3월~2016년 2월)에 오픈소스 기업 최초로 매출 20억달러(한화로 약 2조3000억원)를 돌파했다. 이는 지난 2012 회계연도에 10억달러 매출을 넘긴지 약 4년 만이다.

운영체제

앞선 챕터에서 다뤘듯이, 리누스 토발즈(Linus Torvalds)는 자신의 대학교의 교육용 운영체제 MINIX를 참조하여 운영체제 ‘Linux’를 만들었다. 이렇게 만들어낸 Linux를, 리누스 토발즈는 오픈소스로 전세계로 공유했다. 이는, 또다른 버전의 배포판을 만드는걸 허가하고, 그에 따른 이득을 한푼도 벌수 없음을 의미한다. 하지만, 그의 그 클릭 한번으로 인해 Linux는 다양한 배포판을 통해 퍼져나갔다. 그중 몇가지를 소개한다.

Ubuntu

현재 리눅스의 대중화에 많이 기여를 하고 있는, 현존하는 리눅스 배포판 중 가장 많이 쓰이고 널리 알려진 리눅스 배포판이다. 영국의 소프트웨어 회사인 캐노니컬과 우분투 재단에서 개발, 유지보수 및 배포를 하고있다. 손쉬운 설치와 패키지 업데이트, 프로그램 관리도구로 우분투 소프트웨어 센터 제공, 사용자 친화적인 GUI등이 장점이다.

우분투는 6개월마다 업데이트가 이루어지고 Desktop/Server 버전으로 나누어 배포판이 제공되고 있다.

2013년, 윈도우XP 지원종료를 앞둔뮌헨 시청에서는 윈도우 사용자들에게 Ubuntu Linux 12.04 LTS를 담은 CD 2천장을 대여하는 사태도 벌어질만큼 Ubuntu의 인기는 대단하다.

Debian GNU/Linux

데비안 리눅스는 배포판 중 가장 오랜 역사를 지닌 리눅스 배포판이다.

데비안은 특정 회사나 재단에서 개발 혹은 지원을 하는게 아닌 커뮤니티에서 만들어진 배포판이라서 별도의 기술지원 및 사후지원을 받기가 어려운 점이 있다. 그러나 서버 시장에서는 비용절감을 이유로 아주 인기있는 서버용 배포판이다.

데비안은 우분투 등 많은 배포판의 기반이 된 리눅스 배포판이다. 그러나 오랜 역사에도 불구하고 일반 사용자들이 설치하여 사용하기에는 어렵고 기술지원 및 사후 관리가 어렵기 때문에 개인 사용자나 학교같은 연구기관 외에는 널리 쓰이지 않는 배포판이다.

그 외의 여러 Linux 배포판 회사들

이 밖에도 많은 Linux 배포판들이 있는데, Redhat 계열의 배포판인 fedora, CentOS, 젠투 재단에서 개발,배포하는 gentoo 등 수많은 배포판들이 존재한다.

대형 기업들의 오픈소스 시장 참여

많은 기업들이 2000년대 이후 오픈소스를 사용하기 시작했다. 이제는 오픈소스 프로젝트에 참여하는 기업을 세는 것보다 참여하지 않은 기업을 세는것이 더 쉬울 정도이다. 특히, 웹 기반 서비스(예:SNS)업체에서의 오픈소스 활용이 폭발적으로 증가했다.

Goolge, Amazon, facebook, Netflix, Kakao 등 많은 기업들이 오픈소스 프로젝트를 진행, 개발중이다.

무너진 공룡 Netscape

웹 브라우저의 점유율을 두고 여러 회사가 벌인 치열한 경쟁을 가리켜 브라우저 전쟁(Browser Wars)이라고 부른다. 결론을 말하자면 2015년 기준 크롬의 압도적인 승리(전세계 점유율 평균 약 65%)로 끝났다. 이 “전쟁”의 결과에 따라 오늘날 Javascript 에 대한 기술이 통째로 바뀌었을 것이며 이는 HTML, CSS 등의 표준화 속도에도 큰 지장을 주었을 것이다.

쉽게 말하면 SCSS등의 탄생은 꿈도 못 꾸고 범용성이 떨어진 결과 Sass 1~2만을 사용하는 등이라던가, MutationObserver, ServiceWorker 같은 고급 표준 기술들의 제정 역시 상상조차 못했을 것이다. 당장만 봐도 근래 인지도가 많이 상승된 Node.js가 탄생조차 안했을 거라 생각하면 그 여파를 가늠해볼 수 있을 것이다. 일반인들에게 적합한 예시로는 애드블록의 부재 라던가, 사기업에게까지 판치는 액티브 X 등을 생각해보면 된다.

브라우저 전쟁은 크게 3개 시기로 구분 지어지며, 모자이크, 1차와 2차 브라우저 전쟁으로 나뉜다.

웹의 아버지인 팀 버너스 리는 하이퍼 텍스트 시스템을 1980년대 후반~1990년대 초에 걸쳐서 개발하였다. 그는 최초의 브라우저인 WorldWideWeb(후에 Nexus 라고 불리게 된다)을 만들었으며, 이후 91년 NeXT에서 개발한 OS NeXTstep 에 탑재하기 위한 버전을 개발한다.

이것이 시발점이 되어 92년 말을 기점으로 libwww, Line Mode Browser, ViolaWWW, Erwise, and MidasWWW 등등 여러 브라우저들이 탄생함으로서 경쟁이 심화되기 시작한다.

1993년 후기 모자이크 브라우저의 프로토타입을 비롯한 여러 브라우저들이 등장하였다. 곧이어 Netscape 사의 브라우저가 개발되었으며 이들은 IE 1.0을 비롯한 여러 브라우저들과 맞닥뜨리게 된다. 하지만 모자이크 브라우저의 경우 이미 93년 당시 뛰어난 편의성과 성능을 가지고 있었으며 여전히 80%의 점유율로 경쟁자들을 압도하였다.

하지만 이 사태를 그냥 두고 볼 빌 게이츠가 아니었다. 1995년 중순, MS는 모자이크 브라우저의 라이센스 비용을 지불하고 IE 1.0을 개발하였으나, 3개월 뒤 2.0을 출시하였다. 이 IE 2.0 은 모자이크 브라우저가 상업적 이용에 대해 비용을 청구했던 것과 달리, 비해 일반인들을 포함한 어떤 목적의 회사에게라도 무료 제공을 하였다.

96년, 한편 Netscape는 자신들의 기술력을 더 강화시켜 3.0 의 모자이크 브라우저를 출시한다. MS의 공격적인 마케팅에 방어를 하기 위해서 자바스크립트와 CSS를 구현하는 등 후발주자들과의 큰 격차를 두었다. 특히 CSS의 등장은 당시 웹 개발에 있어서 가히 혁명이라 할만큼의 개발 생산성을 증진시켰다.

97년 10월, MS에서 IE 4.0 을 샌프란시스코에서 발표하며 출시하였다. 인터넷 익스플로의 ‘e’ 로고가 이 때부터 쓰여졌다. Netscape 72%, MS가 18%의 점유율을 가지고 있던 상황이었다. 인터넷 익스플로러는 4.0을 기점으로 해서 브라우저 전쟁의 방향을 크게 틀어버린다. 딱히 어떤 기술적 강점이나 매력이 있던 것이 아니고 MS 의 전략적 행동 때문이었다.

MS 는 다음 3가지 자신의 강점을 적극적으로 활용하였고 이는 Netscape의 결정적인 패착 요인이 된다.

· 첫 번째, 회사의 자원(Resources)이었다. Netscape는 비교적 작은 회사에서 시작한 것에 비해 MS 는 글로벌 기업으로 성장해 나가고 있었으며 Windows OS 를 통해 OS 점유율 뿐 아니라 전세계 부를 쓸어 담고 있던 중이었다. 가령 MS 의 경우 브라우저를 완전 무료화 등 공격적인 마케팅을 펼칠 수 있었던 반면 Netscape는 브라우저 하나로 먹고 산다고 해도 과언이 아닐 정도로 작았다.

· 두 번째, Windows 점유율이 90% 에 육박 했었다는 것이다. 당연한 이야기지만 MS 는 기본 브라우저로 인터넷 익스플로를 탑재 시켰고, 사용자들은 Netscape와 그렇게 압도적인 차이가 나지 않으니 IE 를 사용했다. 사실 CSS 라던가 JavaScript 등의 발전이 초기 였었던 데다가, 편의성 측면에서 유의미한 차이가 난 게 아니었으니까 말이다. MS 역시 JScript 로 어떻게든 격차를 줄이려고 했었고.

· 세 번째, 기민한 임기응변이었다. MS 에서는 빌 게이츠라는 비상적인 인물이 있었던 반면, Netscape쪽에서는 그러한 리더십을 가진 이가 없었다. 흥미롭게도 98년은 서로의 점유율 싸움에 상관없는 둘 다 절명의 위기를 겪었던 해이다.
MS 의 경우 미국의 반독점법 재판이 열렸고, Netscape재정 악화 등의 문제로 AOL(America Online) 에 팔렸기 때문이다.

결과적으로 Netscape는 처참하게 패배했다. 2001~2004년 IE 의 한때 점유율이 90%에 육박 했었으며 2002년의 경우 96%의 시장 점유율에 육박하게 된다. Netscape의 후계자들은 오픈소스 기반의 웹 브라우저를 세우고 MS 타도를 외치게 된다. 이들이 바로 오늘날의 모질라 재단이며, Firefox(웹 브라우저)를 개발하였다. Firefox 브라우저는 정당한 기술력에 의한 패배가 아니었기 때문에 MS 의 석권을 인정할 수 없었으며, 호시탐탐 그들을 무너뜨리기 위해 기회를 보게 된다.

하지만 제 2차 브라우저 전쟁은 98년 캘리포니아에 세워졌으며 까닥하면 야후에 팔릴 수도 있었던 어떤 인터넷 검색 회사에 의하여 그 판도가 완전히 뒤바뀌게 된다.

제 1차 브라우저 전쟁 추이

브라우저의 두 거장

당시 CEO 였던 에릭 슈미트는 1차 브라우저 전쟁을 두고 구글은 아직 덩치가 작아 타격을 크게 입을 수 있다는 이유로 6년 간 반대했었다. 결국 창업자인 래리 페이지와 세르게이 브린은 프로젝트의 성공 가능성을 증명해야 했다. 크롬 브라우저의 프로토 타입 개발을 위해 모질라 재단의 인재들을 고용했고, 에릭에게 긍정적인 방향으로 생각을 바꾸도록 하였다.

모질라 재단에서는 크롬에 대한 발표(2008년 9월)가 나자, 격하게 반대하였다. 자신들은 MS 에 대해 충분히 대항 중이고 크롬의 출시는 되려 파이어폭스의 점유율만 갉아 먹었으리라 여겼기 때문이었다. 그리고 그 예상은 좋게 빗나갔다.

모질라가 2000년~2010년 동안 꾸준히 쌓아왔던 30%의 점유율을 구글은 불과 3년 만에 돌파했고, 2012년을 기점으로 MS 의 점유율을 꺾었기 때문이다. IE 에 비한 압도적인 편의, 경이적인 속도, 날마다 혁신적인 개발 도구 제공 등으로 개발자부터 모든 사용자에 아우르게 되었다. ECMA 등의 표준을 충실하게 지켰고 그보다 더 나아가 실험적인 기술들을 적극 도입함으로서 모두의 지지를 받게 된다.

국내의 경우 16년 4월을 기준으로 크롬이 점유율 1위를 차지하였다.

이렇게 제 2차 브라우저 전쟁은 모질라도, MS도 아닌 구글의 승리로 끝나게 된다.

제 2차 브라우저 전쟁 추이

Netscape, Firefox, 그리고 모질라 재단

Netscape의 네비게이터 브라우저는 1차 브라우저 전쟁으로 인해 도태되었다. 그 하락이 시작되었을 시점에서 그들의 소스 코드를 공개하였으며 비영리 재단인 모질라 재단에 의해 이 코드들은 계승된다. 커뮤니티를 통한 수 년간의 개발은 지속되었고, 그 대표적인 기능이 Search Bar 의 개발이다. 모질라는 이 브라우저의 이름을 처음에는 Phoenix 로 정했지만 상표권 문제로 FireBird 로, 나중에는 결국 Firefox 로 변하게 되었고 2004년 11월 9일 1.0 을 발표하게 된다.

Netscape의 실패는 모질라 재단에 ‘비영리’라는 교훈을 주었다. 그리하여 0.x 버전부터 시작한 firefox 는 자본의 문제에 전혀 구애 받지 않은 환경이 되었다. 특히 ECMAscript제정 정통성, 우수한 개발도구 지원 등으로 IE 를 상대로 꽤 선전적인 대항을 해나갔다.

그러나 MS 또한 아웃룩 등과의 연계, 표준화 거부, XAML의 웹 기술 제정, WPF(Windows Presentation Foundation) 의 설립으로 대항하였다.

Firefox는 꾸준히 점유율을 높여가고 있었지만 IE 에 길들여진 사용자 층에게는 막강한 파급력을 미치기에는 힘들었다. 2007년 아이폰의 등장으로 개발 표준에 대한 불안성이 증대 되던 중 크롬(웹 브라우저)가 등장한다.

자유, 그 무한한 가능성

FREE SOFTWARE

###누구나 참여할 수 있는 권리

에릭 레이먼드는 자유 소프트웨어 철학을 ‘성당과 시장(the Cathedral and the Bazaar)’이라는 책을 통해 소개한다. 이 책에서 자유 소프트웨어에 관한 두 가지 모델을 소개한다. 성당 모델은 출시할 때만 소스코드를 공개하고, 이후 제한된 개발자만 소스코드에 접근할 수 있도록 하는 모델이다. 이와 달리 시장 모델은 소스코드가 인터넷을 통해 일반인에게 공개된 상태로, 여러 사람이 참여해 소프트웨어를 견고하게 만드는 모델이다. 이 책은 여러 오픈소스 운동과 자유 소프트웨어 프로젝트에 영향을 줬으며, 이들이 시장 모델을 적용해 여러 명의 개발자가 참여하는 개발 방식을 적용하기 시작했다. 성당 모델의 경우 출시 당시에 소스 코드를 공개한다는 점을 제외하면, 오늘날 상용 소프트웨어를 개발하는 방식과 동일하다. 따라서 성당을 상용 프로그램에, 시장을 누구나 개발에 참여할 수 있는 프로그램에 비유하기도 한다.

리처드 스톨만의 운동은 상당히 급진적이었다. 때문에 소스코드 공개에는 동의하지만, 그의 사상이나 철학에는 동의하지 않는 개발자도 있었다. 결국 이들을 중심으로 자유 소프트웨어 운동과는 성향이 조금 다른 ‘오픈소스 운동’이 생겨나기 시작했다. Free라는 단어의 해석도 조금씩 달랐다. 자유 소프트웨어 진영은 이 말을 ‘자유’라는 의미 그대로 해석하는 반면, 오픈소스 진영은 ‘무료’라는 의미에 초점을 맞춰 이를 바탕으로 새롭고 강력한 소프트웨어를 개발하는 것을 중시한다.

리처드 스톨만은 이 두 가지 노선에 대해 두 개의 정당과 같다고 표현했다. 기본적인 원칙은 다르지만, 현실적인 목표에 관해서는 동일하다는 말도 덧붙였다. 그에게 있어서 공공의 적은 ‘독점 소프트웨어’기 때문이다.

자유 소프트웨어 운동은 오늘날 상용 소프트웨어를 만드는 기업, 예를 들어 마이크로소프트 등의 기업에게는 허무맹랑한 주장으로 비춰진다. 실제로 리드 스톨만의 주장은 소프트웨어 업계에서 ‘공산주의’와도 같다. 하지만 이러한 운동은 오늘날 소프트웨어 업계에 많은 영향을 줬다. 파이어폭스를 만든 비영리 재단 모질라부터 HP나 IBM 등의 대기업도 오픈소스 기반 기술에 투자해 개방형 생태계를 꾸리고 있다.

이처럼 자유 소프트웨어 운동(혹은 오픈소스 운동)은 개발자의 성과물을 무의미하게 공유하자는 움직임이 아니라 여러 사람의 의견을 수렴할 수 있는 개방형 생태계를 만들고, 더 뛰어나고 가치 있는 성과물로 발전시키자는 것에 의의를 둔다.

GNU's Not Unix!

GNU의 공식로고

너네가 다 독점하면 까짓거 내가 만들고 말지 !

자유 소프트웨어 운동의 일환으로 리처드 스톨만이 시작한 GNU 프로젝트는 1983년 유즈넷 그룹을 통해 일반에 알려졌다. 스톨만은 “GNU 선언문”을 비롯한 여러 글들을 통해서, “초기 전산 공동체에 지배적이었던, 협동 정신을 되돌리자”라고 주장했다. GNU 프로젝트는 누구나 자유롭게 “실행, 복사, 수정, 배포”할 수 있고, 누구도 그런 권리를 제한하면 안 된다는 사용 허가권(License) 아래 소프트웨어를 배포한다. 카피레프트로 불리는 이런 생각은 GPL (GNU 일반 공중 사용 허가서)에 나타나 있다.

GNU는 “GNU는 유닉스가 아니다.”란 의미를 갖는 영어 문장 “GNU’s Not UNIX”의 약자로, 원래의 문장 안에 자신이 이미 들어 있는 재귀 약자이다. 스톨만은 GNU를 그누로 읽자고 제안한다. 유닉스는 이미 널리 쓰이던 독점 소프트웨 운영 체제로, 유닉스의 아키텍처는 기술적으로 믿을만 한 것으로 증명되어 있어, GNU 시스템은 유닉스와 호환될 수 있도록 만들어졌다. 유닉스 아키텍처는 개별적인 요소들이 따로 따로 작성되는 것을 허용한다.

1985에 스톨만은 GNU 프로젝트를 철학적, 법률적, 금융적으로 지원하기 위해 자선단인 자유 소프트웨어 재단을 세웠다. 이 재단은 GNU를 개발할 프로그래머들도 고용했다. 그러나, 프로젝트의 대부분은 자원 봉사자들이 개발했으며, 앞으로도 그럴 것이다. GNU가 눈길을 끎에 따라, 이를 주목한 회사들은 GNU 소프트웨어의 개발이나 판매 및 기술 지원을 돕기 시작했다. 이 가운데 가장 두드러지고 성공적인 것은 현재는 레드햇의 일부가 된 Cygnus Solutions이다.

1990년까지 GNU 시스템엔 확장 가능한 문서 편집기(이맥스), 뛰어난 최적화 컴파일러(GCC), 그리고 표준 유닉스 배포판의 핵심 라이브러리와 유틸리티가 있었다. 하지만, 여기엔 주요 구성요소인 커널이 빠져 있었다.

GNU 선언문에서, 스톨만은 “기본적인 커널은 있지만 유닉스를 흉내내려면 아직 더 많은 기능이 필요하다”라고 했다. 여기서 그가 지칭한 것은 MIT에서 개발하여 자유롭게 배포했고, 유닉스 7번째 판과 호환되는 트릭스(TRIX)라는 원격 프로시저 호출 커널이었다. 1986년 12월, 이 커널을 고치는 작업이 시작됐다. 하지만, 개발자들은 결국 트릭스(TRIX)를 기반으로 새 커널을 만드는 것은 어렵다는 결론을 내렸다. 주된 이유는 트릭스는 “잘 사용하지 않고 비싼 68000 box”에서만 동작했고, 따라서 그 상자에서 쓰이기 전에 다른 구조로 포팅해야 했기 때문이다. 1988년 즈음에, 카네기멜론 대학에서 개발되던 마하 통신-전송 커널을 그 대체품으로 고려했지만, 이것은 처음에 이것을 개발한 사람들이 AT&T 소유의 코드를 지우면서 지연되었다. 처음엔, 이 커널은 앨릭스(Alix)라고 불렸지만, 나중에 개발자 마이클 부시넬는 HURD라는 이름을 선호하여, 앨릭스란 이름은 하부 구조로 옮겨지고 마침내 완전히 떨어졌다. 결국은, HURD의 개발은 기술적이고 개인적인 충돌로 지지부진해지고 말았다.

1991년에 리누스 토르발는 유닉스 호환의 리눅 커널을 작성하여 GPL 라이선스 아래에 배포했다. 다른 여러 프로그래머들은 인터넷을 통해 리눅스를 더욱 발전시켰다. 1992 리눅스는 GNU 시스템과 통합되었고, 이로써 완전한 공개 운영 체제가 탄생되었다. GNU 시스템들 가운데 가장 흔한 것이, “GNU/리눅스” 이라고 불리는 바로 이 시스템이다.

또한, 비공개 유닉스 시스템에도 GNU의 구성 요소들이 본래의 유닉스 프로그램을 대신하여 들어 있는 경우도 많다. 이는 GNU 프로젝트를 통해 쓰여진 프로그램들이 질적으로 우수하다는 사실을 증명한다. 종종, 이런 구성 요소들은 “GNU 툴”로 불리기도 한다. 다수의 GNU 프로그램은 마이크로소프트 윈도나 맥 OS X 등으로 포팅되기도 했다.