Czy mogę tworzyć oprogramowanie z zamkniętym kodem źródłowym z kodem open source?

19

Korzystałem z popularnego pakietu muzycznego (Ableton Live), kiedy otworzyłem prawną część pliku pomocy i zobaczyłem, że program zawiera licencje na kod, które wydawały się zarówno wolne, jak i wolne, jak i piwo. Niestety nie mogę znaleźć kopii online, ale w razie potrzeby mogę wyświetlić listę licencjonowanych pakietów.

O ile widzę, istnieją tutaj 3 możliwości:

  1. Dość duża firma narusza licencjonowanie kodu - bardzo mało prawdopodobne, jeśli tak, to dlaczego mieliby dołączyć tekst licencji?

  2. Z jakiegoś powodu uzasadnione jest pobieranie pieniędzy i zamykanie źródła pakietu zawierającego kod opensource - to zdecydowanie dla mnie nowość.

  3. Coś źle rozumiem - wysoce prawdopodobne.

jamesson
źródło
Facebook zrobił ...
Dynamiczny
1
Bez żartów - co?
jamesson
Miałem na myśli, że Facebook jest napisany na oprogramowaniu open source.
Dynamiczny
Które projekty
jamesson,
# 2 w rzeczywistości wydaje się, że istnieją dwie różne możliwości - możesz sprzedawać oprogramowanie typu open source (nawet GPL) i możesz rozdawać darmowe oprogramowanie typu open source. Ładowanie pieniędzy i zamykanie źródła to dwie różne rzeczy.

Odpowiedzi:

34

To zależy od tego, która licencja.

Istnieją pewne licencje wolnego oprogramowania, które zostały zaprojektowane specjalnie w celu uniemożliwienia ludziom robienia takich rzeczy, takich jak GNU GPL. Są one nazywane licencjami „wirusowymi”, ponieważ ich warunki licencyjne rozciągają się na dowolny kod, którego używasz, co uniemożliwia korzystanie z biblioteki GPL w programie innym niż GPL (lub zgodnym).

Inne licencje dotyczą bardziej swobodnego udostępniania kodu niż propagowania określonej ideologii. Gdzieś w środku spektrum masz MPL (Mozilla Public License), która nie jest wirusowa i może być używana w projektach zastrzeżonych, ale warunki licencji wymagają, aby sam kod MPL pozostawał objęty MPL i że wszelkie modyfikacje (takie jak poprawki, poprawki błędów, porty itp.) wprowadzone w kodzie MPL muszą być publikowane swobodnie. Chodzi o to, że „otrzymujesz ten kod za darmo, więc jeśli go ulepszysz, powinieneś przekazać swoje ulepszenia społeczności jako zapłatę”.

Na drugim końcu spektrum znajdują się całkowicie otwarte licencje, takie jak licencje BSD, MIT i Zlib. Mówią w zasadzie „ten kod jest bezpłatny dla każdego, kto chce go używać”. (Oczywiście z kilkoma ograniczeniami, ale tak naprawdę nie ma ich wiele.) Ludzie korzystający z tych licencji wolą używać swojego kodu o najwyższym priorytecie.

Dlatego nie wszystkie licencje wolnego oprogramowania są sobie równe. Spójrz na używane tutaj licencje i jakie są ich warunki, a uzyskasz lepszy pomysł, czy programista je przestrzega, wykorzystując je w zastrzeżonym projekcie.

Istnieje również czwarta możliwość: „dość duża firma” mogła licencjonować produkt na innych warunkach. Licencja na oprogramowanie ma na celu ograniczenie użytkowników oprogramowania, a nie twórcy oprogramowania, i nie jest niczym niezwykłym, że ktoś wypuszcza bibliotekę typu open source na zasadach GPL, a następnie sprzedaje licencje komercyjne osobom, które chcą używać go w zastrzeżonym projekcie, bez konieczności „zainfekowania” ich bazy kodu przez licencję wirusową.

Mason Wheeler
źródło
Spot on. Podział dotyczy wolnego oprogramowania i otwartego oprogramowania. Bezpłatnie jak w wolności = GPL. Otwarty (ala „wolny jak w piwie”) = BSD / Mozilla. Zobacz za darmo kontra za darmo .
Filip
3
@Philip. Całkowicie źle. Wszystkie wymienione licencje (GPL, BSD, MPL) są bezpłatne („wolne jak w wolności”). Wszystkie mają również efekt uboczny polegający na tym, że oprogramowanie jest swobodnie dostępne („bezpłatne jak w piwie”). Jednak GPL jest copyleft , podczas gdy BSD jest dopuszczalna . (Myślę, że MPL jest gdzieś pośrodku.)
TRiG
1
@TRiG Twój ostatni wiersz jest poprawny, jednak argumentacja Stallmana jest taka, że ​​GPL jest „wolna jak w wolności”, tj. „Libre”. Odpowiedź z ruchu open source polegała na tym, że nie chcieli licencji wirusowych. Chcieli „za darmo jak w piwie”. Ok, przykład: jeśli BSD jest „darmowy”, to dlaczego OSX Apple'a, który został zbudowany z BSD, jest teraz zastrzeżony? Nie wydaje mi się to zbyt „wyzwolone”. BSD było oprogramowaniem typu open source, które wziął Apple, zablokował je (własna licencja) i nazwał je własnym. Mogli to zrobić, ponieważ BSD było bezpłatne jak w piwie. Zdobyć? Link lepiej wyjaśnia.
Philip,
1
@Philip. Nie, to dlatego, że BSD było darmową i darmową wersją, podczas gdy GPL jest darmową i copyleft. Darmowe piwo nie ma z tym nic wspólnego, to po prostu nieunikniony efekt uboczny darmowego libre (zwykle).
TRiG
Powiedziałbym, że kod jest widoczny, koszt wynosi zero, a licencja jest dopuszczalna. Zapomnij o otwartych piwach.
jiggunjer
2

Oświadczenie : Nie jestem prawnikiem. Na podstawie współpracy z prawnikami w przeszłości twórcy oprogramowania odgadują cel dokumentów prawnych i ich działanie, podczas gdy prawnicy (1) czytają to, co jest napisane, i (2) używają prawnych, a nie wspólnych definicji słów. Bądź ostrożny.

Jak powiedział Mason, zależy to od licencji używanej przez oprogramowanie typu open source. Istnieje wiele popularnych typów licencji. Większość zezwala innym użytkownikom na korzystanie z ich kodu, o ile chronią one autora i obejmują uznanie autorstwa (takie jak zawartość licencji w pliku pomocy lub okno dialogowe Informacje). Bardziej restrykcyjne licencje mogą wymagać dalszych zmian, są również open source (takie jak GPL).

Wiele firm korzysta z komponentów open source jako części oprogramowania o zamkniętym oprogramowaniu. Tak długo, jak oprogramowanie z zamkniętym źródłem jest zgodne z warunkami licencji, tak jak w przypadku komponentów komercyjnych, jest użyteczne.

Jeśli chcesz samodzielnie korzystać z tych komponentów, musisz również rozważyć inne kwestie. Na przykład w stwierdzeniu „Czy mogę tworzyć oprogramowanie z zamkniętym kodem źródłowym z kodem open source?” Zależy to od tego, co należy rozumieć przez „z”. Czy pakiet używa skompilowanych bibliotek? Czy używa bezpośrednio kodu źródłowego? Czy modyfikuje kod źródłowy czy dołącza go do twojego? Każda forma modyfikacji lub mieszania kodu jest znacznie trudniejsza z punktu widzenia prawa lub licencji.

Ponadto, czy kod jest dystrybuowany do klientów (np. Uruchamiany na ich serwerach, komputerach stacjonarnych lub telefonach komórkowych), czy też jest używany na serwerze w chmurze? Oprogramowanie rozpowszechniające może być ograniczone lub ograniczone. Mogą obowiązywać również inne przepisy poza licencją na oprogramowanie, takie jak ograniczenia eksportowe w USA (choć myślę, że teraz wychodzę poza to pytanie).

akton
źródło