„(…) open-source odnosi się do oprogramowania zawierającego swobodnie dostępny kod źródłowy, który użytkownicy mogą przeglądać, modyfikować, adoptować i udostępniać zarówno w celach komercyjnych, jak i niekomercyjnych.”¹
Kilka lat temu Martin Woodward, Wiceprezes ds. Relacji z Deweloperami w firmie Github stwierdził, że około 97% aplikacji wykorzystuje otwarty kod źródłowy, a 90% firm włącza go lub wykorzystuje w pewnym zakresie. Czy te szacunki są nadal aktualne? Z dużą dozą prawdopodobieństwa można stwierdzić, że tak, open-source niesie ze sobą ogromny potencjał w zakresie możliwości wykorzystania teraz i w przyszłości na wiele rożnych sposobów.
Faktem jest, że często korzystamy z projektów open-source, aby przyspieszyć naszą pracę, nowe innowacyjne rozwiązania i w oparciu o nie tworzyć zupełnie nowe usługi. Opensource to także przestrzeń, która rozwija się dzięki współpracy społeczności programistów, inżynierów i specjalistów na całym świecie, dzięki którym mogą one istnieć na rynku.
W raporcie „State of Open Source 2024” opublikowanego przez firmę OpenLogic możemy odnaleźć interesujące dane dot. perspektyw rozwoju open-source. Zgodnie z deklaracją firmy ponad 2000 osób i podmiotów, od dużych przedsiębiorstw po startupy na wczesnym etapie rozwoju, pracujących w wielu branżach na całym świecie wypełniło ankietę, na podstawie której opracowano zestawienie. Najciekawsze dane dotyczą m.in. pytania o wzrost wykorzystania rozwiązań open-source w ciągu ostatniego roku (w tym w podziale na kontynenty). Wzrost wykorzystania zadeklarowało łącznie 67,57% ankietowanych i był on deklarowany również w poprzednich latach na podobnym poziomie.
——————————————————————
¹https://github.com/resources/articles/software-development/what-is-open-source-software

Wykresy przedstawiające dane dot. wzrostu wykorzystania oprogramowania open source w 2024 r.
Źródło: https://www.openlogic.com/sites/default/files/pdfs/report-ol-state-of-oss-2024.pdf
Obecnie open-source stanowi dobrą alternatywę dla wielu płatnych rozwiązań pokrywając część zapotrzebowania np. na narzędzia z zakresu cybersecurity. Ten aspekt otwiera drogę dla mniejszych podmiotów na rynku, które nie dysponują na starcie dużym budżetem, obniżając próg wejścia, bądź dla zespołów które chcą przetestować pewne rozwiązania niższym kosztem. Co ciekawe powyżej wskazany raport przedstawia statystyki dot. wykorzystania rozwiązań z zakresu security i 27% respondentów nie ma wiedzy jakie rozwiązania są wykorzystywane, co może być spowodowane brakiem wiedzy respondentów o tym jakie są możliwości w tym zakresie. W raporcie OpenLogic podkreśla się, że wiele firm wdraża open-source, ale często robi to bez odpowiedniego wsparcia technicznego lub w formie inicjatyw niezintegrowanych z resztą działalności. Może to prowadzić do sytuacji, w której pracownicy są nieświadomi narzędzi, które są faktycznie wdrażane. Co istotne autorzy raportu udostępnili ograniczoną listę oprogramowania, co spowodowało pominięcie części istotniejszych rozwiązań open-source w raporcie. Z uwagi na mnogość rozwiązań komercyjnych na rynku i brak reklamy rozwiązań typu open-source, nadal są one stosowane na dość niskim poziomie, bądź też wiedza o poziomie ich stosowania przez firmy jest ograniczona.

Wykresy przedstawiające dane dot. rodzaju i wykorzystania danego oprogramowania open-source z zakresu security w 2024 r.
Źródło: https://www.openlogic.com/sites/default/files/pdfs/report-ol-state-of-oss-2024.pdf
W rzeczywistości, oprogramowanie open-source jest nam w stanie pokryć większą część pakietu narzędziowego dla zespołu security. Istnieje wiele dobrych rozwiązań stosowanych w codziennej pracy nie tylko przez pojedyncze osoby, ale także przez duże firmy z sektora prywatnego i publicznego, czy samodzielnie, czy komplementarnie do innych rozwiązań komercyjnych już posiadanych.

Przykładowe rozwiązania opensource z zakresu cybersecurity i cyber threat intelligence. Źrodło: opracowanie własne.
Na ile open source jest rzeczywiście darmowe i bezpieczne?
Kod zazwyczaj jest dostarczany z licencją, która określa, co użytkownik może, a czego nie może zrobić z oprogramowaniem. Niektóre licencje pozwalają na używanie i rozpowszechnianie kodu w dowolnym celu, podczas gdy inne mogą wymagać wyraźnego rejestrowania wszelkich zmian, gdy w grę wchodzi dalsze udostępnianie. Kiedy przychodzi do zastosowań komercyjnych, sytuacja nie jest już tak otwarta, jak moglibyśmy przypuszczać. Oprogramowanie open-source może być darmowe, ale wdrażanie go w projektach komercyjnych wymaga głębszego zrozumienia tych aspektów. Przed zastosowaniem w celach komercyjnych, niewątpliwie warto zapoznać się z zapisami licencji każdego wykorzystanego oprogramowania z osobna, aby uniknąć późniejszych problemów związanych z ewentualnymi ograniczeniami i postanowieniami zawartymi w licencjach. W Internecie możemy znaleźć wiele informacji nt. rodzajów występujących licencji.
Wśród najpopularniejszych rodzajów licencji są: MIT, Apache 2.0, czy też GNU General Public License v3.0. Poniższa infografika przedstawia rożne rodzaje licencji typu: permissive, semipermissive, copyled, public. Nazewnictwo w zakresie typów bywa rożne zależnie od źródła.

Rodzaje licencji open source, źródło: https://brainhub.eu/library/open-source-licenses-to-avoid (2024).

Procentowe zastosowanie określonej licencji open-source, źródło: http://opensourcesecurityindex.io/
Warto przede wszystkim przeczytać zawartość zakładki „License” w serwisie Github dla każdego rozwiązania, które chcemy wykorzystać, zwłaszcza w celach komercyjnych, uwzględniając powyżej przedstawione rodzaje licencji i przeanalizować zapisy dot. zakresu możliwego wykorzystania. Jeśli jakieś zapisy są niejasne warto skontaktować się z zespołem odpowiedzialnym za utrzymanie. W przypadku zweryfikowanych rynkowo rozwiązań dobrej jakości, nie jest tak, że projekt jest anonimowy, zawsze powinna być możliwość kontaktu z autorem czy zespołem, który stoi za danym projektem (chyba że z jakiegoś wyraźnego powodu jest inaczej). Niektóre projekty mogą oferować podwójne licencje zarówno open-source, jak i komercyjne. W tym przypadku należy upewnić się, kiedy wymagana jest licencja komercyjna, a kiedy nie. Nie można z góry zakładać, że wszystkie projekty open-source są bezpłatne także do użytku komercyjnego.

Zakładka ‘License’ w repozytorium dla rozwiązania Wazuh w serwisie Github, źródło: https://github.com/wazuh/wazuh
Firmy muszą także być świadome, że wsparcie techniczne i rozwój projektów open-source często zależy od społeczności, co oznacza, że czasem może brakować gwarancji stabilności czy długoterminowego utrzymania projektu. Zanim zastosujemy wybrane rozwiązanie, warto zweryfikować kto jest dostawcą, czy przejrzeć zakładki takie jak ‘license’ (jakie zapisy są zawarte w dokumencie), ‘contributors’ (ilość aktywnych osób mających wpływ na rozwój projektu), ‘community standards’ (jak dany projekt wypada w porównaniu z zalecanymi standardami społecznościowymi), czy też ‘security policy’ (w zakresie np. procedury zgłaszania błędów). Dodatkowo w Internecie dostępne są platformy takiej jak ‘Open Source Security Index’, która pokazuje ranking rozwiązań open-source dostępnych na Githubie z uwzględnieniem wybranych metryk, które z kolei mogą świadczyć o jakości rozwiązania i perspektyw jego rozwoju (link do strony z rozwiązaniem: https://opensourcesecurityindex.io/).

PlaUorma Open Source Security Index, źródło: https://opensourcesecurityindex.io/
Dodatkowo przy implementacji rozwiązań open-source, czy to na własny użytek, czy zwłaszcza w organizacji, musimy pamiętać o wdrożeniu odpowiednich mechanizmów bezpieczeństwa, za które jesteśmy odpowiedzialni. W przypadku wycieku danych, czy innych naruszeń, odpowiedzialność spoczywa na osobie odpowiedzialnej za wdrożenie, ale także na użytkowniku i odpowiednim jego wykorzystaniu w określony sposób zgodnie z politykami bezpieczeństwa i instrukcjami.
Jeśli podejdziemy do tego mądrze, oprogramowanie typu open-source pozostaje niezwykle wartościowym elementem, który może znacząco wpłynąć na innowacyjność i przyczynić się do usprawnienia naszej pracy, czy rozwoju biznesu. Podsumowując, ekosystem open-source to ogromna przestrzeń współpracy, w której tkwi ogromny potencjał do tworzenia. Niemniej jednak, komercyjne zastosowania wymagają starannego rozważenia aspektów prawnych i operacyjnych, aby w pełni wykorzystać jego zalety z uwzględnieniem ewentualnych ograniczeń. Raport OpenLogic sugeruje, że jednym z kluczowych wyzwań dla firm jest znalezienie odpowiednich kompetencji wewnętrznych do wdrażania i zarządzania rozwiązaniami open-source. Wynika to z faktu, że narzędzia open-source, choć darmowe, mogą być skomplikowane w implementacji. W tym przypadku jednak pomocą służą tutoriale i instrukcje wdrożenia bądź usługi oparte na udostępnieniu nam takich narzędzi. Open-source odgrywa kluczową rolę w procesie demokratyzacji cyberbezpieczeństwa, dając globalnej społeczności w tym pojedynczym osobom, zespołom, małym i średnim przedsiębiorstwom dostęp do narzędzi i technologii, które wcześniej były dostępne tylko dla dużych firm i instytucji.
Wykorzystanie rozwiązań open-source w cyberbezpieczeństwie przyczynia się do równego dostępu i daje możliwość każdemu podmiotowi, niezależnie od wielkości, możliwość walki z cyberzagrożeniami.
Autor: Monika Gliwka; Wieloletni pracownik sektora rządowego – specjalistka. ds. cyberbezpieczeństwa, analityk Cyber Threat Intelligence.