내 코드가 오픈 소스 라이센스로 나중에 제한됩니까?


29

유용한 라이브러리를 개발하고이를 공개 소스로 게시하기로 결정했다고 가정합니다. 얼마 후 저는 오픈 소스 라이센스를 준수하지 않는 작업을 수행해야합니다. 내가 할 수 있습니까?

소유권을 유지하고 향후 어떤 식 으로든 라이브러리를 사용하지 못하도록 소프트웨어를 어떻게 게시해야합니까?

적어도 이론 상으로는 다른 개발자가 내 오픈 소스 프로젝트에 참여하기로 결정할 수도 있습니다. 원래 개발자로서 자신의 기여도에 대한 소유권을 갖도록 라이센스를 지정할 수 있습니까? 내가 틀리게하지 말고, 악의적이지 않고 다른 사람의 일에 대한 소유권을 얻으려고 노력하고 있습니다-나는 단지 내 소유권을 유지하고 싶습니다. 누군가가 중요한 버그 수정을 게시하면 원래 코드를 사용할 수 없게됩니다. 나는 그의 작품도 사용합니다.


6
하나의 라이센스로 릴리스한다고해서 다른 라이센스에서도 릴리스 할 수있는 것은 아닙니다. 결국 코드를 ​​소유하고 있습니다. 소스 코드는 항상 이중 라이센스 (또는 3 회 이상)입니다.
자기주의 사항-이름을 생각하십시오.

답변:


44

귀하는 항상 오픈 소스 라이센스에 따라 소유권을 유지합니다. 귀하가 만든 저작물은 귀하의 재산이며, 다른 사람 이 오픈 소스 라이센스 조건에 따라 사용 하도록 허용하는 것을 포함하여 (법적 제한 내에서) 귀하가 원하는 모든 것을 할 수 있습니다 . 독점 프로젝트에 사용하려면 계약에 의해 다른 사람의 권한을 완전히 넘기지 않은 한 사용하는 것이 좋습니다. 그러나 이것은 오픈 소스 라이센스가하는 것이 아닙니다. 소유권을 포기하는 것이 아니라 유용성을 공유하는 것입니다.

다른 사람들이 기여하기 시작하면 약간의 스티커가 붙습니다. 그것은 당신의 일이 아니라 그들의 일이며, 당신은 그들의 허가를 받아야합니다. 할 수있는 한 가지는 이중 라이센스로 라이브러리를 게시하는 것입니다. 이것이 바로 SDL 의 주요 제작자이자 관리자 인 Sam Lantinga가하는 일 입니다. Apple은 iOS 용 동적 링크 라이브러리를 좋아하지 않고 정적으로 링크 된 앱에서 LGPL을 준수하는 것이 가치가있는 것보다 더 문제가되기 때문에 LGPL과 정적 iPhone 앱의 상업용 라이센스 모두에서 SDL을 발행합니다. 누구나 패치를 제출하면 두 라이센스 모두에서 라이브러리에 패치를 배포 할 수있는 권한을 명시 적으로 요청하고, 마음에 들지 않으면 코드베이스에 추가하지 않습니다.

편집 : 내 예는 더 이상 정확하지 않습니다. 얼마 전 샘은 모델을 바꾸었고 (이유는 확실하지 않다. 어쩌면 그는 관리에 어려움을 겪었을 수도있다) 이제는 매우 관대 한 zlib 스타일 라이센스로 SDL을 라이센스한다. 그러나 그는 이런 식으로 그것을 사용했습니다.


1
특히 다른 저자의 기여를 처리하는 방법을 보여주는 +1.
Frank Shearar

5

나는 변호사가 아니며 이것은 법률 자문이 아닙니다. 법적인 보증이 필요하면 변호사를 고용하십시오.

귀하는 소프트웨어를 이중 라이센스 할 수 있습니다. Trolltech은 Qt를 통해 수년 동안이를 수행했으며 Linden Lab은 SecondLife 클라이언트를 통해이를 수행했습니다.

원하는 라이센스를 사용할 수 있습니다. 일부 라이센스는 Mozilla MPL, MIT 및 BSD 라이센스 및 Sun의 CDDL 및 Apache 라이센스와 같은 폐쇄 된 상업용 환경과 호환됩니다.

그러나 오픈 소스 프로젝트 및 비공개 소스 제품으로 소프트웨어를 배포 할 수있는 유연성이 필요한 경우에는 원래 작성자로서이를 수행 할 수 있습니다. 유일한 문제는 사용자 기여 문제입니다. 다른 사람이 귀하 에게 저작권을 공개적으로 공개 하지 않는 한 귀하의 소프트웨어 버전을 귀하의 상용 버전에 포함시킬 수 없습니다 . GNU는 앞으로 라이센스를 업데이트 할 유일한 이유 때문에이 작업을 수행합니다.

사용자와 특히 기고자들은이 점을 좋아하지 않을 것이므로 프로젝트 주변 커뮤니티에 악영향을 줄 수 있습니다.

자세한 내용은 변호사에게 문의하십시오.


MIT, 일명 '원하는대로하세요'라이센스.
Evan Plaice

2

나도 변호사는 아니지만 ...

GPL과 같은 제한적 라이센스 (사용하는 각 프로젝트를 오픈 소스로 강제 할 것임) 라이센스 외에, Lesser GPL 또는 Apache License (2.0)와 같은 제한적이지 않은 (상업용 프로젝트에서 이러한 소프트웨어를 사용할 수 있음을 의미) ?). 따라서 비 제한적인 조건으로 소프트웨어를 간단히 출시 할 수 있습니다.


2
GPL은 코드 소유권을 변경하지 않습니다. GPL에 코드를 게시하면 코드를 사용하는 다른 사람에게 적용됩니다. 내가 좋아하는 권한이 있고 원하는대로 할 수 있습니다 (법이 거꾸로 작동하지는 않지만 소프트웨어를 사용한 사람들의 사용을 제한 할 수는 없습니다) GPL에서).
Maciej Piechotka

2
제한적으로 말하면 GPL은 라이브러리 사용자가 GPL 호환 라이센스로 소프트웨어를 공개하도록 강요하지만 L-GPL, Apache, ... (BSD?)와 같은 라이센스는 그렇지 않습니다. 이제 코드를 GPL로 수정하고 누군가가 변경 사항을 커밋하면 아무 일도 일어나지 않는 것처럼 단순히 코드를 공개 할 수 있습니다. 먼저 추가를 제거해야한다고 생각합니다 ... 그러나 라이브러리 / 프레임 워크에 L-GPL 라이센스가 있으면 다른 사람과 마찬가지로 상용 응용 프로그램에서 사용할 수 있습니다. 이해가 되길 바랍니다.
Paweł Dyda

이것은 내가 도서관을 쓸 때 내가하는 일입니다. 상용 라이브러리를 릴리스하는 것은 의미가 없습니다. 일반적으로 최종 사용자 응용 프로그램은 그런 방식으로 릴리스되며 제한되지 않은 라이센스 인 경우 프로젝트에서 라이브러리를 사용할 수 있습니다. 그리고 내가 쓴 사람이든 다른 사람이든 상관 없습니다.
Goran Jovic

@Goran 의 라이센스에 관계없이 자신의 프로젝트에서 라이브러리를 사용할 수 있습니다 . 도서관이자 프로젝트입니다. 라이센스는 귀하가 아닌 다른 사람에게 적용됩니다.
TRiG
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.