Krok naprzód w kierunku prawdziwie otwartego oprogramowania Elasticsearch

10 lutego 2021

W zeszłym tygodniu Elastic zapowiedziało, że zamierza zmienić strategię licencjonowania oprogramowania i że nie wypuści nowych wersji Elasticsearch oraz Kibana na licencji Apache, wersja 2.0 (Alv2).

Zamiast tego nowe wersje oprogramowania będą oferowane w ramach licencji Elastic (która ogranicza sposób, w jaki może być używane) lub publicznej licencji Server Side (która posiada wymagania czyniące ją nie do przyjęcia dla wielu osób w społeczności open source). Oznacza to, że Elasticsearch i Kibana nie będą już oprogramowaniami open source. Aby upewnić się, że wersje open source obu pakietów pozostaną dostępne i dobrze obsługiwane, także przez AWS, jego twórcy zapowiadają, że AWS podejmie odpowiednie kroki w celu stworzenia i utrzymania rozwidlenia (fork) oprogramowania open source Elasticsearch i Kibana na licencji ALv-2.

Co to oznacza dla społeczności Open Distro for Elasticsearch?

AWS uruchomił Open Distro for Elasticsearch w 2019 roku w celu zapewnienia klientom oraz programistom w pełni funkcjonalnej dystrybucji, która gwarantuje pełną swobodę oprogramowania na licencji Alv-2. Open Distro for Elasticsearch to 100% dystrybucja open source, która dostarcza funkcjonalność, jakiej potrzebuje praktycznie każdy użytkownik lub programista, włączając wsparcie i obsługę szyfrowania sieciowego i kontroli dostępu. Tworząc Open Distro, AWS postępował zgodnie z zalecaną praktyką programowania open source –„upstream first”. Wszystkie zmiany w Elasticsearch zostały wysłane jako pull requests (#42066, #42658, #43284, #43839, #53643, #57271, #59563, #61400, #64513), a następnie twórcy w swojej dystrybucji zawarli wersje „oss” oferowane przez Elastic. To upewniało w tym, że współpracowali z zewnętrznymi programistami i serwisantami, a nie tworzyli fork oprogramowania.

Decyzja o tym, aby stworzyć fork projektu nie powinna być podejmowane lekkomyślnie, ale może stanowić właściwą ścieżkę naprzód, kiedy potrzeby społeczności są odmienne – tak jak ma to miejsce w tym przypadku. Istotnym benefitem oprogramowania open source jest to, że gdy ma miejsce podobna sytuacja, programiści posiadają już wszystkie prawa, jakich potrzebują do samodzielnego podjęcia pracy, o ile są wystarczająco zmotywowani. Można tutaj wspomnieć o wielu historiach tego typu zakończonych sukcesem, jak Grafana wyłaniająca się z forku Kibana 3.

Kiedy AWS podejmuje decyzję, aby zaoferować usługę opartą na projekcie open source, twórcy zapewniają, że są odpowiednio zaopatrzeni i przygotowani do samodzielnej obsługi, jeśli zachodzi taka potrzeba. AWS to lata doświadczeń w pracy z tymi bazami produktów, tak jak i wkład w tworzenie kodów źródłowych do Elasticsearch oraz Apache Lucene, podstawowej biblioteki wyszukiwania, na której zbudowane jest Elasticsearch – z ponad 230 wkładami Lucene tylko w 2020 roku.

Forki Elasticsearch i Kibana będą oparte na najnowszych bazach kodów, licencjonowanych na Alv-2 w wersji 7.10. W najbliższych tygodniach zostaną opublikowane repozytoria GitHub. Z czasem obydwa zostaną uwzględnione w istniejących dystrybucjach Open Distro, zastępując wersje Alv-2 dostarczane przez Elastic. AWS zajmuje się tym od pewnego czasu i zamierza pracować w sposób, który wspiera i promuje zdrowe oraz zrównoważone praktyki open source – włączając w to implementowanie wspólnego zarządzania projektami ze społecznością współpracowników.

Co to oznacza dla klientów Amazon Elasticsearch Service?

Możesz spać spokojnie, mając świadomość, że zarówno zmiana licencji Elastic, jak i decyzja o rozwidleniu nie będą miały negatywnego wpływu na usługę Amazon Elasticsearch Service (Amazon ES), z której obecnie korzystasz. Dziś AWS ma do zaoferowania 18 wersji Elasticsearch na Amazon ES i zmiana licencji nie ma wpływu na żadną z nich.

W przyszłości Amazon ES będzie zasilany przez nowy fork Elasticsearch i Kibana. Twórcy będą kontynuowali dostarczanie nowych funkcji, poprawek i ulepszeń. Czują się zobowiązani, aby zapewnić kompatybilność, wyeliminować potrzebę aktualizacji kodu klienta lub aplikacji. Tak jak dzisiaj zapewnią bezproblemową ścieżkę aktualizacji do nowych wersji oprogramowania.   

Ta zmiana nie spowolni tempa ulepszeń, jakie oferowane są klientom. Jeśli już, baza kodu Elasticsearch należąca do społeczności prezentuje nowe możliwości przyspieszenia poprawy stabilności, skalowalności, wytrzymałości i wydajności.

Co to oznacza dla społeczności open source?

Programiści wybierają oprogramowanie open source z wielu powodów, z których być może najważniejszym jest swoboda w korzystaniu z oprogramowania w najwygodniejszy dla nich sposób.

Termin „open source” posiadał określone znaczenie już od momentu jego powstania w 1998 roku. Zapewnienia Elastic, według których SSPL ma być „bezpłatny i otwarty”, są mylące i błędne. Próbują przypisać sobie korzyści open source, podczas gdy jednocześnie odrzucają całą definicję oprogramowania open source. Sam wybór SSPL temu przeczy. SSPL jest licencją typu non-open source zaprojektowaną tak, aby wyglądać jak licencja open source i jednocześnie zacierać różnice pomiędzy tymi dwoma. Jak stwierdza społeczność Fedory, „uznanie SSPL jako oprogramowania bezpłatnego lub open source rzuca cień na wszystkie pozostałe licencje w ekosystemie FOSS”.

W kwietniu 2018, kiedy Elastic połączył swoje licencjonowane oprogramowanie z kodem Alv-2, w „We Opened X-Pack” obiecywali: „Nie zmieniliśmy licencji żadnego z kodów Apache 2.0 Elasticsearch, Kibana, Beats i Logstash – i nigdy tego nie zrobimy”. W minionym tygodniu, po rezygnacji ze swojej obietnicy, Elastic zaktualizował tę samą stronę, dodając przypis: „okoliczności uległy zmianie”.

Elastic doskonale zdaje sobie sprawę, że to, co robi, jest podejrzane. Społeczność dała im o tym jasno do zrozumienia (zobacz Brasseur, Quinn, DeVault, Jacob). To również dlatego odczuwali potrzebę stworzenia dodatkowego, burzliwego bloga (na czele z ich blogiem o początkowej zmianie licencji), próbując wytłumaczyć swoje poczynania jako „AWS nas do tego zmusił”. Większości osób nie da się oszukać. AWS do niczego ich nie zmuszał. Elastic uważa, że ograniczenie ich licencji zablokuje innym możliwość oferowania zarządzanych usług Elasticsearch, co z kolei pozwoli Elastic na zbudowanie większego biznesu. Elastic ma prawo do zmiany swojej licencji, jednak powinni także posunąć się naprzód i podjąć właściwą decyzję.

W międzyczasie AWS cieszy się z długofalowej podróży, jaką rozpoczął z Open Distro for Elasticsearch. AWS czeka z niecierpliwością na zapewnienie w pełni otwartej wersji oprogramowania open source dla Elasticsearch i Kibana przy wykorzystaniu licencji Alv-2, jak i tworzenia i wspierania tej przyszłości ze społecznością.

źródło: https://aws.amazon.com/