Jakie są konsekwencje przekształcenia oprogramowania typu open source w oprogramowanie typu open source?


16

Jeśli firma weźmie licencjonowaną aplikację open source, a następnie opracuje aplikację zamkniętą, przerabiając rozległe części aplikacji, dodając nowe funkcje i stosując poprawki błędów ...

Ignorowanie wymagań licencji ...

  • Jak przebiega przejście i co można zrobić, aby nie dopuścić do wybrania licencji różnicowej?
  • Jakie są (etyczne lub społeczne) obowiązki firmy? (Na przykład: oddanie się projektowi typu open source byłoby etyczne)
  • Jeśli zarówno wersja open source, jak i wersja zamknięta są dostępne, jak konkurencja wpływa na którykolwiek z produktów?

Czy są jakieś przykłady firm lub produktów, które zrobiły to (z powodzeniem lub bez powodzenia) w przeszłości? Jakie było podejście społeczności do tych projektów?


2
Myślę, że reflektor .NET może być całkiem dobrym tego przykładem.
l46kok

2
@ l46kok Cofnąłem głos za komentarzem, ponieważ Reflector nigdy nie był open source, tylko darmowy jak w piwie.
Mark Hurd

Odpowiedzi:


14

Należy zauważyć, że ten scenariusz może mieć miejsce zarówno w formie prawnej, jak i nielegalnej.

Może to nastąpić zgodnie z prawem, jeśli firma jest właścicielem lub ma dostęp do praw autorskich związanych z kodem. Na przykład mniejsze, niezależne zespoły programistów mogą chcieć sprzedać lub licencjonować swoje prawa autorskie większej firmie. Podobnie, jeśli większość praw autorskich do kodu można uzyskać, część „nieosiągalna” może być po prostu wyrzucona i przepisana.

Po drugiej stronie monety kod można po prostu pobrać nielegalnie. New Corp, Inc. może nie dbać o konsekwencje prawne. Projekt może być za stary lub zarzucony albo New Corp uważa, że ​​wygra w procesie sądowym. Lub New Corp może być zarejestrowany w obszarze, w którym tego rodzaju „przejęcie” po prostu nie jest zdefiniowane jako nielegalne. Nie wszystkie licencje OSS są możliwe do wyegzekwowania, szczególnie nie te, które zostały połączone przez nie-ekspertów w dziedzinie prawa. Nie wszyscy właściciele projektów mogą mieć możliwość egzekwowania swoich roszczeń dotyczących praw autorskich, a większe organizacje, takie jak FSF, mogą nie występować w tej jurysdykcji w związku z tym roszczeniem. TL; DR - ten obszar może szybko stać się mętny i brzydki.

Przejście i zapobieganie

Jak przebiega przejście i co można zrobić, aby nie dopuścić do wybrania licencji różnicowej?

Przeniesienie następuje, gdy New Corp, Inc. nabywa bazę kodu i umieszcza te kopie pod ich kontrolą. Deweloperzy Nowy Corp następnie rozpocząć pracy nad ich wersją tworzeniu kodu bazowego cokolwiek zmienia władcy korporacyjnych zarządził konieczne. Rzeczywista mechanika tego widelca będzie się różnić w zależności od repozytorium. I choć jest to filozoficznie ważna sprawa, w praktyce jest to naprawdę rozczarowujące. get allz OpenRepos, a następnie checkindo PrivateRepos.

Co można zrobić, aby zapobiec rozpowszechnianiu źródła? Nic. Przepraszam.

Jako przykładu użyjmy GPL (licencja publiczna GNU). GPL wymaga, aby źródło było dostępne dla każdego, kto otrzyma legalną kopię projektu. Nie ma przepisów, które pozwalają posiadaczowi źródła odmówić dostarczenia źródła prawowitemu posiadaczowi kopii aplikacji GPL. Jest to sprzeczne z zasadami Wolnego oprogramowania i dlatego obowiązuje copyleft GPL.

Potencjalnie masz do czynienia z faktycznymi prawnymi działaniami. Ale to wszystko po tym, jak źródło uciekło i zostało rozwidlone, nie wcześniej. W niektórych jurysdykcjach nie będziesz mieć możliwości skorzystania z pomocy prawnej. A wszystko to zakłada, że zdajesz sobie sprawę, że widelec miał miejsce. Możesz się nigdy nie dowiedzieć.

Etyka

Jakie są (etyczne lub społeczne) obowiązki firmy? (Na przykład: oddanie się projektowi typu open source byłoby etyczne)

Etyka ma charakter lokalny w kulturze. Więc odpuszczaj ten fragment tym ziarnem soli. Pełna dyskusja na temat kulturowego rozważania etyki wykracza poza zakres tej odpowiedzi i jest nie na temat dla programistów.

Zauważyłem, że społeczność programistyczna reaguje negatywnie na wrogie rozwidlenie. Heck, w niektórych przypadkach ta sama społeczność nadal negatywnie reaguje na przyjazny i legalny rozwidlenie. To dość złożona społeczność.

Z punktu widzenia FOSS oczekuje się, że New Corp „spłaci” społeczności za wniesiony przez nią wkład. Warunki i czas trwania tej spłaty są tak różne, jak liczba istniejących projektów OSS. Niektórzy członkowie społeczności (sądzą, że Richard Stallman) nigdy nie będą zadowoleni z zamknięcia otwartego projektu. Inni będą szukać korzyści dla całej społeczności i na tej podstawie ocenią. A inni po prostu nie będą się tym przejmować, ponieważ nigdy nie wiedzieli o projekcie pochodzenia ani nie dbali o niego.

Dostępność źródła

Jeśli zarówno wersja open source, jak i wersja zamknięta są dostępne, jak konkurencja wpływa na którykolwiek z produktów?

To naprawdę zależy od tego, jak porównywalne są dwie podstawy kodu pod względem funkcjonalności, wydajności i stabilności.

Jeśli podstawy kodu pozostają podobne, a New Corp jest przyjazny społeczności OSS, mogą wnieść swoje aktualizacje z powrotem do projektu podstawowego. W tym przypadku wszyscy korzystają. W tym przypadku nie jest to „konkurencja”, ale raczej wzajemnie korzystna współpraca.

Jeśli podstawy kodu gwałtownie się różnią, a New Corp nie jest przyjazny dla społeczności OSS, nadal nie ma konkurencji. Im bardziej bogaty w funkcje produkt przetrwa, a mniej bogaty produkt zwykle umiera. Pamiętaj, że może to pójść w obie strony - wersja zamknięta może umrzeć, jeśli wersja open source będzie nadal wprowadzać innowacje lub lepiej spełniać potrzeby społeczności.

Rzeczywistość będzie gdzieś pomiędzy tymi dwoma końcami spektrum.

Przykład

Red Hat ma dwie główne dystrybucje - Enterprise Linux i Fedora. EL jest ich „zamkniętą” licencjonowaną wersją, a Fedora jest ich wydaniem społecznościowym. Ze względu na GPL wiele, jeśli nie całość, edycji EL jest wydawana w formie źródłowej. Inny projekt niezwiązany z Red Hat o nazwie CentOS przejmuje zmiany w EL i dystrybuuje ten projekt po niewielkiej zmianie marki.

Były pewne narzekania, gdy Red Hat rozwidlił się na dwie oddzielne edycje, ale ogólnie rzecz biorąc, była to całkiem realna umowa. Społeczność Fedory chciała, aby funkcje pojawiły się w dystrybucji szybciej niż klienci firmy Red Hat czuli się komfortowo. Ulepszenia baz kodu przepływają w obu kierunkach.


1
@GlenH7 Dobra odpowiedź obejmująca kwestie techniczne i prawne :)
hagubear

1
nie zapominaj, że można przejąć bazę kodu i nie być świadomym linku do jakiejś biblioteki open source, która jest ukryta głęboko w kilku milionach wierszy kodu, setkach poms, plików mrówek, plików mak itp. itp., szczególnie jeśli to link pośredni. Tak się zdarzyło i bardzo się spieszyliśmy, odcinając uszkodzony kod i zastępując go czymś, co moglibyśmy rozpowszechniać.
jwenting

4

Zakładając, że wszystko jest legalne i nie do zniesienia, i że mówimy o produkcie, który ma koszerną licencję open source przed rozpoczęciem procesu:

Jak przebiega przejście ...

Zasadniczo firma wprowadza nową wersję oprogramowania z licencją typu non-open source.

i co można zrobić, aby temu zapobiec poza wyborem licencji różnicowej?

Ogólnie nic. Jedynym przypadkiem, w którym można temu zapobiec (lub opóźnić), jest posiadanie wielu właścicieli praw autorskich, a niektórzy z nich sprzeciwiają się ponownym licencjonowaniu. Ale jeśli firma mówi poważnie, może zdecydować o rozwiązaniu tego problemu poprzez przepisanie odpowiednich części bazy kodu itp.

Próba zastosowania „presji moralnej” przed faktem prawdopodobnie nie zadziała. Firma prawdopodobnie zrobi tego rodzaju rzeczy bez uprzedniego powiadomienia.

To powiedziawszy, istnieją przykłady, w których próby „wycofania” oprogramowania typu open source przyniosły odwrotny skutek, gdy firma to robi. Rozważmy przypadki OpenOffice, Hudson i MySQL, w których działania Oracle doprowadziły do ​​rozwidlenia, masowego exodusu społeczności programistów i (w przypadku OO i MySQL) coraz bardziej rozpowszechniają oryginalny produkt na korzyść rozwidlenia (LibreOffice i MariaDB ).

Jakie są (etyczne lub społeczne) obowiązki firmy?

Mówiąc szczerze (i nieco cynicznie), nie ma znaczenia, jakie wy i my uważamy za etyczne i społeczne obowiązki firmy.

Z prawnego punktu widzenia wyłącznymi obowiązkami dyrektorów i dyrektorów spółki są 1) maksymalizacja wartości dla akcjonariuszy / właścicieli oraz 2) zapewnienie przestrzegania prawa. Można argumentować, że jako ludzie ci ludzie mają obowiązki społeczne i etyczne, ale ... niestety ... wielu z nich się nie zgodzi.

Ale tak czy inaczej, etyczne i społeczne obowiązki są istotne tylko w sensie praktycznym, jeśli firma i jej funkcjonariusze wezmą ich na pokład i traktują poważnie.

Jeśli zarówno wersja open source, jak i wersja zamknięta są dostępne, jak konkurencja wpływa na którykolwiek z produktów?

Nie sądzę, że istnieje na to odpowiedź. To zależy od okoliczności.


Czy są jakieś przykłady firm lub produktów, które zrobiły to (z powodzeniem lub bez powodzenia) w przeszłości? Jakie było podejście społeczności do tych projektów?

Tak, są przykłady. Tylko Google dla frazy „idzie do zamkniętego źródła” i zastosuj filtr bogactwa. Czytanie haseł (pozornych) da ci poczucie postawy społeczności, a jeśli będziesz dalej badać produkty / firmy, możesz zdecydować, czy odniosły sukces, czy nie. (Nie zamierzam tego dla ciebie robić, ponieważ „sukces” to osąd wartości.)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.