자유 소프트웨어

1 개요

free software

이상하게 여길 수 있습니다. 왜 사람들은 자신의 시간을 들여 소프트웨어를 만들고 신중하게 패키지로 만들고 나서 거저 주려고 할까요?

데비안 GNU/리눅스 홈페이지의 소개글에서

말 그대로 갖다 쓰는것도 자유, 고쳐서 쓰는것도 자유, 재배포도 자유, 팔아먹는 것도 자유인 소프트웨어를 의미한다. 조금 빡센 자유 소프트웨어 라이센스들에는 해당 소스를 수정해서 만든 프로그램의 경우 소스 코드를 공개할 의무까지도 포함한다. 소프트웨어의 수정 및 재배포를 위해서는 소스 코드가 있어야 되기 때문에 자유 소프트웨어는 소스를 공개하기는 하지만, 오픈소스이면서 자유소프트웨어가 아닌 경우도 있기 때문에 둘이 100% 동일하지는 않다.

영어의 free 가 무료라는 의미도 있고, 자유라는 의미도 있기 때문에 무료 소프트웨어를 의미하는 프리웨어와 자주 혼동되지만, 둘은 전혀 다른 개념이며, "자유 소프트웨어"의 핵심은 구속되지 않는다는 관점에서의 자유에 있는 것이지 무료라는 금전적인 측면에 있는 것이 아니다. 우리가 의도하는 이러한 자유의 의미를 쉽게 이해하기 위해서는 "무료 맥주(free beer)"가 아닌 "언론의 자유(free speech)"와 같은 예를 생각해 볼 수 있다. [1]

자유 소프트웨어는 인간의 자유를 표방하며 인간의 자유를 침해하는 소프트웨어를 디지털 수갑 또는 말웨어라고 주장한다. 사용자가 소프트웨어를 통제해야 하고 소프트웨어가 사용자를 통제해서는 안된다는 개념.

원래는 자유 소프트웨어 재단의 창립자인 리처드 스톨먼이 1981년에 제창한 운동의 일환으로 시작되었다. 다분히 히피적인 배경을 깔고 있기도 하다. 여기에 기름을 끼얹은 것이 1993년에 자유 소프트웨어로 공개된 리눅스. 리눅스의 등장으로 커널부터 사용자 인터페이스(보통 X11에 GNOME이나 KDE를 얹음), 그 위에서 돌아가는 어플리케이션까지 다 공짜인 세상이 시작되었다.

여기까지 보면 다분히 이상향적이고 실현가능성이 희박할 듯하지만, 현재까지 상당한 성공을 거두며 성장하고 있다.

2 라이선스가 다 같은 건 아니다

다만 자유 소프트웨어에도 저작권이 존재하며, 목적에 따라 내용이 조금씩 다른 이용 허가서(라이선스)를 명시하여 배포한다. 이러한 라이선스에는 GPL이 가장 대표적. BSD 라이선스도 널리 채택된 자유 소프트웨어 라이선스이다. LGPL이나 아파치 라이선스, MIT 라이선스 등도 역시 자유 소프트웨어이다.

이들은 크리에이티브 커먼즈(CC) BY-SA 또는 CC BY 라이선스와 호환되는 경우가 대부분인데, 이 부분에 대해서는 약간의 차이가 있다.

자유 소프트웨어의 라이선스 중에서 가장 큰 특징을 보이는 것이 가장 널리 쓰이고 강제성이 강한 GPL인데, 이것의 가장 큰 특성은 '전염성'으로 GPL로 배포되는 프로그램을 수정 재배포할 때의 라이선스도 GPL이 되며 법적으로 반드시 소스코드를 공개해야한다. 이를 지키지 않을 시 소송의 대상이 될 수 있으며 최악의 경우는 소스를 강제로 공개당할 수도 있다.[2] 이러한 GPL은 대개 내용(소스코드)에 대한 배타적인 권리 주장도 금지되어 있다.

이와는 대조적으로 BSD나 MIT 라이선스 등은 소스를 수정할 수는 있으나 재배포할 의무는 없다. 이들의 경우 CC로 변환하면 CC BY가 된다.

꼴리는대로 쓰세요라는 WTFPL이라는 라이선스도 있다 카더라. 라이선스 조항은 0.You just DO WHAT THE FUCK YOU WANT TO. 이거 달랑 하나(...)

3 현황 및 오해

자주 쓰이는 자유 소프트웨어는 버그 수정이나 기능 추가 주기가 굉장히 짧다. 물론 버려진 프로젝트들은 몇 년이 지나도록 업데이트가 되지 않아서, 쓰다가 열받은 사람들이 소스 코드를 갖다가 새 프로젝트를 시작하는 경우도 있다.[3] 자유 소프트웨어 프로젝트의 성지는 소스포지[4]였지만 GitHub의 등장으로 자리를 내주었다.

예를 들어 Red Hat Enterprise Linux나 SuSE, Inspire같은 경우는 상용 리눅스 배포판이지만 리눅스가 GPL을 적용하고 있는 한 독점이 허용되지 않기 때문에 RHEL은 그 기술지원 서비스 계약을 수행하며 Fedora Core를 내고 있으며, SuSE는 OpenSUSE를 내고 있고, Inspire는 Freespire를 내놓고 있다. 같은 이유로 우분투도 프로그램과 소스코드 자체는 무료로 배포하는 대신, 기업 유저들을 위한 유료 지원 서비스와 프로그램 이외의 각종 상품 판매를 통해 수익을 얻고 있다.

자유 소프트웨어 운동의 정 반대편에 서 있는 대표적인 인물로 빌 게이츠가 있다. 물론 이 분은 불법복제를 하지 맙시다를 주로 주창했지만, 마이크로소프트가 하도 부족한 기술력로도 자유 소프트웨어가 있는 시장에 들어가서 브랜드값으로 시장을 자주 먹어버린지라...

자유 소프트웨어인지 확인하려면 두 가지만 보면 된다. 소스 코드를 공개하는지, 소스 코드의 수정 재배포가 가능한지. 일례로 윈도의 경우 소스 코드는 부분적으로 공개되어 있으나[5] 수정 재배포를 허락하지 않으므로 자유 소프트웨어는 아니다.

4 대표적인 자유 소프트웨어의 목록

GPL의 경우 사용하는 데에도 제한(전염성)이 있을 수 있으므로 주의바람.

OS X 자체는 자유 소프트웨어가 아니지만, 자유 소프트웨어 개발품들을 많이 장착했다. 터미널 켜면 돌아가는 것들은 다 자유 소프트웨어고. 커널(Darwin), 인쇄모듈(CUPS), 심지어 잡스가 좋다고 칭찬하는 웹 브라우저인 사파리도 자유 소프트웨어인 webkit 기반이다.(그런데, 웹킷엔진은 Konqueror 에서 쓰이던 KHTML 엔진을 애플이 가져다가 사파리에 쓰려고 오픈소스 프로젝트로 진행하여 만든 엔진이라...자기가 만든거 자기가 쓰는거라 볼 수 있다. 구글 크롬의 엔진인 블링크도 원래는 웹킷에서 시작되었다.) 다만 CUPS(Common Unix Printing System)는 원래 있던 자유 소프트웨어를 2002년에 Mac OS X 10.2에서 채용, 그 이후에 원 개발자를 채용하여 자신들이 개발을 진행한 것이지 Apple Inc.가 *nix 시스템을 위해 인쇄 모듈을 만들 생각이 있었다거나 그런 프로젝트를 시작한 것이 아니다. 사실 맥을 오픈 소스 진영에서 좋지 않은 시선으로 바라 보는 이유는 단순하게, 오픈 소스를 뜯어가서가 아닌 소스를 뜯어가서 라이센스 하에 공개하는건 좋은데 원 소스에 대해서 성능과 같은 부분에 대해서 전혀 피드백을 하지 않고 또한 소스 자체를 원본 소스에 다시 적용하기 상당히 어렵게 바꿔놓기 때문이다. 물론, 전혀 기여를 하지 않는데다가 오히려 방해까지 해대는[7] MS 에 비하면야 인식은 훨씬 좋은편이다.

애플SUN, IBM과 더불어 가장 기여도가 높은 오픈 라이센스 소프트웨어 개발사중 하나이다. 오픈 라이센스에는 독점 소스와 특허 기술의 보호라는 부분도 있다는 것을 유념하자. 그리고 이러한 독점 부분은 앞서 언급한 라이센스와는 별도로 보호를 받고 있다는 점도 유의하자.
  1. “Free software” means software that respects users' freedom and community. Roughly, it means that the users have the freedom to run, copy, distribute, study, change and improve the software. Thus, “free software” is a matter of liberty, not price. To understand the concept, you should think of “free” as in “free speech,” not as in “free beer”. [1]
  2. 대표적으로 Linksys의 WRT54G와 iptime 공유기 전반이 GPL코드를 사용하다가 걸린 바 있으며, leaf사는 게임에 사용한 동영상의 XviD코덱 때문에 공개하였다. 또한 국내에서 사용하는 이름있는 동영상재생기도 상당수가 쉬쉬하지만 라이센스를 위반하고 있다. 여기서 확인이 가능하며, 공학윤리 과목에서 가끔씩 문제로 나오기도 한다.
  3. 이렇게 기존 프로젝트를 가지고 새로운 프로젝트를 시작하는 것을 포크라고 한다. 꼭 기존 프로젝트가 죽은 경우가 아니더라도, 기존 프로젝트와는 다른 지향점을 가지고 시작하는 경우 등도 있다.
  4. 소스포지가 호스팅하고 있는 유명 프로젝트 파일 다운로드에 애드웨어 비슷한 걸 심어놓는 병크를 저질러서 더욱 더 가속화되었다
  5. CE 3.0은 완전 공개, 나머지는 기업 파트너들에게만 공개되어 있다.
  6. 우간다 기아 구제 프로그램은 권장사항일 뿐, 의무까지는 아니다.
  7. 단순히 비판하는데서 그치지 않고, 대립각을 세우는 일이 많다. 2006년경 MS가 오피스 2007을 발표하면서 새로 내놓은 문서 포맷인 OOXML이 그 대표적인 예로, 이미 오픈소스 진영에서 ODF를 문서 포맷으로 지정하고 국제전기표준회의에서 표준 등재까지 받은 상태에서 독점하려고 포맷을 내놓는다고 대차게 까였다. 물론 MS는 발표하면서 문서 구조도 모두 공개했지만 너무 복잡하고 독점적인 부분도 있다고 하면서 이걸 어떻게 써먹냐고 또 까였다. 결국 OOXML도 2008년에 표준이 등재되어 문서포맷은 현재 2가지가 공존중이다. 시간이 지나며 오픈오피스 진영에서도 OOXML을 지원하고, MS 오피스에서도 ODF를 지원하는 형태로 가고 있는 중.