Open Source

1 개요[편집]

어떤 제품을 개발하는 과정에 필요한 소스나 설계도를 누구나 접근 해서 열람 가능하도록 공개하는 것. 보통 소스가 공개된 소프트웨어를 오픈 소스 소프트웨어라고 하며, 소프트웨어 말고도 개발 과정이나 설계도가 공개되는 경우 하드웨어에도 오픈 소스 모델이 적용 가능하며, 글꼴과 같은 데이터에도 오픈 소스 개발 모델이 적용되는 경우가 있다.
단순히 소스를 공개만 하는 것이 아니라, 이를 2차 창작하는 것을 허용하기도 하고 심지어 조건 없이 상업적 용도로도 사용할 수 있게 하는 경우가 있다. (물론 공개만 하고 2차 창작이 불가능한 경우도 있기는 하지만 이런 경우는 보통 오픈 소스라고 부르지 않는다.)

2 오픈 소스 소프트웨어[편집]

소스 코드가 공개(Open)된 프로그램이다. 대부분의 오픈 소스 소프트웨어는 무료로 사용 가능하기 때문에 프리웨어와 헷갈리는 경우가 많지만, 프리웨어는 무료로 사용 가능한 프로그램이고, 오픈 소스는 소스 코드가 공개된 프로그램이기 때문에 엄연히 다른 개념이다. (예를 들어 오픈 소스 소프트웨어를 돈 받고 파는 경우도 있다.) 자유 소프트웨어(Free Software)와 비슷하기는 하지만 오픈 소스 소프트웨어가 자유 소프트웨어보다 조금 더 상위 개념이다.

일반 사용자 입장에서는 프리웨어나 오픈 소스 소프트웨어나 단순히 공짜로 사용할 수 있다는 점에서는 비슷할 수 있지만, 소스코드를 보고 이해할 수 있고, 수정할 수 있는 개발자 입장에서는 크게 다르다. 예를 들어 상용, 혹은 프리웨어 프로그램을 사용하는 사람들은 버그를 발견했다 하더라도 소스 코드를 모르니 수정할 수 없고, 사용자가 새로운 아이디어가 떠올랐다 해도 그것을 곧바로 프로그램에 적용시킬 수도 없다. 비교적 간단한 프로그램일 경우 리버스 엔지니어링으로 어셈블러 수준에서 뜯어고칠 수는 있으나 코드가 공개된 것보다 몇 십 배는 어렵기도 하고, 저작권 등의 문제가 얽히고설키기에 하려는 사람은 없다고 보면 된다.

하지만, 사용자가 프로그래밍 언어를 아는 경우 소스가 공개되어 있다면, 본인이 직접 소프트웨어의 문제를 수정하거나 개선을 할 수 있게 되는 것이다.
또한, 개발 중이던 프리웨어가 개인적인 사정이나 회사의 사정으로 인해서 개발이 중지된 경우, 그대로 사장되는 경우가 종종 있는데, 오픈 소스 소프트웨어는 소스가 공개되어 있었기 때문에 다른 개발자/개발사가 이를 이어 받아서 새로이 개선해 나가면서 개발하는 것이 가능하다.

물론 오픈 소스에도 단점은 있다. 특히 GPL 류의 오픈 소스에 해당되는 것인데, 가장 치명적인 단점이 상용화가 어렵다는 점이다(추구하는 방향이 상용화가 아니기도 하고). 흔히 GPL 소프트웨어는 무료라고 생각하는 사람들이 많은데, 사실 GPL은 소스 공개에 관련된 부분만을 라이선스에서 정의하고 있기 때문에, GPL 소프트웨어를 수정해서 유료로 판매하는 것은 이론상으로는 가능하다. 하지만, 유료로 판매한 GPL소프트웨어를 구매한 사용자가 다시 이를 수정해서 무료로 배포하는 것을 막을 수 없기 때문에, 유료 소프트웨어가 GPL 라이선스를 채택하는 경우는 극히 드물다. 물론, 이를 극복하기 위한 방법도 존재하는데, 그중 하나가 듀얼 라이선스를 채택하는것. 대표적인 경우가 x264). 그 이외에도 래드햇처럼 소프트웨어 자체는 오픈 소스이지만 사후 지원 계약을 유료로 하는 방법이나, 광고를 달아서 애드웨어로 만들거나, 오픈 소스에 우호적인 단체나 기업으로부터 후원을 받거나, 사용자들에게 기부를 받는 등의 방법을 사용한다.

또 다른 단점으로, 소스를 도용 당할 수도 있다. 개발자들이 선의로 배포한 소스 코드를 상용 소프트웨어 제작사들이 도용해서 유료 프로그램을 제작해 버리는 것이다. 가끔은 그냥 조용히 소스 코드만 쓰는 것에 그치지 않고 아예 그 소스가 자신들이 제작한 것으로 잡아떼는 사태도 벌어진다. 그게 바로 티맥스 소프트티맥스 윈도우와 거기에 내장한 오피스 프로그램이다. GPL에 전염과 소스 코드 공개 강제 조항이 있는 것은 이런 상황을 막기 위해서이다.

또한 오픈 소스에는 원칙적으로 사후 지원, 즉 AS 제공 의무가 없다. 이것은 소스코드를 제공하니 문제가 발생하면 사용자가 직접 고쳐 쓰라는 의미이다. 오픈 소스 프로그램인데도 불구하고 빨리 고쳐달라고 제작자 게시판에 욕을 해대는 사람들이 있는데, 그러지 말자. 오픈 소스는 그렇게 해 줄 의무 자체가 없다.

물론 일반적인 용도로 많이 사용되는 오픈 소스 소프트웨어의 경우 이런 사후지원이 없으면 일반 사용자는 쓰기 힘드니 사후 지원은 따로 계약하는 경우도 많다. 당연히 이런 사후지원은 비용을 받는 것이 일반적이다. 예를 들면 레드햇 엔터프라이즈 리눅스의 경우 상용으로 판매하는데, 소스를 따로 공개해놓고 상용 버전에는 1년 기술지원을 포함해 놓고 있다. 이 소스를 가져다가 레드햇 상표만 들어내고 그대로 만든 것이 센트OS인데, 이렇게 제 3자가 다시 만들어 배포해도 라이선스(리눅스의 경우 GPL)만 지킨다면 불법복제가 아니다. 기술지원만 못 받는 것일 뿐이다.

흔히 오픈 소스에는 저작권이 없을 것이라고 오해하는 경우가 있는데 독점적인 권리가 없을 뿐이지 저작권은 존재한다. 예로써, 오픈 소스 프로그램은 보통 일정한 라이선스로 배포한다. 이 중 가장 강제성이 강한 것이 GPL인데, GPL은 오픈 소스인 만큼 소스 코드를 자유롭게 수정하고 배포할 수 있는 권리를 보장하지만, 재귀적 전염성 조항이라는 특이적인 성질이 부여된다. 이는 GPL 소스로부터 파생된 프로그램도 소스가 공개되어야 하고, 파생된 프로그램 또한 강제로 GPL 라이선스(또는 그것보다 더 엄격한 라이선스)로 배포되어야 한다는 뜻이다.

그래서 개념 없는 개발자가 생각 없이 GPL 라이선스를 따르는 오픈소스 코드를 집어넣어서 프로그램을 만들면, 그 프로그램 전체의 코드가 강제공개당하게 된다. 투하트 2, 스카이프 등등이 소스를 강제공개 형벌을 당한 바 있으며[1]ICO는 영구 판매중지 되었다[2]. 소니는 GPL 위반사항 때문에 DVD 4천만장리콜한 적도 있다. 컴파일 된 프로그램인데 GPL위반을 어떻게 아느냐고? GPL 코드를 사용했는지 안 했는지 매의 눈으로 감시하는 단체가 있다(...). 자유 소프트웨어 재단 등의 단체에서 이런 일을 한다.

마이크로소프트에서는 이러한 강제규정이 산업발전에 악영향을 끼친다며 암세포에 비유하고 깠다. 천문학적인 시간과 돈을 들여 개발한 프로그램인데 일찍 퇴근하고픈 하청업체 개발자가 어디선가 따와서 스윽 집어넣은 코드 몇 줄 때문에 공짜가 된다니? 이런 뒷목 잡는 시나리오도 충분히 가능한 것이다. 물론 오픈 소스 진영에서는 너네가 그런 소리할 자격이 있냐며 마이크로소프트를 깐다(...) 사실 기업 입장에선 GPL이 좀 극단적인 것도 사실이긴 사실이지만(물론, GPL이 너무하다는 기업들은 사실 소스 빌려 쓰는 입장이니, 왈가왈부 할 처지가 못되긴 하지만), 마이크로소프트 역시 자신들의 독점적 지위를 유지하기 위하여 오픈 소스 진영에서 먼저 열심히 만들어 놓으면 뒤늦게 그거 보고서 그에 대응되지만 호환은 안 되는 것을 떡 하니 윈도우에 박아서 오픈 소스 진영 것을 무효화시키려는 뻘짓을 자주 했던 관계로 그런 말 할 자격은 없다. 또한 오픈소스 원 개발자와 직접 협의해서 정당한 대가를 지불하고 별도의 라이선스를 적용할 수도 있다. GPL도 이것까지는 막지 않기 때문이다.

가끔 오픈 소스 프로젝트로 하드웨어 디바이스를 제어하기 위한 라이브러리를 만들거나 차트(그래프)UI 컴포넌트 등을 만드는 팀들을 볼 수 있다. 이런 프로젝트 그룹이 만들어 놓은 결과물을 쓰면 비싼 라이브러리를 쓰지 않아도 된다는 장점이 있으나... 가끔 중요한 API를 껍데기만 만들고 방치하는 경우도 종종 만나게 된다.그리고 당연히 개발자는 멘탈붕괴

GPL 규약은 사실 리눅스 운영체제나 과거 유닉스 프로그램 등의 상당히 GEEK한 소프트웨어들을 목적으로 만들어져서 위에 나온 빡빡한 정책을 고집하고 있는데, 이것을 약간 완화시킨 것이 LGPL 라이선스이며, 아예 소스 재 공개를 하지 않아도 되거나, 라이선스의 전염성 조항이 없는 MIT/ZLIB 라이선스도 있다. 그리고 아예 라이선스 없이 저작권 자체를 포기해버린 경우는 퍼블릭 도메인(Public Domain)이라고 한다.

3 소프트웨어 목록[편집]

※ 가나다순으로 나열하며 우선순위는 한글-알파벳-숫자 순으로 작성해 주세요. (기타 제외)

3.1 개발 및 텍스트 에디터 관련[편집]

3.2 게임 관련[편집]

tripleA

3.3 그래픽 관련[편집]

3.4 네트워크 관련[편집]

3.5 콘텐츠 메니지먼트(CMS) 관련[편집]

3.6 데스크탑 환경[편집]

3.7 시스템 관련[편집]

3.8 업무, 출판 관련[편집]

3.9 운영체제[편집]

3.10 음악, 동영상 관련[편집]

3.11 파일 관련[편집]

3.12 기타[편집]

  1. 물론 소스만 공개되고 리소스는 빠졌으므로 그것만 가지고 똑같이 만들 수는 없다. 컴파일이 제대로 되더라도 아마 검은 화면만 나올 듯.
  2. 훗날 플레이스테이션 3용 게임으로 재발매 되었는데, 재발매 본에서는 GPL 소스를 전부 들어냈다.
  3. 오픈소스 애니메이팅 도구(!!!)
  4. 위와동일.하지만 0.4.4b를 마지막으로 지원이 중단된것같다.
  5. 크로뮴 또는 크로미움이라고도 부른다.
  6. XBMC가 이름이 바뀐 건데 이름만 바뀌고, 똑같은 프로그램이다.
랜덤