Czym jest WiOO?

Profile picture
Michał Rzeszutek

Oprogramowanie komputerowe (ang. software) to całość programów przeznaczonych dla komputera, służących realizacji założonego celu. Termin stosuje się najczęściej jako określenie zbioru programów lub rozbudowanych systemów teleinformatycznych, wykorzystywany jest on także jako synonim dla pojęć aplikacja oraz program komputerowy. Definicja oprogramowania obejmuje nie tylko programy w postaci binarnej, lecz także kod źródłowy, grafikę cyfrową, ścieżki audio-wideo, dokumentację oraz pozostałe elementy funkcjonalne aplikacji.

Tworzeniem oprogramowania zajmują się przede wszystkim programiści wykorzystujący w pracy różne języki programowania oraz algorytmy. W przypadku dużych projektów oprogramowanie jest przeważnie efektem grupowej pracy zespołu składającego się z analityków, testerów, grafików komputerowych, muzyków oraz innych osób dobieranych w zależności od specyfiki programu. Zakres procesów związanych z wytwarzaniem oprogramowania obejmuje inżynieria oprogramowania, dyscyplina naukowa będąca poddziałem informatyki.

Programy komputerowe jako efekt działalności twórczej objęte zostały powszechną ochroną autorsko-prawną. Zarówno ustawa polska, jak i dyrektywa Rady EWG dotycząca ochrony programów komputerowych nie zawierają jednak ich definicji. Zgodnie z obowiązującym prawem aplikacje komputerowe traktowane są na zasadach tożsamych z dziełami literackimi. Szczególnym typem ochrony oprogramowania komputerowego cechuje się ustawodawstwo rosyjskie. W tym przypadku ochroną zostały objęte zarówno programy komputerowe, jak i wygenerowane z ich pomocą przedstawienia audiowizualne. Oprogramowanie komputerowe ze względu na jego przeznaczenie możemy podzielić na programy systemowe, umożliwiające lub usprawniające funkcjonowanie systemu, programy użytkowe oraz biblioteki programistyczne.

Wolne Oprogramowanie

Termin “Wolne Oprogramowanie” (ang. Free Software) odnosi się do ruchu społecznego zapoczątkowanego przez amerykańskiego hakera Richarda Stallmana oraz oprogramowania komputerowego zgodnego z definicją FSF (ang. Free Software Foundation, pol. Fundacja Wolnego Oprogramowania). Według instytucji sponsorującej projekt GNU (ang. GNU`s Not Unix) chroniącej, a także promującej model wolności użytkowania, kopiowania, modyfikowania i rozprowadzania programów komputerowych, wolne oprogramowanie musi spełniać cztery podstawowe założenia, tzw. „cztery wolności” dające użytkownikowi:

  • wolność do uruchamiania programu w dowolnym celu (wolność 0);
  • wolność do analizowania jak działa program, i dostosowywania go do swoich potrzeb (wolność 1). Warunkiem koniecznym jest dostęp do kodu źródłowego;
  • wolność do rozpowszechniania kopii (wolność 2);
  • wolność do udoskonalania programu i publicznego rozpowszechniania własnych ulepszeń, dzięki czemu może z nich skorzystać cała społeczność (wolność 3). Warunkiem koniecznym jest tu dostęp do kodu źródłowego.

Oprogramowanie uznawane jest za wolne tylko w przypadku spełnienia wszystkich wymienionych powyżej założeń. Korzystanie z niego nie może być ograniczane zarówno przez rodzaj systemu komputerowego, jak i okoliczności dotyczące miejsca i czasu eksploatacji. Wolne oprogramowanie rozprowadzane jest za darmo wraz z kodem źródłowym aplikacji, w przypadku dystrybucji tradycyjnej należy zazwyczaj ponieść koszty związane z nośnikiem danych. Pomimo braku opłat za użytkowanie wolnego oprogramowania możliwa jest także dystrybucja na zasadach komercyjnych, wykorzystanie handlowe obejmuje m.in. sprzedaż kopii oprogramowania, oferowanie wsparcia oraz gwarancji.

“Wolne oprogramowanie” nie oznacza „niekomercyjne”. Wolny program musi być dostępny do komercyjnego wykorzystywania, komercyjnego rozwijania i komercyjnego rozpowszechniania.

Richard Stallman

Zapewnienie ochrony modelowi free software wymagało od społeczności sformułowania odpowiednich form prawnych gwarantujących wolność użytkowania, modyfikowania oraz rozpowszechniania oprogramowania. W przypadku programów komputerowych cechujących się niematerialnym charakterem funkcję tę pełnią licencję. Pierwszym dokumentem tego typu odnoszącym się do wolnego oprogramowania była GNU Generalna Licencja Publiczna, mająca za zadanie ochronę sztandarowego projektu ruchu free software, systemu GNU. Licencja ta zezwala na modyfikację i dowolną redystrybucję pracy pod warunkiem zastrzeżenia praw autorskich oraz objęcia wszelkich modyfikacji identycznymi postanowieniami licencyjnymi. Zastrzeżenie jedynie pewnych praw określane jest mianem copyleft. Termin ten jest jednocześnie etymologicznym odwróceniem znaczenia słowa copyright (pol. Wszystkie prawa zastrzeżone), odnoszącego się do najpopularniejszej formy dystrybucji dzieł, zastrzegającej wszelkie prawa do utworu producentowi. Pomimo zastosowania klauzuli copyleft w podstawowej licencji wolnego oprogramowania istnieje także wiele form prawnych uznawanych przez FSF, a pozbawionych wspomnianych zastrzeżeń. Lista wszystkich dokumentów zatwierdzonych jako zgodne z ideą Free Software dostępna jest na oficjalnej stronie tej organizacji.

Termin “wolne oprogramowanie” (ang. Free Software) odnoszący się bezpośrednio do idei wolnego użytkowania programów komputerowych, jest często błędnie utożsamiany z darmowym oprogramowaniem własnościowym (ang. Freeware). Obydwa modele dystrybucji łączy brak opłat za użytkowanie oraz możliwość dalszego rozpowszechniania aplikacji. Ponadto w języku angielskim słowo Free poza “wolnością” może także oznaczać “darmowy”. Cechą różnicującą wymienione modele licencjonowania jest zamknięty kod źródłowy oprogramowania własnościowego. Brak możliwości modyfikacji oprogramowania zaprzecza jednocześnie podstawowym założeniom definicji free software, uniemożliwiając tym samym zamienne stosowanie pojęć.

Otwarte Oprogramowanie

Otwarte oprogramowanie (ang. Open Source Software, OSS) to oprogramowanie, którego licencja pozwala na legalne i nieodpłatne kopiowane, zarówno kodu wynikowego, jak i źródłowego oraz na dowolne modyfikacje kodu źródłowego. Terminem używanym powszechnie w stosunku do aplikacji rozpowszechnianych zgodnie z wspomnianym modelem jest open source. Pojęcie otwartego oprogramowania wiąże się bezpośrednio z ruchem społecznym (ang. Open Source Movement) będącym odłamem ruchu wolnego oprogramowania. Zwolennicy OSS w przeciwieństwie do ideologicznej postawy Free Software Foundation nastawieni są na praktyczne zalety rozwoju i dystrybucji programów komputerowych bez ograniczania możliwości ich wykorzystania.

Główną instytucją odpowiedzialną za ochronę oraz promocję otwartego oprogramowania jest Open Source Initiative, OSI. Jedną z funkcji amerykańskiej organizacji pożytku publicznego założonej w lutym 1998 roku przez Erica Raymonda oraz Bruce’a Perensa jest certyfikowanie licencji zgodnych z założeniami ruchu. Grupa opublikowała także definicję otwartego oprogramowania (ang. Open Source Definition, OSD), będącą podstawowym dokumentem rozstrzygającym o zgodności modelu rozpowszechniania danej aplikacji z OSS. Definicja ta jest rozszerzeniem wytycznych dystrybucji Debian (ang. Debian Free Software Guidelines), przystosowanych przez Bruce`a Perensa w 1988 roku. Według OSD za oprogramowanie spełniające warunki open source software uważa się program, którego eksploatacja obejmuje:

  • wolną redystrybucję. Oprogramowanie może być zwielokrotniane w dowolnej ilości oraz rozpowszechniane bez ograniczeń, także na zasadach komercyjnych;
  • kod źródłowy. Do programu musi być dołączony kod źródłowy, a licencja musi zezwalać na dystrybucję zarówno w postaci kodu źródłowego, jak i skompilowanej;
  • dzieła pochodne. Licencja musi zezwalać na dokonywanie zmian oraz tworzenie dzieł pochodnych. Możliwe jest zastrzeżenie zaznaczenia zamian w kodzie źródłowym oraz tytułu innego niż oryginalny dla aplikacji pochodnych;
  • integralność kodu źródłowego twórcy. Licencja może ograniczyć możliwość dystrybucji kodu źródłowego w przypadku zagwarantowania dystrybucji poprawek przez twórcę aplikacji. Celem jest ochrona oryginalnego projektu przed nieautoryzowanymi zmianami;
  • zakaz dyskryminacji osób i grup;
  • zakaz ograniczania pola eksploatacji;
  • dystrybucja licencji. Dokument prawny dołączony do oprogramowania musi obejmować postanowieniami wszystkich użytkowników bez konieczności stosowania dodatkowych licencji;
  • licencja nie może dotyczyć konkretnego utworu. Postanowienia nie mogą zależeć od formy aplikacji oraz sposobu wykorzystania;
  • licencja nie może ograniczać wykorzystania innego oprogramowania;
  • licencja musi być neutralna technologicznie.

Spełnienie wszystkich wymienionych warunków jest wymogiem uznania oprogramowania za zgodne z OSD. Założenia definicji mają odbicie w podstawowej licencji wolnego oprogramowania GNU Generalnej Licencji Publicznej, będącej zarazem główną licencją open source. Różnice między ruchem wolnego oprogramowania, wskazującym na aspekty ideologiczne rozwoju i eksploatacji oprogramowania, a bardziej liberalnym środowiskiem open source obstającym za aspektami technicznymi, są niewielkie. Większość programów należących do grupy free software, jak i licencji wykorzystywanych przez Fundację Wolnego Oprogramowania można jednocześnie zakwalifikować do środowiska open source.

FLOSS

Wolne i otwarte oprogramowanie, WiOO, (ang. Free Libre/Open Source Software, FLOSS), skracane także do F/OSS, FOSS (ang. Free Open Source Software) to neutralny termin zaproponowany przez członka zarządu Open Source Initiatives, Rishaba Aiyera Ghosha jako alternatywna nazwa obejmująca zarówno środowisko wolnego oprogramowania (ang. Free Software) oraz ruch otwartego oprogramowania (ang. Open Source Software). Określenie to stosowane jest przeważnie w dokumentach rządowych, oficjalnych analizach, a także publikacjach naukowych. W języku potocznym popularność terminu jest niska.

Free software oraz open source to inicjatywy pokrewne. Większość programów komputerowych zakwalifikowanych jako wolne oprogramowanie, a także licencji stosowanych przez środowisko związane z FSF można jednocześnie uznać za projekty należące do ruchu oprogramowania otwartego. Według założyciela Fundacji Wolnego Oprogramowania, Richarda Stallmana obydwa pojęcia dotyczą praktycznie tego samego oprogramowania, jednak poglądy oparte na odmiennych wartościach uniemożliwiają ich zamienne stosowanie.

Niektórzy ludzie używają terminu „oprogramowanie open source” (dosłownie: „otwarte źródło”), mając na myśli mniej więcej to samo, co wolne oprogramowanie. Jednak nie jest to dokładnie ten sam rodzaj oprogramowania: zaakceptowali oni pewne ograniczenia licencyjne, które my uważamy za zbyt restrykcyjne. Istnieją również licencje wolnego oprogramowania, których nie akceptują. Jednak ogólnie rzecz biorąc różnice pomiędzy obiema kategoriami są niewielkie: prawie całe wolne oprogramowanie to programy „open source” i vice versa. Wolimy termin „wolne oprogramowanie”, ponieważ odwołuje się on do wolności, a określenie „open source” nie.

Richard Stallman

Zdaniem Richarda Stallmana w przeciwieństwie do free software, będącego ruchem społecznym, model open source odcinający się od filozoficznych aspektów rozwoju wolnego oprogramowania, nastawiony głównie na techniczno-handlowe możliwości projektów tego typu, należy określać mianem metodologii tworzenia oprogramowania. W ocenie Free Software Foundation pragmatyczny charakter ruchu open source odwraca uwagę od moralnych kwestii rozwoju oprogramowania, jednocześnie zacierając różnicę pomiędzy programami własnościowymi i aplikacjami wolnymi. Krytyka modelu free software dotyczy gównie silnego przywiązania do aspektów ideologicznych, ograniczających zainteresowanie środowiskiem oprogramowania rozwijanego na zasadach open source oraz konfrontacyjną postawą w stosunku do własnościowego modelu rozwoju oprogramowania.

Pomimo wzajemnych zastrzeżeń środowiska wolnego oprogramowania oraz oprogramowania otwartego współpracują ze sobą w wielu projektach, a także wspierają w sytuacjach kryzysowych, m.in. podczas procesu sądowego związanego z pozwem firmy Microsoft przeciwko licencji GNU GPL. Ponadto krytyczne opinie wygłaszane są głównie przez liderów oraz kluczowe dla danych ruchów instytucje. Podejście indywidualnych użytkowników wolnego i otwartego oprogramowania jest w przeważającej mierze umiarkowane.

Wprowadzenie neutralnej nazwy FLOSS poza ustrzeżeniem się wzajemnych oskarżeń przedstawicieli dwóch bliźniaczych społeczności umożliwia także obejście problemów terminologicznych, dotykających zarówno środowisko wolnego, jak i otwartego oprogramowania. Uniknięcie przez twórców pojęcia open source wieloznaczności terminu free software (“wolny” w znaczeniu prędkości lub “wolny” jako darmowy, ang. Free) nie uchroniło przed innym błędem. Open source (dosłownie: otwarte źródło) w powszechnym przeświadczeniu odnośni się wyłącznie do możliwości obejrzenia kodu źródłowego programu, możliwość modyfikacji nie wiąże się bowiem z tym pojęciem.