66
U NIWERSYTET L ÓDZKI WYDZIAL MATEMATYKI I I NFORMATYKI Mateusz Ra ˙ zniewski nr albumu: 113661 FLOSS jako alternatywa dla prawnie zastrze ˙ zonego oprogramowania na przykladzie malej firmy Praca magisterska wykonana w Katedrze Analizy Matematycznej i Teorii Sterowania Promotor: dr ´ Scibór Sobieski L ÓD ´ Z 2007

FLOSS jako alternatywa dla prawnie zastrzezonego ...kolos.math.uni.lodz.pl/~redloff/mgr/mgr_v1.pdf · sci´ Wolne Oprogramowanie, w pracy zdecydowano sie˛ rozróznic ... kie niesie

  • Upload
    dinhque

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

UNIWERSYTET ŁÓDZKIWYDZIAŁ MATEMATYKI I INFORMATYKI

Mateusz Razniewski

nr albumu: 113661

FLOSS jako alternatywa dla prawniezastrzezonego oprogramowania na

przykładzie małej firmy

Praca magisterska wykonanaw Katedrze Analizy Matematycznej i Teorii Sterowania

Promotor: dr Scibór Sobieski

ŁÓDZ 2007

Uprzejmie dziekuje mojemu promotorowidr. Sciborowi Sobieskiemu za opieke naukowa

oraz wszelka pomoc udzielona mi podczaspisania niniejszej pracy

Spis tresci

Wprowadzenie 3

1 Czym jest FLOSS? 41.1 Ruch Free Software . . . . . . . . . . . . . . . . . . . . . . . . 41.2 Poczatki Open Source . . . . . . . . . . . . . . . . . . . . . . . 71.3 Licencje i dezorientujaca terminologia . . . . . . . . . . . . . 81.4 Rola FLOSS w biznesie . . . . . . . . . . . . . . . . . . . . . . 12

1.4.1 Katedra i Bazar . . . . . . . . . . . . . . . . . . . . . . 121.4.2 Magiczny Kocioł . . . . . . . . . . . . . . . . . . . . . 14

2 FLOSS w popularnych zastosowaniach 182.1 System operacyjny . . . . . . . . . . . . . . . . . . . . . . . . 182.2 Aplikacje podstawowe . . . . . . . . . . . . . . . . . . . . . . 22

2.2.1 Aplikacje uzytkowe . . . . . . . . . . . . . . . . . . . 222.2.2 Pakiet biurowy . . . . . . . . . . . . . . . . . . . . . . 242.2.3 Oprogramowanie sieciowe . . . . . . . . . . . . . . . 272.2.4 Multimedia . . . . . . . . . . . . . . . . . . . . . . . . 28

2.3 Rozwiazania biznesowe . . . . . . . . . . . . . . . . . . . . . 29

3 Indywidualne potrzeby małego przedsiebiorstwa i sposoby ichrealizacji 323.1 Emulacja srodowiska Windows/MS-DOS . . . . . . . . . . . 32

3.1.1 Cel emulacji . . . . . . . . . . . . . . . . . . . . . . . . 323.1.2 Popularne sposoby emulacji . . . . . . . . . . . . . . . 333.1.3 Emulacja Płatnika Vs Janosik . . . . . . . . . . . . . . 36

3.2 Stabilne srodowisko deweloperskie oparte na Open Source . 37

4 Realizacja przykładowego wdrozenia 394.1 Ocena sytuacji i ustalenie wymagan . . . . . . . . . . . . . . 394.2 Proces wdrozenia . . . . . . . . . . . . . . . . . . . . . . . . . 404.3 Problemy wdrozeniowe . . . . . . . . . . . . . . . . . . . . . 44

SPIS TRESCI 2

4.4 Ocena rezultatów . . . . . . . . . . . . . . . . . . . . . . . . . 45

5 Podsumowanie 46

A GNU Public Licence 47

B GNU/Linux distro timeline 61

Bibliografia 62

Wprowadzenie

Dynamicznie postepujacy rozwój FLOSS, czyli wolnego i otwartego opro-gramowania, ma coraz wieksze znaczenie, juz nie tylko dla pasjonatów,ale równiez w profesjonalnych zastosowaniach. Wysokiej jakosci, do-stepne w wiekszosci za darmo, oprogramowanie moze z powodzeniemkonkurowac z powszechnie stosowanymi, zamknietymi i prawnie za-strzezonymi aplikacjami. Coraz czesciej prywatni uzytkownicy, firmy,a nawet instytucje panstwowe skłaniaja sie ku otwartym standardomi rozwiazaniom FLOSS.

Model rozwoju charakteryzujacy FLOSS jest innowacyjny i efektywnyjednoczesnie, a zrozumienie mechanizmów jego działania wymagaoderwania od standardowego sposobu myslenia na temat rozwoju opro-gramowania.

W niniejszej pracy przyblizone zostało srodowisko FLOSS, okoliczno-sci w jakich powstało oraz ideologiczne i pragmatyczne przyczyny jegorozwoju. Wyjasnione zostały równiez najczesciej powstajace niedomó-wienia zwiazane z opisywanym zagadnieniem. Przedstawiono niektórelicencje Open Source oraz Wolnego Oprogramowania. Podkreslono takzerole FLOSS w biznesie, zarówno od strony podmiotów wykorzystujacychotwarte rozwiazania jak i firm swiadczacych usługi z nimi zwiazane.

W dalszej czesci opisano wybrane aplikacje FLOSS i przedstawionopropozycje realizacji najczesciej wystepujacych potrzeb małego przedsie-biorstwa.

Prace konczy krótki opis wdrozenia, opartego w znacznej mierzeo FLOSS, systemu informatycznego w małej firmie.

Pomimo faktu, ze pojecie Open Source obejmuje równiez w wiekszo-sci Wolne Oprogramowanie, w pracy zdecydowano sie rozróznic1 oby-dwa terminy, majac na uwadze fundamentalne róznice dzielace obydwapodejscia.

1respektujac zyczenie Richarda Stallmana

Rozdział 1

Czym jest FLOSS?

Kod zródłowy programu komputerowego jest zrozumiałym dla progra-misty ciagiem instrukcji. Reguły zapisu tych instrukcji okresla jezyk pro-gramowania, w którym dany program jest tworzony. Aby program stałsie zrozumiały dla komputera, musi zostac przetworzony na kod maszy-nowy. Odpowiada za to specjalna aplikacja, zwana kompilatorem danegojezyka. Po takiej operacji, oprócz kodu zródłowego, otrzymujemy skom-pilowany kod w postaci binarnej (wynikowej), zwanej tez wykonywalna.

Obecnie wiekszosc oprogramowania opartego o komercyjne licencjerozpowszechniana jest wyłacznie w formie, nieczytelnego dla uzytkow-nika, kodu wynikowego. W konsekwencji, pozbawiony kodu zródłowegouzytkownik programu nie jest w stanie samodzielnie dokonac jego mody-fikacji. Nie moze dostosowac go do własnych potrzeb, poznac mechani-zmów jego działania ani tez upewnic sie, ze program nie zawiera błedówzagrazajacych bezpieczenstwu danych.

Istnieja wprawdzie techniki reverse engineering, takie jak reverse analy-sis czy dekompilacja, pozwalajace w znaczacy sposób poznac techniczneaspekty działania programu, jednak sa one skomplikowane, kosztownei w swietle polskiego prawa ograniczone do osiagniecia kompatybilnoscipomiedzy programami [1].

Ruchy Free Software oraz wywodzacy sie od niego Open Source propa-guja dystrybucje oprogramowania ze swobodnym dostepem do kodu zró-dłowego.

1.1 Ruch Free Software

Na przełomie lat 60 i 70 komputery były bardzo kosztowne i słuzyły jedy-nie specjalistycznym zastosowaniom. Niemal kazdy uzytkownik kompu-

1.1 Ruch Free Software 5

tera był jednoczesnie programista, a kopiowanie czy tez modyfikacja pro-gramu bez skrepowania aspektem praw autorskich, było rzecza legalna,naturalna i powszechna. Na poczatku lat 70 zaczeto myslec o oprogramo-waniu jako o produkcie samym w sobie. Producenci coraz mniejszychi tanszych komputerów, w miare upowszechniania sie idei komputeraosobistego, zaczynali nakładac ograniczenia na uzytkowników oprogra-mowania. Restrykcje ograniczajace mozliwosc modyfikacji czy redystry-bucji kodu zródłowego stały sie chlebem powszednim juz w latach 80.

W tym samym czasie Richard Matthew Stallman (Rys. 1.1), programi-sta AI Lab w Massachusetts Institute of Technology (MIT), walczył z zacinaja-cym sie nieustannie egzemplarzem sieciowej drukarki laserowej.

Stallmanowi udało sie czesciowo obejsc problem poprzez modyfikacjekodu zródłowego sterownika drukarki. Sprawił on, ze w przypadku wy-stapienia usterki, na ekranach uzytkowników oczekujacych na wydruki,pojawiała sie stosowna informacja o zacieciu sie urzadzenia. Rozwiazanieto pozwalało niezwłocznie zareagowac na zaistniały problem. W pózniej-szym czasie firma Xerox podarowała AI Lab egzemplarz swojego najnow-szego modelu drukarki. Była ona o wiele szybsza i dokładniejsza od po-przedniej, jednak charakteryzowała sie tym samym problemem. Stallmanchcac zmodyfikowac jej sterownik natknał sie na problem — do oprogra-mowania drukarki nie dołaczono kodu zródłowego. Postanowił wiec po-prosic wprost o ich udostepnienie i ku swojemu zaskoczeniu spotkał siez odmowa [2].

Wtedy tez miało miejsce istotne wydarzenie — firma AT&T skomer-cjalizowała, dostepny wczesniej wraz z otwartymi zródłami, system ope-racyjny Unix. Jego kod zródłowy został zatajony, co stanowiło powaznaprzeszkode na drodze swobodnego rozwoju tego systemu.

Frustracje programisty AI Lab wywołana odmowa udostepnienia mukodów zródłowych sterownika drukarki oraz pojawiajaca sie tendencje donakładania ograniczen na uzytkowników oprogramowania mozna uznacza poczatki ruchu Free Software.

Richard Stallman postanowił wówczas załozyc organizacje non-profito nazwie Free Software Foundation (FSF), której głównym celem byłowspieranie swobodnego rozwoju Wolnego Oprogramowania i przeciw-działanie nasilajacej sie tendencji ograniczania praw uzytkowników.Jednym z bardziej znanych obszarów działania tej organizacji jest nie-ustannie rozwijany projekt GNU1, który wraz z napisanym przez LinusaTorvaldsa jadrem systemu Linux2, stworzył zdobywajacy obecnie coraz

1GNU’s Not Unix (GNU to Nie Unix)2LINUs uniX lub Linux Is Not UniX

1.1 Ruch Free Software 6

Rysunek 1.1: Richard Stallman - załozyciel „Free Software Foundation”, twórcaprojektu GNU.

wiecej zwolenników system operacyjny GNU/Linux (rozdz. 2.1).

Poniewaz w jezyku angielskim słowo free oznacza jednoczesnie wolnyi darmowy, okreslenie free software wymaga precyzyjnej definicji. RichardStallman podkresla zatem, ze chodzi o wolnosc, a dokładnie o wolnoscuzytkowników oprogramowania.

FSF opracowało szereg licencji, które mozna wykorzystac przy tworze-niu oprogramowania. Najpopularniejsza i najpowszechniej uzywana jestGeneral Public Licence (GPL) lub jej słabszy odpowiednik — Lesser GeneralPublic Licence (LGPL)3.

W definicji Wolnego Oprogramowania znajdujacej sie na oficjalnej stro-nie FSF4, okreslono 4 zasady, które musza zostac spełnione, aby oprogra-mowanie mozna było nazwac wolnym. Sa to odpowiednio:

• Wolnosc 0: Prawo do uzytkowania oprogramowania w dowolnymcelu

3Dokładniejsze przedstawienie licencji znajduje sie w rozdziale 1.34http://www.fsf.org

1.2 Poczatki Open Source 7

• Wolnosc 1: Prawo do analizowania sposobu działania oprogramo-wania i dostosowywania go do swoich potrzeb. Warunkiem ko-niecznym jest tutaj dostep do kodu zródłowego

• Wolnosc 2: Prawo do redystrybucji oprogramowania

• Wolnosc 3: Mozliwosc poprawiania programu i upubliczniania swo-jej pracy dla korzysci całej społecznosci

1.2 Poczatki Open Source

Wywodzacy sie z Free Software ruch Open Source jest bardziej praktycz-nym spojrzeniem na kwestie otwartych zródeł. Free Software Foundationpowstało z mysla o zapewnieniu wolnosci uzytkownikom oprogramowa-nia, dlatego od poczatku podkreslano istotnosc gwarantowanych wolno-sci. Najwazniejszy dla FSF jest aspekt ideologiczny, czyli to, co jest naj-lepsze dla nieskrepowanego rozwoju społeczenstwa. Ta filozofia pociagaza soba koniecznosc dostarczania programu wraz z otwartymi zródłami,a korzysci ekonomiczne traktuje jedynie jako dobro dodatkowe.

Open Source jest natomiast bardziej techniczna koncepcja niz etycz-nym przesłaniem. Jakkolwiek nieprawdopodobne moze sie to wydawac,istnieje wiele modeli biznesowych pozwalajacych czerpac korzysci z opro-gramowania dystrybuowanego w oparciu o wolne licencje (rozdz. 1.4).Zauwazono, ze w kregach biznesowych korzystniej jest zastapic ideolo-giczne przesłanie wolnosci, informacjami o namacalnych korzysciach, ja-kie niesie ze soba oprogramowanie z otwartymi zródłami. Doprowadziłoto do sytuacji, w której obydwa ruchy — Free Software jak i Open Sourcezgadzaja sie co do szczegółów technicznych rozwoju oprogramowania,jednak róznia sie podstawowymi załozeniami [3].

Niebagatelny wpływ na powstanie ruchu Otwartego Oprogramowa-nia miała publikacja Erica Raymonda „The Cathedral and the Bazaar”, wktórej autor opisuje dwa modele rozwoju oprogramowania. Jednym znich jest taki, który przypomina rozwój katedry — monumentu precy-zyjnie wznoszonego przez samotnych budowniczych w ciszy i spokojuoraz izolacji od swiata zewnetrznego. Ten sposób charakteryzował rozwójoprogramowania do 1991 roku. Tak rozwijany był równiez poczatkowoprojekt GNU. Drugim jest model wykorzystany przez Linusa Torvaldsapodczas pracy nad jadrem Linux (rozdz. 2.1). Był to pierwszy powszech-nie znany przypadek zastosowania tej metody. Torvalds udostepnił w In-ternecie kod zródłowy bardzo wczesnej wersji programu, umozliwiajackazdemu wprowadzanie poprawek i rozszerzanie go o nowe funkcje. Ten

1.3 Licencje i dezorientujaca terminologia 8

styl tworzenia oprogramowania przypomina bazar — hałasliwe miejsceskładajace sie z duzej ilosci indywidualnych, niestałych elementów [4] [5].

Termin Open Source został zaproponowany przez Chrisa Petersonapodczas burzy mózgów na konferencji w Palo Alto w Kalifornii napoczatku lutego 1998 roku. Wtedy tez postanowiono porzucic aspektfilozoficzny otwartych zródeł, którym kieruje sie FSF i skupic sie nakonkretnych zastosowaniach otwartego modelu dystrybucji oprogramo-wania.

Richard Stallman nalega, by rozrózniac Otwarte Oprogramowanie odWolnego Oprogramowania. FSF uznaje zasługi ruchu Open Source, jed-nak kładzie nacisk na istote promowania wolnosci podkreslajac jedno-czesnie problemy, które moze stworzyc czysto praktyczne podejscie dootwartosci zródeł.

Ruchy Wolnego Oprogramowania (Free Software) oraz OtwartegoOprogramowania (Open Source Software) okresla sie mianem FLOSS(Free/Libre Open Source Software), gdzie słowo Libre zapozyczone zostałoz jezyków francuskiego i hiszpanskiego, ze wzgledu na brak odpo-wiedniego anglojezycznego czasownika okreslajacego wolnosc wyłaczniew znaczeniu swobody [6].

1.3 Licencje i dezorientujaca terminologia

Ze wzgledu na bardzo duza liczbe rodzajów oprogramowania orazlicencji, na których jest ono wydawane, w rozdziale tym zostana przed-stawione wyłacznie najbardziej popularne koncepcje i rozwiazania.

Public Domain — Dobro Publiczne

Status Public Domain oznacza brak jakichkolwiek zastrzezen prawnychdotyczacych danego dzieła. Oprogramowanie bedace dobrem publicz-nym mozna swobodnie kopiowac, modyfikowac i redystrybuowac bezzadnych ograniczen. W szczególnosci mozna dokonac na nim nieznacz-nej modyfikacji i objac tak zmieniony kod dowolna, nawet najbardziejrestrykcyjna licencja.

1.3 Licencje i dezorientujaca terminologia 9

Copyleft — Lewo Autorskie

Wiekszosc praw autorskich danego oprogramowania ma na celu ogra-niczenie swobody jego uzytkownika — zakaz wprowadzania modyfikacji,brak mozliwosci redystrybucji i tym podobnych. Copyleft mozna rozpatry-wac jako zwrócenie sie w przeciwnym kierunku.

Stworzona przez Richarda Stallmana koncepcja Lewa Autorskiego niema na celu zniesienia wszystkich ograniczen, ale nakłada restrykcje, któregwarantuja uzytkownikowi wolnosc, równiez w dziełach pochodnych.Dzieki tak specyficznemu zastosowaniu prawa autorskiego niemozliwystaje sie m. in. przedstawiony wczesniej scenariusz objecia restrykcyjnalicencja nieznacznie zmienionego oprogramowania.

Copyleft zezwala na nieograniczone uzywanie, modyfikowaniei kopiowanie objetej nim pracy, jednak zastrzega, ze wszelkie dziełapochodne musza byc objete tymi samymi prawami.

GNU General Public Licence (GNU GPL) — Powszechna Licencja Pu-bliczna GNU

Podstawowa licencja Wolnego Oprogramowania zalecana do wiekszo-sci zastosowan. Licencja jest typu copyleft. Programy wykorzystujace kodopublikowany w oparciu o GPL, same musza byc wydane na licencji GPL,w przeciwnym razie dojdzie do naruszenia praw autorskich. Dowolnainna licencja jest zgodna z GNU GPL, gdy wydane na niej oprogramowa-nie mozna połaczyc z oprogramowaniem wydanym na licencji GNU GPL[7].

Do niedawna obowiazywała druga wersja licencji (GNU GPL V2),Wersja trzecia została wydana 29 czerwca 2007 roku. Zmiany w ostatniejwersji obejmuja m. in. kwestie zwiazane z Digital Rights Management(DRM).

GNU Lesser General Public Licence (GNU LGPL) — Mniejsza Po-wszechna Licencja Publiczna GNU

Wczesniej znana jako GNU Library General Public Licence — PowszechnaLicencja Publiczna GNU dla Bibliotek. Nazwa została zmieniona, poniewazzbyt wielu programistów mylnie ja interpretowało, przez co była wyko-rzystywana czesciej niz było to konieczne.

Zastosowanie do biblioteki zwykłej licencji GPL powoduje, ze moze

1.3 Licencje i dezorientujaca terminologia 10

byc ona wykorzystywana wyłacznie przez oprogramowanie, które jestwolne. Daje wiec twórcom Wolnego Oprogramowania przewage nadtymi, którzy tworza oprogramowanie nie-wolne. Licencja LGPL nato-miast umozliwia wykorzystanie objetej nia biblioteki przez wszystkich,niezaleznie od licencji na której opracowywane jest nowo tworzoneoprogramowanie. Ruch Wolnego Oprogramowania upatruje zasadnoscstosowania LGPL w sytuacjach, gdy funkcjonalnosc oferowana przez bi-blioteke jest juz ogólnodostepna w innych, konkurencyjnych bibliotekach.Wówczas nie ma zadnej korzysci, która mozna by odniesc zabraniajac jejuzywania w nie-wolnym oprogramowaniu. W pozostałych przypadkachzaleca sie stosowanie GPL. Zmiana nazwy licencji ma wiec na celuzwrócenie uwagi programistów na bardziej odpowiednie jej stosowanie[8].

BSD Licence (original) — Pierwotna licencja BSD (okreslana tez jako4-punktowa licencja BSD)

Przejrzysta i prosta w konstrukcji, zawierajaca jedynie cztery pod-punkty, licencja Wolnego Oprogramowania. Nie jest zgodna z copyleft,zatem oprogramowanie pochodne mozna objac nie-wolna licencja. Niejest równiez zgodna z GPL ze wzgledu na trzeci podpunkt okreslanymianem „uprzykrzonej klauzuli ogłoszeniowej BSD”. Wymaga ona, bywszystkie materiały reklamowe dotyczace produktu objetego ta licen-cja, zawierały odpowiednia klauzule o wkładzie, jaki wniesli w jegopowstanie Uniwersytet Berkeley w Kalifornii i jego współpracownicy[9]. Niedogodnosc tej klauzuli daje o sobie znac w duzych projektachskładajacych sie z wielu mniejszych aplikacji, z których kazda objeta jestdelikatnie zmieniona — w zaleznosci od podmiotu, któremu naleza siepodziekowania — licencja BSD. Dochodzi wówczas do paradoksalnychsytuacji. Przykładem moze byc system NetBSD, który w 1997 rokudostarczany był z lista 75 osobnych podziekowan [10]. FSF proponuje, bynie mówic o licencjach typu BSD, lub nawet licencji BSD w odniesieniu doprogramów niezgodnych z copyleft, gdyz moze to sugerowac istnienietylko jednej licencji BSD i w konsekwencji prowadzic do nieswiadomegowyboru pierwotnej licencji BSD zamiast zmodyfikowanej licencji BSD. Za-miennie, na okreslenie licencji niezgodnych z copyleft, radzi sie stosowacpojecie licencji „typu X11”.

1.3 Licencje i dezorientujaca terminologia 11

BSD Licence (revised) — Zmodyfikowana licencja BSD (okreslana tezjako 3-punktowa licencja BSD)

Licencja ta rózni sie od pierwotnej licencji BSD wyłacznie brakiempodpunktu dotyczacego wspomnianej wczesniej „uprzykrzonej klauzuliogłoszeniowej BSD”. Dzieki temu jest licencja nieobjeta zasadami copy-left, jednak zgodna z GPL.

Licencja X11

Zgodna z GPL licencja, niebedaca typu copyleft, jest w zasadzierównowazna zmodyfikowanej licencji BSD.

Wszystkie powyzsze licencje oraz koncepcja copyleft sa scisle zwia-zane z FLOSS. Drugi front stanowi natomiast oprogramowanie prawnie za-strzezone (proprietary software). W jego skład wchodza licencje w znacz-nym stopniu ograniczajace swobode uzytkownika. Oprogramowanie tojest czesto zamkniete5 i obejmuje m. in. licencje Shareware i Freeware. Wprzypadku tej pierwszej program czesto dystrybuowany jest bez opłat, copozwala uzytkownikowi na wypróbowanie jego funkcjonalnosci, jednakz dodatkowymi ograniczeniami w postaci braku pewnych mozliwosci lubograniczeniem czasowym jego uzywania. Chcac otrzymac pełna wersjeprogramu, uzytkownik musi najczesciej uiscic pewna opłate licencyjna.Pod nazwa licencji Freeware rozumie sie najczesciej6 programy udostep-niane nieodpłatnie7, które moga byc swobodnie redystrybuowane, jed-nak nie moga byc modyfikowane. Termin ten czesto mylony jest z Wol-nym Oprogramowaniem. Równie czesto popełnianym błedem jest myle-nie Wolnego Oprogramowania lub Open Source z darmowym oprogra-mowaniem. Faktem jest, ze wiekszosc oprogramowania tworzonego nazasadach FLOSS jest darmowa, jednak regulacje dotyczace opłat sa kwe-stia zupełnie odrebna.

Zaleznosci pomiedzy wyzej przedstawionymi typami oprogramowa-nia i wykorzystywanymi przez nie licencjami, doskonale obrazuje rysu-nek 1.2 autorstwa Chao-Kuei.

5dostarczane bez kodu zródłowego6Freeware nie ma jasno uzgodnionej definicji7niekiedy całkowicie, a niekiedy wyłacznie do uzytku domowego

1.4 Rola FLOSS w biznesie 12

Rysunek 1.2: Zaleznosci pomiedzy róznymi typami oprogramowania

1.4 Rola FLOSS w biznesie

1.4.1 Katedra i Bazar

Jak podkreslono w rozdziale 1.2, srodowisko FLOSS wzbudziło istotne za-interesowanie swiata biznesu, wraz z pojawieniem sie w 1997 roku publi-kacji „The Cathedral and the Bazaar” Erica Raymonda. Autor eseju jestzarazem programista z wieloletnim doswiadczeniem, który napisał i udo-stepnił publicznie wiele narzedzi Open Source. Poczatkowo twierdził on,ze model bazarowy ma szanse sprawdzic sie wyłacznie w przypadku ma-łych aplikacji i drobnych narzedzi, nad rozwojem których łatwo jest zapa-nowac. Był przekonany, ze istnieje granica złozonosci kodu, po przekro-czeniu której niemozliwe jest efektywne rozwijanie go ta metoda. Uwazał,ze bardziej skomplikowane programy „powinny powstawac jak katedry: bu-dowane zrecznymi palcami samotnych czarodziei lub grupy dostojnych magówpracujacych w pełnym namaszczenia odosobnieniu, bez wersji beta udostepnia-

1.4 Rola FLOSS w biznesie 13

nych przed czasem”8.Gwałtowny i niepowstrzymany rozwój Linuksa skłonił Raymonda do

weryfikacji swoich pogladów i do zastanowienia sie nad mozliwosciami,jakie roztacza model bazarowy, zarówno przed producentem jak i uzyt-kownikiem oprogramowania. Konsekwencje jego przemyslen przedsta-wia wspomniana wyzej publikacja.

Zauwazono wówczas, ze podejscie bazarowe niesie ze soba cały sze-reg niedostrzeganych uprzednio korzysci, których nie posiada model ka-tedralny. Jedna z tych korzysci jest niewatpliwie ogromny wkład pracyrozproszony pomiedzy wszystkich współautorów. Liczba osób moga-cych uczestniczyc w projekcie jest czesto nieograniczona, a współtwór-cami sa niejednokrotnie przyszli uzytkownicy tworzonego oprogramowa-nia. Nawet gdy potencjalny uzytkownik powstajacej aplikacji nie posiadaodpowiednio wysokich umiejetnosci programistycznych, moze uczestni-czyc w rozwoju programu poprzez testowanie aktualnych jego wersji orazdzielenie sie swoimi uwagami i zyczeniami odnosnie jego działania. Wy-stepuje tu pewnego rodzaju sprzezenie zwrotne, dzieki któremu opro-gramowanie od samego poczatku jest na biezaco testowane, poprawianei dopasowywane do potrzeb jego uzytkowników. Jezeli dodac do tegomozliwosc nieskrepowanego wykorzystywania gotowych otwartych roz-wiazan9, otrzymujemy imponujace połaczenie jakosci oprogramowaniai szybkosci jego rozwoju.

Wolne i otwarte oprogramowanie jest czesto tworzone przez grupy in-dywidualnych programistów, którzy przyłaczaja sie do projektu lub od-chodza od niego na róznych etapach jego rozwoju. Motywacja do two-rzenia oprogramowania Open Source moze byc rozmaita. Czesto progra-mista, który potrzebuje konkretnego narzedzia, zamiast pisac je od nowa— przyłacza sie do istniejacego juz projektu, który w krótszym czasie maszanse spełnic jego oczekiwania. Wziecie udziału nawet w małym projek-cie moze okazac sie bardzo efektywnym sposobem na rozwiniecie swo-ich umiejetnosci, natomiast uczestnicy wiekszych przedsiewziec zyskujasławe i uznanie. Pomijajac aspekt wewnetrznej satysfakcji, znajduja sieoni na duzo lepszej pozycji chociazby z punktu widzenia potencjalnegopracodawcy.

Szybki postep techniczny sprawia, ze otwarty model rozwoju jest po-strzegany jako duzo bardziej efektywny od zamknietego. SrodowiskoFLOSS mówi nawet o doskonałosci technologicznej tego modelu. Dzieki

8Eric Raymond: „The Cathedral and the Bazaar”, Tłumaczenie: Artur Skura, kwiecien2001 r.

9Mozliwosc te zapewniaja licencje Wolnego Oprogramowania

1.4 Rola FLOSS w biznesie 14

niemu, Otwarte Oprogramowanie moze powstawac szybciej i charakte-ryzowac sie lepsza jakoscia niz to, które powstaje w oparciu o model ka-tedralny. Jednakze jakosc oprogramowania zalezy tylko i wyłacznie odjego twórców i ich umiejetnosci wykorzystania mozliwosci, jakie stwarzaotwarty model rozwoju. Co za tym idzie, na rynku rozwiazan FLOSS po-jawia sie oprogramowanie zarówno wysokiej, jak i niskiej jakosci.

Propagujac wolne/otwarte oprogramowanie nalezy zwrócic szcze-gólna uwage na jasne przedstawienie tej sytuacji. Czesto fanatyczni zwo-lennicy FLOSS zapominaja wspomniec o jego wadach, przez co — czestonieswiadomie — tworza obraz oprogramowania doskonałego. Wizja taskonfrontowana z rzeczywistoscia potrafi byc przykra i skutecznie znie-checic uzytkownika do korzystania z otwartych rozwiazan. Dlatego Ri-chard Stallman nalega by postrzegac wolnosc uzytkownika jako głównai najistotniejsza wartosc Wolnego Oprogramowania, natomiast korzyscipraktyczne z niej wynikajace wyłacznie jako przyjemny dodatek do tejwolnosci. Nalezy wiec unikac idealizowania wolnego modelu rozwojuoprogramowania, a jedynie podkreslac istnienie potencjału, który odpo-wiednio wykorzystany pozwoli osiagnac zaskakujaco dobre rezultaty.

Swiatowej sławy komercyjne korporacje coraz czesciej doceniaja moz-liwosci, jakie oferuje Open Source i chetnie z nich korzystaja. Juz w sierp-niu 2003 roku Walt Disney Company wraz z dwiema innymi wytwórniamifilmowymi opłaciły stworzenie opartego na Wine (rozdz. 3.1.2) rozwia-zania umozliwiajacego uruchomienie uzywanego przez nich Adobe Photo-Shop na systemie GNU/Linux. Kiedy w 2001 roku aplikacje takie jak Maya,Houdini czy RenderMan stały sie dostepne dla uzytkowników Linuksa, Di-sney stworzył ponad 600 stanowisk roboczych opartych o Red Hat Linux7.2. Otwarte technologie zaczeły w tych latach wykorzystywac równieztakie firmy jak DreamWorks SKG czy tez Pixar Animation Studios [11] [12].

1.4.2 Magiczny Kocioł

Wiele osób zadaje sobie pytanie, jak mozliwe jest zarabianie na czyms, cow duzej mierze dostepne jest za darmo? Jak mozliwe jest przy tym utrzy-manie tak wysokiego standardu, jaki oferuje wolne i otwarte oprogramo-wanie?

Znany z eseju „The Cathedral and the Bazaar”, Eric Raymond, jestrówniez autorem pracy „The Magic Cauldron”, w której zajmuje sie eko-nomicznym aspektem rozwoju oprogramowania, w oparciu o otwartemodele. Autor przyrównuje fenomen dostepnego publicznie, wysokiejjakosci, darmowego oprogramowania do magicznego kotła, w którym, po

1.4 Rola FLOSS w biznesie 15

wypowiedzeniu odpowiedniego zaklecia, w cudowny sposób pojawia siepozywne jedzenie. W publikacji przedstawia m. in. uzasadnione ekono-micznie metody czerpania z Open Source wymiernych, finansowych ko-rzysci. Dzieli wartosc oprogramowania na wartosc uzyteczna, która jestcharakterystyczna zarówno dla otwartego jak i zamknietego oprogramo-wania oraz na wartosc dystrybucyjna (sprzedazna) — oparta wyłaczniena procesie sprzedazy oprogramowania. Raymond zauwaza, ze mozliwejest wykorzystanie tylko wartosci uzytkowej, która jest wprost proporcjo-nalna do jakosci programu. Przy wyjatkowo efektywnym modelu roz-woju Otwartego Oprogramowania moze zatem dojsc do sytuacji, w którejwartosc uzyteczna Open Source przewyzsza jednoczesnie wartosci uzy-teczna i dystrybucyjna zamknietego oprogramowania.

Eric Raymond przedstawia otwarte modele rozwoju oprogramowaniapozwalajace na czerpanie korzysci finansowych z tzw. sprzedazy niebezpo-sredniej. Oto niektóre z nich10:

Loss-Leader/Market Positioner

W tym modelu Otwarte Oprogramowanie generuje popyt na opro-gramowanie zamkniete. Upowszechnienie wartosciowego programu naotwartej licencji działa na zasadzie reklamy. Uzytkownik moze wypró-bowac produkt danej firmy, poznac jego jakosc i uzytecznosc, a w konse-kwencji zainteresowac sie innymi, niekoniecznie otwartymi programami.

W 1998 firma Netscape Communications zaczeła tracic udział w rynkuprzegladarek internetowych za sprawa pojawienia sie zintegrowanejz systemem Windows przegladarki Internet Explorer (IE). Uwolnieniekodu zródłowego Netscape Navigator (NN) diametralnie przyspieszyłorozwój tej przegladarki. Było to strategiczne posuniecie firmy NetscapeCommunications, które pomogło jej odzyskac czesc udziałów w rynku,a dodatkowo zapobiegło całkowitemu jego zmonopolizowaniu przezfirme Microsoft.

Widget Frosting

Model czesto wykorzystywany przez producentów sprzetu kom-puterowego. Aby oferowany sprzet mógł poprawnie funkcjonowac,producent czesto zmuszony jest dostarczac razem z nim sterowniki

10zachowano oryginalne nazewnictwo

1.4 Rola FLOSS w biznesie 16

i oprogramowanie. Samo oprogramowanie nie przynosi producentowizadnego zysku, jest jednak niezbedne do tego, aby sprzet był uzyteczny.Uwolnienie kodu tego oprogramowania nie powoduje wiec zadnychstrat, a ponadto pozwala wykorzystywac zalety modelu bazarowego— szybki rozwój, utrzymanie wysokich standardów i dopasowanie dopotrzeb uzytkownika. Co wiecej firmy wydajace sterowniki na otwartychlicencjach, czesto zyskuja lojalnych klientów. Wszystko to przyczyniasie do zwiekszenia grona nabywców sprzetu, a wiec przekłada sie namaterialny zysk producenta.

Give Away the Recipe, Open a Restaurant

Zródłem dochodu nie jest sprzedaz oprogramowania, tylko sprzedazusług z nim zwiazanych. Przy zamknietym modelu, popyt na te usługibyłby zdecydowanie mniejszy ze wzgledu na duzo mniejsza liczbeuzytkowników tego oprogramowania.

Accessorizing

Obejmuje wszelkiego rodzaju usługi bezposredniej sprzedazy ak-cesoriów i gadzetów zwiazanych z FLOSS. Warto zauwazyc, ze kubekz logo ulubionej dystrybucji Linuksa jest czesto bezcenny dla oddanegojej uzytkownika.

Free the Future, Sell the Present

Przykładem wykorzystania tego modelu moze byc dystrybucja opro-gramowania wraz z kodem zródłowym, jednak na licencji wymagajacejopłaty za uzytek komercyjny. Jednoczesnie ustalony zostaje terminzmiany licencji na GPL. Klient dostaje gwarancje jakosci oprogramo-wania, jak równiez mozliwosci dostosowania programu do swoichpotrzeb. Produkt cieszy sie wiekszym zainteresowaniem niz w typowymzamknietym modelu, a jednoczesnie firma moze zarabiac na bezposred-niej sprzedazy oprogramowania. Ujemna strona tego modelu jest to,ze oprogramowanie, przynajmniej z poczatku, rozwija sie podejsciemkatedralnym.

1.4 Rola FLOSS w biznesie 17

Opisane mozliwosci sa jedynie najbardziej popularnymi. Istnieje wieledyskusyjnych modeli, a w przyszłosci z pewnoscia powstana nowe. Niewyklucza sie równiez wykorzystywania wielu modeli jednoczesnie, lubhybrydowych kombinacji powyzszych [11] [13].

Rozdział 2

FLOSS w popularnychzastosowaniach

2.1 System operacyjny

System operacyjny — program, badz zbiór programów umozliwiajacychzarzadzanie sprzetem oraz aplikacjami komputera. Podstawowymifunkcjami systemu operacyjnego sa: obsługa pamieci, urzadzen wej-scia/wyjscia, przydział czasu procesora, ustalanie połaczen sieciowychoraz zarzadzanie plikami [14].

W sekcji tej, wraz z krótka historia rozwoju, przedstawione zostanasystemy operacyjne, których wybór jest najczesciej rozwazany przez małefirmy.

Microsoft Windows

Pierwsze wersje systemu Windows były jedynie nakładka graficzna nauzywany powszechnie system MS-DOS. Od mało popularnej wersji 1.0(Rys. 2.1), poprzez nieznacznie bardziej udana 2.0, system Windows zdo-był wielka popularnosc wydajac w 1990 roku wersje 3.0 zmodyfikowanaw 1992 roku do wersji 3.11.

Przełom stanowił dopiero czesciowo 32-bitowy Windows 95, który uka-zał sie w kilku wersjach i wprowadził szereg innowacji takich jak systemPlug and Play, obsługa systemu plików FAT32, obsługa USB czy tez funkcjeprawego klawisza myszy. Obecnie juz rzadko spotykany, został w 1998r.z powodzeniem zastapiony przez uzywany do dzis Windows 98.

2.1 System operacyjny 19

Rysunek 2.1: Windows 1.0 (1985r.) — rys. Daniel Lessard

Wydanie drugie, znane jako Windows 98 SE (Second Edition), zawierałojuz obsługe partycji o rozmiarach powyzej 2GB, lepsze wsparcie dla wieluurzadzen, zintegrowana z menedzerem okien przegladarke internetowaoraz mechanizm NAT1. Wiele poprawek błedów zawartych w wersji pod-stawowej zostało usunietych, co przyczyniło sie do zwiekszenia stabilno-sci systemu wzgledem jego poprzednika.

We wrzesniu 2000 roku swiatło dzienne ujrzał Windows ME (Millen-nium Edition). Jest to ostatnia wersja systemu oparta o monolityczne ja-dro Windows 9x i system MS-DOS. Zawiera nieco lepsze od Windows 98wsparcie dla sieci oraz funkcje przywracania systemu. Wersja ta nie zostałazbyt dobrze przyjeta, ze wzgledu na stosunkowo duze problemy ze sta-bilnoscia.

Od wersji 3.11, Microsoft rozwijał równolegle linie systemów NT (NewTechnology). Stworzony do pracy w sieci, Windows NT 3.1 został zaopa-trzony w 32-bitowe API2 oraz nowy, wydajniejszy system plików NTFS.Ze wzgledu na specyficzna konstrukcje systemu (NT’s superior hardwareabstraction model), tworzenie sterowników okazało sie niezwykle trudne.W konsekwencji cała pózniejsza seria NT (3.5, 3.51, 4.0, Windows 2000)nie mogła poszczycic sie dobrym wsparciem dla sprzetu, co czyniło ja

1Network Address Translation2Application Programming Interface

2.1 System operacyjny 20

mało atrakcyjna dla przecietnego uzytkownika, jednak bardzo skuteczniezapełniła nisze rynkowa powstała na skutek niedoboru sieciowych syste-mów operacyjnych.

Linie NT/2000 oraz 3.1/95/98/NT zostały połaczone, co w 2001 rokuzaowocowało wydaniem Windows XP — systemu, który do roku 2005 uka-zał sie w ponad 10 róznych wersjach i jest obecnie jednym z czesciej spoty-kanych. W pełni 32-bitowy, łaczy w sobie dobra obsługe sieci z łatwosciai wygoda uzytkowania oraz dobrym wsparciem dla urzadzen.

W kwietniu 2003r. wydany został Windows Server 2003, nastepca Win-dows Server 2000, stworzony z mysla o profesjonalnych zastosowaniach.W wersji tej połozono jeszcze wiekszy nacisk na stabilnosc i bezpieczen-stwo.

Nastepca Windows XP — Windows Vista stał sie publicznie dostepny30 stycznia 2007 roku.

GNU/Linux

Jak wspomniano w rozdziale 1.1, w latach 80, Free Software Founda-tion zaczeło rozwijac projekt o nazwie GNU. Do poczatku lat 90, GNUstanowiło w zasadzie w pełni funkcjonalny system operacyjny. Brako-wało wyłacznie jednego, bardzo istotnego czynnika — jadra systemu. Bra-kujace ogniwo zostało stworzone w 1991 przez finskiego programiste —Linusa Torvaldsa (Rys. 2.2). Torvalds opublikował w Internecie kod zró-dłowy jadra umozliwiajac kazdemu wprowadzanie dowolnych modyfi-kacji oraz dzielenie sie swoimi spostrzezeniami. Do projektu szybko przy-łaczyła sie ogromna liczba programistów z całego swiata. Pod koniec 1991roku, jadro liczyło około 10 tys. linii kodu i korzystało z niego 100 osób.Obecnie zawiera ponad 6 mln. linii kodu a liczba jego uzytkowników jesttrudna do okreslenia.

Powszechnie, system GNU/Linux składa sie z jadra, systemu biblio-tek i narzedzi GNU oraz dodatkowych aplikacji rozwijanych na wolnychlicencjach. W zaleznosci od preferencji, mozna dowolnie łaczyc ze sobaposzczególne komponenty. Mozliwy jest wybór wersji jadra, konfigura-cja jego funkcji, dołaczenie wybranych narzedzi i oprogramowania. Takpowstałe połaczenie nazywane jest dystrybucja.

Jedna z pierwszych dystrybucji był, stworzony w 1993 roku, Softlan-ding Linux System (SLS), na którym bazuje znany i rozwijany do dzis —Slackware. W tym samym roku powstała jedna z najwiekszych obecniedystrybucji — Debian. Rok pózniej swiatło dzienne ujrzał Red Hat. Wiek-szosc powszechnie dostepnych dzis dystrybucji Linuksa ma swoje korze-

2.1 System operacyjny 21

Rysunek 2.2: Linus Torvalds

nie w jednej z powyzszych.Niektóre dystrybucje wspierane sa przez komercyjne organizacje takie

jak Red Hat czy Novell, jednak istnieje wiele mniej popularnych, tworzo-nych z mysla o konkretnych zastosowaniach. Tak powstały m. in. dystry-bucje: VideoLinux do montazu i obróbki wideo, Scientific Linux przezna-czony dla studentów i pracowników naukowych, linuX-gamers Live DVDdla wielbicieli gier oraz wiele innych.

Czesto oprogramowanie dostepne w poszczególnych dystrybu-cjach organizowane jest w pakiety zawierajace dodatkowo informacjeo danym programie, jego wersji lub zaleznosciach — innych aplika-cjach/bibliotekach wymaganych przez dany program. Dane te sa odpo-wiednio interpretowane przez Package Management System (PMS) — cha-rakterystyczny dla danej dystrybucji system narzedzi słuzacych do za-rzadzania pakietami. Repozytoria pakietów danej dystrybucji podzie-lone sa przewaznie na gałezie zawierajace odpowiednio: wyłacznie wolneoprogramowanie, oprogramowanie nie-wolne oraz wolne zalezne od nie-wolnego. Dzieki takiemu rozwiazaniu mozliwa jest łatwa organizacja i za-rzadzanie oprogramowaniem.

2.2 Aplikacje podstawowe 22

Serwisy takie jak zegenie Studios lub Desktop Linux At Home pomagajawybrac dystrybucje dopasowana do indywidualnych potrzeb uzytkow-nika. W celu szybkiego zapoznania sie z konkretna dystrybucja bez zbyt-niej ingerencji w aktualnie uzywany system operacyjny, mozna skorzystacz maszyny wirtualnej (rozdz. 3.1.2) lub jednej z coraz bardziej popular-nych dystrybucji Live. Ostatnia z wymienionych mozliwosci pozwala nauruchomienie systemu znajdujacego sie na płycie CD/DVD, bez koniecz-nosci jego instalacji.

W serwisie http://distrowatch.com prowadzone sa obecnie sta-tystyki wykorzystania 358 dystrybucji. Powage sytuacji, w jakiej znaj-duje sie poczatkujacy uzytkownik, niezdecydowany na zadna z dystry-bucji, obrazuje załaczony w dodatku B rysunek GNU/Linux distro timeline(http://futurist.se/gldt)

2.2 Aplikacje podstawowe

W rozdziale tym uwaga zostanie poswiecona wyłacznie aplikacjom naj-czesciej uzywanym w małych firmach, do których przystosowanie niepowinno sprawic problemów uzytkownikowi przyzwyczajonemu dopracy z powszechnie uzywanym oprogramowaniem komercyjnym. Wy-mienione tutaj oprogramowanie jest jedynie namiastka dostepnych po-wszechnie, wolnych aplikacji. Ponadto wybór oprogramowania jest cze-sto kwestia indywidualnych preferencji, a niezwykle dynamiczna naturarozwoju FLOSS sprawia, ze nowe, niekiedy przełomowe projekty rozwi-jaja sie z dnia na dzien. Z tych wzgledów nie wyklucza sie istnienia wol-nych programów, które sa lepsze, szybsze i bardziej funkcjonalne od pre-zentowanych ponizej.

2.2.1 Aplikacje uzytkowe

Na obecnym etapie rozwoju Linuksa, uzytkownik otrzymuje mozliwoscodizolowania od skomplikowanych mechanizmów instalacji i konfi-guracji. Dzieki stworzonym rozmaitym narzedziom umozliwiajacymautomatyczne wykrycie i konfiguracje obecnych w komputerze urzadzen,aktywnosc uzytkownika sprowadza sie czesto jedynie do wyboru srodo-wiska graficznego oraz przyjaznej konfiguracji podstawowych funkcji.

2.2 Aplikacje podstawowe 23

X.org (http://www.x.org/wiki) jest implementacja graficznego sys-temu komputerowego X Window System3 sporzadzonego juz w latachosiemdziesiatych w MIT. X.org stało sie standardowa implementacjaX, zastepujac poprzednia — XFree86 — po tym jak czesc kodu XFree86została objeta zmodyfikowana wersja licencji, budzaca kontrowersjeodnosnie jej zgodnosci z GNU GPL. Budowa X.org utrzymana jestw przezroczystej sieciowo architekturze klient-serwer. Klientem mozebyc dowolny program z graficznym interfejsem uzytkownika, czescserwerowa natomiast odpowiada na zadania klienta poprzez tworzeniei modyfikacje okien oraz obsługe urzadzen wejsciowych [15] [16] [17].

windowmaker (http://www.windowmaker.info) — menedzer majacywielu zwolenników z uwagi na szybkosc działania i funkcjonalnosc.Ze wzgledu na nietypowy interfejs oraz niektóre rozwiazania, mozestanowic niewielka trudnosc dla poczatkujacych uzytkowników, przy-zwyczajonych do konkurencyjnego oprogramowania z rodziny Microsoft.

Xfce (http://www.xfce.org) — bazujace na bibliotece GTK+ srodowiskograficzne, którego głównym priorytetem jest wydajnosc. Składa siez niewymagajacych, pod wzgledem zasobów, programów tworzacychsrodowisko robocze o charakterze modularnym. Autorzy zachecaja doindywidualnego doboru aplikacji w zaleznosci od potrzeb uzytkownika.Projekt Xfce obejmuje m. in. prosty edytor tekstu, szybki menedzer okien,odtwarzacz multimediów, kreator CD/DVD oraz archiwizator plików.Wszystkie pliki konfiguracyjne Xfce zapisane sa w jezyku XML, a samosrodowisko graficzne dostepne jest równiez na platformy Linux, NetBSD,FreeBSD, OpenBSD, Solaris, MacOS X oraz procesory x86, PPC, Sparci Alpha [18].

KDE4 (http://www.kde.org) — Efektowne wizualnie, dostarczane przezwiele skierowanych na przyjaznosc dla uzytkownika dystrybucji, sro-dowisko graficzne. Projekt KDE został zapoczatkowany w 1996 roku.Oparty jest na bibliotece QT, która w tamtych czasach nie była jeszcze ob-jeta wolna licencja. Projekt GNU stworzył wówczas wolna biblioteke za-stepcza o nazwie Harmony, która umozliwiała uruchamianie bazujacychna QT aplikacji. Dodatkowo, GNU zaczeło rozwijac GNOME — własnesrodowisko oparte w całosci wyłacznie o Wolne Oprogramowanie. Wewrzesniu 2000 roku, QT zmieniło licencje na GPL, co ostatecznie rozwia-

3zamiennie stosuje sie równiez nazwy X lub X114K Desktop Environment

2.2 Aplikacje podstawowe 24

zało problem.Obecnie trwaja prace nad wersja 4.0, która ma wprowadzic szereg

innowacji. Dzieki oparciu o biblioteke QT4, wzrosnac ma wydajnosc tegosrodowiska, która w wersjach 3.x była czesto kwestionowana.

GNOME5 (http://www.gnome.org) — Konkurencyjne dla KDE, kom-pleksowe srodowisko biurkowe, oparte na bibliotece GTK+. Celem pro-gramistów projektu GNU jest dostarczenie atrakcyjnego i intuicyjnegosystemu zarzadzania przestrzenia robocza, charakteryzujacego sie jedno-czesnie prostota i łatwoscia rozwoju. Specjalnie do tego celu dostarczonyzostał rozległy zestaw bibliotek i narzedzi umozliwiajacy wygodne two-rzenie aplikacji łatwo integrujacych sie ze srodowiskiem.

Domyslnym menedzerem plików w srodowisku GNOME jest nautilus(http://www.gnome.org/projects/nautilus). Poza podstawowymifunkcjami zwiazanymi z operacjami na plikach, umozliwia on zarza-dzanie pulpitem, przegladanie zasobów sieciowych (za posrednictwemprotokołów takich jak ftp ssh nfs czy smb), nagrywanie CD/DVD, zarza-dzanie czcionkami czy tez wykorzystywanie zewnetrznych rozszerzenlub skryptów [19].

Bardziej rozbudowane srodowiska graficzne, takie jak GNOME, KDElub Xfce, posiadaja — kazde swój własny — zestaw programów majacychna celu zapewnienie wymaganej na co dzien podstawowej funkcjonalno-sci. Do aplikacji tych zaliczaja sie przegladarki i edytory dokumentów,przegladarki plików graficznych, programy do nagrywania CD/DVD, ar-chiwizery plików, proste narzedzia systemowe, panele administracyjne,a w przypadku GNOME i KDE, nawet natywne pakiety biurowe.

Oprogramowanie to doskonale spełnia typowe funkcje, do których zo-stało przeznaczone i z punktu widzenia zwykłego uzytkownika nie od-biega znaczaco od ogólnie przyjetych norm — zarówno pod wzgledemobsługi jak i funkcjonalnosci.

2.2.2 Pakiet biurowy

Na pakiet biurowy najczesciej składa sie edytor tekstu, arkusz kalku-lacyjny oraz program do tworzenia prezentacji. Niekiedy pojawia sierówniez aplikacja do tworzenia i zarzadzania bazami danych, edytorformuł matematycznych czy tez edytor graficzny. Nie ulega watpliwosci,ze przez długie lata na tym polu dominował Microsoft Office i w duzej

5GNU Network Object Model Environment.

2.2 Aplikacje podstawowe 25

mierze tak jest równiez dzisiaj. Srodowisko Wolnego Oprogramowaniamoze jednak pochwalic sie całkowicie darmowym zamiennikiem tegoproduktu.

OpenOffice.org (OOo) (http://openoffice.org) wywodzi sie z projektuStarOffice zapoczatkowanego przez firme Star Division, która w 1999 rokuzostała przejeta przez Sun Microsystems (http://www.sun.com). Po okołoroku pracy nad projektem, kod zródłowy StarOffice został ujawnionyi wydany na licencji GNU/GPL jako OpenOffice.org. Rozwijany do dzi-siaj przez programistów z całego swiata, stał sie powaznym konkurentemMicrosoft Office i cieszy sie stałym wzrostem zainteresowania ze stronyzarówno osób prywatnych jak i firm [20] [21].

Na Pakiet OpenOffice w aktualnej stabilnej wersji 2.2 składaja sie: edy-tor tekstu Writer, arkusz kalkulacyjny Calc, kreator prezentacji Impress,edytor obrazów Draw, moduł bazy danych Base oraz edytor formuł ma-tematycznych Math [22].

Openoffice bez trudu rozpoznaje dane w formatach MS Office, dziekiczemu mozliwa jest współpraca z uzytkownikami konkurencyjnego opro-gramowania oraz odczyt i zapis plików do popularnych zamknietych for-matów, takich jak doc, xls czy ppt. Przenosnosc nie jest jednak stupro-centowa. Bardziej zaawansowane funkcje poszczególnych modułów, skła-dajacych sie na pakiet biurowy, do niedawna sprawiały dosyc duze pro-blemy. Dzis, choc w wiekszosci wyeliminowane — nadal istnieja. Zde-cydowana wiekszosc uzytkowników wykorzystuje jednak tylko niewielkiprocent wszystkich funkcji poszczególnych składników pakietu. Przy takpodstawowych zastosowaniach, zgodnosc formatów jest całkowita i niestwarza problemów.

OpenOffice oferuje mozliwosc eksportu dokumentów do formatu Por-table Document Format (PDF), który zapewnia pełna przenosnosc do-kumentu. Ostatnie wersje natomiast, sugeruja OASIS Open DocumentFormat for Office Applications (ODF) jako domyslny format zapisu two-rzonych dokumentów. OpenDocument stał sie oficjalnym standardemISO/IEC 26300:2006 w listopadzie 2006 roku [23]. Jest obecnie rekomen-dowanym przez Unie Europejska standardem zapisu dokumentów. Rów-niez rozporzadzenie Rady Ministrów z dnia 11 pazdziernika 2005 roku,w sprawie minimalnych wymagan dla systemów teleinformatycznych,wskazuje na OpenDocument 1.0 jako jeden z podstawowych formatówdla administracji publicznej [24].

Podczas gdy standard ODF został zaakceptowany przez 19 narodo-wych organizacji członkowskich ISO i jest powszechnie wykorzystywanyw wiekszosci czołowych pakietów biurowych, firma Microsoft zapropo-

2.2 Aplikacje podstawowe 26

Rysunek 2.3: OpenOffice Writer i OpenOffice Calc (odpowiednio na pierwszymi drugim planie)

nowała własny standard zapisu danych — Microsoft Office Open XML(MSOOXML), który — pomimo licznych sprzeciwów — bedzie rozpatry-wany przez ISO w trybie przyspieszonym [25].

W lipcu 2005 roku Ministerstwo Nauki i Informatyzacji (MNII) dofinan-sowało projekt przetłumaczenia na jezyk polski pełnej dokumentacji tech-nicznej pakietu OpenOffice.org. Wsparcie finansowe w wysokosci 30 ty-siecy złotych pozwoliło ukonczyc projekt w pazdzierniku tego samegoroku. Odpowiedzialna za spolszczenie firma Ux Systems stworzyła ko-mercyjna, polska wersje pakietu OpenOffice.org o nazwie OpenOffice.ux.pl.Firma oferuje równiez kompleksowe wdrozenia swojego produktu, ko-mercyjna pomoc techniczna, integracje pakietu z bazami danych orazszkolenia [26].

2.2 Aplikacje podstawowe 27

2.2.3 Oprogramowanie sieciowe

Przegladarka internetowa

Domyslna przegladarka w dystrybucji Ubuntu jest Mozilla Firefox.W wersji podstawowej posiada jedynie najczesciej wykorzystywane funk-cje, jednak dzieki modularnej budowie, bardziej zaawansowani uzytkow-nicy moga wzbogacac jej funkcjonalnosc poprzez instalacje dostepnychrozszerzen.

Popularna na wielu platformach systemowych, charakteryzuje sie wy-soka stabilnoscia i bezpieczenstwem. Fundacja Mozilli, opiekujaca sie pro-jektem Mozilla Firefox, oferuje 500 dolarów i koszulke Mozilli za wykry-cie luki w bezpieczenstwie przegladarki [27]. Sprawnie działajacy systemzgłaszania błedów i niemal natychmiastowego ich poprawiania sprawia,ze Mozilla Firefox rozwija sie niezwykle preznie i jest coraz czesciej stoso-wanym zamiennikiem popularnej przegladarki Internet Explorer.

Kolejnym atutem programu jest niemal całkowita zgodnosc zestandardami W3C (http://www.w3.org). Zgodnosc ta umozliwia ujed-nolicenie standardów sieci www, co z kolei w znacznej mierze przyczyniasie do ograniczenia panujacego w niej obecnie chaosu technologicznego[28].

Klient poczty

Novell Evolution jest wydanym na licencji GPL, domyslnym klientempoczty srodowiska GNOME. Posiada zewnetrzny6 filtr niechcianej poczty.Obsługuje protokoły TLS/SSL oraz szyfrowanie PGP. Przejrzysty inter-fejs oparty o GTK+ podobny jest do popularnego, prawnie zastrzezonegoklienta Outlook Express firmy Microsoft.

Innym, godnym uwagi programem jest Mozilla Thunderbird. Opróczmozliwosci oferowanych przez Novell Evolution, Thunderbird posiadawbudowany filtr antyspamowy oraz dodatkowe funkcje poprawiajacebezpieczenstwo — ostrzeganie przed próbami wyłudzenia poufnych in-formacji czy tez blokowanie zdalnych obrazków umozliwiajacych sledze-nie uzytkowników. Aplikacja posiada równiez obsługe formatu pocztyOutlook Express oraz mozliwosc odczytu kanałów informacyjnych RSS[29] [30] [31].

6korzystajacy z mechanizmów SpamAssassin

2.2 Aplikacje podstawowe 28

Komunikatory

Kadu (http://kadu.net) stanowi oparta o QT implementacje klienta,powszechnego w Polsce protokołu, Gadu-Gadu. Posiada wiele bardziej lubmniej funkcjonalnych rozszerzen. Przykładem takiego rozszerzenia mozebyc kadu-weather umozliwiajace sprawdzenie pogody w wybranym mie-scie w oparciu o serwisy Interia.pl, Onet.pl lub Panorama Internetu. Od ory-ginalnego klienta Gadu-Gadu (http://www.gadu-gadu.pl), Kadu od-róznia sie równiez brakiem wszechobecnych banerów reklamowych.

Psi (http://psi-im.org) jest popularnym, dostepnym na wielu plat-formach systemowych, klientem otwartego protokołu Jabber. Dzieki cha-rakterystycznym dla Jabbera, instalowanym na serwerach transportom,mozliwa jest komunikacja z uzytkownikami innych sieci typu Instant Mes-saging.

Skype (http://skype.com) jest darmowym, prawnie zastrzezonymkomunikatorem internetowym. Wersja binarna dostepna jest na kilkaplatform systemowych, w tym takze dla Linuksa. Rozwijana wolniej nizw wersji dla Windows, nie posiada m. in. funkcji prowadzenia wideoro-zmów, jednak autorzy nie wykluczaja wprowadzenia tej funkcjonalnosciw nadchodzacych wersjach. Wyodrebniona została osobna grupa progra-mistów rozwijajacych linuksowa wersje Skype’a [32].

2.2.4 Multimedia

Poza standardowymi, obecnymi w najpopularniejszych srodowiskachgraficznych, aplikacjami multimedialnymi, warto wymienic jeszcze kilkazasługujacych na szczególna uwage.

MPlayer (http://www.mplayerhq.hu) stosowany jest nie tylko na plat-formie linuksowej. Autor — Árpád Gereöffy — zapoczatkował w 2000roku projekt odtwarzacza, który jest obecnie aplikacja multimedialnao imponujacych mozliwosciach. Dostepny na wiele platform sprzetowych(w tym równiez PlayStation 2), jest chetnie wykorzystywany przez uzyt-kowników wiekszosci popularnych systemów operacyjnych.

MPlayer znany jest z szybkosci działania i niekonczacej sie listy ob-sługiwanych formatów audio/wideo, urzadzen wyjsciowych czy forma-tów wejsciowych umozliwiajacych odtwarzanie zdalnego pliku przy uzy-ciu protokołów takich jak HTTP, FTP czy MMS. Swietnie nadaje sie doodczytywania uszkodzonych plików wideo i daje uzytkownikowi prze-razajaco szerokie mozliwosci manipulacji procesem odtwarzania i prze-

2.3 Rozwiazania biznesowe 29

twarzania (za sprawa rozwijanego równolegle narzedzia MEncoder) mul-timediów. Dostepne sa równiez rozszerzenia umozliwiajace integracjeMPlayera z wieloma przegladarkami internetowymi.

Wszystkie zalety tej doskonałej aplikacji połaczone z otwartym kodemudostepnionym na licencji GNU GPL, sprawiaja, ze ciezko jest mówico jakiejkolwiek konkurencji dla MPlayera. Szczegółowa dokumentacjaznajduje sie na stronie projektu7.

Gimp (http://www.gimp.org) jest zaawansowanym, wolnym pro-gramem do obróbki obrazu oraz grafiki 2D. Czesto porównywanyz popularnym produktem PhotoShop firmy Adobe, ma wielu zwo-lenników, którzy twierdza, ze absolutnie nie ustepuje mozliwosciamiswojemu komercyjnemu odpowiednikowi. Zaawansowani uzytkow-nicy PhotoShopa zauwazaja róznice w bardziej wysublimowanychnarzedziach, jednak w wiekszosci przypadków nie jest to brakujacafunkcjonalnosc, a jedynie rozwiazana w inny sposób metoda osiagnieciatego samego efektu. Prawie wszyscy sa natomiast zgodni co do jednego— GIMP jest godna polecenia, darmowa, oparta na licencji GPL aplikacjao poteznych mozliwosciach. Dla wielu uzytkowników przyzwycza-jonych do konkurencyjnej aplikacji, interfejs GIMPa jest niewygodnyi przysparza wiele problemów. Z mysla o nich powstaje Gimpshop(http://www.plasticbugs.com), który ma za zadanie upodobnicinterfejs, w tym układ menu i skróty klawiszowe, do tego znanegoz PhotoShopa [33] [34].

ImageMagick (http://www.imagemagick.org) jest pakietem do tworze-nia, edycji i konwersji grafiki rastrowej. Obsługuje około 100 róznychformatów obrazu i umozliwia swobodna konwersje pomiedzy nimi. Po-nadto oferuje funkcje animacji, nakładania, przechwytywania, transfor-macji, filtrowania oraz matematycznego i wizualnego porównywania ob-razów bezposrednio z linii polecen. Dostepne sa interfejsy dla jezykówAda, C/C++, Java, Lisp, .NET, Pascal, Perl, PHP, Python i innych.

2.3 Rozwiazania biznesowe

Migracje na otwarte systemy informatyczne staja sie coraz bardziej popu-larne. Zwrot firm w kieunku FLOSS objawia sie w róznym stopniu — odnieznacznych zmian, takich jak zastapienie pakietu MS Office otwartym

7http://www.mplayerhq.hu/DOCS/HTML-single/en/MPlayer.html

2.3 Rozwiazania biznesowe 30

Rysunek 2.4: GIMP na standardowym pulpicie Ubuntu + Beryl

OpenOffce.org, poprzez typowo biurkowe dystrybucje Linuksa (Ubuntu,Mandriva, Suse Novell) z emulacja zamknietych rozwiazan, po komplek-sowe systemy informatyczne oparte w całosci na Open Source. Równiezorganizacje rzadowe, duze firmy i instytucje panstwowe kieruja sie corazczesciej ku srodowisku FLOSS, podkreslajac wielokrotnie bezpieczenstwootwartego kodu zródłowego oraz korzysci wynikajace z uzywania otwar-tych standardów [35] [36] [37] [38].

Powszechnie stosowane rozwiazania maja te przewage nad rozwiaza-niami Open Source, ze z istnienia tych drugich, wiele firm nie zdaje so-bie sprawy. Sytuacja zmienia sie jednak na korzysc otwartych rozwiazanw miare dostrzegania przez przedsiebiorców korzysci płynacych z alter-natywnego podejscia.

Równiez w Polsce istnieje wiele firm oferujacych kompleksowaobsługe informatyczna firm i instytucji w oparciu o FLOSS. Propozycje

2.3 Rozwiazania biznesowe 31

obejmuja instalacje przyjaznych systemów biurkowych bazujacych nasystemie GNU/Linux, emulacje poszczególnych aplikacji przeznaczo-nych dla Windows8 oraz wydajne systemy oparte na sieci terminaligraficznych. Firmy te oferuja najczesciej szkolenia z zakresu wdrazanychrozwiazan a takze zdalna i osobista pomoc techniczna. Sposród wielu,wyróznic mozna chociazby:

Tefnet (http://www.tefnet.pl) — firma z siedziba w Zgierzu. Oferujewdrozenia i administracje sieciami terminali graficznych oraz indywidu-alne rozwiazania informatyczne w oparciu o Open Source. Zakonczonewdrozenia obejmuja m. in.: Publiczny punkt dostepu do Internetu w Choci-szewie - 19 stanowisk terminalowych, Gimnazjum w Parzeczewie - 12 Stanowiskterminalowych, Infrastrukture serwerowa w Urzedzie Gminy w Parzeczewieoraz systemy terminalowe w Miejskim Przedsiebiorstwie Gospodarki Komunal-nej w Zgierzu.

LeftHand (http://www.lefthand.com.pl) — firma znana z oprogra-mowania finansowo-ksiegowego, takiego jak Mała Ksiegowosc i PełnaKsiegowosc, tworzonego na platformy systemowe GNU/Linux orazMicrosoft Windows. Darmowe, zamkniete wersje programów dostepnesa w wersji z reklamami, jednak bez ograniczen funkcjonalnosci. Uzyt-kownik moze jednak wykupic licencje na wersje komercyjna — bezreklam, z mozliwoscia pobierania aktualizacji i czasowym wsparciemtechnicznym za posrednictwem poczty elektronicznej lub telefonicznie.Oferta firmy obejmuje równiez wdrozenia i szkolenia z zakresu sprzeda-wanych produktów oraz specjalne znizki dla wydawców i deweloperówpragnacych połaczyc swój produkt z oprogramowaniem firmy LeftHand.

Niestety, w przypadku małego przedsiebiorstwa, wzglednie niewielkina chwile obecna, wybór wolnych aplikacji finansowo-ksiegowych po-ciaga za soba koniecznosc emulacji programów opartych o prawnie za-strzezone licencje (rozdz. 4.2) lub pogodzenie sie z czestymi niedociagnie-ciami aplikacji otwartych.

8takich jak Płatnik, Symfonia, Firma++

Rozdział 3

Indywidualne potrzeby małegoprzedsiebiorstwa i sposoby ichrealizacji

Poza przedstawionymi w poprzednim rozdziale podstawowymi aplika-cjami, wykorzystywanymi przez duza czesc powszechnie uzywanych sta-nowisk biurowych, istnieje obszar indywidualnych potrzeb, które rózniasie, w zaleznosci od charakteru prowadzonej działalnosci. Innego zbioruspecjalistycznych aplikacji bedzie wymagało studio muzyczne, innego re-dakcja gazety a jeszcze innego pracownia graficzna czy tez biuro rachun-kowe.

Pomimo imponujacego wachlarza aplikacji Open Source, zdarza sie,ze nie mozemy znalezc programu dokładnie spełniajacego nasze oczeki-wania. Zgodnie z duchem FLOSS, nalezałoby dopasowac do swoich wy-magan istniejacy juz projekt, który jest najblizszy naszym potrzebom, lubrozpoczac nowy. Niestety wizja ta lezy, w najlepszym razie, w optymi-stycznej przyszłosci. Rzeczywistosc wyglada mniej idealistycznie i czestoduzo łatwiej jest wykorzystac zamkniety, ale gotowy produkt.

3.1 Emulacja srodowiska Windows/MS-DOS

3.1.1 Cel emulacji

Nierzadko problem małej firmy z wdrozonym zamknietym oprogramo-waniem komercyjnym siega daleko poza samo oprogramowanie, a obec-nosc gotowego, otwartego zamiennika nie zawsze wystarczy. Przeszkodemoga stanowic uzytkownicy, przyzwyczajeni przez lata do obsługi kon-

3.1 Emulacja srodowiska Windows/MS-DOS 33

kretnego programu. Pomijajac wzgledy finansowe ewentualnego szkole-nia pracowników, dla firmy czesto nie jest istotne na jakiej licencji programjest wydany, poniewaz nie wykazuje zainteresowania wprowadzaniemzmian lub redystrybucja. Z tych samych powodów nie jest wymaganydostep do kodu zródłowego. Uzytkownicy nie widza potrzeby zmianyoprogramowania, skoro program działa poprawnie i robi dokładnie to,czego od niego oczekuja. Mozliwa jest zatem sytuacja, w której pojedyn-cza aplikacja jest w stanie znacznie skomplikowac migracje na otwartysystem operacyjny.

Pewnego rodzaju kompromisem moze okazac sie emulacja natywnegosystemu operacyjnego tej aplikacji. Zdecydowana wiekszosc komercyj-nych, prawnie zastrzezonych programów przeznaczona jest dla systemówMicrosoft Windows / DOS, dlatego w dalszej czesci pracy skupiono sie naemulacji własnie tego srodowiska.

3.1.2 Popularne sposoby emulacji

Maszyna wirtualna

Maszyny wirtualne sa aplikacjami tworzacymi srodowisko urucho-mieniowe dla innych programów [39]. W szczególnosci mozliwe jesturuchomienie jednego systemu operacyjnego wewnatrz innego, co po-zwala na stworzenie eksperymentalnego srodowiska o duzym stopniuizolacji.

Qemu jest emulatorem pozwalajacym na uruchomienie aplikacji skom-pilowanej na innym typie procesora niz aktualnie uzywany. Umozliwiarówniez emulacje całego systemu wraz z urzadzeniami peryferyjnymi.Poszczególne czesci Qemu wydane sa na róznych licencjach, z którychwszystkie sa zgodne z GPL [40].

InnoTek VirtualBox — oparty na kodzie Qemu — jest wzglednie nowapropozycja w dziedzinie wirtualizacji.

Porównywany z komercyjnym, dostepnym równiez w wersji na Li-nuksa, VMware (http://www.vmware.com), który dotychczas wiódł prymna tym polu. Emulowane aplikacje sa zaledwie o kilka procent wolniejszena niekorzysc VirtualBox. Mozliwosci prezentowane przez obydwie apli-kacje sa natomiast znacznie zblizone [41] [42].

Aplikacja dostepna jest na tzw. podwójnej licencji — kod zródłowyprogramu dostepny jest na licencji GNU GPL V2 i nie zawiera wielu uzy-

3.1 Emulacja srodowiska Windows/MS-DOS 34

tecznych elementów w postaci przyjaznego, graficznego instalatora czywygodnych narzedzi konfiguracyjnych. Wersja binarna natomiast, jestwydana na licencji PUEL1 i jest pełnowartosciowa aplikacja ze wszystkimiprzewidzianymi udogodnieniami. Licencja PUEL umozliwia darmowewykorzystanie aplikacji do uzytku niekomercyjnego. Twórcy VirtualBoxsa przekonani, ze podwójna licencja jest najlepszym mozliwym rozwiaza-niem jednoczesnie dla uzytkowników i deweloperów. Dostepnosc zródełsprawia, ze kazdy moze obejrzec a takze poprawic kod, społecznoscFLOSS zyskuje nowa, wolna aplikacje i pomaga ja rozwijac. Jednoczesnielicencja PUEL zapewnia srodki do dalszego rozwoju projektu i oferujeprofesjonalne wsparcie zainteresowanym komercyjnym przedsiebior-stwom [43].

Dosemu jest oprogramowaniem maszyny wirtualnej, stworzonym napotrzeby uruchamiania pod Linuksem aplikacji przeznaczonych dlaDOS. Do poprawnego działania wymaga osobnej wersji systemu DOS.Mozna uzyc zarówno prawnie zastrzezonego MS-DOS, jak i jego wolnegoodpowiednika FreeDOS (http://www.freedos.org). Dosemu jest wpewnym sensie posrednikiem pomiedzy emulowana aplikacja a zasobamizarzadzanymi przez system Linux. Jeden centralny plik konfiguracyjnyumozliwia precyzyjne dostosowanie Dosemu do swoich potrzeb. Moznaza jego pomoca zmapowac istniejaca w systemie drukarke do wybranegowirtualnego portu LPT systemu FreeDOS lub przyporzadkowac poza-dany katalog lokalnego systemu plików do konkretnej wirtualnej partycji.Licencja GPL.

Uzycie maszyny wirtualnej w celu skorzystania z okreslonego opro-gramowania, niedostepnego na wybranym systemie operacyjnym, po-ciaga za soba dwie główne niedogodnosci. Pierwsza z nich to niska wy-dajnosc zwiazana z uruchomieniem w całosci drugiego systemu opera-cyjnego. Druga jest koniecznosc posiadania licencji, jezeli instalowany namaszynie wirtualnej system jest prawnie zastrzezony.

W przypadku potrzeby emulacji indywidualnych programów duzolepszym rozwiazaniem jest translacja API.

1VirtualBox Personal Use and Evaluation License

3.1 Emulacja srodowiska Windows/MS-DOS 35

Wine nie jest emulatorem

WINE2 (http://www.winehq.org), jak wskazuje rekurencyjne rozwinie-cie akronimu, nie jest emulatorem Windows, za który czesto jest uwa-zany. Jest natomiast wolna implementacja windowsowego API. Projektten, wspierany przez komercyjne organizacje, takie jak Corel, CodeWe-avers czy TransGaming, ma niezwykle bogata historie. Oficjalna lista au-torów zawiera obecnie 873 nazwiska.

Głównym celem zapoczatkowanego juz w 1993 roku projektu Wine,jest uniezaleznienie od monopolisty z dziedziny systemów operacyjnychi oprogramowania przeznaczonego dla komputerów osobistych. Twórcyzauwazaja niebezpieczenstwo, jakie niesie ze soba dla społeczenstwaujednolicony system informatyczny, powołujac sie chociazby na zdarze-nie z 19 lipca 2001 roku, kiedy to, w ciagu 14 godzin, ponad 359 tysiecykomputerów wyposazonych w system operacyjny Microsoft Windows za-raziło sie robakiem Code-Red (CRv2) [44].

Trudnoscia w przełamaniu monopolu Microsoft nie jest sam systemWindows, ale powszechnosc aplikacji dla niego przeznaczonych. Rynekoprogramowania jest obecnie zdominowany przez produkty Microsofti oprogramowanie od nich zalezne. Idea, która przyswiecała powstaniuWine zakłada, ze jezeli jakikolwiek inny system ma zastapic lub stanowicpowazna alternatywe dla Windows, musi posiadac – przynajmniej poczat-kowo – mozliwosc uruchamiania aplikacji windowsowych.

Wine nie jest w zadnym stopniu zalezny od zastrzezonego oprogramo-wania, nie wymaga instalacji systemu Windows ani zadnego z jego kom-ponentów. Składa sie w całosci z wolnego kodu, a wszystkie dostarczonebiblioteki sa reimplementacja standardowych bibliotek Microsoft. Moz-liwe jest jednak wykorzystanie dowolnej zewnetrznej biblioteki, właczajacw to natywne biblioteki Windows. Coraz rzadziej, ale jednak zdarza sie,ze zabieg ten jest konieczny do uruchomienia niektórych aplikacji. Na-lezy wówczas zwrócic szczególna uwage na warunki licencji, na którychoparta jest wykorzystywana zewnetrzna biblioteka [45].

W 2002 roku firma TransGaming zaczeła tworzyc oparty na Wineprojekt WineX3, którego głównym celem jest umozliwienie jak najlepszejobsługi gier dedykowanych dla Windows. Obecnie jest to osobna, płatnaaplikacja na prawnie zastrzezonej licencji.

2Wine Is Not an Emulator3obecnie znany pod nazwa Cedega

3.1 Emulacja srodowiska Windows/MS-DOS 36

AppDB (http://appdb.winehq.org) jest przejrzyscie zorganizowa-nym systemem zwierajacym informacje o kompatybilnosci poszczegól-nych aplikacji z Wine. Kazdy program opisany jest pod katem ewentu-alnych ograniczen jego funkcjonalnosci i najczesciej spotykanych proble-mów, dla których czesto przedstawione sa gotowe rozwiazania. Na chwileobecna baza AppDB zawiera 6780 pozycji. Istnieje równiez wiele innychmiejsc w sieci, które w przyjazny dla uzytkownika sposób wyjasniaja za-sady instalacji, działania i konfiguracji Wine oraz całej gamy narzedzi po-chodnych.

Powszechnie stosowana praktyka jest wykorzystywanie Wine w celuinstalacji przegladarki Internet Explorer. Wiele stron powszechnie do-stepnych w Sieci zawiera elementy, które do poprawnego funkcjonowaniawymagaja IE. Czesto sa to niezgodnosci z przyjetymi standardami siecio-wymi, błedy lub celowe zabiegi utrudniajace prawidłowe działanie stronyprzy wykorzystaniu konkurencyjnych przegladarek [46]. Czesto duzoprostszym sposobem niz wyszukiwanie metod obejscia tych niedogod-nosci, jest instalacja przegladarki z rodziny Microsoft. Pojawiło sie wielepropozycji4 umozliwiajacych czesciowa automatyzacje tego procesu. Abyjednak instalacja IE przy uzyciu Wine nie stanowiła naruszenia prawa, ko-nieczne jest posiadanie licencji na system operacyjny Windows [47].

3.1.3 Emulacja Płatnika Vs Janosik

W styczniu 2001 roku weszła w zycie ustawa o koniecznosci elektro-nicznego przekazywania dokumentów do ZUS w przypadku działalno-sci gospodarczej obejmujacej wiecej niz piec osób. W tym celu polskiZakład Ubezpieczen Społecznych (ZUS) (http://www.zus.pl) udostep-nia swoim płatnikom, stworzony przez firme PROKOM Software S.A.(http://www.prokom.pl), darmowy, prawnie zastrzezony program o na-zwie Płatnik. Kompleksowy System Informatyczny ZUS (KSI ZUS) obsługujeokoło 20 milionów ubezpieczonych [48], a przeznaczony dla systemówz rodziny Windows — Płatnik — jest do dzis jedyna dopuszczana przezZUS aplikacja umozliwiajaca sporzadzanie i wymiane dokumentów zewspomniana wyzej instytucja panstwowa.

Idea darmowej i otwartej wersji Płatnika dla systemów GNU/Linux,FreeBSD, Mac OS i Windows zrodziła sie juz pod koniec 2001 roku. Opartyna Pythonie i XML projekt Janosik (http://janosik.net) został zainicjo-wany przez Sergiusza Pawłowicza. Juz w bardzo wczesnej fazie pro-jektu, zespół programistów natrafił na powazne utrudnienie — specyfika-

4takich jak IEs 4 Linux (http://www.tatanka.com.br)

3.2 Stabilne srodowisko deweloperskie oparte na Open Source 37

cja techniczna protokołu KSI MAIL, umozliwiajacego wymiane informacjiz KSI ZUS, nie była publicznie dostepna. Powołujac sie na ustawe z dnia6 wrzesnia 2001 r. o dostepie do informacji publicznej (Dz.U. nr 112, poz. 1198),Sergiusz Pawłowicz zazadał od ZUS ujawnienia specyfikacji protokołu.Prosba została odrzucona, w wyniku czego sprawa została skierowanado sadu, który 24 kwietnia 2007 roku ostatecznie nakazał odtajnienie spe-cyfikacji KSI MAIL. W konsekwencji prawomocnego wyroku, ZUS zapo-wiedział dopuszczenie alternatywnego oprogramowania najpózniej do 21lipca 2007 roku.

Dotychczasowy brak mozliwosci stworzenia wolnego odpowiednikaPłatnika pociagnał za soba powstanie wysublimowanych sposobów emu-lacji tego popularnego programu, a firmy zajmujace sie linuksowymirozwiazaniami biznesowymi poszerzyły swoja oferte o instalacje pro-duktu firmy Prokom Software. Wiekszosc pomysłów umozliwiajacychpoprawne działanie Płatnika opiera sie na wykorzystaniu Wine wraz z od-powiednio przygotowanymi plikami rejestru Windows oraz czesto dodat-kowymi aplikacjami Microsoft. Opis przykładowego procesu instalacjimozemy znalezc równiez na oficjalnej stronie projektu Janosik.

Programistom tworzacym Janosika udało sie ustalic, ze KSI MAIL ko-rzysta z powszechnie stosowanych metod kryptograficznych5. Obecniejednak projekt znajduje sie nadal we wczesnej fazie rozwoju, a jego twórcyczekaja na oficjalna, udostepniona przez ZUS, specyfikacje protokołu KSIMAIL. Wyrazaja równiez obawe, ze nie wytrzymaja konkurencji z goto-wymi juz programami płacowo-kadrowymi, które czekaja tylko na odtaj-nienie protokołu umozliwiajacego transport danych do ZUS.

Opisane wyzej zdarzenia wydaja sie byc bardzo korzystne dla zwy-kłego płatnika, który moze juz niedługo doswiadczy wolnosci wyboruoprogramowania, przy jednoczesnej łatwosci korzystania z mniej po-wszechnych systemów operacyjnych [49] [50] [51] [52].

3.2 Stabilne srodowisko deweloperskie opartena Open Source

Emulacja zamknietych aplikacji nie zawsze jest najlepszym rozwiaza-niem. Sposobnosc ta stanowi doskonałe wypełnienie miejsca powstałegona wskutek chwilowego braku otwartego odpowiednika, jednak pozosta-wia zamknieta lub bardzo ograniczona droge rozwoju. Brak mozliwoscimodyfikacji programu, uzaleznienie od jednego producenta i ustalanych

5miedzy innymi algorytmu 3DES i RSA

3.2 Stabilne srodowisko deweloperskie oparte na Open Source 38

przez niego warunków licencji oraz wszystkie pozostałe niedogodnoscizwiazane z zamknietymi zródłami przemawiaja za tym, aby ograniczycuzywanie prawnie zastrzezonego oprogramowania do niezbednego mi-nimum.

Alternatywna mozliwoscia jest napisanie własnej aplikacji spełniajacejwymagane kryteria. Udostepnienie kodu zródłowego juz we wczesnej fa-zie realizacji projektu umozliwia jego szybki rozwój — proporcjonalny dozapotrzebowania społecznosci na tworzony program. Srodki potrzebnedo realizacji takiego przedsiewziecia sa wówczas niewspółmiernie nizszeniz w przypadku katedralnego modelu rozwoju. Natomiast brak korzy-sci z bezposredniej sprzedazy Otwartego Oprogramowania jest skutecz-nie rekompensowany szybkim uzyskaniem pozadanego rezultatu, przystosunkowo niskich nakładach.

Ogrom wolnych bibliotek, narzedzi i srodowisk programistycznychumozliwia nieskrepowane tworzenie nowych aplikacji. Serwisy interne-towe, takie jak ibiblio.org, SourceForge.net czy freshmeat, oferuja bezpłatnyhosting dla projektów Open Source wspierajac tym samym dynamicznyrozwój oparty o model bazarowy. Wiekszosc projektów podzielona jest te-matycznie, posiada swoje fora dyskusyjne, dokumentacje i repozytoriumCVS.

Wszystkie te czynniki sprawiaja, ze rozwój Otwartego Oprogramowa-nia jest niezwykle dynamiczny, a tworzenie aplikacji dostosowanych dowłasnych potrzeb jest obecnie łatwiejsze niz kiedykolwiek [54] [53].

Rozdział 4

Realizacja przykładowegowdrozenia

Na poczatku 2007 roku, w firmie Janmar sp. j.1, mieszczacej sie w Ksawe-rowie przy ulicy Parkowej 2, rozpoczeto proces wdrozenia systemu infor-matycznego opartego w znacznej mierze na wolnym i otwartym oprogra-mowaniu.

4.1 Ocena sytuacji i ustalenie wymagan

Rysunek 4.1 przedstawia uproszczona strukture informatyczna firmyprzed wykonaniem opisywanego wdrozenia. Firma dysponowała wów-czas trzema komputerami. Dwoma stanowiskami roboczymi (na rys. 4.1oznaczone literami A i B) z zainstalowanym systemem Windows 98 SEoraz laptopem (oznaczony litera C) z zainstalowanym systemem Win-dows XP Professional. Stanowiska wykorzystywane były do obsługi sys-temu finansowo-ksiegowego, przetwarzania dokumentów, obsługi pocztyi pracy w sieci Internet.

Na komputerach A i B zainstalowany był równiez program finansowo-ksiegowy. Do poprawnego działania programu, na kazdym stanowiskuwymagany był klucz sprzetowy HASP podłaczony do portu równoległego.Baza danych programu znajdowała sie na komputerze A. KomputeryA i C korzystały natomiast z drukarki udostepnionej na komputerze B.

System charakteryzował sie mała odpornoscia na wirusy, duza awaryj-noscia oraz wzglednie niska wydajnoscia. Wdrozenie miało na celu wy-eliminowanie wspomnianych trudnosci, a w konsekwencji usprawnieniei stabilizacje infrastruktury informatycznej firmy.

1http://www.janmarsport.pl

4.2 Proces wdrozenia 40

Rysunek 4.1: Sytuacja przed wdrozeniem

4.2 Proces wdrozenia

System operacyjny

Wobec zatrzesienia dystrybucji, ostatecznie zdecydowano sie naoparta na Debianie dystrybucje Ubuntu Linux (http://www.ubuntu.com).Stosunkowo młoda, sponsorowana przez Marka Shuttlewortha — multi-milionera z RPA i jednoczesnie byłego dewelopera Debiana, doczekała siepierwszego wydania we wrzesniu 2004 roku. Rozwijana niezwykle prez-nie, w krótkim czasie zyskała sobie wielu zwolenników i jest obecnie jednaz bardziej popularnych2 dystrybucji. Istnieje mozliwosc zamówienia bez-płatnych egzemplarzy systemu Ubuntu3.

Łaczac w sobie stabilnosc z wygoda i prostota uzytkowania wydałasie nam idealna do zastosowania biurowego dla osób majacych do tejpory stycznosc wyłacznie z systemem Windows. Za dokonanym wybo-rem przemawia równiez łatwy, przejrzysty interfejs, rozbudowany sys-tem wsparcia technicznego jak i bardzo szybko powiekszajace sie gronouzytkowników tej dystrybucji. Dzieki temu poczatkujacy dzis uzytkow-nik bedzie mógł w przyszłosci sam, bez specjalistycznej wiedzy i wnikaniaw techniczne szczegóły działania systemu, poradzic sobie z ewentualnymipowstałymi na drodze uzytkowania problemami.

Ubuntu jest gotowe do pracy bezposrednio po przyjaznej dla uzytkow-nika instalacji. Posiada wiele udogodnien, takich jak automatyczne wy-krywanie sprzetu czy tez sprawnie działajacy, oparty na sprawdzonymnarzedziu apt-get, system aktualizacji.

2W oparciu o statystyki prowadzone przez serwis http://distrowatch.com3dostarczane sa poczta tradycyjna na koszt, sponsorujacej projekt, firmy Cannonical

Ltd. (https://shipit.ubuntu.com)

4.2 Proces wdrozenia 41

Rysunek 4.2: Pulpit zarzadzany przez domyslne dla Ubuntu srodowiskoGNOME

Nie wyklucza sie istnienia dystrybucji lepiej nadajacej sie do zadanejroli, jednak ze wzgledu na ogromna róznorodnosc, dokładna ich analizazajełaby zbyt wiele czasu.

Na stanowiskach roboczych w firmie wykorzystano dostarczonez dystrybucja Ubuntu, domyslne srodowisko graficzne GNOME. Funk-cjonalnoscia i wygladem (Rys. 4.2) przypomina ono system z rodzinyMicrosoft, co jest bardzo istotne w sytuacji gdy pracownicy maja swojeprzyzwyczajenia i nieufne podejscie do komputerów. Po kilku nieznacz-nych modyfikacjach, niewprawne oko moze nawet nie zauwazyc róznicy.

4.2 Proces wdrozenia 42

Emulacja wybranych aplikacji

Firma Janmar od ponad szesciu lat posługiwała sie programemFirma++ (FPP)4 autorstwa CDN Comarch, który zapewniał jej sprawniefunkcjonujacy i spełniajacy stawiane wymagania system obsługi maga-zynu, faktur i ksiegowosci.

Zasugerowano zastapienie wysłuzonej dosowej aplikacji, otwartymi dopasowanym do potrzeb firmy rozwiazaniem. Przedstawione alterna-tywne aplikacje nie spełniały jednak oczekiwan uzytkowników. Zakupoprogramowania napisanego na zamówienie wiazał sie natomiast z do-datkowymi kosztami. Jednoczesnie stwierdzono, ze firma nie potrzebujenarzedzia bardziej rozwinietego niz dotychczas stosowane, nie wymagarówniez mozliwosci modyfikacji uzywanego programu, a ryzyko niebez-pieczenstw zwiazanych z zamknietym kodem jest do przyjecia. W konse-kwencji uznano, ze najlepszym rozwiazaniem w danej sytuacji jest emula-cja uzywanego dotychczas programu.

Do emulacji FPP wykorzystano Dosemu w połaczeniu z Freedos(rozdz. 3.1.2). Dla wygody uzytkowników oraz poszerzenia funkcjonal-nosci rozwiazania, przeznaczono osobny komputer dedykowany dla FPP,pracujacy niezaleznie od stanowisk roboczych.

Kolejna emulowana aplikacja był zamkniety, przeznaczony dla Win-dows, program ułatwiajacy wypełnianie deklaracji podatkowych — Pity2006 (http://pit.dobry.pl). Emulacja programu przy uzyciu Winew wersjach od 0.9.28 do 0.9.32 powodowała problemy z wydrukiem,jednak w wersji 0.9.33 i wyzszych niedogodnosc ta została usunieta5.Na chwile obecna nie jest mozliwy eksport formularza do PDF, jednakfunkcjonalnosc ta nie jest kluczowa dla pracowników firmy.

Modyfikacja struktury systemu informatycznego

Zakupiono nowy komputer (na rysunku 4.4 oznaczony litera D) w celuuzyskania lepszej wydajnosci podczas pracy w srodowisku GNOME.Komputer B uzywany jest w charakterze X-terminala umozliwiajac zdalnaprace na komputerze D.

Komputer A przeznaczony został wyłacznie do obsługi aplikacji FPP

4http://www.comarch.pl/cdn/Products/CDN+Klasyka/Programy/Firma.htm

5W AppDB dostepny jest szczegółowy opis obsługi programu Pity 2006 przez Wine

4.2 Proces wdrozenia 43

Rysunek 4.3: Emulacja programu FPP za pomoca Dosemu/FreeDOS

w emulowanym srodowisku DOSEMU/FreeDOS. Wydzielenie do tegozadania osobnej maszyny miało na celu uniezaleznienie stanowisk ro-boczych od programu finansowo-ksiegowego, do którego mozliwy jestobecnie stały dostep za posrednictwem szyfrowanego połaczenia ssh, za-równo z sieci lokalnej jak i z Internetu. Komputer A jest równiez odpo-wiedzialny za okresowe wykonywanie kopii zapasowych bazy danychprogramu oraz wysyłanie ich, równiez za posrednictwem szyfrowanegopołaczenia, na zdalny serwer. Pojedyncza instalacja programu wymagaobecnie tylko jednego klucza sprzetowego HASP i jest jednoczesnie wy-korzystywana przez wielu uzytkowników.

Komputer C zdecydowano sie pozostawic bez zmian, majac na uwa-dze jego wzgledna bezawaryjnosc oraz zastosowania6, w których systemMicrosoft Windows Professional sprawdzał sie znacznie lepiej niz obecnyna pozostałych stanowiskach Ubuntu Linux.

6gry komputerowe

4.3 Problemy wdrozeniowe 44

Rysunek 4.4: Sytuacja po wdrozeniu

4.3 Problemy wdrozeniowe

Pierwszy problem pojawił sie jeszcze przed rozpoczeciem wdrozenia.Mozliwosc wykorzystania darmowego systemu operacyjnego wzbudziłanie tyle niechec, co nieufnosc ze strony kadry kierowniczej. Osoby de-cyzyjne wykazywały tendencje do utozsamiania jakosci systemu infor-matycznego z jego kosztem. Popularne, płatne rozwiazanie obejmujacesystem operacyjny Microsoft Windows oraz standardowe narzedzia zwia-zane z tym srodowiskiem, było postrzegane jako bardziej pewne i godnezaufania.

Kluczowa role odegrało zaznajomienie kierownictwa z filozofiai korzysciami wynikajacymi ze stosowania Otwartego Oprogramowaniai otwartych standardów oraz udzielenie dokładnych informacji na tematproponowanego systemu informatycznego.

W poczatkowej fazie wdrozenia zaproponowano system Debian Linux3.1 z menedzerem okien WindowMaker7. Pomimo podstawowego szko-lenia z zakresu obsługi nowego systemu, nieintuicyjny dla pracownikówinterfejs został przyjety dosc niechetnie. W podstawowym wówczas sys-temie brakowało równiez udogodnien, takich jak automatyczne monto-

7Kierowano sie niskimi parametrami sprzetowymi uzywanych komputerów, stawia-jac wydajnosc systemu na pierwszym miejscu

4.4 Ocena rezultatów 45

wanie zasobów, poprawna obsługa urzadzen wielofunkcyjnych, czy tezautomatyczny system aktualizacji.

W konsekwencji zdecydowano sie zmienic system operacyjny naUbuntu Linux 6.06 z podstawowym srodowiskiem graficznym GNOME.Konfiguracja ta, wraz z krótkim szkoleniem pracowników, okazała sieznacznie bardziej odpowiednia.

Kolejny powazny problem pojawił sie po kilku dniach i wpłynał bar-dzo negatywnie na morale pracowników. Objawiał sie przypadkowymi całkowitym zawieszaniem systemu od jednego do pieciu razy w ciagudnia. Ze wzgledu na nieprzewidywalnosc zdarzenia, problem okazał sietrudny do zidentyfikowania, a system Ubuntu Linux zyskał w oczachuzytkowników miano duzo mniej stabilnego od uzywanego poprzednioMicrosoft Windows 98 SE.

Podejrzenie uszkodzenia sprzetu komputerowego okazało sie trafne.Przyczyna anomalii był uszkodzony wentylator procesora, którego prze-grzewanie prowadziło do całkowitego zatrzymania systemu.

4.4 Ocena rezultatów

Wdrozenie znajduje sie obecnie w fazie rozwoju pozwalajacej na swo-bodna prace z nowym systemem informatycznym. Wykorzystanie zaletsystemu terminali graficznych pozwoliło osiagnac satysfakcjonujaca wy-dajnosc przy stosunkowo niskich nakładach finansowych, a struktura sys-temu umozliwia łatwa i niedroga rozbudowe infrastruktury informatycz-nej o kolejne stanowiska robocze.

Pracownicy docenili wygode obsługi i bezawaryjnosc systemu. Admi-nistracja ogranicza sie do zarzadzania głównym komputerem, co ułatwiaposzerzanie funkcjonalnosci systemu i wykonywanie kopii zapasowych.Mozliwosc zdalnego zarzadzania serwerem poprzez szyfrowane połacze-nie ssh jest wygodne dla administratora i umozliwia szybsza reakcje naewentualne problemy.

Uzytkowników poproszono o zgłaszanie wszelkich problemów zwia-zanych z uzytkowaniem systemu. Dotychczasowe niedogodnosci ogra-niczały sie wyłacznie do kosmetycznych róznic interfejsu odpowiednichaplikacji i wymagały jedynie krótkich wyjasnien.

Rozdział 5

Podsumowanie

Pozornie bezuzyteczna biznesowo filozofia Wolnego Oprogramowaniapociagneła za soba powstanie bazarowego modelu rozwoju oprogramo-wania. W miare jego upowszechniania, nowe mozliwosci otworzyły siezarówno przed uzytkownikami jak i dostawcami oprogramowania i usługinformatycznych.

Eric Raymond, wyjasniajac w jednym ze swoich esejów zasady dzia-łania tego technologicznego fenomenu, cytuje słowa brytyjskiego pisarzascience-fiction — sir Arthura C. Clarke’a: „Kazda wystarczajaco zaawanso-wana technologia jest nieodróznialna od magii.” [13].

Istotnie, odkryte zostało narzedzie, dzieki któremu wyzszej jakoscioprogramowanie tworzone jest nizszym kosztem. Mechanizm ten, dlaniektórych niezrozumiały, jest przez innych postrzegany jako przeło-mowy krok w rozwoju technologii informatycznych.

Czesta przyczyna pozostawania przy zamknietych rozwiazaniach jestbrak swiadomosci istnienia wyboru. Swiadomosc ta ma jednak szansewzrosnac wraz z postepem technologicznym i w miare upowszechnianiasie idei FLOSS.

W niniejszej pracy skonfrontowano FLOSS z rzeczywistymi potrze-bami małej firmy, zaleznej dotychczas od prawnie zastrzezonych, za-mknietych rozwiazan. Po teoretycznej analizie przystapiono do realizacjiprzykładowego wdrozenia systemu informatycznego opartego o wolnei otwarte oprogramowanie. Przedsiewziecie zakonczyło sie pomyslnie.

Dodatek A

GNU Public Licence

GNU GENERAL PUBLIC LICENSE

Version 3, 29 June 2007

Copyright c© 2007 Free Software Foundation, Inc. http://fsf.org/

Everyone is permitted to copy and distribute verbatim copies of thislicense document, but changing it is not allowed.

Preamble

The GNU General Public License is a free, copyleft license for software and other kindsof works.

The licenses for most software and other practical works are designed to take away yourfreedom to share and change the works. By contrast, the GNU General Public License isintended to guarantee your freedom to share and change all versions of a program–to makesure it remains free software for all its users. We, the Free Software Foundation, use theGNU General Public License for most of our software; it applies also to any other workreleased this way by its authors. You can apply it to your programs, too.

When we speak of free software, we are referring to freedom, not price. Our GeneralPublic Licenses are designed to make sure that you have the freedom to distribute copies offree software (and charge for them if you wish), that you receive source code or can get it ifyou want it, that you can change the software or use pieces of it in new free programs, andthat you know you can do these things.

To protect your rights, we need to prevent others from denying you these rights or askingyou to surrender the rights. Therefore, you have certain responsibilities if you distributecopies of the software, or if you modify it: responsibilities to respect the freedom of others.

For example, if you distribute copies of such a program, whether gratis or for a fee, youmust pass on to the recipients the same freedoms that you received. You must make sure thatthey, too, receive or can get the source code. And you must show them these terms so theyknow their rights.

Developers that use the GNU GPL protect your rights with two steps: (1) assert copyrighton the software, and (2) offer you this License giving you legal permission to copy, distributeand/or modify it.

For the developers’ and authors’ protection, the GPL clearly explains that there is no war-ranty for this free software. For both users’ and authors’ sake, the GPL requires that modifiedversions be marked as changed, so that their problems will not be attributed erroneously toauthors of previous versions.

1

Some devices are designed to deny users access to install or run modified versions of thesoftware inside them, although the manufacturer can do so. This is fundamentally incompat-ible with the aim of protecting users’ freedom to change the software. The systematic patternof such abuse occurs in the area of products for individuals to use, which is precisely whereit is most unacceptable. Therefore, we have designed this version of the GPL to prohibit thepractice for those products. If such problems arise substantially in other domains, we standready to extend this provision to those domains in future versions of the GPL, as needed toprotect the freedom of users.

Finally, every program is threatened constantly by software patents. States should notallow patents to restrict development and use of software on general-purpose computers, butin those that do, we wish to avoid the special danger that patents applied to a free programcould make it effectively proprietary. To prevent this, the GPL assures that patents cannot beused to render the program non-free.

The precise terms and conditions for copying, distribution and modification follow.

TERMS AND CONDITIONS

0. Definitions.

“This License” refers to version 3 of the GNU General Public License.

“Copyright” also means copyright-like laws that apply to other kinds of works, such assemiconductor masks.

“The Program” refers to any copyrightable work licensed under this License. Each licenseeis addressed as “you”. “Licensees” and “recipients” may be individuals or organizations.

To “modify” a work means to copy from or adapt all or part of the work in a fashionrequiring copyright permission, other than the making of an exact copy. The resultingwork is called a “modified version” of the earlier work or a work “based on” the earlierwork.

A “covered work” means either the unmodified Program or a work based on the Program.

To “propagate” a work means to do anything with it that, without permission, would makeyou directly or secondarily liable for infringement under applicable copyright law, exceptexecuting it on a computer or modifying a private copy. Propagation includes copying,distribution (with or without modification), making available to the public, and in somecountries other activities as well.

To “convey” a work means any kind of propagation that enables other parties to make orreceive copies. Mere interaction with a user through a computer network, with no transferof a copy, is not conveying.

An interactive user interface displays “Appropriate Legal Notices” to the extent that it in-cludes a convenient and prominently visible feature that (1) displays an appropriate copy-right notice, and (2) tells the user that there is no warranty for the work (except to the extentthat warranties are provided), that licensees may convey the work under this License, andhow to view a copy of this License. If the interface presents a list of user commands oroptions, such as a menu, a prominent item in the list meets this criterion.

2

1. Source Code.

The “source code” for a work means the preferred form of the work for making modifica-tions to it. “Object code” means any non-source form of a work.

A “Standard Interface” means an interface that either is an official standard defined by arecognized standards body, or, in the case of interfaces specified for a particular program-ming language, one that is widely used among developers working in that language.

The “System Libraries” of an executable work include anything, other than the work as awhole, that (a) is included in the normal form of packaging a Major Component, but whichis not part of that Major Component, and (b) serves only to enable use of the work with thatMajor Component, or to implement a Standard Interface for which an implementation isavailable to the public in source code form. A “Major Component”, in this context, meansa major essential component (kernel, window system, and so on) of the specific operatingsystem (if any) on which the executable work runs, or a compiler used to produce the work,or an object code interpreter used to run it.

The “Corresponding Source” for a work in object code form means all the source codeneeded to generate, install, and (for an executable work) run the object code and to modifythe work, including scripts to control those activities. However, it does not include thework’s System Libraries, or general-purpose tools or generally available free programswhich are used unmodified in performing those activities but which are not part of thework. For example, Corresponding Source includes interface definition files associatedwith source files for the work, and the source code for shared libraries and dynamicallylinked subprograms that the work is specifically designed to require, such as by intimatedata communication or control flow between those subprograms and other parts of thework.

The Corresponding Source need not include anything that users can regenerate automati-cally from other parts of the Corresponding Source.

The Corresponding Source for a work in source code form is that same work.

2. Basic Permissions.

All rights granted under this License are granted for the term of copyright on the Program,and are irrevocable provided the stated conditions are met. This License explicitly affirmsyour unlimited permission to run the unmodified Program. The output from running acovered work is covered by this License only if the output, given its content, constitutes acovered work. This License acknowledges your rights of fair use or other equivalent, asprovided by copyright law.

You may make, run and propagate covered works that you do not convey, without condi-tions so long as your license otherwise remains in force. You may convey covered works toothers for the sole purpose of having them make modifications exclusively for you, or pro-vide you with facilities for running those works, provided that you comply with the termsof this License in conveying all material for which you do not control copyright. Those

3

thus making or running the covered works for you must do so exclusively on your behalf,under your direction and control, on terms that prohibit them from making any copies ofyour copyrighted material outside their relationship with you.

Conveying under any other circumstances is permitted solely under the conditions statedbelow. Sublicensing is not allowed; section 10 makes it unnecessary.

3. Protecting Users’ Legal Rights From Anti-Circumvention Law.

No covered work shall be deemed part of an effective technological measure under anyapplicable law fulfilling obligations under article 11 of the WIPO copyright treaty adoptedon 20 December 1996, or similar laws prohibiting or restricting circumvention of suchmeasures.

When you convey a covered work, you waive any legal power to forbid circumvention oftechnological measures to the extent such circumvention is effected by exercising rightsunder this License with respect to the covered work, and you disclaim any intention tolimit operation or modification of the work as a means of enforcing, against the work’susers, your or third parties’ legal rights to forbid circumvention of technological measures.

4. Conveying Verbatim Copies.

You may convey verbatim copies of the Program’s source code as you receive it, in anymedium, provided that you conspicuously and appropriately publish on each copy an ap-propriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all noticesof the absence of any warranty; and give all recipients a copy of this License along withthe Program.

You may charge any price or no price for each copy that you convey, and you may offersupport or warranty protection for a fee.

5. Conveying Modified Source Versions.

You may convey a work based on the Program, or the modifications to produce it from theProgram, in the form of source code under the terms of section 4, provided that you alsomeet all of these conditions:

(a) The work must carry prominent notices stating that you modified it, and giving arelevant date.

(b) The work must carry prominent notices stating that it is released under this Licenseand any conditions added under section 7. This requirement modifies the requirementin section 4 to “keep intact all notices”.

(c) You must license the entire work, as a whole, under this License to anyone whocomes into possession of a copy. This License will therefore apply, along with anyapplicable section 7 additional terms, to the whole of the work, and all its parts,regardless of how they are packaged. This License gives no permission to license

4

the work in any other way, but it does not invalidate such permission if you haveseparately received it.

(d) If the work has interactive user interfaces, each must display Appropriate Legal No-tices; however, if the Program has interactive interfaces that do not display Appropri-ate Legal Notices, your work need not make them do so.

A compilation of a covered work with other separate and independent works, which arenot by their nature extensions of the covered work, and which are not combined with itsuch as to form a larger program, in or on a volume of a storage or distribution medium, iscalled an “aggregate” if the compilation and its resulting copyright are not used to limit theaccess or legal rights of the compilation’s users beyond what the individual works permit.Inclusion of a covered work in an aggregate does not cause this License to apply to theother parts of the aggregate.

6. Conveying Non-Source Forms.

You may convey a covered work in object code form under the terms of sections 4 and5, provided that you also convey the machine-readable Corresponding Source under theterms of this License, in one of these ways:

(a) Convey the object code in, or embodied in, a physical product (including a physicaldistribution medium), accompanied by the Corresponding Source fixed on a durablephysical medium customarily used for software interchange.

(b) Convey the object code in, or embodied in, a physical product (including a physicaldistribution medium), accompanied by a written offer, valid for at least three yearsand valid for as long as you offer spare parts or customer support for that productmodel, to give anyone who possesses the object code either (1) a copy of the Corre-sponding Source for all the software in the product that is covered by this License, ona durable physical medium customarily used for software interchange, for a price nomore than your reasonable cost of physically performing this conveying of source, or(2) access to copy the Corresponding Source from a network server at no charge.

(c) Convey individual copies of the object code with a copy of the written offer to pro-vide the Corresponding Source. This alternative is allowed only occasionally andnoncommercially, and only if you received the object code with such an offer, inaccord with subsection 6b.

(d) Convey the object code by offering access from a designated place (gratis or for acharge), and offer equivalent access to the Corresponding Source in the same waythrough the same place at no further charge. You need not require recipients to copythe Corresponding Source along with the object code. If the place to copy the objectcode is a network server, the Corresponding Source may be on a different server (op-erated by you or a third party) that supports equivalent copying facilities, providedyou maintain clear directions next to the object code saying where to find the Cor-responding Source. Regardless of what server hosts the Corresponding Source, you

5

remain obligated to ensure that it is available for as long as needed to satisfy theserequirements.

(e) Convey the object code using peer-to-peer transmission, provided you inform otherpeers where the object code and Corresponding Source of the work are being offeredto the general public at no charge under subsection 6d.

A separable portion of the object code, whose source code is excluded from the Corre-sponding Source as a System Library, need not be included in conveying the object codework.

A “User Product” is either (1) a “consumer product”, which means any tangible personalproperty which is normally used for personal, family, or household purposes, or (2) any-thing designed or sold for incorporation into a dwelling. In determining whether a productis a consumer product, doubtful cases shall be resolved in favor of coverage. For a partic-ular product received by a particular user, “normally used” refers to a typical or commonuse of that class of product, regardless of the status of the particular user or of the way inwhich the particular user actually uses, or expects or is expected to use, the product. Aproduct is a consumer product regardless of whether the product has substantial commer-cial, industrial or non-consumer uses, unless such uses represent the only significant modeof use of the product.

“Installation Information” for a User Product means any methods, procedures, authoriza-tion keys, or other information required to install and execute modified versions of a cov-ered work in that User Product from a modified version of its Corresponding Source. Theinformation must suffice to ensure that the continued functioning of the modified objectcode is in no case prevented or interfered with solely because modification has been made.

If you convey an object code work under this section in, or with, or specifically for usein, a User Product, and the conveying occurs as part of a transaction in which the right ofpossession and use of the User Product is transferred to the recipient in perpetuity or for afixed term (regardless of how the transaction is characterized), the Corresponding Sourceconveyed under this section must be accompanied by the Installation Information. But thisrequirement does not apply if neither you nor any third party retains the ability to installmodified object code on the User Product (for example, the work has been installed inROM).

The requirement to provide Installation Information does not include a requirement tocontinue to provide support service, warranty, or updates for a work that has been modifiedor installed by the recipient, or for the User Product in which it has been modified orinstalled. Access to a network may be denied when the modification itself materiallyand adversely affects the operation of the network or violates the rules and protocols forcommunication across the network.

Corresponding Source conveyed, and Installation Information provided, in accord withthis section must be in a format that is publicly documented (and with an implementation

6

available to the public in source code form), and must require no special password or keyfor unpacking, reading or copying.

7. Additional Terms.

“Additional permissions” are terms that supplement the terms of this License by makingexceptions from one or more of its conditions. Additional permissions that are applicableto the entire Program shall be treated as though they were included in this License, to theextent that they are valid under applicable law. If additional permissions apply only to partof the Program, that part may be used separately under those permissions, but the entireProgram remains governed by this License without regard to the additional permissions.

When you convey a copy of a covered work, you may at your option remove any additionalpermissions from that copy, or from any part of it. (Additional permissions may be writtento require their own removal in certain cases when you modify the work.) You may placeadditional permissions on material, added by you to a covered work, for which you haveor can give appropriate copyright permission.

Notwithstanding any other provision of this License, for material you add to a coveredwork, you may (if authorized by the copyright holders of that material) supplement theterms of this License with terms:

(a) Disclaiming warranty or limiting liability differently from the terms of sections 15and 16 of this License; or

(b) Requiring preservation of specified reasonable legal notices or author attributions inthat material or in the Appropriate Legal Notices displayed by works containing it;or

(c) Prohibiting misrepresentation of the origin of that material, or requiring that modifiedversions of such material be marked in reasonable ways as different from the originalversion; or

(d) Limiting the use for publicity purposes of names of licensors or authors of the mate-rial; or

(e) Declining to grant rights under trademark law for use of some trade names, trade-marks, or service marks; or

(f) Requiring indemnification of licensors and authors of that material by anyone whoconveys the material (or modified versions of it) with contractual assumptions ofliability to the recipient, for any liability that these contractual assumptions directlyimpose on those licensors and authors.

All other non-permissive additional terms are considered “further restrictions” within themeaning of section 10. If the Program as you received it, or any part of it, contains a noticestating that it is governed by this License along with a term that is a further restriction,you may remove that term. If a license document contains a further restriction but permitsrelicensing or conveying under this License, you may add to a covered work material

7

governed by the terms of that license document, provided that the further restriction doesnot survive such relicensing or conveying.

If you add terms to a covered work in accord with this section, you must place, in therelevant source files, a statement of the additional terms that apply to those files, or anotice indicating where to find the applicable terms.

Additional terms, permissive or non-permissive, may be stated in the form of a separatelywritten license, or stated as exceptions; the above requirements apply either way.

8. Termination.

You may not propagate or modify a covered work except as expressly provided under thisLicense. Any attempt otherwise to propagate or modify it is void, and will automaticallyterminate your rights under this License (including any patent licenses granted under thethird paragraph of section 11).

However, if you cease all violation of this License, then your license from a particularcopyright holder is reinstated (a) provisionally, unless and until the copyright holder ex-plicitly and finally terminates your license, and (b) permanently, if the copyright holderfails to notify you of the violation by some reasonable means prior to 60 days after thecessation.

Moreover, your license from a particular copyright holder is reinstated permanently if thecopyright holder notifies you of the violation by some reasonable means, this is the firsttime you have received notice of violation of this License (for any work) from that copy-right holder, and you cure the violation prior to 30 days after your receipt of the notice.

Termination of your rights under this section does not terminate the licenses of partieswho have received copies or rights from you under this License. If your rights have beenterminated and not permanently reinstated, you do not qualify to receive new licenses forthe same material under section 10.

9. Acceptance Not Required for Having Copies.

You are not required to accept this License in order to receive or run a copy of the Program.Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However,nothing other than this License grants you permission to propagate or modify any coveredwork. These actions infringe copyright if you do not accept this License. Therefore, bymodifying or propagating a covered work, you indicate your acceptance of this License todo so.

10. Automatic Licensing of Downstream Recipients.

Each time you convey a covered work, the recipient automatically receives a license fromthe original licensors, to run, modify and propagate that work, subject to this License. Youare not responsible for enforcing compliance by third parties with this License.

8

An “entity transaction” is a transaction transferring control of an organization, or sub-stantially all assets of one, or subdividing an organization, or merging organizations. Ifpropagation of a covered work results from an entity transaction, each party to that trans-action who receives a copy of the work also receives whatever licenses to the work theparty’s predecessor in interest had or could give under the previous paragraph, plus a rightto possession of the Corresponding Source of the work from the predecessor in interest, ifthe predecessor has it or can get it with reasonable efforts.

You may not impose any further restrictions on the exercise of the rights granted or affirmedunder this License. For example, you may not impose a license fee, royalty, or othercharge for exercise of rights granted under this License, and you may not initiate litigation(including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim isinfringed by making, using, selling, offering for sale, or importing the Program or anyportion of it.

11. Patents.

A “contributor” is a copyright holder who authorizes use under this License of the Programor a work on which the Program is based. The work thus licensed is called the contributor’s“contributor version”.

A contributor’s “essential patent claims” are all patent claims owned or controlled by thecontributor, whether already acquired or hereafter acquired, that would be infringed bysome manner, permitted by this License, of making, using, or selling its contributor ver-sion, but do not include claims that would be infringed only as a consequence of furthermodification of the contributor version. For purposes of this definition, “control” includesthe right to grant patent sublicenses in a manner consistent with the requirements of thisLicense.

Each contributor grants you a non-exclusive, worldwide, royalty-free patent license un-der the contributor’s essential patent claims, to make, use, sell, offer for sale, import andotherwise run, modify and propagate the contents of its contributor version.

In the following three paragraphs, a “patent license” is any express agreement or com-mitment, however denominated, not to enforce a patent (such as an express permission topractice a patent or covenant not to sue for patent infringement). To “grant” such a patentlicense to a party means to make such an agreement or commitment not to enforce a patentagainst the party.

If you convey a covered work, knowingly relying on a patent license, and the Correspond-ing Source of the work is not available for anyone to copy, free of charge and under theterms of this License, through a publicly available network server or other readily accessi-ble means, then you must either (1) cause the Corresponding Source to be so available, or(2) arrange to deprive yourself of the benefit of the patent license for this particular work,or (3) arrange, in a manner consistent with the requirements of this License, to extendthe patent license to downstream recipients. “Knowingly relying” means you have actual

9

knowledge that, but for the patent license, your conveying the covered work in a coun-try, or your recipient’s use of the covered work in a country, would infringe one or moreidentifiable patents in that country that you have reason to believe are valid.

If, pursuant to or in connection with a single transaction or arrangement, you convey, orpropagate by procuring conveyance of, a covered work, and grant a patent license to someof the parties receiving the covered work authorizing them to use, propagate, modify orconvey a specific copy of the covered work, then the patent license you grant is automati-cally extended to all recipients of the covered work and works based on it.

A patent license is “discriminatory” if it does not include within the scope of its coverage,prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rightsthat are specifically granted under this License. You may not convey a covered work ifyou are a party to an arrangement with a third party that is in the business of distributingsoftware, under which you make payment to the third party based on the extent of youractivity of conveying the work, and under which the third party grants, to any of the par-ties who would receive the covered work from you, a discriminatory patent license (a) inconnection with copies of the covered work conveyed by you (or copies made from thosecopies), or (b) primarily for and in connection with specific products or compilations thatcontain the covered work, unless you entered into that arrangement, or that patent licensewas granted, prior to 28 March 2007.

Nothing in this License shall be construed as excluding or limiting any implied license orother defenses to infringement that may otherwise be available to you under applicablepatent law.

12. No Surrender of Others’ Freedom.

If conditions are imposed on you (whether by court order, agreement or otherwise) thatcontradict the conditions of this License, they do not excuse you from the conditions ofthis License. If you cannot convey a covered work so as to satisfy simultaneously yourobligations under this License and any other pertinent obligations, then as a consequenceyou may not convey it at all. For example, if you agree to terms that obligate you to collecta royalty for further conveying from those to whom you convey the Program, the onlyway you could satisfy both those terms and this License would be to refrain entirely fromconveying the Program.

13. Use with the GNU Affero General Public License.

Notwithstanding any other provision of this License, you have permission to link or com-bine any covered work with a work licensed under version 3 of the GNU Affero GeneralPublic License into a single combined work, and to convey the resulting work. The termsof this License will continue to apply to the part which is the covered work, but the specialrequirements of the GNU Affero General Public License, section 13, concerning interac-tion through a network will apply to the combination as such.

14. Revised Versions of this License.

10

The Free Software Foundation may publish revised and/or new versions of the GNU Gen-eral Public License from time to time. Such new versions will be similar in spirit to thepresent version, but may differ in detail to address new problems or concerns.

Each version is given a distinguishing version number. If the Program specifies that acertain numbered version of the GNU General Public License “or any later version” appliesto it, you have the option of following the terms and conditions either of that numberedversion or of any later version published by the Free Software Foundation. If the Programdoes not specify a version number of the GNU General Public License, you may chooseany version ever published by the Free Software Foundation.

If the Program specifies that a proxy can decide which future versions of the GNU Gen-eral Public License can be used, that proxy’s public statement of acceptance of a versionpermanently authorizes you to choose that version for the Program.

Later license versions may give you additional or different permissions. However, noadditional obligations are imposed on any author or copyright holder as a result of yourchoosing to follow a later version.

15. Disclaimer of Warranty.

THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTEDBY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THECOPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “ASIS” WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABIL-ITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THEQUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THEPROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARYSERVICING, REPAIR OR CORRECTION.

16. Limitation of Liability.

IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO INWRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MOD-IFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLETO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTALOR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TOUSE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA ORDATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU ORTHIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANYOTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEENADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

17. Interpretation of Sections 15 and 16.

If the disclaimer of warranty and limitation of liability provided above cannot be givenlocal legal effect according to their terms, reviewing courts shall apply local law that most

11

closely approximates an absolute waiver of all civil liability in connection with the Pro-gram, unless a warranty or assumption of liability accompanies a copy of the Program inreturn for a fee.

END OF TERMS AND CONDITIONSHow to Apply These Terms to Your New Programs

If you develop a new program, and you want it to be of the greatest possible use to the pub-lic, the best way to achieve this is to make it free software which everyone can redistributeand change under these terms.

To do so, attach the following notices to the program. It is safest to attach them to the startof each source file to most effectively state the exclusion of warranty; and each file shouldhave at least the “copyright” line and a pointer to where the full notice is found.

<one line to give the program’s name and a brief idea of what it does.>Copyright (C) <year> <name of author>This program is free software: you can redistribute it and/or modify it under theterms of the GNU General Public License as published by the Free SoftwareFoundation, either version 3 of the License, or (at your option) any later version.This program is distributed in the hope that it will be useful, but WITHOUTANY WARRANTY; without even the implied warranty of MERCHANTABIL-ITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU GeneralPublic License for more details.You should have received a copy of the GNU General Public License along withthis program. If not, see http://www.gnu.org/licenses/.

Also add information on how to contact you by electronic and paper mail.

If the program does terminal interaction, make it output a short notice like this when itstarts in an interactive mode:

<program> Copyright (C) <year> <name of author>This program comes with ABSOLUTELY NO WARRANTY; for details typeshow w. This is free software, and you are welcome to redistribute it undercertain conditions; type show c for details.

The hypothetical commands show w and show c should show the appropriate parts ofthe General Public License. Of course, your program’s commands might be different; fora GUI interface, you would use an “about box”.

You should also get your employer (if you work as a programmer) or school, if any, to signa “copyright disclaimer” for the program, if necessary. For more information on this, andhow to apply and follow the GNU GPL, see http://www.gnu.org/licenses/.

12

The GNU General Public License does not permit incorporating your program into propri-etary programs. If your program is a subroutine library, you may consider it more usefulto permit linking proprietary applications with the library. If this is what you want to do,use the GNU Lesser General Public License instead of this License. But first, please readhttp://www.gnu.org/philosophy/why-not-lgpl.html.

13

Dodatek B

GNU/Linux distro timeline

Bibliografia

[1] Roman Bieda: „Reverse Engineering w swietle prawa autorskiego“,Pingwinaria 2003

[2] Sam Williams: „W obronie wolnosci“, Wydawnictwo Helion, listo-pad 2003

[3] http://www.gnu.org/philosophy/free-software-for-freedom.

pl.html

[4] Eric Raymond: „The Cathedral and the Bazaar“

[5] http://www.opensource.org/history

[6] http://en.wikipedia.org/wiki/FOSS

[7] http://www.gnu.org/licenses/license-list.pl.html

[8] http://www.gnu.org/philosophy/why-not-lgpl.pl.html

[9] http://www.xfree86.org/3.3.6/COPYRIGHT2.html#6

[10] http://www.gnu.org/philosophy/bsd.pl.html

[11] Paweł Suwinski: „Otwarte Oprogramowanie w Biznesie“, czerwiec2004

[12] http://www.eweek.com/article2/0,1895,1210294,00.asp

[13] Eric Raymond: „The Magic Cauldron“

[14] http://www.opensource.org/history

[15] http://pl.wikipedia.org/wiki/X_Window_System

[16] http://pl.wikipedia.org/wiki/XFree86

[17] http://pl.wikipedia.org/wiki/X.Org

BIBLIOGRAFIA 63

[18] http://pl.wikipedia.org/wiki/Xfce

[19] Dokumentacja srodowiska GNOME 2.18.1 - Desktop User Guide -Working with Files

[20] http://about.openoffice.org/index.html#history

[21] http://www.openoffice.com.pl/18/historia.html

[22] http://www.openoffice.org/product

[23] http://www.iso.org/iso/en/commcentre/pressreleases/

2006/Ref1004.html

[24] http://pl.wikipedia.org/wiki/OpenDocument

[25] http://openoffice.com.pl/232/po-co-komu-dwa-standardy-zapisu-dokumentow.

html

[26] http://www.idg.pl/news/80916.html

[27] http://www.mozilla.org/security/bug-bounty.html

[28] http://pl.wikipedia.org/wiki/Mozilla_Firefox

[29] http://en.wikipedia.org/wiki/Novell_Evolution

[30] http://en.wikipedia.org/wiki/Mozilla_thunderbird

[31] http://pl.wikipedia.org/wiki/Por\%C3\%B3wnanie_program\

%C3\%B3w_pocztowych

[32] http://www.daniweb.com/blogs/entry1501.html

[33] http://www.desktoplinux.com/articles/AT6362808891.html

[34] http://blog.yano.ws/2006/02/07/photoshop-czy-gimp

[35] http://itbiznes.pl/art23447.html

[36] http://www.linuxwbiznesie.pl/newsy/

skanska-przechodzi-na-linuksa.html

[37] http://www.idg.pl/news/79217.html

[38] http://wiki.jakilinux.org/list-otwarty-spoleczno-ci-open-source

[39] http://pl.wikipedia.org/wiki/Maszyna_wirtualna

BIBLIOGRAFIA 64

[40] http://fabrice.bellard.free.fr/qemu

[41] http://matipl.pl/2007/02/14/alternatywa-dla-vmware-virtualbox

[42] http://www.softpedia.com/reviews/windows/

VirtualBox-Review-50160.shtml

[43] http://www.virtualbox.org/wiki/Licensing_FAQ

[44] http://www.caida.org/analysis/security/code-red/

coderedv2_analysis.xml

[45] http://www.winehq.org/site/about

[46] http://browsehappy.pl/faq

[47] http://www.internetnews.com/dev-news/article.php/

3629786

[48] http://www.prokom.pl/pl/oferta/oferta.php?id=przyklady_

zus

[49] http://www.ibiblio.org/ser/SP-versus-RP/zus

[50] http://pl.wikibooks.org/wiki/P\%C5\%82atnik

[51] http://www.publicstandard.pl/artykuly/51481.html

[52] http://www.kancelaria-lodz.pl/it.html

[53] http://freshmeat.net/about

[54] http://sourceforge.net/docs/about