본문 바로가기

Dev.../플밍 관련 자료

오픈소스를 상용 패키지에 접목하였을 경우에 참고사항

2013년 현시대는 오픈소스를 사용하여 상용 패키지를 개발할 수 밖에 없는 환경을 만나는 것은 어찌보면 당연할 것이다. 하지만, 소프트웨어 개발자로써 최소한 라이센스와 저작권문제에 대해서는 충분하게 고려하고, 이를 자신이 속한 기업이나 자신이 만들어지는 소프트웨어에 명시해야하는 것은 매우 당연한 것이다.

상용 소프트웨어를 만들경우에 Apache License, X-Consortium, BSD 또는 Reduced(Revised) BSD-style license, MIT/X, MIT-style license로 명시되어진 라이센스만 사용하는 것이 원칙이다. 특히나, closed-software를 만들경우에는 해당 라이센스만 사용하여야 한다.

물론, 사용되어진 라이브러리나 소프트웨어를 저작권에 명시해야하는 것은 매우 당연하다.

하지만, 이러한 라이센스는 매우 제한적이며, 대부분의 오픈소스의 경우에는 GPL에 해당하게된다. 이 라이센스와 결합하여 만들어지는 상용 소프트웨어들은 무조건 모든 소프트웨어의 소스를 공개해야한다. 이 점을 어기게 되면 중요한 GPL을 위반하는 것이라는 것을 잊으면 안된다.

개발자들이 착각하는 것은 GPL과 MIT나 Apache라이센스와 결합할 경우에 GPL에 해당한다는 것을 이해하지 못하는 경우를 조심해야한다. 그리고, GPL 기반의 소프트웨어들은 대부분 소스를 공개하지 않으면, GPL에 의해서 저작권법 위반에 대한 소송을 받을 수 있다.

또한, 오픈소스를 이용한 특허는 원칙적으로 금지되어있다는 점이다. 당연하겠지만, 보통 특허는 단순하게 소스 자체가 아니라 알고리즘인 경우와 아키텍처적인 구조적인 문제라는 것을 주의해야한다.

그러므로, 대부분의 자바기반의 경우에 라이센스를 중요하게 검토해야한다. 대표적으로 jQuery의 경우에는 어떻게 해당되는가에 대해서 확인해보면, MIT 라이센스에 해당되어진다. 그러므로, 상용 패키지에 사용하여도 무방하다. 이러한 MIT 라이센스를 기반으로 MS에서도 jQuery with Visual Studio가 출시되지만, jQuery의 원래 상태가 그대로 탑재되므로 jQuery는 MIT 라이센스를 그대로 유지하게 된다.

상용패키지를 개발하고자 하는 개발자라면 다시 한번 이야기하지만, Apache 라이센스, BSD, MIT라이센스 이외의 저작권은 사용할 수 없다는 것을 알아야 한다. 물론, 오픈 소스 진형에서 활동하고 싶다면, GPL을 기반으로 같이 호홉하는 세계로의 진입도 충분하게 고려할만하다는 것이다.