Spis treści:

Dowiedz się: Zawód programisty Java
Dowiedz się więcejW ostatniej części serii artykułów omówimy licencje opracowane dla konkretnych firm i produktów, które okazały się tak skuteczne, że znacznie przekroczyły zakres swoich początkowych projektów. Licencje te stały się podstawą wielu nowych inicjatyw i technologii, wnosząc znaczący wkład w rozwój branży.
Licencja Apache 2.0

Licencja Apache została opracowana pod auspicjami Fundacji Oprogramowania Apache (ASF). Początkowe wersje tej licencji były niemal identyczne z licencjami BSD 4-klauzulowymi i BSD 3-klauzulowymi, różniąc się jedynie nazwami organizacji tworzących. Licencja Apache daje użytkownikom elastyczność w korzystaniu, modyfikowaniu i dystrybucji oprogramowania, co przyczyniło się do jej popularności w społeczności programistów. Z czasem licencja uległa zmianom, w tym ulepszeniom w zakresie patentów i praw autorskich, czyniąc ją bardziej atrakcyjną dla programistów i firm zaangażowanych w oprogramowanie open source.
W 2004 roku Fundacja Oprogramowania Apache opracowała własną licencję, Apache License 2.0, odchodzącą od modelu BSD. Głównym celem stworzenia nowej umowy było uproszczenie korzystania z oprogramowania firm trzecich, a także zwiększenie kompatybilności z wolnym oprogramowaniem. Licencja Apache 2.0 oferuje bardziej elastyczne warunki, zachęcając do szerszego wdrażania i wdrażania oprogramowania w ramach projektów.
Licencja Apache 2.0 to licencja liberalna, która pozwala użytkownikom modyfikować kod źródłowy, rozpowszechniać oprogramowanie w formie zamkniętej oraz pobierać opłaty za korzystanie zarówno z programów oryginalnych, jak i pochodnych. Licencja ta zapewnia programistom elastyczność i swobodę, umożliwiając im integrację i modyfikację oprogramowania bez konieczności spełniania wymogów open source. Licencja Apache 2.0 chroni również prawa autorskie programistów, zapewniając użytkownikom przejrzystość prawną i bezpieczeństwo.
Licencja Apache 2.0 to licencja na oprogramowanie, która zapewnia użytkownikom swobodę korzystania, modyfikowania i dystrybucji oprogramowania. Kluczowe postanowienia licencji obejmują zezwolenie na użytkowanie komercyjne, ochronę praw autorskich oraz obowiązek atrybucji. Licencja zawiera również postanowienia dotyczące ochrony patentowej, zapewniając dodatkową ochronę programistom i użytkownikom. Licencja Apache 2.0 to jedna z najpopularniejszych licencji open source, zapewniająca równowagę między swobodą użytkowania a prawami autorów.
- terminy i definicje;
- prawa i warunki ich udzielania;
- zrzeczenie się gwarancji i odpowiedzialności;
- dodatkowe zobowiązania.
Warunki prawne licencji odpowiadają postanowieniom amerykańskiej ustawy o prawie autorskim, w szczególności jej sekcji 106. Ustawa ta przyznaje prawo do reprodukcji programów, tworzenia utworów zależnych, publicznego wyświetlania i wykonywania, a także sublicencjonowania i dystrybucji zarówno oryginalnych, jak i zmodyfikowanych wersji programów w formie kodu źródłowego lub obiektowego. Należy pamiętać, że przestrzeganie tych warunków jest kluczowe dla legalnego korzystania z oprogramowania i ochrony praw autorów.
Licencjodawca nie ma prawa do odwołania licencji. Niniejsza licencja udzielana jest na cały okres wyłącznego prawa i pozostaje ważna bez ograniczeń terytorialnych.
Licencja na oprogramowanie może zostać udzielona przez pierwotnego autora lub wszystkich pozostałych uczestników projektu, którzy wprowadzili modyfikacje do programu. Uczestnicy ci, zwani współautorami, stają się współautorami zmodyfikowanej wersji programu. Zapewnia to przejrzystość i ochronę praw wszystkich stron zaangażowanych w rozwój, a także sprzyja szerszej dystrybucji i ulepszaniu oprogramowania.
Każdy licencjobiorca otrzymuje prawa od innych uczestników projektu i w zamian przyznaje im swoje prawa po wniesieniu wkładu. Jeśli autor chce zachować prawa do modyfikowania i rozpowszechniania zmodyfikowanej wersji programu na innych warunkach, ma do tego prawo. Jednak w takim przypadku modyfikacja nie będzie uznawana za wkład w projekt społecznościowy. Należy pamiętać, że przestrzeganie tych zasad sprzyja harmonijnemu rozwojowi projektu i poszanowaniu pracy wszystkich uczestników.
Prawo do sublicencjonowania zapewnia zgodność Licencji Apache 2.0 z innymi wolnymi licencjami, zwłaszcza z Licencją GNU General Public License (GPL). Ta zaleta sprawia, że Licencja Apache 2.0 jest bardziej elastyczna i uniwersalna dla programistów, co sprzyja szerszej dystrybucji i adopcji oprogramowania open source. Sublicencjonowanie umożliwia integrację różnych projektów, zwiększając ich kompatybilność i stabilność w ekosystemie wolnego oprogramowania.
Fundacja Wolnego Oprogramowania (FSF) ogłosiła, że Licencja Apache 2.0 jest zgodna wyłącznie z licencją GPLv3. Ta zgodność jest jednokierunkowa: projekty objęte licencją Apache 2.0 można migrować do GPLv3, ale powrót do Apache 2.0 nie jest możliwy. Stowarzyszenie Wolnego Oprogramowania (ASF) twierdzi, że ma prawo decydować o poziomie zgodności między licencjami Apache 2.0 i GPL.
Apache 2.0 zapewnia ochronę przed nadużyciami ze strony poszczególnych autorów. Niniejsza licencja zapewnia ochronę patentową wynalazków związanych z programem podstawowym. Jednakże, jeśli autor zgłosi roszczenia patentowe, utraci dostęp do licencji patentowych innych uczestników projektu. Zapewnia to równowagę interesów i promuje bezpieczniejszą współpracę w ramach społeczności open source.
Licencja Apache 2.0 wymaga od użytkowników zachowania informacji o prawach autorskich i dostarczenia tekstu licencji wraz z oprogramowaniem. Niniejsza licencja nie jest licencją typu copyleft, co pozwala programistom na tworzenie własnych, zastrzeżonych produktów w oparciu o kod źródłowy uzyskany na jej podstawie. W ten sposób Apache 2.0 oferuje elastyczne warunki użytkowania, umożliwiając integrację i modyfikację kodu bez konieczności ujawniania własnego kodu źródłowego.
Autor zmodyfikowanej wersji jest zobowiązany do wyraźnego wskazania wprowadzonych zmian. Jest to ważne dla zachowania reputacji twórców oryginalnych wersji, zwłaszcza w przypadkach, gdy modyfikacja może być niskiej jakości. Podkreślenie zmian pomaga użytkownikom odróżnić oryginał od przeróbki i podjąć świadomą decyzję o korzystaniu ze zmodyfikowanej wersji.
Standardowa licencja zawiera postanowienia wyłączające gwarancje i odpowiedzialność. Twórcy zmodyfikowanych programów mogą jednak ustanowić dodatkowe zobowiązania i gwarancje, które mogą być świadczone odpłatnie. Dzięki temu użytkownicy mają pewność co do jakości i niezawodności oprogramowania oraz gotowości autorów do wzięcia odpowiedzialności za swoje produkty.
Licencja Apache 2.0 jest uznawana za bardziej wiarygodną pod względem prawnym niż licencje BSD i MIT. Zawiera ona jasny zapis dotyczący przyznanych praw, co zapewnia większą ochronę prawną programistom i użytkownikom. Jedną z istotnych zalet tej licencji jest uwzględnienie w niej warunków specyficznych dla licencji patentowych, co pomaga zapobiegać potencjalnym pozwom. Ponadto licencja szczegółowo opisuje proces wspólnego tworzenia oprogramowania i określa status zmodyfikowanych wersji programów, co czyni ją szczególnie atrakcyjną dla pracy zespołowej i programowania open source.
Licencja Apache 2.0 rozprzestrzeniła się poza projekty Apache i jest obecnie wykorzystywana w licznych projektach open source. Licencja ta daje programistom swobodę użytkowania, modyfikowania i dystrybucji oprogramowania, co promuje innowacyjność i współpracę w społeczności. Zapewnia ochronę praw autorskich i pozwala użytkownikom na integrację oprogramowania z własnymi produktami, zachowując jednocześnie bezpłatny dostęp do kodu źródłowego. Dzięki swojej elastyczności i przejrzystości, licencja Apache 2.0 stała się jedną z najpopularniejszych licencji w świecie oprogramowania open source.
- Apache Spark to system obliczeniowy klastrowy;
- Spring Framework to framework do tworzenia aplikacji korporacyjnych;
- Android Studio to zintegrowane środowisko programistyczne;
- TensorFlow to biblioteka do uczenia maszynowego;
- Blazor to platforma internetowa do tworzenia aplikacji w językach C# i HTML.
Licencja Mozilla Public License (MPL)

Licencja Mozilla Public License to jedna z najpowszechniej stosowanych wolnych licencji uznawanych przez Open Source Initiative. Łączy ona elementy licencji permisywnej i copyleft, co czyni ją wszechstronnym wyborem dla deweloperów, którzy chcą chronić swoje projekty i zapewnić ich otwartość. Licencja Mozilla Public License pozwala użytkownikom na swobodne używanie, modyfikowanie i redystrybucję oprogramowania, zachowując jednocześnie prawo do korzystania z oryginalnego kodu i jego modyfikacji. Licencja ta zapewnia elastyczność i kompatybilność, co sprzyja społeczności i innowacyjności w branży oprogramowania open source.
Fundacja Wolnego Oprogramowania (FSF) klasyfikuje MPL jako wolną licencję o „słabej licencji copyleft”. Licencja ta nie nakłada ścisłych ograniczeń na cały zmodyfikowany program, a jedynie na pliki zawierające oryginalny kod lub jego modyfikacje. Pozwala to na wykorzystanie kodu objętego licencją MPL w produktach komercyjnych, co czyni ją atrakcyjną dla programistów pragnących zintegrować wolne oprogramowanie ze swoimi rozwiązaniami.
Pierwsza wersja MPL została opracowana w 1998 roku przez Netscape Communications Corporation, po porażce w „wojnie przeglądarek” z Internet Explorerem. W rezultacie tej porażki Netscape zdecydował się udostępnić i przerobić znaczną część kodu źródłowego swojej przeglądarki, co stało się podstawą nowego projektu o nazwie Mozilla. Ten krok był ważnym kamieniem milowym w rozwoju oprogramowania open source i pomógł stworzyć społeczność programistów, którzy kontynuowali rozwój i ulepszanie technologii przeglądarek.
Rok później, po długich, otwartych dyskusjach wśród uczestników projektu, wydano MPL v1.1. Wersja ta jasno definiowała warunki korzystania z patentów i zezwalała na wielokrotne licencjonowanie. Ta innowacja została wprowadzona w celu przyciągnięcia do Mozilli zwolenników bardziej restrykcyjnych licencji, takich jak GPL. Należy zauważyć, że obie wczesne wersje licencji nie są zgodne z GPL. W rezultacie pierwsze produkty Mozilli pojawiły się na rynku na wielu licencjach: MPL v1.1, GPL v2.0 i LGPL v2.1.
Fundacja Wolnego Oprogramowania (FSF) klasyfikuje MPL v1.1 jako wolną licencję, ale bez ścisłych wymogów copyleft. Według Fundacji, licencja ta zawiera szereg złożonych ograniczeń, które uniemożliwiają jej zgodność z GNU GPL. To ograniczenie sprawia, że MPL v1.1 jest mniej atrakcyjna dla programistów poszukujących pełnej swobody w użytkowaniu i dystrybucji oprogramowania.
W 2010 roku Fundacja Mozilla rozpoczęła prace nad MPL v2.0. Celem opracowania nowej wersji licencji było stworzenie jaśniejszego i łatwiejszego w użyciu dokumentu, który zapewniłby również zgodność z licencjami GPL i Apache. Tekst licencji został skrócony, a niejednoznaczny język usunięty, ale podstawowe zasady MPL v1.1 pozostały niezmienione. MPL v2.0 oferuje programistom elastyczność i przejrzystość, co czyni ją atrakcyjnym wyborem dla oprogramowania open source.
MPL v2.0 to licencja łącząca elementy BSD i GNU GPL, zapewniając wysoki stopień zgodności. Jest zgodna z wersjami GNU GPL od wersji 2.0, a także z GNU AGPL v3.0 i Apache License 2.0. Dzięki swojej elastyczności MPL v2.0 pozwala programistom na używanie i modyfikowanie oprogramowania z zachowaniem ochrony praw autorskich. Podstawowe warunki licencji MPL (Multilateral Public License) obejmują kluczowe aspekty regulujące użytkowanie i modyfikację oprogramowania. Zgodnie z MPL programiści mają swobodę użytkowania, modyfikowania i dystrybucji oprogramowania zarówno w formie źródłowej, jak i skompilowanej. Jeśli jednak modyfikujesz kod, musisz udostępnić zmodyfikowane wersje na tej samej licencji, co oryginał. MPL zapewnia równowagę między swobodą użytkowania oprogramowania a ochroną praw autorów, co czyni ją popularną wśród programistów i firm. Ta licencja promuje współpracę i dzielenie się wiedzą w społeczności programistów, co ostatecznie prowadzi do poprawy jakości oprogramowania.
- Kod programu (w tym jego kod pochodny) objęty licencją MPL musi być również dystrybuowany na licencji MPL;
- Autor programu złożonego (tj. programu łączącego fragmenty objęte licencją MPL i innymi licencjami) może wybrać, na jakiej licencji będzie go dystrybuować;
- Autor programu może dystrybuować go na różnych licencjach (licencje wielokrotne);
- Licencja MPL przyznaje prawa na całym świecie.
Marka MPL oferuje szeroką gamę produktów, w tym innowacyjne rozwiązania dla różnych dziedzin. Wśród nich znajdują się produkty wysokiej jakości, spełniające współczesne wymagania i standardy. MPL dąży do dostarczania swoim klientom produktów łączących niezawodność, wydajność i zaawansowaną technologię. Każdy produkt MPL jest opracowywany z myślą o potrzebach rynku i dążeniu do ciągłego doskonalenia.
- Mozilla Suite — zestaw programów do pracy w Internecie;
- Mozilla Firefox — przeglądarka internetowa;
- Mozilla Thunderbird — klient poczty elektronicznej;
- LibreOffice — pakiet aplikacji biurowych;
- H2 Database Engine — system zarządzania bazą danych;
- Cairo — biblioteka graficzna do pracy z grafiką wektorową.
Wielu programistów zmodyfikowało warunki licencji MPL do stosowania w swoich produktach. W ten sposób Sun Microsystems stworzyło licencję Common Development and Distribution License opartą na wersji MPL 1.1, która poprawiła warunki użytkowania i dystrybucji oprogramowania.
Licencja Common Development and Distribution License

Licencja Common Development and Distribution License (CDDL) została opracowana przez Sun Microsystems w 2001 roku w celu integracji otwartego kodu źródłowego systemu operacyjnego OpenSolaris z plikami objętymi różnymi warunkami licencji. Licencja ta pozwala również zewnętrznym programistom na tworzenie rozszerzeń dla OpenSolarisa, przestrzegając różnych warunków licencji. CDDL obejmuje aspekty współdzielenia kodu i modyfikacji, co przyczynia się do rozwoju ekosystemu OpenSolaris i wspiera innowacje w oprogramowaniu.
Licencja CDDL została oparta na tekście licencji MPL v1.1, ponieważ jej warunki są najbardziej zbliżone do celów OpenSolarisa. Licencja zawiera również szereg ulepszeń, które czynią ją bardziej odpowiednią dla projektów open source.
- łatwiejsza informacja o prawach autorskich;
- uproszczone pojęcie modyfikacji;
- dołączono warunki ułatwiające wybór prawa i jurysdykcji w przypadku sporów;
- dodano możliwość wyboru konkretnej wersji licencji dla programów.
Zgodnie z warunkami licencji, posiadacz praw autorskich ma możliwość licencjonowania kodu na podstawie wielu licencji, w tym CDDL. Zapewnia to elastyczność w użytkowaniu i dystrybucji oprogramowania, co może być korzystne zarówno dla programistów, jak i użytkowników. Licencjonowanie na podstawie CDDL może być szczególnie istotne w przypadku projektów wymagających otwartego kodu źródłowego i zgodności z innymi licencjami.
W 2005 roku licencja CDDL została zatwierdzona przez Open Source Initiative (OSI) i obecnie jest jedną z wiodących popularnych licencji open source. Podobnie jak MPL, CDDL nie jest ścisłą licencją copyleft, zezwalając na połączenie plików o otwartym i zamkniętym kodzie źródłowym. W rezultacie licencja CDDL jest niezgodna z licencją GNU General Public License, co jest istotne przy wyborze licencji dla projektów z różnymi typami kodu źródłowego.
Licencja CDDL (Common Development and Distribution License) była stosowana w projektach rozwijanych przez Sun Microsystems i jest obecnie wspierana przez Oracle. Licencja ta zapewnia otwarty dostęp do oprogramowania, umożliwiając użytkownikom modyfikowanie i dystrybucję kodu, co sprzyja współpracy i innowacyjności w dziedzinie rozwoju oprogramowania. Licencja CDDL pozostaje ważną częścią ekosystemu oprogramowania, zapewniając równowagę między otwartością a ochroną praw programistów.
- OpenSolaris to system operacyjny o otwartym kodzie źródłowym;
- OpenIndiana to dystrybucja systemu operacyjnego Solaris;
- NetBeans IDE to środowisko programistyczne (IDE) do programowania w językach Java, C++, Python i innych;
- GlassFish to serwer aplikacji implementujący specyfikację Java EE.
Zawód programisty Java
Nauczysz się programowania w Javie od podstaw i będziesz tworzyć aplikacje internetowe z wykorzystaniem frameworka Spring. W ciągu sześciu miesięcy zdobędziesz podstawowe umiejętności i zbudujesz portfolio, a my pomożemy Ci znaleźć pracę.
Dowiedz się więcej
