Czy mogę legalnie i etycznie podjąć projekt open source z wkładem społeczności do zamkniętego źródła? [Zamknięte]

17

Powiedzmy, że rozpoczynam i rozwijam jakiś projekt na licencji open source i akceptuję niektóre wkłady społeczności. Jak chwiejny jest grunt, na którym stoję, jeśli zdecyduję się wziąć projekt komercyjny i zamknięty (lub split)?

To pytanie nie dotyczy bezpośrednio projektu z udziałem społeczności, który wydaje się być innym terytorium, przynajmniej jeśli chodzi o etykę. Z prawnego punktu widzenia może to również być niepewne, ponieważ nie jestem pewien, czy wkłady podlegają mojemu prawu autorskiemu, czy też współtwórca posiada prawa autorskie do części projektu, którą dodał.

Czy jestem bezpieczny (etycznie i prawnie), o ile jestem z góry przekonany, że mogę wziąć projekt komercyjny w przyszłości?

Chris Bye
źródło
5
W dużej mierze zależy od rodzaju licencji projektu - jeśli jest to licencja GPL, utkniesz.
JohnL,
Pamiętaj, aby poprzedzać każdą odpowiedź IANAL
zzzzBov,
1
Etycznie czy moralnie ? Lub oba? (-:
hippietrail
2
Możesz uniknąć dużego bólu, decydując, które części projektu będą Twoim „sekretnym sosem”, a które nie, a następnie rozwijając ten drugi open source i pozostawiając je w ten sposób. To zmniejsza obciążenie pracą i pozwala zachować tajemnice dla siebie.
Nathan Long,
Nie sądzę, że możesz zmienić projekt na podstawie licencji, taki jak BSD, po uzyskaniu licencji. Możesz także uzyskać licencję na innej licencji, ale projekt będzie również posiadał licencję BSD.
Pieter B

Odpowiedzi:

22

Ogólnie rzecz biorąc, autorzy społeczności zachowaliby swoje prawa autorskie do kodu, który wnieśli do projektu. Licencjonują ci wkład, kiedy przekazują kod. Jeśli chcesz zachować możliwość zmiany warunków licencji w przyszłości, zazwyczaj potrzebujesz współautorów, aby przypisali ci swoje prawa autorskie (osobiście lub przez podmiot prawny, który utworzysz, aby był właścicielem praw autorskich do tego projektu) lub zmienione warunki będą wymagać w celu zachowania zgodności z nowymi warunkami licencji. Oczywiście, jeśli potrzebujesz tego rodzaju dokumentacji związanej z prawami autorskimi, zanim będziesz mógł zaakceptować wkład ze strony społeczności, jest znacznie mniej prawdopodobne, że społeczność zdecyduje się wnieść swój wkład i będziesz musiał wykonać sporo pracy, uzyskując formy prawne w celu przed zaakceptowaniem każdego wkładu. Plus, istnieje duża szansa, że ​​Twój projekt zostanie rozwidlony, jeśli i kiedy zdecydujesz się zmienić warunki licencji. Wydaje mi się mało prawdopodobne, aby w tych okolicznościach nowy projekt open source miał wiele wkładu ze strony społeczności.

Zasadniczo byłoby łatwiej, gdyby początkowo licencjonować produkt na podstawie podzielonych warunków licencyjnych lub jeśli początkowe warunki licencyjne były zgodne z przyszłym produktem zamkniętym. Na przykład kod objęty licencją BSD można w dowolnym momencie włączyć do produktu komercyjnego, więc jeśli projekt i wkład są objęte licencją BSD, można łatwo wydać komercyjną wersję tego samego produktu. Zamiar (lub opcja) stworzenia produktu komercyjnego prawdopodobnie zmniejszy zainteresowanie wniesieniem wkładu do projektu - większość programistów open source nie jest zainteresowana wnoszeniem nieopłaconych wkładów do produktu komercyjnego.

Oczywiście, podobnie jak w przypadku innych kwestii prawnych, przed podjęciem ostatecznych działań należy porozmawiać z prawnikiem, zamiast polegać na postach na forum. Prawie na pewno będziesz chciał, aby prawnik sporządził dokument cesji praw autorskich, który musisz podpisać, i będziesz musiał omówić z nim swoje plany na przyszłość, aby upewnić się, że wszystko jest skonfigurowane poprawnie.

Justin Cave
źródło
Zachowanie praw autorskich przez współtwórcę wydaje się wówczas problematyczne, nawet przy czymś takim jak dzielone licencjonowanie. Współtwórcy mogą potencjalnie zdecydować, że nie chcą już zezwalać mi na wykorzystanie ich wkładu komercyjnego (lub w ogóle, jak sądzę). Czy jestem nieuzasadniony w tym wniosku?
Chris Bye,
5
@ChrisBye - gdy współautor wnosi kod, daje ci licencję na używanie go zgodnie z warunkami licencji projektu. Tak jak nie możesz z mocą wsteczną uniemożliwić osobom korzystającym z otwartej wersji Twojego produktu, autorzy nie mogą uniemożliwić Ci korzystania z ich treści na warunkach, które pierwotnie im przekazali. Wprowadzanie kolejnych zmian warunków licencji powoduje problemy, ponieważ musisz wrócić i uzyskać zgodę wszystkich. Dotyczy to nawet czegoś stosunkowo niewielkiego, jak przejście z GPL v2 na GPL v3.
Justin Cave,
To sprawia, że ​​DUŻO jest bardziej sensowne. (Mam zamiar podążyć za linią „powinno być nowe pytanie”) To sugeruje mi, że gdybym miał oferować split-licence od samego początku (jak zasugerowano w komentarzach do odpowiedzi Simona) prawdopodobnie musiałbym sobie poradzić cesja praw autorskich.
Chris Bye,
2
@ChrisBye - Oferowanie podzielonej licencji od samego początku jest o wiele łatwiejszą propozycją z prawnego punktu widzenia - znacznie trudniej jest zmienić warunki licencji w przyszłości, niż określić warunki licencji, które ostatecznie chcesz początkowo. Oczywiście oznacza to również, że trudniej będzie przyciągnąć wkład społeczności, ponieważ większość współpracowników o otwartym kodzie źródłowym nie jest interesująca w nieodpłatnym wkładaniu produktu komercyjnego.
Justin Cave,
16

Jeśli projekt jest licencjonowany na podstawie jednej z bardziej liberalnych licencji (BSD, MIT, Boost lub Apache to te, o których wiem, że na to pozwalają), to zgodnie z prawem możesz rozpowszechniać kod obiektowy i nie musisz wprowadzać żadnych modyfikacji, które wprowadziłeś kod źródłowy z powrotem do społeczności. Możesz także licencjonować prace pochodne na innej licencji. Pamiętaj, że nadal musisz dołączyć tekst licencji zgodnie z wymogami licencji.

To, czy jest to etyczne, czy nie, jest czymś dość kontrowersyjnym. Wydaje mi się, że jeśli programista licencjonuje swój kod na jednej z tych bardziej liberalnych licencji, to chce, aby oprogramowanie było używane zarówno w projektach open source, jak i komercyjnych. Jeśli nie chcą komercyjnego wykorzystania swojego kodu, powinni uzyskać licencję na GPLv3.

Cromulent
źródło
Właśnie dlatego, IMO, silny copyleft, taki jak GPL, jest lepszy niż hipis, jak chcesz, BSD, MIT i inni;)
Andres F.,
1
Nawet jeśli projekt ma niedozwoloną licencję, może być możliwe zamknięcie go, jeśli współautorzy przekazali ci prawa autorskie. Niektóre projekty open source wymagają od autorów przypisania praw autorskich, chociaż zazwyczaj robią to, że mogą zmieniać z jednej licencji na drugą (np. Po aktualizacji GPL)
MarkJ
4
@AndresF. niekoniecznie ... jeśli stos TCPIP nie miałby licencji na kod BSD, Microsoft nie użyłby go w Windows NT i wszyscy korzystalibyśmy teraz z MSNetwork :( Nie pisz o korzyściach z licencji BSD tylko dlatego, że ktoś może na tym zarabiać. Lubię myśleć, że licencja BSD jest najlepsza dla bibliotek, które chcesz stać się standardem, a licencja GPL na produkty.
gbjbaanb
7

Wszelkie wkłady wniesione przeze mnie do twojego projektu pozostają moim prawem autorskim, chyba że przydzielę je innej osobie. Bycie właścicielem praw autorskich oznacza, że ​​mogę zdecydować, na jakiej licencji dostępna jest moja praca.

Zatem licencjonowanie jest powiązanym, ale odrębnym zagadnieniem. Jeśli przyczynię się do twojego projektu, powinienem wyrazić zgodę na wydanie mojej pracy na podstawie licencji projektu (lub być może zgodnej).

Wiele licencji typu open source nie pozwala na późniejsze zamknięcie źródła pochodnego, ale niektóre na to pozwalają. Jeśli dobrze rozumiem, żaden nie pozwoli ci zamknąć bieżącej (otwartej) bazy kodu, więc jest to również coś, co należy rozważyć.

Musisz albo zacząć od licencji, która pozwoli Ci zamknąć przyszły rozwój, albo mieć umowę w tej sprawie ze wszystkimi współpracownikami. Najlepiej porozmawiaj z tym prawnikiem przed wniesieniem znacznego wkładu i bądź bardzo szczery, jeśli chodzi o to, co próbujesz zrobić.

Szymon
źródło
Tymczasowe -1. Twoja odpowiedź jest myląca. Wnosząc wkład do projektu, poddajesz się warunkom jego licencji obejmującej. Czy sugerujesz inaczej?
Craige
1
@Craige Rozumiem, że własność praw autorskich i licencjonowanie to osobne problemy
jk.
@Craige, nie, nie sugeruję tego, ale dokonam edycji, aby wyjaśnić. Związane z prawami autorskimi i licencjami, ale nie takie same.
simon
+1 i -1 do @Craige, z całym szacunkiem. jk ma rację tutaj, a ty się mylisz
MarkJ
1
@Chris, projekty z podziałem licencji, które widziałem, działały poprzez przypisanie praw autorskich. Jeśli posiadam pełne prawa autorskie do projektu, mogę zaoferować je na dowolnej liczbie licencji.
simon
4

Jeśli chcesz zmienić licencję swojego projektu albo poprosiłeś wszystkich autorów o podpisanie „umowy o współautorach”, albo musisz poprosić o pozwolenie każdego z autorów.

co jest dość trudne i powód, dla którego jądro Linuksa jest nadal w wersji gpl v2

sufrostico
źródło
0

Większość projektów systemów operacyjnych wydaje się mieć dołączone do nich ramię komercyjne, podobnie jak wersja Enterprise. Zasadniczo oferują one umowy SLA, wsparcie itp. Myślę, że jeśli projekt jest open source, zasadniczo nie można go po prostu zamknąć. Być może będziesz w stanie stworzyć przyszłe wersje zamkniętego źródła i zmienić ich nazwę, lub dodać dodatki jako zamknięte źródło, ale rzeczywiste projekty, o ile rozumiem, muszą pozostać otwarte. Myślę, że przedsiębiorstwo jest lepszym rozwiązaniem, wciąż zyskujesz korzyści typu open source i możesz generować przychody.
Z ciekawości dlaczego chcesz zamknąć źródło swojego projektu?

użytkownik60812
źródło
0

Z prawnego punktu widzenia, jeśli użyjesz licencji wystarczająco otwartej, aby każdy zaangażowany mógł wziąć ją w celach komercyjnych, wyobrażam sobie (nie będąc prawnikiem), że ty też możesz to zrobić.

Etycznie miałbyś silniejszy obowiązek. Będziesz musiał być bardzo otwarty i jasno określić swoje intencje zarówno na początku, jak i w czasie, gdy zmieniają się twoje plany.

psr
źródło
0

Możesz także chcieć przyjąć model podobny do Redhata. Budowanie wtyczek o zamkniętym źródle, ale pozostawianie rdzenia o otwartym źródle. Może to również prowadzić do lepszych innowacji, ponieważ nadal otrzymasz wsparcie społeczności dla produktu, który może przynieść korzyści społeczności open source. Oferowanie szkoleń, konsultacji i wsparcia może również osłodzić ofertę.

Sedaition
źródło