메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

IT/모바일

"오픈 소스(Open Source)"의 진정한 의미

한빛미디어

|

2002-06-19

|

by HANBIT

9,705

저자: 스티브 몰릿(Steve Mallett), 역 전순재

최근에 나는 정말 놀라운 사실 하나를 깨달았다. 아직도 오픈 소스가 진정으로 무엇을 뜻하는지 모르는 사람들이 많았기 때문이다(사실 분명히 모르는 사람이 많겠지만…). 나는 정말 놀랐다. 사람들이 오픈 소스에 대해 토론하고, 글을 쓰고, 서로 격렬하게 논쟁이 불타오르는 상황에서 있을 수 없는 일처럼 보이지만 말이다.

내가 여기에서 말한 사람들이란 프로그래머, 시스템 관리자, 사용자를 의미하며, 특히 내 생각에 오픈 소스가 무엇인지 정도는 알 것이라고 생각되는 사람들을 뜻한다. 그럼에도 불구하고 아직까지 많은 사람들이 그 의미를 정확히 알지 못한다. 마치 자기 자신만의 정의를 만들고 있는 것과 같다. 책을 읽을 때 "그리고"라는 단어를 정확히 읽는다고 해서 그 의미까지도 정확히 이해할 수 있는 것은 아니다. 그 단어를 건너 뛰더라도 나머지 문장에서 앞뒤 문맥으로 전체적인 취지를 짐작할 수 있다. 반대로 전체적인 취지를 안다고 생각해도 사전에서 찾아 보지 않는 한, 확신 할 수는 없다.

브루스 페렌스(Bruce Perens)는 http://www.opensource.org/docs/definition.html에서 오픈 소스와 오픈 소스의 권리를 자세하게 써놓았다.

오픈 소스에 대해 사람들이 저지르는 가장 흔한 오류는 "만약 소스 코드를 배포하면 그 프로그램은 오픈 소스이며 어떻게 해서든 코드가 오픈 소스라면 제약을 가할 수 있다."는 것이다.

첫 번째 오해는 다음과 같다. "그래서 내가 소스 코드를 배포하면 그 프로그램은 오픈 소스인가?" 대답은 아니오이다. 물론 소스 코드 공개가 오픈 소스의 가장 중요한 특징이기는 하지만 그것이 전부가 아니기 때문이다. 그 코드로 작업을 할 수 있고 할 수 없다는 것은 그 소스에 접근하는 것만큼 중요하다. 만약 사람들이 새로운 모질라 소스 코드를 내려 받을 수 있지만 그것을 변경할 수 없고 원하는 대로 건드려 보고 실험할 수 없다면 그 코드는 진화할 수 없을 것이다.

두 번째 오해는 그 코드를 보는 사람들을 어떻게든 제한할 수 있다는 것이다. 누구에게나 접근을 허용하지 않으면서 그것을 오픈 소스라고 부른다면 그 코드를 재배포 할 수 없다. 다시 말해, 누구라도 그 프로그램을 특정 영역의 노력에 사용하는 것을 제한해서는 안된다. 그 소프트웨어를 배포하면서 반드시 소스 코드를 포함해야 하고, 여러분이 부여한 권리를 제한해서도 안된다.

이런 맥락에서 사람들은 이렇게 묻는다. 그래서, 내 코드를 오픈 소스로 배포할 수 있지만 그것을 상업적으로 사용하는 것은 제한할 수 있지? 또다시 대답은 아니오이다. 나는 이런 질문을 많이 받는다. 이런 질문의 의도는 특정 소프트웨어 회사에 대한 사람들의 불신에서 나온다고 생각한다. 그들의 불신을 이해는 하지만 이러한 종류의 제한을 가하는 것은 절대로 오픈 소스도 자유 소프트웨어도 아니다.
"이 정의의 의도는 가능한 한 다투지 않고 자유롭게 프로그램을 개발하고 사용하고 받아들여져서 더 좋은 소프트웨어를 확보하기 위한 것이다."
잠시동안 이렇게 생각해 보자. 모든 사람들이 마다하지 않는 소프트웨어를 만든 그 회사가 존재하지 않았다고 가정해 보자. 상업적인 이용을 제한하는 것이 여전히 의미가 있을까? 진정으로 생각해 보면 전혀 의미가 없다. 제발 나의 ISP가 리눅스나 *BSD를 사용해 주기를 간절히 원했을 것이다. 여러분은 어떤가? 가장 좋은 코드를 얻기 위해 잠재적으로 도와줄 능력이 있는 다른 사람들을 따돌린다던가 제한하는 것은 말도 안되는 일이다. 대부분의 사람들이 프로그램을 상업적으로 사용하면 그 프로그램이 사용료를 요구하게 될지도 모른다고 주장하기 때문에 상업성에 제한을 두고 싶어한다. 어쩌다가 그냥 사용하도록 내버려 둔다고 해도, 다른 사람들의 사용과 비교해 볼 때 그들의 사용 범위를 제한하고 있는 것이 되기 때문이다. 어떤 사람들은 상업적으로 자신의 코드가 절대로 사용되지 않기를 바란다. 이것은 오픈 소스가 아니다.

꼭 명심해야 할 한가지는 이 정의의 목적이 가능한 한 다투지 않고 자유롭게 프로그램을 개발하고 사용하고 받아들여져서 더 좋은 소프트웨어를 확보하는데 있다는 것이다. 더 좋은 프로그램을 확보한다는 목적을 제쳐 두고, 개인적 이익이나 사람들 사이의 분쟁을 조정하는데 목적이 있는 것이 아니다. 프로그램을 오픈 소스로 하기로 결정했다면 다른 사람들의 이익과 자신의 코드를 위하여 그렇게 하고 있는 것이다. 물론 더 좋은 코드를 확보하면 여러분 역시 더 행복하겠지만 말이다.

다른 오해들도 있지만 여기에서 다룬 오해가 가장 널리 퍼져있고 더 좋은 소프트웨어에 대한 기대에 잠재적으로 큰 피해를 입힐 것으로 생각되기 때문에 이 기사를 쓴 것이다.

또 한번 강조하는데 오픈 소스 정의를 다시 살펴보기 바란다. 정의는http://www.opensource.org/docs/definition.html에 나와 있다.

스티브 몰릿(Steve Mallett)Open Source Directory의 창설자이자 관리 편집자이다. opensource.org의 웹마스터로 자원봉사를 하고있다. 어떤 주제에 대해서라도 언제나 자신의 마음을 바꿀 권리가 있다는 것을 주장하고 있으며 자신도 실제로 그렇게 행동한다.
TAG :
댓글 입력
자료실

최근 본 책0