Czy możesz zmienić licencję po jej wybraniu?

47

Pracuję nad produktem, który nie wydaje mi się gotowy, ale mam grupę użytkowników, którzy są bardzo zainteresowani użyciem go jako testera „alfa”. Chciałbym teraz dać im ten produkt za darmo jako testery „alfa”, ale chciałbym później licencjonować oprogramowanie.

czy to możliwe? Czy ktoś może skierować mnie do jakichkolwiek linków / książek / artykułów / etc?

Dzięki.

EDYCJA: Z powodu braku jasności i odpowiedzi na pytanie, pomyślałem, że powinienem dodać to stwierdzenie.

Nie zdecydowałem jeszcze, czy zamierzam zamykać ten projekt, czy go otworzyć. Baza użytkowników, którzy chcą się tym zająć, zaskoczyła mnie trochę i martwiłem się, jakie są moje możliwości, jeśli chodzi o to, że mogę im je teraz udostępnić jako open source, a później zmienić na open source, lub nawet odwrotnie.

Dziękujemy wszystkim, którzy odpowiedzieli i skomentowali. Doceniam spostrzeżenia.

Adam
źródło
Otwarte czy zamknięte źródło?
Szybko_ teraz,
6
Jeśli podasz komuś produkt, który robisz za darmo, nie oznacza to, że wszystkie kopie lub redystrybucje tego produktu muszą być bezpłatne.
ProdigySim

Odpowiedzi:

41

Jeśli posiadasz cały kod, możesz go ponownie wydać na dowolnej licencji.

Problem pojawia się, gdy ktoś wniósł poprawki do projektu. Zwykle zdarza się, że są właścicielami tego kodu i wnieśli go na podstawie bieżącej licencji na oprogramowanie. (Powinieneś mieć jakąś umowę o współautorach, która to obejmuje.) Dlatego, aby ponownie ją licencjonować, będziesz potrzebował ich zgody. W zależności od tego, w jaki sposób możesz wnieść swój wkład, może to być trudne. Aby to sprawdzić, spójrz na zmianę licencji OpenStreetMap i jak długo to trwa.

Ale IANAL, wyłączenie odpowiedzialności itp.

A co ludzie zrobią ze zmiany licencji to inna sprawa, jak komentuje inna odpowiedź.

EDYCJA: Odpowiedziałem na to, ponieważ dotyczy produktów open source. Ale ponownie czytając pytanie, widzę, że nie jest jasne, czy jest to zamknięte źródło, czy otwarte.

Jeśli mówisz o 2 zamkniętych licencjach źródłowych, to proste: jeśli posiadasz cały kod, możesz go ponownie wydać na dowolnej licencji. Po prostu stwórz komercyjną licencję zamkniętego źródła w wersji alfa, wszystkie zwykłe warunki (bez kopiowania itp.), Za jedyną cenę zero.

James
źródło
Dość powszechną strategią jest posiadanie wersji komercyjnej z najnowszymi funkcjami i aktualizacjami, a po pewnym czasie migracja do bezpłatnej wersji open source. Na przykład robią to Alfresco i Magento.
Victor Nicollet,
Problem polega oczywiście na tym, aby udowodnił (!), Że jego kod jest używany w zamkniętej aplikacji źródłowej. Co będzie trudniejsze do udowodnienia niż do obalenia.
Rook
@victor Tak ... lub otwórz podstawową wersję i zamkniętą wersję komercyjną z dodatkowymi funkcjami dla przedsiębiorstw. Jak działają te strategie, to kolejne pytanie. Umowy o wsparciu dla takich programów mogą być bardziej skomplikowane i mogą zniechęcać autorów Open Source :-) @Rook Ok, odpowiedziałem na to pytanie, jakbym przechodził między licencjami open source. Jeśli pojawił się problem z przejściem z licencji otwartej na zamkniętą, odkryłbyś, że deweloper open source, który podejrzewa, że ​​ich praca została skradziona, będzie miał wiele osób i organizacji po swojej stronie i ogólnie chcesz uniknąć powstałego flamewaru.
James
2
To, co robimy, to umowa podpisana przez współtwórców, która przyznaje wspólne prawa autorskie (więc zarówno nasza korporacja, jak i współtwórca są właścicielami kodu). W ten sposób nadal mamy możliwość ponownej licencji, ale nadal mają wszystkie prawa, które mieli. W ten sam sposób działa SharpDevelop.
Scott Whitlock,
@scott Yup, patrz na przykład sugarforge.org/content/community/participate/ ... Przejmują wszelkie prawa i dają licencję na korzystanie z Twojego kodu. Mówiąc jako programista, który pracuje nad projektem open source powiązanym z biznesem, rozumiem, dlaczego takie rzeczy są konieczne, ale nadal długo i intensywnie zastanawiałem się, czy chcę wnieść wkład w takie projekty :-)
James
15

Jest to podchwytliwe pytanie, które zależy od tego, jak wyjątkowe jest to oprogramowanie i od tego, czy oczekujesz, że ludzie z zewnątrz będą mogli wnieść znaczący wkład.

Jeśli ludzie wyślą ci tylko trywialne zmiany w twoim oprogramowaniu , to ty (jako oryginalny autor) pozostaniesz jedyną osobą, która będzie posiadała prawa autorskie do oprogramowania, i jako taka możesz je zamknąć w dowolnym momencie . Pamiętaj jednak, że jeśli wypuściłeś wcześniejszą wersję oprogramowania na standardowej licencji typu open source, to każdy będzie mógł rozwidlić twoje oprogramowanie z tak starej kopii, a zatem istnieje prawdopodobieństwo, że zawsze będziesz mieć oprogramowanie typu open source konkurenta do własnego oprogramowania. Dokładnie tak się stało z Tatu Ylonen, oryginalnym autorem SSH, który od tego czasu jest założycielem i CTO ssh.com, nie mając wiele wspólnego z OpenBSD i OpenSSH, mimo że dystrybuują pliki z jego prawami autorskimi. (Chociaż główny powszechnie znany żal Tatu Ylonen nie jest związany z prawami autorskimi, ale raczej, że stracił znaki „ssh” i „bezpieczną powłokę” do ogólnego użytku, tracąc swoje znaki handlowe.)

A co, jeśli ludzie wyślą ci znaczące zmiany w twoim oprogramowaniu , które byłyby objęte prawem autorskim i które chciałbyś zintegrować z twoim drzewem źródłowym? Możesz zawrzeć jedną z tych umów prawnych, na mocy których autorzy przekażą Ci swoje prawa autorskie, a zatem zgodnie z prawem nadal będziesz jedynym „autorem” oprogramowania. Pochodzę z obozu FreeBSD / OpenBSD i naszym zdaniem przypisanie praw autorskich jest ogólnie uważane za zły gust. FSF jest bardzo niesławny z powodu przypisywania praw autorskich do większości swoich programów; NetBSD ma to jako opcję dla swoich członków (co pozwoliło Fundacji NetBSD na usunięcie dwóch klauzul z ich licencjiwe wszystkich plikach, w których żadna z osób nie rościła sobie prawa autorskiego do); wiele firm handlowych ma różnego rodzaju umowy z podmiotami, które wykonują wszelkiego rodzaju zlecenia. Gdzie stoi Linus Torvalds? Linus również nie lubi umów współtwórców i, jak można się domyślać, jądro Lunux nie ma żadnych, oprócz samego GPLv2.

A co, jeśli zaakceptujesz zmiany w drzewie bez praw autorskich ? Tutaj zaczyna się twój oryginalny wybór licencji. Jeśli wybierzesz GPL, a więc współtwórcy będą licencjonować ci również swój własny kod w ramach GPL, wtedy utkniesz z GPL i zawsze będziesz musiał wydać kod źródłowy na dowolny kolejny produkt komercyjny (ale tak też będzie twoich konkurentów). Jeśli wybierzesz licencję BSD / ISC / OpenBSD , możesz zamknąć źródło, aby w dowolnym momencie dodać dodatkowe płatne funkcje, bez konieczności zwalniania jakichkolwiek zmian źródłowych (ale dajesz to samo prawo konkurentom ).

Oczywiście, jeśli lata później zdecydujesz, że z perspektywy czasu chciałbyś, aby twoje oprogramowanie było objęte inną licencją, zawsze możesz spróbować skontaktować się ze wszystkimi dotychczasowymi współpracownikami, aby ponownie licencjonować ich zmiany w ramach nowej licencji. To bardzo bolesny i długi projekt - a jeśli nie można się z kimś skontaktować? Mozilla i VLC przeprowadzały takie ponowne licencjonowanie w przeszłości; z pewnością musieli cieszyć się korzyściami płynącymi z nowej licencji, ale wątpię, by podobało im się to przez lata.

W każdym razie, bez względu na to, czy zdecydujesz się na GPL czy BSD, posiadanie wersji oprogramowania typu open source zawsze przyniosłoby wiele korzyści, co udowodniło wiele udanych firm komercyjnych, które koncentrują się na pisaniu i wydawaniu oprogramowania typu open source.

cnst
źródło
2

Twoje pytanie jest trochę niejasne. Licencja zazwyczaj nie kontroluje, czy rozdajesz coś bez żadnych kosztów. Licencja dotyczy rzeczy takich jak własność kodu, dystrybucja, gwarancja i przydatność do użytku itp.

Czy zamierzasz podać im kod źródłowy? Jeśli tak, to czy zamierzasz umożliwić im wydawanie własnych produktów? Następnie potrzebujesz licencji na kod źródłowy.

Jeśli po prostu dajesz im plik binarny i nie chcesz za to pobierać opłat, możesz po prostu wymyślić licencję bez zabezpieczenia, która obejmuje tyłek pod względem gwarancji i odpowiedzialności. Podaj swoje prawa autorskie, powiedz, że można je rozpowszechniać tylko zgodnie z ustaleniami.

Każda wersja wydawanego produktu podlega własnej licencji, a jeśli jesteś jedynym programistą, możesz wybrać dowolną licencję w dowolnym momencie i zmienić ją w dowolnym momencie.

Erik Funkenbusch
źródło
Doceniam twoją odpowiedź. Przypuszczam, że brak jasności jest w pewnym sensie częścią pytania. Wydaje mi się, że prosiłem o sprawdzenie, jakie mam opcje, jeśli chciałbym pozwolić im mieć to teraz ze źródłem, a później zdecydować o zamknięciu (po okresie alfa) lub nawet odwrotnie.
Adam
Po prostu nie dołączaj żadnej licencji. Następnie będą mieli prawo do modyfikacji lub redystrybucji.
David Schwartz,
1

Cóż, osobiście uważam, że dobrze, że myślisz o licencjonowaniu na tym etapie.

Z punktu widzenia konsumenta nie sądzę, że powinieneś zmieniać licencje po wybraniu jednej. Nie oznacza to, że nie możesz (Movable Type to jeden z godnych uwagi przykładów), ale ryzykujesz wyparciem bazy użytkowników (Movable Type to jeden z godnych uwagi przykładów).

Michael
źródło
0

Tak, możesz dostarczyć im ograniczoną czasowo wersję, która przestanie działać w określonym momencie.

W razie potrzeby zawsze możesz wydać nową wersję z przedłużonym terminem ważności.

Dopóki nie będziesz gotowy z ostateczną wersją.


źródło
Jednak tak naprawdę nie jest to rozwiązanie problemu z licencją (tj. Prawną licencją, na podstawie której oprogramowanie jest udostępniane ogółowi społeczeństwa).
Timo Geusch
Nie zrozumiałem tego w pytaniu. Zapytał, czy może później pobierać opłaty za oprogramowanie. Tak przetłumaczyłem pytanie.
2
Myślę, że twoje rozumienie pytania jest w porządku. Sposobem na rozwiązanie problemu „licencji” we wczesnych wersjach jest zgranie go. Nie ma w tym nic złego, co powstrzymuje stare wersje przed użyciem (i wymaganiem wsparcia) w przyszłości. Możesz mieć także wszystkie fajne legalne rzeczy, ale PRAKTYCZNY sposób na stwierdzenie, że „jest wcześnie i nie będzie trwać wiecznie” jest również dobrą rzeczą.
Szybko_ teraz,
1
+1 Ale oczywiście musisz poinformować użytkowników o tym ograniczeniu - nie chcą one uruchamiać aplikacji tylko po to, aby otrzymać powiadomienie, że jest ona martwa.
Kirk Broadhurst,
@KirkBroadhurst może nie być martwy, po prostu nieobsługiwany, więc sam musisz zachować wszelkie zmiany / poprawki błędów. Ale tak, jasne jest to ważne.
icc97