Red Hat po wielu latach zmienia swoje podejście do kodu źródłowego swojego flagowego systemu – Red Hat Enterprise Linux.
W internetach zaczęło się szczucie na firmę, która pokazała światu, że da się prowadzić dobry biznes, tworzyć dobry produkt i jednocześnie udostępniać jego kod źródłowy totalnie za friko. Co teraz zrobią tysiące firm, które wykorzystywały darmowe odpowiedniki RHELa? Czy to koniec dobrych czasów i przyszedł czas zapłaty?
Dlaczego tak lubimy open source
Projekt GNU był stworzony, aby szerzyć kulturę dzielenia się wolnym oprogramowaniem. Jego największym sukcesem jest zdecydowanie kernel Linuksa, który zrewolucjonizował nasz świat – bez niego nie byłoby Androida i usług chmury publicznej w takim kształcie jaki obecnie znamy.
Sukces Linuksa i innych projektów open source (w tym Kubernetes!) jest jednak według mnie dość prozaiczny – taki soft jest za darmo! I stąd to oburzenie, bo jak płacić za open source? W końcu to dostępny kod źródłowy i można go sobie pobrać oraz samodzielnie zbudować.
To stara śpiewka o tym, że dlatego wolimy open source. W rzeczywistości używamy takich projektów, bo są za darmo, a nasi pracodawcy lub klienci wolą nie płacić za soft niż płacić.
Ja też lubię jak coś jest za darmo, ale to jest bardziej złożone.
Trudna strona open source
Ci co wypuścili nawet mały kawałek softu na GitHub wiedzą, że nawet w niewielkiej skali utrzymanie tego wymaga sporo pracy. Użytkownicy zgłaszają problemy (najczęściej), usprawnienia w postaci Pull Requestów (rzadziej, ale również wymaga czasu), a zależne biblioteki się zmieniają i twój mały kawałek wymaga często dostosowania.
Jeśli żyjesz w bańce, że wystarczy coś wypuścić i to magiczne “community” będzie dalej to rozwijać to muszę Cię zmartwić. W idealnym świecie być może tak by było, ale przykład Red Hata pokazuje, że to tak nie wygląda.
Fakt, że taki Oracle wziął kod źródłowy, dodał logo i trochę pozmieniał rzeczy w kernelu zachowując kompatybilność nie poprawiło sytuacji.
RHEL wypracował przez lata jedną kluczową rzecz – kompatybilność z producentami sprzętu i oprogramowania. To wymaga sporo pracy. A do tego jest jeszcze jedna rzecz, za którą firmy płacą. To czas.
Red Hat utrzymywał stare wersje oprogramowania (jak np. archaiczny Python2.7) przez wiele lat od zaprzestania ich rozwoju. Dzięki temu wiele organizacja mogło odroczyć ryzykowne większe aktualizacje i migracje. To oszczędza naprawdę sporo czasu i pieniędzy.
A zatem wypracowałeś soft, zachęciłeś producentów sprzętu i innego oprogramowania do testowania oraz certyfikowania na nim, a do tego publikujesz kod źródłowy i patrzysz jak inni tworzą klony Twojego produktu.
Podobne wyzwanie stanęło przed Elasticsearch, gdy AWS zaczął oferować go jako usługę na swojej chmurze. Dla klientów to fajne, dla tych co inwestują czas swoich pracowników już mniej.
Czy Red Hat jest tu poszkodowany?
Niekoniecznie. Druga strona medalu jest taka, że Red Hat przez długi czas miały naprawdę dobry PR, bo w końcu dzieli się ze społecznością sporą częścią swojej pracy. Przez długi okres czasu myśleli też, że CentOS to świetna okazja, aby przyzwyczaić firmy do standardu RHEL i później podmienić to na subskrypcje RHEL.
Jak się okazało to nie wyszło, a płacić ludziom trzeba. Zatem nowy właściciel zmienia te stare zasady i kod będzie dostępny tylko dla partnerów i klientów. To ostatnie kojarzy mi się już z polityką Microsoft, który swego czasu w okresie boomu open source obiecał udostępnianie kodu Windows dla swoich klientów. Nikt chyba jednak zbudował własnego systemu na tej podstawie.
Co dalej z darmowym open source
Możliwe, że Debian powróci do łask jak to miało w przypadku kontenerów (przypomnę, że większość obrazów oparta jest na Debianie właśnie) albo też Ubuntu jeszcze wzmocni swoją pozycję. W końcu mają swoje wersje PRO ze wsparciem.
O przyszłość samego open source się nie martwię. Po prostu czas pokazał, że tu nie o darmowość chodzi, a o wspólne korzyści wielu firm. Doskonale to pokazuje jeden z największych projektów, bo obok kernela linuksowego to Kubernetes jest takim projektem.
Tam wszystko się spina, bo są spełnione następujące warunki:
- Są zaangażowane firmy inwestujące sporo czasu swoich pracowników (tak, płacą im za to)
- Firmy takie przychodzą ze swoimi potrzebami do poszczególnych grup odpowiedzialnych za rozwój danej części projektu (np. Scheduling, networking, cloud)
- Istnieją też pasjonaci poświęcający swój prywatny czas, uczący się lub dzielący pomysłami
- Istnieje ciało nadzorujące (komitet sterujący), które mam świadomość, że jest to projekt, z którego budowane są usługi i produkty
- Sam projekt jest do użycia za darmo dla tych co nie potrzebują wsparcia i mają odpowiednie zasoby do ogarniania większej złożoności
Zatem spokojnie, to czas zmian, ale wyjdzie to ostatecznie na dobre.