이번 스마트플레이스의
소스코드 무단복제 논의에서 가장 안타까웠던 부분이 있습니다. 바로 자바스크립트 코드에 대한 저작권 부분입니다. 웹 디자인의 경우 저작권이 있는 그림의 일부라도 사용하면 저작권에 위배된다는 것을 모두 알고 있습니다. 그러나 자바스크립트는 많은 개발자들의 관행, 습관처럼 참고하고, 복제하여 사용해 왔기 때문에 저작권에 대한 인식이 부족하였다는 점입니다.
덧글을 통해 많은 분들께서 CC 라이선스와 오픈소스에 대한 의견을 남겨주셨습니다. 또한 자바스크립트의 저작권에 대해서는 무료라는 의견과 저작권이 있다는 상반된 의견도 주셨습니다. 이번 글에서는 오픈소스 저작권과 CC 라이선스에 대해 정리하고, 많은 분들이 오해하고 있는 부분을 짚어볼까 합니다. 더불어 국내 현실에 맞는 저작권 적용의 대안을 생각해 보도록 하겠습니다.
오픈소스와 CC 라이선스
오픈소스(Open Source)라는 용어는 이제 아주 익숙한 일반명사가 되었습니다. 하지만 자바스크립트처럼 누구나 소스코드를 확인할 수 있다고 오픈소스라고 할까요? 그렇지는 않습니다.
 |
|
|
| |
오픈소스란 단순한 소스공개에만 국한되지 않고 소스코드를 누구나 자유롭게 사용, 개작, 재배포할 수 있도록 허용한 소프트웨어를 말합니다. 오픈소스에서 제공하는 소스코드란 사람이 읽을 수 있는 형식의 프로그램 코드를 의미하며, 프로그래머가 개작이 용이한 형태이어야 합니다. 고의로 복잡하고 혼란스럽게 만들어놓거나 바이너리 코드와 같은 결과물은 이에 해당하지 않습니다.
- 정보통신부와 한국소프트웨어진흥원이 공동 발행한 공개SW가이드 중 |
|
| |
|
 |
오픈소스는 “소스코드의 사용, 개작, 재배포가 자유로운 소프트웨어”를 의미하는 것입니다. 이와 반대로 이러한 권리가 제한되면 오픈소스가 아닌 클로즈 소프트웨어라 이야기합니다. 그렇기 때문에 인터넷에 소스가 올라와 있는 경우라 할지라도 앞에서 열거한 “자유로운 소스코드의 사용, 개작, 재배포”의 조건을 만족하지 않으면 오픈소스라고 정의할 수 없습니다.
그럼 무료로 사용할 수 있는 소프트웨어를 오픈소스라 이야기 할 수 있을까요? 무료로 사용할 수 있는 경우라도 앞의 조건을 만족하지 않으면 오픈소스라 볼 수는 없습니다. 이는 오픈소스를 상용 소프트웨어의 반대의 개념으로 혼동하고 있기 때문에 생기는 오해입니다. 무조건 “오픈소스 = 무료 소프트웨어”는 아니며, 오픈소스도 상용으로 배포할 수 있는 것입니다.
오픈소스 운동이 확산되면서 많은 라이선스가 제안되었으며 OSI(
Open Source Initiative)에서는 GPL(General Public License), BSD와 같은 50여 개 정도의 라이선스가 인증되어 있습니다. 그렇기 때문에 오픈소스일지라도 각각의 라이선스가 모두 다르고, 이를 사용하고자 할 때에는 해당 라이선스에 대한 확인 과정이 필요한 것입니다. 보다 자세한 정보는
OSI와
KLDP에서 확인할 수 있습니다.
이처럼 오픈소스의 경우에도 라이선스가 모두 다르게 부여되어 있는 것을 확인할 수 있습니다. 마찬가지로 이번 논의의 중심이 된 자바스크립트도 인터넷을 통해서 코드의 확인은 가능하지만 각각의 라이선스는 모두 다르게 부여되어 있는 것입니다.
오픈소스와 GPL과 같은 라이선스가 소프트웨어에 초점이 맞춰있다면 CC(Creative Commons) 라이선스는 보다 넓은 분야에 사용할 수 있는 일종의 이용약관으로 볼 수 있습니다. Creative Commons Korea에서 소개하는
CC 라이선스 정의는 다음과 같습니다.
 |
|
|
| |
저작권법 제42조에 의하면 저작재산권자는 다른 사람에게 그 저작물의 이용을 허락할 수 있고, 이용허락을 받은 자는 "허락 받은 이용방법 및 조건의 범위 안에서" 저작물을 이용할 수 있습니다.
보통 그러한 이용허락은 당사자간의 개별적인 계약을 통하여 이루어지는데, 이와 달리 실제 많이 쓰일 것으로 예상되는 '이용방법 및 조건'들을 골라내어 이를 적절히 조합한 다음 몇 가지 유형의 표준 라이센스를 마련함으로써, 저작자는 그 중 원하는 라이센스를 선택하여 저작물에 첨부하고 이용자는 첨부된 라이센스를 확인 후 저작물을 이용함으로써 당사자 사이에 개별적인 접촉 없이도 그 라이센스 내용대로 이용허락의 법률관계가 발생하도록 하는 시스템입니다.
- Creative Commons Korea |
|
| |
|
 |
국내의 경우 실제 운영되는 라이선스는 저작자표시, 비영리, 변경금지 및 동일조건허락을 조합하여 총 6개의 라이선스가 운용되고 있습니다. CC 라이선스는 오픈소스보다는 보다 탄력적인 라이선스 적용이 가능하기 때문에 향후 다양한 저작물에 적용될 것으로 생각합니다. 보다 자세한 정보는
CCK에서 확인할 수 있습니다.
오픈소스와 CC 라이선스도 법의 보호를 받습니다.
오픈소스 기반의 소프트웨어도 라이선스 위반으로 소송을 당하는 경우가 있습니다. 최근 애플의 아이폰에 대한 상표권 침해를 제소한 시스코도 자사의
아이폰(iPhone)이 GPL을위반하였다는 비난을 받고 있습니다. 이는 단지 외국의 문제로만 볼 수 없습니다. 국내 업체들도 이런 문제에 봉착하여
소송을 당하는 경우가 종종 발생하였습니다.
CC 라이선스도 마찬가지입니다. 비록 네덜란드의 사례이지만 Flickr 서비스에 있던
CC 라이선스가 적용된 사진을 무단으로 잡지에 사용한것이 문제가 되어 소송으로 이어진 사례가 있습니다. 해당 법원은 배상 판결을 내렸으며, 이는 CC 라이선스의 법적 구속력을 보여준 사례로 볼 수 있습니다.
자바스크립트의 라이선스는 어떻게 되나?
우선 이번 논의의 중심이 되었던 자바스크립트 문제를 다루기 이전에 외국의 자바스크립트라이선스 표기 사례를 먼저 살펴보겠습니다.
1) Yahoo UI Library
Yahoo는 사용자 UI 제작에 사용할 수 있는 다양한 자바스크립트 코드를
Yahoo UI Library를 통해 제공하고 있습니다. Yahoo UI Library는 현재 BSD 라이선스를 따르고 있기 때문에 누구나 가져와서 변경할 수 있고, 이에 대한 소스공개는 하지 않아도 무방합니다. 이를 명확하게 전달하기 위해 Yahoo는 서비스 페이지의 메뉴를 통해 자바스크립트에 대한
라이선스를 안내하고 있습니다.
2) Google
Google은 자사 서비스를 통해 여러 가지 오픈소스 프로젝트를 소개하고 있습니다. 이들 오픈소스 프로젝트 중에는 Google 서비스와 관련된 클라이언트 라이브러리들도 있습니다. 이들 자바스크립트들도 일반 사용자들을 위해 라이선스를 안내하고 있습니다. 예를 들어
AdWords API Client Library의 스크립트는 BSD 라이선스로 제공하고 있고,
Google mMAIM은 LGPL 라이선스로 제공하고 있습니다. 이들 또한 서비스 페이지에서 라이선스를 명확하게 표기하고 있는 사례입니다.
3) Microsoft
Microsoft 홈페이지에서는 필요한 경우 다음과 같이 자바스크립트 파일의 주석문을 이용하여 명시적으로 라이선스를 표기하고 있습니다.

이와 같은 사례에서 알 수 있듯이 대외적으로 배포하는 자바스크립트에 대해서는 보다 명확하게 라이선스를 안내하는 것을 확인할 수 있습니다. 더불어 자사 서비스의 경우라도 필요한 경우 자바스크립트 코드의 주석 등을 활용하여 저작권을 명시하고 있었습니다.
그렇다면 이전 포스트에서 문제가 된 자바스크립트의 라이선스는 어떻게 해석해야 할까요? 온라인상에서 확인할 수 있다고 무조건 복제해서 사용해도 무방할까요? 그렇지는 않습니다. 이전에 소개한 것처럼
프로그램심의조정위원회에서도 자바스크립트를 저작권의 보호 대상임을 밝히고 있습니다.
자바스크립트 코드를 인터넷상에서 확인할 수 있다고 하여 오픈소스라고 생각하는 분들이 있습니다. 앞서 이야기한 것처럼 인터넷을 통해 자바스크립트의 소스코드를 확인할 수 있다고 해서 무조건 오픈소스라고 볼 수 없고, 또한 무조건 무료라고 볼 수도 없습니다.
이번에 논란이 된
CodeProject의 자바스크립트 소스는 CC 라이선스를 따르고 있습니다. CC 라이선스 중 “저작자표시”만 규정하고 있기 때문에, 개인과 기업에 상관없이 원 저작자만 표시한다면 어떤 조건으로도 사용할 수 있었던 소스인 것입니다. 즉 인터넷을 통해 소스코드를 확인할 수 있고, 무료로 사용할 수 있는 저작물이지만 정당한 사용을 위해서는 “저작자표시”라는 규정된 라이선스를 준수해야만 했던 것입니다.
자바스크립트 저작권에 대한 새로운 인식이 필요합니다.
AJAX, RIA와 같은 기술이 더 주목 받을수록 자바스크립트는 더 많은 곳에서 사용될 것입니다. 많은 자바스크립트 라이브러리들이 소개되고, 개발자들에 의해 새롭게 만들어지고 있습니다. 필요에 따라서 자바스크립트 코드를 인코딩하여 암호화된 형태로 제공하기도 하지만 대부분의 경우에는 인터넷을 통해 쉽게 확인할 수 있는 형태로 제공합니다.
어떤 제공방식을 취하든 인터넷을 통해 코드 확인이 가능한 자바스크립트의 특성상 마음만 먹으면 누구나 그 내용을 참고하고, 복제할 수 있습니다. 그렇다면 지금처럼 아무런 제약 없이 방치해야 할까요? 저희 스마트플레이스에서는 다음을 제안해 봅니다.
1) 자바스크립트도 저작물입니다.
웹 디자인의 경우 저작권이 있는 그림의 일부라도 사용하면 저작권법에 위배됩니다. 그러나 지금까지 자바스크립트는 많은 개발자들의 관행, 습관처럼 참고하고, 복제하여 사용해 왔습니다. 웹2.0의 블로그와 UCC가 주목을 받으면서 개인 저작물의 중요성에 대한 인식은 높아져가고 있습니다. 이런 관점에서 본다면 자바스크립트도 개발자의 노력이 들어간 저작물입니다. 무심코 지나쳐왔던 부분이지만 이제는 인식의 전환이 필요하다고 생각합니다. 바로 자바스크립트도 하나의 저작물로 인정해야 하는 것입니다.
2) 라이선스 표기를 습관화합시다.
직접 제작하는 자바스크립트 코드에 대해서는 JS 파일 또는 HTML 파일에 한 줄 정도의 라이선스를 표기하는 습관을 가져봅시다. CC 라이선스를 이용한다면 아주 탄력적인 라이선스 정의가 가능합니다. 저작자와 참고하는 사람 모두가 이를 따른다면 라이선스에 대한 문제는 발생하지 않을 것입니다. 설령 경쟁업체라고 하더라도 라이선스에 맞게 떳떳하게 사용할 수 있습니다. 이런 표기는 또 하나의 프로그래밍 에티켓이 될 수 있다고 생각합니다.
만일 좀 더 강력한 저작권이 필요하다면 CC 라이센스가 아니라, 오픈소스의 다양한 라이선스를 적용할 수도 있을 것입니다. 서비스에 맞는 유연성과 중요한 자산을 보호할 수 있는 시작이 바로 라이선스 표기인 것입니다.
오픈소스를 참고하였거나, 다른 사이트를 참조하여 개작하는 경우라도 라이선스를 표기합니다. 오픈소스야 당연히 원본의 라이선스를 따르면 되는 것이고, 라이선스에 대한 정의가 없는 다른 사이트의 경우에는 원본 사이트의 출처 URL만 간단히 밝혀주면 어떨까요?
라이선스를 표기하자는 것이 다른 사용자들의 이용을 금지하자는 뜻은 아닙니다. 자기에게 적합한 라이선스를 표기하는 것은 다른 개발자들을 잠재적인 저작권 위반으로부터 보호할 수 있는 것의 시작임을 인식해야 합니다. 만일 다른 개발자의 코드를 복제하더라도 이렇게 정의된 원본 코드의 라이선스만 준수한다면 아주 떳떳하게 사용할 수 있는 것입니다.
3) 서비스 사이트부터 시작해 봅시다.
대형 포털 사이트나 서비스 사이트부터 라이선스 표기를 시작해 봅시다. 라이선스를 위한 주석문을 JS 파일 또는 HTML 파일에 작성한다고 하여 서비스의 성능에는 큰 영향을 주지 않습니다. 만일 성능의 문제가 고려된다면 별도 메뉴를 통해 안내할 수 있습니다. 이렇게 된다면 설령 경쟁업체의 코드를 복제하더라도 라이선스가 허락하는 범위라면 아무런 문제가 없을 것입니다.
회사에서 정책적으로 이를 시작한다는 것은 쉽지 않습니다. 그렇지만 멀리 내다본다면 개발자들의 저작권에 대한 인식은 향상될 것입니다.
라이선스가 개발단계에서 명확히 표기되었다면 향후 저작권 문제가 발생할 때에도 자신의 권익을 보호받을 수 있습니다. 더불어 이를 참조하는 다른 개발자들도 해당 서비스의 라이선스에 대해 명확하게 인지할 수 있습니다. 만일 아무런 저작권 표기 없이 방치한다면 우리 스스로 권익을 포기하는 것이라 생각합니다.
자신이 정성껏 작성한 블로그의 글 하나라도 무단 도용되면 억울하고, 기분이 상합니다. 더 나아가 법적인 문제로까지 번질 수 있습니다. 자신의 코드가 다른 사람들에게 무단 도용되지 않고, 다른 개발자와 업체에게 도움이 될 수 있다면 얼마나 좋겠습니까?
스크립트 코드 자체의 복제가 나쁜 것이 아닙니다. 생산성 향상을 위해 충분히 참고하고, 복제할 수 있습니다. 그러나 다른 개발자들의 노력과 저작권을 무시하는 참고와 복제는 분명 문제의 소지가 있습니다. 지금까지 무심코 지나쳐왔던 스크립트의 저작권에 대해 다시 한번 생각해보고, 자바스크립트 코드에도 라이선스 표기를 습관화 해보면 어떨까요?