React Users Petycja Facebooka o ponowne udzielenie licencji React.js po tym, jak Apache Software Foundation zablokuje licencję BSD+Patents w zależnościach
Opublikowany: 2017-07-18
Apache Software Foundation wydała w weekend zawiadomienie wskazujące, że dodała licencję Facebooka BSD+Patents do swojej listy kategorii X niedozwolonych licencji dla członków Apache PMC. Jest to licencja, z której Facebook korzysta w większości swoich projektów open source.
Przedstawiciel zespołu Facebooka RocksDB skomentował post Fundacji Apache, aby poinformować, że projekt dotrzyma 31 sierpnia ostatecznego terminu na ponowne licencjonowanie, aby był zgodny z wymaganiami członków Apache PMC, a zmiana została wprowadzona dzisiaj:
Zespół RocksDB dostosowuje licencje w taki sposób, aby były one objęte podwójną licencją w ramach licencji Apache 2 i GPL 2 (w celu zapewnienia zgodności z MySQL). Powinno to nastąpić wkrótce i na długo przed 31 sierpnia. Zostawię historię i filozofię związaną z licencjonowaniem w spokoju, ponieważ generalnie jest to złożona dyskusja i nie jestem pewien, czy faktycznie zostało to w pełni uchwycone w tym wątku, szczególnie w kontekście intencji Facebooka.
Mam nadzieję, że dzisiejsze poranne wskazówki dla PMC można dostosować, ponieważ nie sądzę, aby ktokolwiek z nas postrzegał dodatkowe wysiłki inżynierskie jako pożądaną rzecz w projektach ASF, które już wykorzystują RocksDB
W świetle decyzji Komisji Prawnej ASF o odrzuceniu licencji BSD+Patents w projektach Apache, członek ASF Joan Touzet otworzył zgłoszenie w repozytorium React, wzywając Facebooka do rozważenia ponownej licencji React.js na Apache License v2.0 i GPL 2 :
Doprowadziło to do wielu niepokojów i frustracji w społeczności Apache, zwłaszcza ze strony projektów wymagających podobnie licencjonowanego kodu jako bezpośrednich zależności – głównym z nich jest RocksDB.
My (Apache Software Foundation) właśnie otrzymaliśmy informację, że RocksDB ponownie licencjonuje swój kod na podwójnej licencji Apache License v2.0 i GPL 2.
Jako użytkownik React.JS w projekcie najwyższego poziomu ASF (Apache CouchDB), rozważ ponowne licencjonowanie React.JS na podobnych warunkach. W przeciwnym razie wiele projektów ASF, takich jak nasz, będzie musiało przestać polegać i budować z React.
Chociaż ponowne licencjonowanie RocksDB rozwiązuje problem tego konkretnego projektu, zakaz ASF dotyczący licencji BSD+Patents Facebooka oznacza, że inne szeroko stosowane technologie Facebooka, w tym React.js, są nadal zakazane. Może to spowodować problemy w wielu projektach open source.
Harshavardhana z zespołu Minio skomentował petycję skierowaną do Facebooka o ponowne udzielenie licencji React.
„Nasz interfejs przeglądarki obiektowej pamięci masowej jest oparty na React i mamy licencję Apache 2.0” – powiedział. „Migracja byłaby niefortunna i czasochłonna, ale będziemy musieli to zrobić zamiast nowych informacji dotyczących niezgodności z Apache. Rozważ ponowną licencję React”.
Współtwórcy Om, interfejsu ClojureScript dla Reacta, dyskutują również, czy nowe wymagania ASF wpłyną na ich projekt. Greg Stein, wypowiadając się w imieniu ASF, wyjaśnił przyczyny decyzji organizacji o zakazie licencji BSD+Patents Facebooka:
Należy pamiętać, że ASF wybrał tę ścieżkę ze względów politycznych, a nie „niezgodności licencji”. Nie chcemy, aby dalsi użytkownicy kodu Apache byli zaskoczeni przyznaniem PATENTS, które (było) w RocksDB i (jest) w React. Użytkownicy powinni jedynie przestrzegać ALv2, bez dalszych ograniczeń.
Ta licencja może współpracować (IMO) i po prostu zapewniać użytkownikom dwa zestawy ograniczeń.
Stein powiedział, że to nie prawnicy ASF podjęli tę decyzję, ale raczej decyzja organizacji dotycząca „niedozwolenia łączenia licencji FB/BSD+Patent z oprogramowaniem, które Fundacja udostępnia użytkownikom”.
Facebook wewnętrznie omawia sprawę ponownego licencjonowania
Dan Abramov, współautor Redux, Create React App i React Hot Loader, dołączył do dyskusji na GitHubie dotyczącej ponownego licencjonowania, przedstawiając krótkie i niejednoznaczne podsumowanie tego, jak Facebook zajmuje się petycją o ponowną licencję.
„Aby dać ci małą aktualizację, przez około tydzień będzie więcej wewnętrznych dyskusji na ten temat” – powiedział Abramov. „To tyle, ile mogę powiedzieć. Nie byłbym zbyt optymistyczny jeśli chodzi o tę zmianę dla Reacta, ale zobaczymy. @daveman692 uprzejmie zgodził się dostarczyć aktualizację po zakończeniu tych dyskusji.”

Całkowite zrezygnowanie z przyznania patentu, co byłoby najwygodniejszym sposobem rozwiązania tego problemu w przypadku projektów open source, jest mało prawdopodobne. W swojej krótkiej historii React już dwukrotnie przechodził ponowne licencjonowanie. Pierwotnie był licencjonowany pod Apache 2.0, ale w październiku 2014 r. zmieniono to na licencję BSD plus przyznanie patentu, które zawierało bardzo kontrowersyjne postanowienie o rozwiązaniu. W kwietniu 2015 roku przyznanie patentu zostało nieznacznie zmienione, aby umożliwić licencjobiorcom dalsze korzystanie z oprogramowania w przypadku, gdyby pozew patentowy nie zawierał roszczenia wzajemnego przeciwko Facebookowi lub jego podmiotom stowarzyszonym w sprawie niezwiązanej z React.js.
Postanowienie o wypowiedzeniu umowy zawarte w licencji BSD+Patents na Facebooku nadal jest niepopularne i jest traktowane podejrzanie przez wielu opiekunów projektów open source. Kiedy projekt Drupal zaczął rozważać zastosowanie frameworka po stronie klienta, aby zastąpić Backbone.js, Dries Buytaert przekazał React w oparciu o to, co, jak powiedział, jest „potencjalnie niedopuszczalną klauzulą patentową”, powołując się na odpowiedź od współpracowników WordPress.com Calypso i React.
Projekt open source WordPress nie ogłosił formalnie swojej decyzji, który framework JavaScript zostanie włączony do core, ale wszystko wskazuje na to, że jest to React. Nadchodzący edytor WordPressa Gutenberg jest zbudowany na React, a jego głównymi współpracownikami są pracownicy Automattic, którzy pracują nad produktami opartymi na React dla WordPress.com. Gutenberg nadal pędzi do przodu w zawrotnym tempie, bez żadnych oznak przepisywania, a współtwórca WordPressa Matt Mullenweg otwarcie powiedział, że woli korzystać z Reacta.
Chociaż radca prawny Automattic powiedział, że firma bez problemu korzysta z React dla swojego produktu na obecnej licencji projektu, inni członkowie społeczności WordPressa nie są tak skłonni do włączenia frameworka do rdzenia.
Open Source Initiative (OSI) zawiera ogólną licencję BSD+Patent wymienioną wśród zatwierdzonych licencji, ale konkretna licencja BSD+Patent Facebooka nie została złożona. Robert Pierce, partner w El Camino Legal, twierdzi, że postanowienie dotyczące wypowiedzenia licencji powinno być niedopuszczalne w licencji open source, ponieważ istnieje, aby chronić Facebooka przed sporami patentowymi, które są całkowicie niezwiązane z kodem React:
Facebook reklamuje React.js jako oprogramowanie typu open source. Ale moim zdaniem postanowienie o rozwiązaniu licencji w ramach dodatkowego przyznania praw patentowych powoduje, że oferta wykracza poza sferę oprogramowania open source.
Licencja patentowa oferowana w Dodatkowym przyznaniu praw patentowych (v.2) jest uzależniona od tego, czy licencjobiorca nie wniesie pozwu o naruszenie patentu przeciwko Facebookowi lub jego podmiotom stowarzyszonym. W ten sposób licencjobiorca płaci cenę za korzystanie z biblioteki. Nie jest to cena płacona pieniędzmi. Facebook żądaną ceną za korzystanie z biblioteki polega na tym, że licencjobiorca nie korzysta ze swoich praw patentowych wobec Facebooka lub jego podmiotów stowarzyszonych.
Pierce postrzega publikację kodu źródłowego React przez Facebooka jako dźwignię pozwalającą na uzyskanie pewnej ochrony przed procesami patentowymi, co jego zdaniem jest „zbyt chciwym podejściem, by Facebook mógł twierdzić, że ma status open source”.
Społeczność open source szeroko spekulowała na temat konsekwencji włączenia licencji BSD+Patent Facebooka jako zależności, ale licencja nie została jeszcze przetestowana w sądzie. Apache Software Foundation jest pierwszą dużą organizacją, która zajęła twarde stanowisko w sprawie kontrowersyjnej licencji, co przykuło uwagę Facebooka. Przedstawiciele Facebooka obiecali aktualizację petycji o ponowne udzielenie licencji po zakończeniu wewnętrznych dyskusji.
