W zeszłym roku przez sieć Internet przetoczyła się mała burza mówiąca o tym, że standardowa licencja Reacta, oparta na licencji BSD, zawiera jakąś klauzulę patentową. Powoduje ona podobno, że Facebook może nam odebrać prawo do korzystania z Reacta jeśli stworzymy serwis, który jest konkurencją dla FB… Z tego też względu raz na jakiś czas ktoś pyta mnie, czy to poprzez email, czy to w wiadomościach prywatnych na Facebooku, o co chodzi z tą licencją… Wiem, że niektóre firmy boją się używać Reacta, bo gdzieś słyszały, że Facebook na pewno kiedyś zabierze im licencję i będą w przysłowiowej “czarnej dupie”.

Uwaga! Po wprowadzeniu wersji 16.0 Reacta, opisywany tutaj problem przestał istnieć. Od tej wersji React przeszedł bowiem na licecnję MIT. Więcej na ten temat pisałem tutaj.

Od czasu tej “afery licencyjnej” minęło trochę czasu. W związku z tym, w sieci zdążyły się już pojawić odpowiednie wyjaśnienia. Postanowiłem więc zebrać je wszystkie do kupy i przedstawić tutaj na blogu. Mam nadzieję, że dzięki temu będziesz mógł sam wyciągnąć wnioski czy użycie Reacta w Twoim projekcie jest bezpieczne… Zapraszam do lektury!

P.S. Wpis w paru miejscach zawiera moje tłumaczenie angielskiego, prawniczego bełkotu. Za każdym razem jednak podaję też źródło, warto więc samemu przeczytać oryginał żeby uniknąć nieporozumień. Poza tym, sam nie jestem prawnikiem tylko programistą więc jeśli rzeczywiście masz wątpliwości to może faktycznie lepiej jest zasięgnąć opinii kogoś biegłego w temacie.

Licencja Reacta - skąd ta burza?

Wszystko zaczęło się, zdaje się, od wpisu na blogu React etc. Tech Stack, w którym złowieszczo napisano, że jeśli rozważasz użycie Reacta w swoim projekcie, lepiej skonsultuj to z prawnikiem… Według artykułu licencja Reacta (a raczej jej rozszerzenie zezwalające na wykorzystanie patentu) mówi, iż użycie tej biblioteki do stworzenia czegoś co zostanie uznane za konkurujące z Facebookiem jest zabronione. Jeśli podejmiesz jakieś kroki prawne przeciw Facebookowi, Twoja licencja na użycie Reacta zostanie natychmiast unieważniona (w rzeczywistości chodzi tylko o patent).

W sumie faktycznie brzmi to groźnie… Szczególnie, że artykuł wspomina również, że z powyższego powodu Microsoft oraz Google zabronili używać Reacta w swoich projektach! Ergo: jeśli planujesz zrobić “społecznościówkę”, która pokona Facebooka lepiej wynajmij dobrych prawników…

P.S. Część licencji Reacta dotyczącą patentów możesz przeczytać pod tym adresem - myślę, że warto to zrobić.

Wyjaśnienia

Jak wspomniałem, od czasu burzy wywołanej przez powyżej wspomniany artykuł pojawiło się w sieci sporo wyjaśnień, m.in. ze strony Facebooka, tego na czym polega licencja Reacta i jej patentowe rozszerzenie.

Github

Dzień po opublikowaniu tamtego wpisu, otwarty został wątek pt. License Clarification w repozytorium Reacta na GitHubie. W wątku tym czynny udział wziął Dan Abramov, który w pierwszej kolejności odesłał do “Open Source License FAQ” na stronach Facebook Code. Strona ta odpowiada na cztery pytania (moje tłumaczenie, więc skonfrontuj z oryginałem!):

  • Pytanie: Czy zezwolenie na użycie patentu (dodatku do licencji BSD) zostanie mi odebrane jeśli stworzę projekt konkurencyjny dla Facebooka? Odpowiedź: Nie
  • Pytanie: Czy zezwolenie na użycie patentu (dodatku do licencji BSD) zostanie mi odebrane jeśli pozwę Facebooka o coś innego niż naruszenie praw patentowych? Odpowiedź: Nie
  • Pytanie: Czy zezwolenie na użycie patentu (dodatku do licencji BSD) zostanie mi odebrane jeśli to Facebook pozwie mnie pierwszy o naruszenie praw patentowych, a ja odpowiem roszczeniem wzajemnym? Odpowiedź: Nie, dopóki Twoje roszczenie wzajemne nie dotyczy oprogramowania Facebooka licencjonowanego omawianą licencją BSD wzbogaconą o zezwolenie na użycie patentu
  • Pytanie: Czy odebranie zezwolenia na użycie patentu (dodatku do licencji BSD) skutkuje odebraniem także odebraniem licencji na prawa autorskie? Odpowiedź: Nie

We wspomnianym wątku Dan Abramov wspomina też, że stwierdzenie iż Microsoft i Google zabronili używać Reacta nie jest prawdą. Microsoft wykorzystuje obecnie React Native do budowy swojej mobilnej wersji Skype’a. Dodatkowo, z tego co rozumiem, zmiana w części licencji dotyczącej patentów została podyktowana m.in. wątpliwościami ze strony Google…

Ogólnie jeśli powyższe Cię nie przekonuje, warto przeczytać cały wątek “License clarification” - było tam parę osób, które wierciły dziurę w brzuchu jednak to co napisałem powyżej to chyba kwintesencja tego co trzeba wiedzieć.

Twitter

Poza powyższym, w temacie wyjaśnienia wątpliwości patentowych Dan Abramov rozpoczął też wątek na Twitterze:

Z powyższych tweetów wynika, że generalnie chodzi o zabezpieczenie się przed “patentowymi trollami” i jeśli nie chcesz używać ich “ofensywnie” to nie masz się czego obawiać… Poza tym zachęcam do przeczytania tego wątku w całości!

Blog “React, etc. Tech Stack”

Wspomniany na wstępie blog, który zdaje się, że wywołał całe to zamieszanie, po kilku miesiącach sam zamieścił wyjaśnienie całej sytuacji. Stosowny wpis na ten temat znajdziesz pod tym adresem. Ogólnie rzecz biorąc zawiera on podsumowanie tego co można znaleść we wspomnianym przeze mnie “Open Source License FAQ”… Czyli w zasadzie wszystko to co napisałem w punkcie dotyczącym “License Clarification” w repozytorium Facebooka na GitHubie.

Dodatkowo wiele miejsca poświęcono temu, że firmy takie jak Microsoft (biblioteka dla SharePointa) oraz Apple (dokumentacja API) wypuściły ostatnio nowe projekty oparte na technologii Facebooka co oznacza, że nie boją się one z niego korzystać. Pada tam nawet stwierdzenie, że obecna licencja Reacta oparta na BSD i wzbogacona o zezwolenie na użycie patentu jest bezpieczniejsza w użyciu niż licencja GPL… Osobiście się nie znam, więc nie potrafię powiedzieć czy tak faktycznie jest.

Podsumowanie

To tyle jeśli chodzi wyjaśnienie kwestii licencji Reacta i zamieszania związanego z patentami. Ostateczną opinię na temat tego czy wykorzystanie biblioteki Facebooka jest bezpieczne pozostawiam Tobie. Ogólnie, jeśli temat Cię rzeczywiście martwi to zachęcam do uważnego przestudiowania przytoczonych materiałów.

Natomiast z tego jak ja rozumiem przytoczone materiały wynika, że dopóki nie pozwiesz Facebooka, że to Ty wymyśliłeś Reacta, a nie oni… nie masz się co martwić. Poza tym jeśli firmy takie jak Microsoft czy Apple spokojnie korzystają z tej biblioteki w swoich projektach to prawdopodobnie ich prawnicy są z tym OK…