자유 소프트웨어

최근 수정 시각:

Free Software

1. 개요2. 상세3. 라이선스가 다 같은 건 아니다4. 현황 및 오해5. 오픈 소스와의 차이점6. 대표적인 자유 소프트웨어의 목록7. 관련 문서

1. 개요[편집]

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


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

2. 상세[편집]

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

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

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

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

3. 라이선스가 다 같은 건 아니다[편집]

다만 자유 소프트웨어에도 저작권이 존재하며, 목적에 따라 내용이 조금씩 다른 이용 허가서(라이선스)를 명시하여 배포한다. 이러한 라이선스에는 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. 이거 달랑 하나(...).

4. 현황 및 오해[편집]

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

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

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

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

간간히 기업에서 자사의 소프트웨어를 (다른 GPL을 끌어와서 만드는 게 아니라, 처음부터 독자 개발 후 제한적 오픈소스를 선언) 오픈소스로 개방하는 경우에는 소스 코드를 공개하고, 수정 재배포가 되더라도 자유 소프트웨어일 수도 있고 아닐 수도 있다. 정확히 말하면, 제한적 자유 소프트웨어 라고 불리는 것들으로, 일부 독점 부분에 대해서는 소스코드를 공개하지 않거나, 난독화를 해 놓거나, 라이선스 상에 해당 독점 부분에 대한 수정 재배포를 금지하는 조항을 추가 삽입해서 배포하는 경우가 있다.

대부분의 이러한 제한적 자유 소프트웨어 들은 근본적으로는 자유 소프트웨어에 해당하되, 해당 개발사나 개발팀의 이익과 직결된 광고, 후원 링크, 개발사 및 프로그램 정보 표시창, 부분유료화가 적용된 부분, 독점 특허기술이 적용된 부분을 소스코드 비공개 혹은 난독화 혹은 수정 재배포를 금지하는 경우가 대부분이다. 해당 배타적인 부분을 제외한 나머지 부분에 대한 소스코드는 오픈 소스+자유 수정 재배포가 적용되는 경우이므로 일단은 자유 소프트웨어의 일종이라고 봐 줄 수는 있다.

이렇게 만드는 이유는, 안타깝게도, 개발자나 자유로운 이용을 지지해서라기보다는(그런 경우도 있지만) 부족한 기능을 직접 추가하는 대신에 Add-On이나 파생 프로그램을 유저가 직접 만들도록 유도하면서 디버깅, 버그 수정, 업데이트 및 번역 비용을 절감하고, 광고 수익을 극대화하기 위한 이유인 경우가 많다.

5. 오픈 소스와의 차이점[편집]

자유 소프트웨어 운동을 시작한 리처드 스톨먼오픈 소스 운동에 반대하였다.

리처드 스톨먼은 미국 지디넷 스티브 보간 니콜스 컬럼니스트에 보낸 메일에서 "오픈소스란 용어에서 흔한 오류가 나, 나의 일, 혹은 자유 소프트웨어와 연결되고 있다"며 "1998년 오픈소스 슬로건은 자유 소프트웨어 운동의 철학을 거부한 사람들에 의해 채택됐다"고 밝혔다.

리처드 스톨먼은 "나는 자유의 사상인 자유 소프트웨어를 감추려는 의도기 때문에 오픈소스를 거부했다"고 강조했다.

리처드 스톨먼은 "우리 자유소프트웨어 운동가들은 바꿀 수 없고 공유할 수 없는 소프트웨어는 잘못된 것이니 자유 반환을 위해 자유로워지자고 말한다"며 "오픈소스는 단지 '당신이 당신의 코드를 사용자가 변경하게 한다면, 그들은 버그를 고칠 것'이라고 말한다"고 비교했다. 이어 "그게 잘못된 말은 아니지만 더 깊숙한 지점을 짚는 걸 피하는 연약한 것"이라고 덧붙였다.
오픈소스 20년...일상에 물처럼 스며들다 2018.02.06.

6. 대표적인 자유 소프트웨어의 목록[편집]

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


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

애플SUN, IBM과 더불어 기여도가 매우 높은 오픈 라이선스 소프트웨어 개발사의 하나이다. 오픈 라이선스에는 독점 소스와 특허 기술의 보호라는 부분도 있다는 것을 유념하자. 그리고 이러한 독점 부분은 위에서 언급하는 라이선스와 별도로 보호를 받는 점도 유의하자.

7. 관련 문서[편집]

[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”. http://www.gnu.org/philosophy/free-sw.html[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를 지원하는 형태로 가고 있다.