[IT열쇳말] 자유소프트웨어재단(FSF)

가 +
가 -

자유소프트웨어재단(Free Software Foundation, FSF)은 1985년 리처드 스톨만이 만든 비영리단체다. 소프트웨어를 누구나 복제, 수정, 공유, 배포할 수 있도록 하자는 ‘자유소프트웨어 문화’를 장려하는 운동을 진행하고 있다.

▲ 자유소프트웨어재단 로고

▲ 자유소프트웨어재단 로고

‘자유 소프트웨어’의 ‘자유(Free)’가 ‘무료’를 뜻하는 건 아니다. ‘표현의 자유’라는 말에서 자유가 무료가 아니라 특정 사항에 구속되지 않은 관점을 말하듯, 자유 소프트웨어의 자유도 비슷한 의미를 지닌다. 자유 소프트웨어의 반대 개념은 ‘독점’ 소프트웨어다. 소프트웨어 소스코드를 특정 기업이 독점하는 사례를 가리킨다. ‘마이크로소프트(MS) 오피스’ 같은 제품을 생각하면 쉽다. MS 오피스 제품의 소스코드는 공개돼 있지 않기 때문에 아무나 수정하지 못한다. 사용자 측면에서도 비용을 지불하지 않으면 함부로 설치할 수 없다.

자유 소프트웨어는 자유의 의미를 크게 4가지로 보고 있다.

  1. 프로그램을 어떠한 목적을 위해서도 실행할 수 있는 자유.
  2. 프로그램의 작동 원리를 연구하고 이를 자신의 필요에 맞게 변경시킬 수 있는 자유. 이러한 자유를 위해서는 소스코드에 대한 접근이 선행돼야 한다.
  3. 이웃을 돕기 위해서 프로그램을 복제하고 배포할 수 있는 자유.
  4. 프로그램을 향상시키고 이를 공동체 전체의 이익을 위해서 다시 환원시킬 수 있는 자유. 이러한 자유를 위해서는 소스코드에 대한 접근이 선행돼야 한다.

※ 출처 : https://www.gnu.org/philosophy/free-sw.html

GNU로 시작한 자유소프트웨어재단

소프트웨어도 기업 자산이라고 생각한다면 기업이 소프트웨어 소스코드를 공개하지 않고 유료로 판매하는 것이 무슨 문제일까 생각할 수 있다. 자유소프트웨어재단을 만든 리처드 스톨만은 이런 생각에 반기를 들었다. 리처드 스톨만은 소프트웨어가 처음에 등장했을 때부터 공유 정신이 널리 퍼져 있었다는 점을 강조한다. 실제로 스톨만은 1970년 MIT 인공지능 연구소에 들어갔을 때 ‘ITS’(Incompatible Time-sharing System)란 운영체제를 이용했다. 리처드 스톨만을 포함한 내부 연구원들은 ITS 운영체제를 개선하는 데 기여했으며, 다른 대학이나 기업에서 MIT 연구소가
만든 기술을 이용하고 싶다고 요청하면 스스럼없이 프로그램을 빌려주었다. 리처드 스톨만은 이러한 문화를 “요리법을 공유하는 것이 요리의 역사만큼 오래된 것처럼, 소프트웨어를 공유하는 것은 컴퓨터의 역사만큼이나 오래된 것이었다”라고 표현했다.

블로터 플러스 '지식 아카이브'

리처드 스톨만이 경험한 소프트웨어 공유 문화는 1980년부터 달라진다. PC 및 소프트웨어 산업이 발전하고 관련 기업들이 생겨나며 소프트웨어에 특허나 독점에 관한 법률을 적용하는 경우가 늘어났다. 사용자들은 소프트웨어에 쉽게 접근할 수 없었고, 개발자 역시 서로 협력하는 길이 막혔다. 리처드 스톨만은 자신이 경험했던 소프트웨어 공유 문화를 되살리고 싶었다. 이를 위해 스톨만은 먼저 프로그램을 만들기로 했다. 그렇게 시작한 것이 ‘GNU’(그뉴) 프로젝트다.

GNU는 유닉스와 호환되는 운영체제다. 리처드 스톨만은 소프트웨어 공유 운동을 시작하기 위해 가장 먼저 필요한 게 운영체제라고 생각했다. 운영체제는 컴퓨터를 사용하는 데 필요한 핵심 소프트웨어이고, 운영체제가 있다면 컴퓨터를 이용해서 다양한 종류의 작업을 할 수 있었기 때문이다. 따라서 자유롭게 사용할 수 있는 운영체제가 있다면 상호 협력하는 개발자들이 공동체를 다시 한 번 만들 수 있을 거라고 스톨만은 판단했다.

리처드 스톨만이 ‘유닉스’ 계열 운영체제를 만들기로 한 이유는 기존 유닉스 사용자들이 새로운 시스템에 쉽게 적응할 수 있으리라고 생각했기 때문이었다. GNU라는 이름은 ‘GNU는 유닉스가 아니다’(Gnu is Not Unix)라는 문장의 첫 글자를 따서 만든 약어다. GNU는 유닉스와 호환되도록 만들어진 운영체제이기는 하지만, 유닉스와는 다른 운영체제라는 의미를 내포하기 위해 만든 이름이다. GNU 프로젝트에선 시스템 리소스를 관리하는 커널 ‘허드’를 만들기도 했는데, 1991년 리눅스가 관심을 받으면서 GNU 도구에 리눅스 커널이 통합됐다.

리처드 스톨만은 1985년 GNU 프로젝트를 지원하기 위한 자유소프트웨어재단을 설립한다. 그러면서 운영체제를 만드는 것 외에 라이선스도 함께 만들어 공유 운동을 펼쳤다. 이렇게 만든 대표 라이선스가 ‘GNU GPL(GENERAL PUBLIC LICENSE, 일반 공중 사용 허가서)’이다. 이를 줄여서 ‘GPL’이라고 표현하기도 한다.

GPL는 지켜야 할 조항이 많은 라이선스였는데, 자유소프트웨어재단은 이를 조금씩 완화하면서 GPL 버전1, 버전3 식으로 새롭게 라이선스를 수정해 공개했다. 또한 누구나 GPL 위반사항을 발견하면 자유소프트웨어재단에 신고할 수 있게 했다. 자유소프트웨어재단은 이런 식으로 소프트웨어 공유 문화에 도움이 되도록 라이선스를 발전시키는 식으로 GPL 문화를 퍼뜨리는 운동을 진행하고 있다. 현재 GPL은 전체 오픈소스 가운데 2번째로 많이 사용되고 있다.

▲오픈소스 프로젝트에서 가장 많이 사용되고 있는 라이선스(출처 : https://www.blackducksoftware.com/resources/data/top-20-open-source-licenses)

▲오픈소스 프로젝트에서 가장 많이 사용되고 있는 라이선스(출처 : https://www.blackducksoftware.com/resources/data/top-20-open-source-licenses)

자유 소프트웨어와 오픈소스

자유 소프트웨어가 등장하고 시간이 지나며 몇 가지 단점이 지적되기 시작됐다. 자유 소프트웨어는 제약이 많은 GPL 조항 때문에 상용 기술 개발에서 활용할 수 없다는 지적이 대표적이다. 에릭 레이먼드, 브루스 페런스 등은 ‘오픈소스’(Open Source)라는 새로운 용어를 제안하고, 기업들이 소스코드 공개에 보다 많이 참여할 수 있도록 지원했다. 동시에 1998년 에릭 레이먼드와 브루스 페런스는 ‘오픈소스 이니셔티브’(Open Source Initiative, OSI)를 설립하고 오픈소스에 해당하는 라이선스의 최소한의 기준을 정의(Open Source Definition, OSD)해 놓았다. OSI는 이 정의에 따라 인증, 관리 및 촉진시키는 일을 진행하고 있다. 현재 업계에선 자유 소프트웨어와 오픈소스를 혼용해서 쓰는 경우가 많지만, 일반적으로 오픈소스 소프트웨어는 자유 소프트웨어를 포함한 넓은 의미로 사용된다.

자유소프트웨어재단은 오픈소스 소프트웨어라는 용어에는 ‘자유롭게 사용할 수 있는 권리’가 포함돼 있지 않다고 보고 자유 소프트웨어라는 용어를 사용하기를 권장한다. 그렇다고 두 문화가 서로 적대적인 관계는 아니다. GNU 프로젝트 공식 홈페이지에서는 “자유 소프트웨어 운동과 오픈소스 운동은 공동체에 있어서 두 개의 정당과도 같다”라며 “자유 소프트웨어 운동과 오픈소스 운동은 기본 원칙에 대해서 의견을 달리하지만, 모든 현실적인 방안에 대해서는 같은 생각을 갖고 있으며 세부적인 프로젝트에서 같이 협력하고 있다”라고 설명하고 있다. 특히 “자유 소프트웨어 운동에 있어서 우리는 오픈소스 운동을 적이라고 생각하지 않는다”라며 “우리의 적은 독점 소프트웨어”라고 강조한다.(참고 : http://www.gnu.org/philosophy/free-software-for-freedom.html)

▲자유 소프트웨어와 오픈소스 소프트웨어 분류 (사진 : http://www.gnu.org/philosophy/categories.html)

▲자유 소프트웨어와 오픈소스 소프트웨어 분류 (사진 : http://www.gnu.org/philosophy/categories.html)

자유소프트웨어재단 설립 30년 후

과거 일부 사람들은 리처드 스톨만을 ‘사회주의자’라고 표현할 만큼 지나친 이상주의자로 여겼다. 자유소프트웨어재단이 설립된 지 30년이 지난 현재 IT 업계 모습을 보면 리처드 스톨만의 꿈이 조금씩 실현되는 모습이다. 과거 자유소프트웨어 문화에 반대하던 많은 사람들은 “금전적인 혜택이 없으면 아무도 프로그래밍을 하지 않을 것이다”, “소프트웨어 개발도 경쟁을 통해서 보다 나은 결과를 얻을 수 있다”, “GNU가 무료라면 아무도 그것을 사용하지 않을 것이다”와 같은 주장을 했다. 하지만 지금은 많은 개발자들이 자유 소프트웨어와 오픈소스 운동에 동의하고, 깃허브와 같은 오픈소스 저장소에 앞다퉈 소스코드를 올리고 있다. 한국 및 전세계 IT 기업에서 오픈소스 기여 여부는 개발자 면접 시 중요한 요소로 평가되고 있다.

더 읽어보세요!

특히 개발자 문화가 발달한 IT 기업일수록 오픈소스에 대한 투자가 활발하다. 구글과 페이스북은 오픈소스 기술에 가장 적극적으로 동참하는 기업으로 꼽힌다. 구글은 지금까지 900개가 넘는 오픈소스 프로젝트를 공개했으며, 페이스북도 330개 이상의 오픈소스 프로젝트를 ‘모두의 자산’으로 공개했다. 심지어 오픈소스를 ‘암덩어리’로 묘사했던 마이크로소프트조차 “MS는 리눅스를 사랑한다”와 같은 발언을 통해 오픈소스 진영 개발자와 사용자에게 러브콜을 보내고 있다. 오픈소스 기술만 유지·보수하는 전문 기업도 늘어나고 있다.

오늘날 대다수 IT 기업들은 전세계 많은 개발자와 협력할수록 좋은 소스코드를 만들 수 있다는 생각에 대체로 동의하고 있다. 때로는 실력 있는 개발자를 채용하거나 마케팅 효과를 노리는 수단으로 오픈소스 프로젝트를 진행하기도 하다. 여기엔 기여자 수와 사용자 수를 늘려 특정 기술의 생태계를 확보하려는 전략도 숨어있다. 특히 구글이 ‘안드로이드’라는 모바일 운영체제를 오픈소스로 공개해 새로운 시장 경쟁력을 얻은 것은 오픈소스 생태계의 좋은 롤모델로 꼽힌다.

※ 참고

– 왜 자유 소프트웨어가 오픈소스보다 좋은가? : http://www.gnu.org/philosophy/free-software-for-freedom.html
– 한국저작권위원회 : https://www.olis.or.kr/ossw/license/introduction.do
– GNU 선언문 : http://www.gnu.org/gnu/manifesto.ko.html

이 글은 ‘네이버캐스트→테크놀로지월드→용어로 보는 IT’에도 게재됐습니다. ☞‘네이버캐스트’ 보기