Zasadniczo istnieją dwa rodzaje licencji FOSS, gdy odnoszą się one do komercyjnego wykorzystania kodu - powiedzmy typ GPL i typ BSD. Pierwszy z nich zasadniczo ogranicza się do komercyjnego wykorzystania (przez użycie mam również na myśli modyfikację i redystrybucję, a także tworzenie dzieł pochodnych itp.) Kodu na licencji, a drugi jest znacznie bardziej liberalny.
Jak rozumiem, ideą licencji typu GPL jest zachęcenie ludzi do porzucenia zastrzeżonego modelu oprogramowania i zamiany na kod FOSS, a licencja jest instrumentem, który zachęca ich do tego - tj. „Możesz użyć tego fajnego oprogramowania , ale tylko jeśli zgodzisz się przyjść do naszego obozu i grać zgodnie z naszymi zasadami ".
Chcę zapytać - czy ta strategia była jak dotąd skuteczna? Tzn. Czy są jakieś ważne osiągnięcia w postaci jakiegoś dużego projektu przechodzącego od zamkniętego do otwartego z powodu GPL lub jakiegoś oprogramowania tworzonego w otwartym tylko dlatego, że GPL tak to zrobiło? Jak duży jest wpływ tej strategii - w porównaniu, powiedzmy, ze światem, w którym każdy miałby licencje typu BSD lub wydałby cały kod open source w domenie publicznej?
Zauważ, że nie pytam, czy model FOSS jest udany - nie ma wątpliwości. Pytam, czy konkretny sposób zachęcania ludzi do przejścia z własności na FOSS używany przez licencję typu GPL i nieużywany w licencjach typu BSD był udany. Nie pytam też o zalety samej GPL jako licencji - tylko o fakt jej skuteczności.
Odpowiedzi:
Po pierwsze, w pytaniu tkwi nieodłączna subiektywność - nie ma sposobu, aby się upewnić, a historię można interpretować w dowolny sposób. To stara debata i jedna z kluczowych kwestii w debacie open source vs. wolne oprogramowanie. Musisz także zdefiniować, co masz na myśli, osiągając jego cele. Trudno argumentować, że GPL i FSF nie przyczyniły się do tego, aby Open Source stał się znaczącym ruchem ostatnich 2-3 dekad. Jednak nie osiągnął swoich celów, aby cały kod był wolnym oprogramowaniem.
Wzorem oprogramowania GPL jest oczywiście Linux i wszystko, co pochodzi z FSF (gcc itp.). Co ciekawe, w przypadku systemu Linux GPL nie została wybrana ze względu na swoje stanowisko polityczne, ale ze względu na ideę wzajemności, jak wielokrotnie stwierdził Linus Torvald. Daję ci mój kod, ale musisz mi dać swój w zamian, jeśli używasz mojego.
Jeśli chodzi o samego linuxa, myślę, że GPL była bardzo cenna - ostatnim przykładem jest BTRFS, nowy fs opracowany w Oracle. Główny autor BTRFS stwierdził, że jedynym powodem, dla którego Oracle zgodziła się na korzystanie z GPL, jest to, że nie miała wyboru. Większe pytanie dotyczy tego, czy sam linux odniósł sukces z powodu GPL, czy pomimo. Różne czynniki, takie jak niewiarygodne przywództwo Linusa, problemy z prawami autorskimi do projektu * BSD w tym czasie itp. ... uniemożliwiają udowodnienie / obalenie hipotezy.
W przypadku gcc Stallman kilkakrotnie pisał, dlaczego GPL uratowała projekt przed „propietaryzacją”.
źródło
Powiedziałbym, że nieograniczone licencje, takie jak licencje BSD, MIT i Apache, zrobiły znacznie więcej w celu promowania FOSS niż GPL.
Przykłady:
i wiele innych.
Większość firm jest zbyt ostrożna wobec GPL, aby zezwolić na kod GPL w dowolnym miejscu w pobliżu ich wysiłków programistycznych, chyba że sama firma faktycznie działa w ramach modelu GPL / usług o wartości dodanej.
źródło
GNU GPL odnosi sukcesy pomimo egzekwowania FLOSS, nie z tego powodu. Firmy w większości dobrowolnie przyczyniają się do wydawania kodu na licencji GPL i go publikują. Nie ma w nim istotnych algorytmów i bibliotek, które zmusiłyby komercyjnych programistów do deproprietaryzacji.
Apple stanowi dobry przykład. Zaadaptowali KHTML i rozszerzyli go do WebKit. I udostępnili kod z powrotem społeczności open source. Choć można przypuszczać, że dzieje się tak, ponieważ zostali zmuszeni przez LGPL, wydaje się to mało prawdopodobne. W przypadku Darwin i obszaru użytkownika BSD bardzo dobrowolnie publikują kod. Z LLVM rozpoczęli nawet nowy projekt FLOSS. Jednak oczywiście Apple pozostaje w dużej mierze zastrzeżonym dostawcą oprogramowania.
Android jest podobny. Oczywiście wsparcie sprzętowe odgrywa tutaj ważną rolę, ale Google mógł przyjąć bazę kodów BSD i zabrać ją na własność. Ale wybrali Linuxa. W ten sposób chętnie wnoszą wkład, nie dlatego, że nie było alternatywy innej niż GPL.
Openoffice to ciekawsza historia, ponieważ w pewnym momencie była rzeczywiście zastrzeżona. Ale znowu konwersja LGPL była dobrowolna, niepotrzebna. Licencja typu * GPL umożliwiła jednak w tym przypadku. Akademicka licencja typu BSD nie byłaby wystarczająca, aby firma Sun wydała Openoffice, ponieważ ktoś inny mógł wówczas opatentować kod. I pod tym względem GNU * GPL odnosi sukcesy.
Klauzula wzajemności / wirusów nie prowadzi bezpośrednio do większej liczby otwartych kodów. Ale dostawcy oprogramowania wykorzystują to na swoją korzyść, kiedy chcą, i dlatego przyczyniają się do puli FLOSS. Jednak większość dostawców robi to niechcianie. Widzę niewielką różnicę między licencjami typu BSD a licencjami typu GPL, jeśli chodzi o zachęcanie do większego wkładu kodu.
Podsumowując, GNU GPL odnosi sukcesy, ale także napędza licencje w stylu BSD / MIT tam, gdzie są one bardziej odpowiednie. Ale można również po prostu zmierzyć sukces w „ilości kodu”, który moim zdaniem jest rzeczywistą miarą FSF.
źródło
Patrząc na Manifest GNU , nie jest jasne, czy jednym z celów było przekonanie korporacji do wydania oprogramowania FOSS. Oto cytat:
Jeśli spojrzymy tylko na ten cel, to projekt GNU w dużej mierze się udało. Mamy system operacyjny GPL, pakiet biurowy, bazy danych i wiele innych aplikacji, które można dowolnie modyfikować i rozpowszechniać.
źródło
Myślę, że obie (licencje typu GPL i BSD) są ważne dla świata FOSS. Używanie GPL widzę w dwóch grupach. Jednym z nich jest grupa bardzo zaangażowanych zwolenników Open-Source. Wierzą, że możliwość ponownego przekształcenia Open-Source w pracę zastrzeżoną zaszkodzi światu OSS. Osobiście uważam, że to nie jest duży problem. PC-BSD (zastrzeżony wariant BSD) nie szkodzi społeczności BSD. Drugą grupą, która przyjmuje GPL, są duże firmy. Korzystają z licencji, aby zachować większą kontrolę nad produktem (na przykład w celu wsparcia modelu biznesowego). Konkurs będzie miał problemy z zarabianiem pieniędzy na innym oprogramowaniu licencjonowanym na licencji GPL. Dzięki temu firma może wyprzedzać konkurencję, jednocześnie zdobywając dobrą karmę na potrzeby Open-sourcingu.
źródło
Moja osobista perspektywa to indywidualny programista, od pewnego czasu nie zatrudniony z powodu niepełnosprawności i mający nadzieję (lub marzenie), że będę mógł zarabiać na życie dzięki jedynej cennej umiejętności, jaką posiadam.
GPL jest używana przez cały czas do projektów komercyjnych. Problemem jest to, co czasami określa się mianem „wirusowej”, co oznacza, że jeśli użyjesz jakiegoś kodu GPL w projekcie, prawdopodobnie potrzebujesz GPL całego kodu dla tego projektu. Niektórzy twierdzą, że wykluczono dynamiczne linkowanie. FAQ GPL twierdzi, że dynamiczne linkowanie do wtyczek jest zabronione ze względu na wspólne struktury danych - http://www.gnu.org/licenses/gpl-faq.html#GPLAndPlugins. Wydaje się to dziwne, ponieważ każda aplikacja Windows dynamicznie łączy się ze składnikami Windows i udostępnia struktury danych Windowsowi (aplikacja jest pod wieloma względami wtyczką systemu operacyjnego), ale istnieją aplikacje GPL dla systemu Windows, w tym wiele wydanych przez GNU. Może to oznacza, że ukrywanie wskaźników jako uchwytów i wykonywanie większości dostępów za pomocą funkcji nie jest liczone jako współdzielenie struktur danych, co byłoby luką, którą każdy specjalnie zaprojektowany interfejs API wtyczki lub dynamicznie połączona biblioteka mógłby prawdopodobnie wykorzystać, ale oczywiście indywidualny programista musi grać bezpiecznie przez takie problemy.
W każdym razie istnieją dobre powody „wirusowej” natury GPL, ale dla małego programisty, który desperacko potrzebuje zarabiać na życie, wygląda to podejrzanie jak oddawanie pracy za darmo. Nie wszyscy możemy zarabiać, pobierając opłaty za wsparcie lub skutecznie sprzedając podręczniki, ponieważ między innymi nie wszyscy mamy odpowiednie umiejętności. Ponadto, jeśli Twój produkt ma nieodpowiednią, bezpłatną instrukcję obsługi, rzeczywistą instrukcją prawdopodobnie będzie przepełnienie stosu lub Superuser lub cokolwiek innego - nie twoja płatna instrukcja. I to przy założeniu, że ktokolwiek w ogóle chce to zrozumieć.
Z tego punktu widzenia licencje w stylu BSD są bardzo atrakcyjne. Przyznaję, że hipokryzją jest wykorzystywanie innych prac o otwartym kodzie źródłowym, a jednocześnie utrzymywanie zamkniętych produktów, ale należy to równoważyć z innymi problemami.
OTOH, tak naprawdę nigdy nie wypuściłem niczego, otwartego ani zamkniętego - przynajmniej nie od czasu szeregu wtyczek, które w zasadzie upubliczniłem około dziesięć lat temu (a jak nauczyło mnie dodatkowe doświadczenie, nie były tak dobrze napisane ). Cała ta sprawa jest dla mnie akademicka, przynajmniej na razie.
Jednak za każdym razem, gdy patrzę na bibliotekę z licencją w stylu GPL, moją pierwszą myślą jest „jeśli uzależnię się od tego, ograniczę swoje opcje”.
źródło
Myślę, że kiedy ludzie myślą o GPL, myślą w ideałach GNU, w których oprogramowanie powinno być wolną myślą, aby pomysły zaczęły się rozprzestrzeniać i że duże firmy są złymi facetami, ponieważ nie pozwalają na to. Problem polega na tym, że sposób myślenia nie kupuje wielu programistów, ponieważ chcą po prostu kodować, mieć programy, a także własne życie, co niekoniecznie wiąże się z oprogramowaniem, zgodnie z tym poglądem BSD i inne licencje są znacznie bardziej atrakcyjne, w tym samym sensie, że Linus jest bardziej popularny niż Richard Stallman dla programistów, ponieważ pierwszy chce po prostu zrobić swoje (podobnie jak wielu z nas), a drugi chce zmienić cały świat. Tak więc ostatecznie GPL jest jak Michaił Gorbaczow, ktoś, kto rozpoczyna ewolucję, ale nie jest skazany na sukces.
źródło