10.09.2011 17:38
administracja linux
System operacyjny Linux – jego miejsce i możliwości
1. Wstęp
O żadnym systemie
operacyjnym od 1995 roku nie mówiło się tak głośno jak o
Linuxie. W świecie Unixa, Linux jest już zadomowiony na stałe. Od
narodzin w 1992 roku minęło już 8 lat, z systemu tego korzysta
już bardzo dużo osób, wykorzystują go inżynierowie,
naukowcy a przede wszystkim młodzi entuzjaści systemów
operacyjnych dla których Linux stał się orężem w walce ze
znienawidzonym wrogiem. Fakt, że jest za darmo powoduje bardzo
szybki wzrost liczby użytkowników. W ostatnim roku
systemem tym wreszcie zainteresował się świat wielkich
komputerowego świata. Wielu producentów sprzętu i
oprogramowania z zadowoleniem przyjęło alternatywę dla Windows i
zdecydowało się na wspieranie tej platformy.
Mówiąc
o systemie Linux nie sposób nie wspomnieć o nie nowym, a
tak naprawdę dopiero teraz bardzo popularnym sposobie tworzenia
i dystrybucji oprogramowania jakim jest open source. To dzięki
mechanizmom zapewnionym przez twórców tej idei
system Linux w bardzo krótkim czasie zdobył tak dużą
popularność. Linux zawsze, a na pewno przez przynajmniej kilka
następnych lat, związany będzie z tym ruchem, dlatego też
poświęciliśmy mu tak dużo miejsca. Niewątpliwie ruch open source
bardzo wpływa na obecny rynek systemów operacyjnych a
niewątpliwie na rynek oprogramowania.
System operacyjny to
nie tylko jądro, o jego mocy stanowią również programy,
które można w takim systemie uruchomić. W pracy tej
postaramy się również pokazać zastosowania systemu.
Zamierzeniem pracy jest pokazanie mocnych i słabych stron
Linuxa. Chcemy zwrócić uwagę na zalety, konkretne
zastosowania , oraz na wady systemu
2. Historia systemu Linux
Geneza systemu
operacyjnego Linux związana jest z systemem UNIX. UNIX
powstał na początku lat siedemdziesiątych kiedy Denis Ritchie i
Ken Thompson opracowali w laboratoriach AT&T pierwszą wersję
systemu, którą następnie przepisali w języku C. Kody
źródłowe początkowych wersji systemu były bezpłatne,
dzięki czemu system stał się bardzo popularny szczególnie
w środowiskach akademickich. Jednak od roku 1979 firma AT&T
zaczęła pobierać opłaty licencyjne za kody źródłowe.
Spowodowało to, że wiele firm, uniwersytetów zaczęło
tworzyć własne wersje systemu UNIX. W wyniku takich działań
AT&T powstał wtedy, opracowany przez Uniwersytet
Kalifornijski w Berkeley, system BSD (Berkeley Software
Distribution), firma Sun Microsystems wypuściła SunOS, Microsoft
– Xenix-a. The Santa Cruz Operation – SCO Unix.
Również firma AT&T wprowadziła do sprzedaży swoją
wersję systemu System V ze swoim interfejsem programowym.
Wielość różnych rozwiązań spowodowała chaos na rynku
oprogramowania, poszczególne wersje aplikacji nie były ze
sobą kompatybilne. Zaistniała więc potrzeba standaryzacji
systemu jak również tworzonego dla niego oprogramowania.
Opracowania zbioru standardów podjął się Instytut
Inżynierów Elektryków i Elektroników (
Institute of Electrical and Electronics Engineers -IEEE) ,
który to opracował standard POSIX (IEEE POSIX 1003) dla
unixowych systemów operacyjnych. Normy te określają
poszczególne elementy całego systemu tak aby zachować
zgodność programową poszczególnych wersji. Jeżeli
oprogramowanie i system operacyjny przestrzega norm POSIX nie
powinno być większego problemu z przenoszeniem oprogramowania
pomiędzy systemami.
Systemy unixowe są z założenia
systemami wielodostępnymi i wielozadaniowymi. Są to jednocześnie
systemy dość złożone, wymagające dużych mocy obliczeniowych.
Początkowo wymagały one dużych i drogich komputerów
mogących sprostać ich wymaganiom co zawęziło grono
użytkowników do specjalistów ewentualnie
studentów kierunków informatycznych. Komputery
domowe np. klasy PC w początkach swojego istnienia nie mogły
sprostać wymaganiom systemu. Sytuacja ta zmieniła się w momencie
pojawienia się procesorów klasy Intel 386 które już
dawały możliwość pracy wielozadaniowej.
Za twórcę
systemu LINUX uważa się Fina Linusa Torvaldsa, który jako
student informatyki pracując nad trybem chronionym procesora
80386 stworzył kilka programów działających w systemie
Minix (Minix – typowo edukacyjny wielozadaniowy system
operacyjny stworzony przez A. Tanenbauma rozprowadzany na
podstawie licencji GNU). Postanowił on stworzyć własne jądro
nowego systemu. Wykorzystał do tego celu wiele gotowych
rozwiązań wziętych z systemu Minix, dzięki czemu zaoszczędził
wiele czasu gdyż nie musiał tworzyć jądra od podstaw. W wyniku
czego kiedy to w sierpniu roku 1991 ogłosił na grupie
dyskusyjnej comp.os.minix, że pracuje nad bezpłatną wersją
systemu operacyjnego dla komputerów AT-386 nazwał ją
odmianą Minixa. Początkowo system nie wzbudził większego
zainteresowania wśród użytkowników
komputerów PC. Instalacja nowego systemu była bardzo
skomplikowana, pierwsza wersja była bardzo uboga aby mogła
wzbudzić zainteresowanie. Dołączenie kompilatora języka C oraz
zaimplementowanie podstawowych poleceń uniksowych nie
spowodowało gwałtownego zainteresowania nowym systemem. Dopiero
kiedy Torvalds postanowił dostosować system do norm POSIX dzięki
czemu umożliwił przenoszenie oprogramowania pomiędzy Linuxem a
komercyjnymi systemami grono użytkowników systemu zaczęło
bardzo szybko się powiększać. Kod źródłowy upowszechniany
na wielu serwerach FTP, uwagi użytkowników przesyłane za
pomocą poczty elektronicznej czy list dyskusyjnych przyczyniły
się do szybkiego dopracowania systemu.
Na popularności
Linuxa zaważył jednak bardzo szybki rozwój Internetu na
początku lat dziewięćdziesiątych. Gdyby system powstał kilka lat
wcześniej być może nie zyskał by aż tylu zwolenników w
początkowym okresie i umarłby z braku zainteresowania gdyż
byłaby to tylko kolejna edukacyjna wersja systemu Minix. Innym
być może ważniejszym czynnikiem był fakt, że opracowany zastał
on na podstawie licencji GPL (General public licence ) fundacji
FSF (Free Software Fundation). Organizacja ta promuje
„wolne” – czyli niezależne od jakichkolwiek
firm, wysokiej jakości oprogramowanie użytkowe. Programy takie
muszą być rozpowszechniane wraz z pełnym kodem źródłowym
i nie ma znaczenia czy są to wersje komercyjne czy nie. Dzięki
takiemu posunięciu każdy użytkownik aplikacji, który ma
jakieś pojęcie o programowaniu, czy systemach operacyjnych może
szybko poprawić, lub co namniej zasygnalizować fakt zaistnienia
błędu w kodzie programu. Innym, bardziej socjologicznym niż
informatycznym czynnikiem wpływającym na rozwój systemu
był fakt, iż użytkownicy (głównie młodzi) systemów
komputerowych nie przepadają za monopolem kilku firm na rynku
komputerowym (zarówno w dziedzinie oprogramowania jak i
sprzętu) . Fakt walki z monopolistami jednoczył
informatyków, którzy coraz chętniej uczestniczyli w
pracach nad nowym systemem.
Rozwój i
upowszechnienie komunikacji sieciowej spowodowało, że
wkrótce tysiące osób zaczęło spontanicznie pisać
oprogramowanie dla nowego systemu, udoskonalać jądro systemu,
przerabiać inne gotowe aplikacje rozpowszechniane na podstawie
licencji GPL. Powstanie wielu list dyskusyjnych poświęconych
Linuxowi spowodowało, że coraz więcej osób zaczęło
wprowadzać poprawki do jądra systemu w wyniku czego Torvalds nie
mógł już samodzielnie zajmować się tworzeniem systemu.
Zaczął on tylko rozbudowywać i koordynować pracę nad jądrem
systemu natomiast całą resztę pozostawił dla innych.
Dzięki takiemu działaniu wielu tysięcy bardzo często anonimowych
programistów system linux stawał się powoli systemem coraz
bardziej profesjonalnym i kompletnym.
W początkowym
okresie Linux miał problemy ze stabilnością i współpracą
pomiędzy poszczególnymi elementami systemu. Pierwsza
stabilna wersja jądra 1.0 wydana została dopiero w 1994 roku po
usunięciu wszystkich problemów. Z uwagi na spontaniczny
charakter powstawania systemu na rynku pojawiło się kilka jego
odmian zwyczajowo nazywanych dystrybucjami, które
różniły się zawartością programów dodatkowych,
wersjami jądra .
3. Jądro systemu
Jądro (kernel) to plik vmlinuz znajdujący się w katalogu /boot jest on ładowany do pamięci podczas uruchamiania się systemu. Jądro odpowiada za funkcjonowanie podstawowych elementów systemu: przełączanie zadań, planowanie przydziału procesora, komunikację z urządzeniami, zarządzania pamięcią fizyczną i wirtualną. Powinno być ono dostosowane do rodzaju sprzętu czyli powinno zawierać wszystkie sterowniki do wszystkich komponentów komputera. Jądro jest prawie w całości napisane w języku C, dzięki dostępności kodów źródłowych każdy może poprawić występujące błędy. Fakt, że działanie jądra systemu jest dokładnie znane umożliwia bardzo szybki rozwój Linuxa. Praktycznie co trzy – cztery dni ukazuje się nowa wersja jądra, którą można w postaci plików źródłowych ściągnąć z serwera FTP i przekompilować na swoim komputerze dołączając sterowniki odpowiednich urządzeń . Ponieważ jednak nowe wersje bardzo często zawierają błędy twórcy Linuxa postanowili odpowiednio numerować wersje jądra. Jądra podzielone zostały na stabilne (stable) oraz rozwojowe (development) – użytkownik powinien posiadać najnowszą wersję stabilną jądra. Wersje testowe przeznaczone są dla osób pracujących nad kodem źródłowym lub lubiących eksperymentować z systemem. Numer jądra składa się z trzech cyfr. Pierwszy numer oznacza numer wersji głównej, drugi numer podwersji, mówi on czy jądro jest stabilne czy też nie . Ostatni numer jest to tzw. numer rewizji. W numeracji przestrzega się następującej reguły:
stabilne jądra mają środkową liczbę parzystą np. 2.0.35 a rozwojowe nieparzystą np. 2.1.117.
Co pewien czas (średnio co pół roku) kod jądra przestaje być rozszerzany, rozpoczyna się faza testów a następnie kernel dostaje numer wersji stabilnej. Koordynacją rozwoju jądra zajmuje się Linus Torvalds – autor wersji 0.0.1
4. Dystrybucje
W początkowym okresie Linux mieścił się na jednej dyskietce, dzisiaj jednak wersja systemu w zależności od zastosowań zawiera kilka tysięcy plików i zajmuje nawet 4- 5 płyt CD. W dalszym ciągu można Linuxa pobrać z anonimowych serwerów FTP (np. ftp.icm.edu.pl), można go również kupić w wydaniu wielu firm, które w odpowiednim czasie zauważyły wzrost popularności nowego systemu. Taką stworzoną przez konkretną firmę, czy grupę osób wersję systemu nazywa się właśnie dystrybucją. W takim przypadku płacimy jednak nie za system jako pracę programistów tylko za nośnik, dokumentację, czy coraz częściej pomoc techniczną. Nawet w takim przypadku cena takiego rozwiązania jest wielokrotnie tańsza od systemów w pełni komercyjnych.
W tym miejscu powinno pojawić się pytanie w którym
miejscu kończy się system operacyjny a rozpoczyna się
oprogramowanie użytkowe. Z czasem system zawierał tak dużo
programów, że należało zadecydować które będą
należały do systemu , a które zaliczać będą się do
oprogramowania użytkowego. Ponieważ użytkownicy mają różne
potrzeby i oczekiwania dlatego też powstało wiele odmian Linuxa.
Istnieją dystrybucje w których położono nacisk na
początkujących użytkowników systemu jak również
dystrybucje dla profesjonalnych maszyn skonstruowanych na
architekturze SPARC Alpha. Powstają dystrybucje darmowe tworzone
przez grupy programistów, którzy chcą rozpropagować
ideę bezpłatnego oprogramowania jak również dystrybucje
czysto komercyjne.
Wszystkie dostępne na rynku dystrybucje
zawierają jądro – z reguły ostatnie stabilne serii 2.2.x,
oraz różną liczbę dodatkowych programów
najczęściej rozpowszechnianych na zasadzie licencji GNU. Bardzo
często firmy dodają do pakietu półkomercyjne produkty
znanych firm, które wchodzą na rynek Linuxa.
Poszczególne dystrybucje różnią się programami
instalacyjnymi, narzędziami do zarządzania systemem, wersjami
bibliotek i metodą konfigurowania usług.
Przykładowe dystrybucje :
a) Slackware – najstarsza odmiana systemu, początkowo wersja ta sprawiała bardzo wiele kłopotów, jej elementy były nie dopracowane a system bezpieczeństwa niezbyt pewny. Obecnie jednak jest uważana za jedną z najbardziej dojrzałych dystrybucji i bardzo często wykorzystywana jest do komercyjnych zastosowań. Jest o dystrybucja bardzo trudna w obsłudze, która wymaga bardzo dobrej znajomości systemu. Pakiety instalacyjne mają rozszerzenie tgz. Wymaga doskonałej administracja linux.
b) Red Hat – bardzo łatwa w konfiguracji, przeznaczona jest dla użytkowników początkujących, oraz tych którzy korzystali z produktów firmy Microsoft. Dystrybucja rozpowszechniana jest w dwóch odmianach: bezpłatnej, którą to można ściągnąć z serwera FTP, oraz komercyjnej która zawiera dodatkowo zestaw odpłatnych aplikacji i bibliotek. Zakup wersji komercyjnej upoważnia jednocześnie do uzyskania pomocy technicznej. Red Hat jest obecnie najpopularniejszą dystrybucją na świecie szczególnie popularną w USA. Firma Red Hat jest spółką akcyjną, notowaną na giełdzie w Nowym Jorku, w której udziały mają Intel i Netscape, IBM, Dell. Ostatnio większość programistów związanych profesjonalnie z tworzeniem systemu znajduje zatrudnienie właśnie w tej firmie. Pakiety instalacyjne mają rozszerzenie rpm. Dystrybucja pracuje na komputerach opartych o procesory Intel, Sparc i Alpha
c) Debian – jest to dystrybucja nie tworzona centralnie, jest dziełem ok. 200 programistów rozproszonych po całym świecie, jest to największa dystrybucja w skład której wchodzi ok. 2200 pakietów o nazwach kończących się na deb. Dystrybucja zawiera aplikację pozwalającą na konwertowanie formatów pakietów (RPM, TGZ,DEB) dzięki czemu ułatwiona jest możliwość wymiany oprogramowania. W czasie instalacji można wybrać kilka podstawowych konfiguracji takich jak : domowa stacja robocza, serwer internetowy itp. Pracuje on na komputerach opartych na procesorach Intel jak i SPARC, Alpha, Motorola 68k
d) S.uS.E. – dystrybucja , która powstała w Niemczech, twórcy położyli nacisk na lokalizację produktu dlatego obecnie obsługuje ona coraz więcej języków narodowych ( w typ polski) . Pakiety w standardzie RPM. Dystrybucja bardzo popularna w Europie
e) PLD (Polish Linux Distribution ) aktualnie tworzona przez polskich użytkowników Linuxa dystrybucja oparta o pakiety w formacie RPM. Twórcy tej dystrybucji zamierzają utworzyć nowoczesną i dopracowaną i dopasowaną do polskich warunków dystrybucję. Jej podstawą ma być jądro 2.2.x oraz biblioteka glibc 2.1.x, Zaimplementowana ma by również obsługa adresów IPv6. Aplikacje wchodzące w skład dystrybucji mają być przetłumaczone na język polski
f) Corel LINUX. – Jest to dotychczas jedna z nielicznych firm znana z platformy Windows, która postanowiła wypuścić swoją dystrybucję. Cechą charakterystyczną jest bardzo okienkowy” proces instalacji i bardzo duża liczba kreatorów pomagających instalować sprzęt i oprogramowanie. Firma oferuje trzy wersje systemu operacyjnego.
-
Pierwsza, darmowa, którą można załadować ze strony firmy. Zawiera ona system operacyjny (oparty na dystrybucji Debian – www. debian.org ) – jądro Linux 2.2.x, interfejs graficzny Enhanced KDE Desktop (www.kde.org) – programy wspomagające użytkownika Corel Install Express, Corel Update i Corel File Manager oraz przeglądarkę internetową Netscape Communicator.
-
Wersja Standard obejmuje trzy dyski CD. Na głównym dysku instalacyjnym znajdują się wszystkie składniki wersji do darmowego pobrania oraz programy Adobe Acrobat Reader, Instant Messenger (klient zgodny ze standardem ICQ), 20 czcionek oraz edytor tekstu Corel WordPerfect 8 dla systemu Linux (wersja podstawowa). Na drugim dysku znajdują się kody źródłowe składników z głównego dysku instalacyjnego, które mogą być dowolnie kopiowane bez potrzeby zakupu jakichkolwiek licencji. Trzeci dysk zawiera kod źródłowy systemu. W pakiecie Standard mieści się podręcznik użytkownika systemu Corel LINUX, pakiet daje prawo do 30-dniowej pomocy dotyczącej instalacji (za pośrednictwem poczty elektronicznej).
-
Deluxe, System operacyjny Corel LINUX w wersji Deluxe zawiera wszystkie elementy wersji Standard oraz dwa dodatkowe dyski CD-ROM. Pierwszy z nich to oprogramowanie BRU Backup (wersja osobista) oraz obrazki clipart dla pakietu Corel WordPerfect 8, na drugim jest gra Civilization Call to Power (wersja ograniczona). Zakup wersji Deluxe daje prawo do bezpłatnego korzystania przez trzy miesiące z usługi eFax Plus Service oraz do 30-dniowej pomocy dotyczącej instalacji (za pośrednictwem poczty elektronicznej lub telefonu). Do wersji Deluxe dołączono również 200 czcionek, pakiet Corel WordPerfect 8 dla systemu Linux w pełnej wersji, podręcznik użytkownika, oraz Linuxową maskotkę -3,5-calowego pingwina.
Firma przewiduje szybkie wprowadzenie innych niż angielska wersji językowych, odpowiednie komunikaty powinny pojawić się w ciągu najbliższych miesięcy.
5. Problemy wynikające z dużej liczby dystrybucji
W wyniku tak dużej różnorodności dystrybucji pojawia
się problem: Pomimo że różne dystrybucje Linuxa to cały
czas ten sam system to czy program przeznaczony dla jednej z
dystrybucji będzie działał z inną?
Wszystkie dystrybucje
to cały czas ten sam system, więc format plików
wykonywalnych jest we wszystkich taki sam . Problemem mogą być
jednak dwie rzeczy : Pierwszą z nich są biblioteki Program może
się nie zainstalować z powodu braku wymaganych bibliotek lub
niewłaściwej wersji, zwłaszcza wtedy, gdy program, który
zamierzamy zainstalować pochodzi z nowszej dystrybucji niż
używana aktualnie. Drugi problem, wynika z różnicy w
strukturze katalogów. Linux jest systemem elastycznym i
głęboko konfigurowalnym, i to do tego stopnia, że pliki
zawierające opisy ustawień, skrypty startowe itp., mogą być
umieszczone w różnych katalogach niż to jest przyjęte
standardowo. Główną różnicą techniczną pomiędzy
dystrybucjami jest format tzw. paczek (ang. packages), czyli
skompresowanych plików instalacyjnych. Większość
dystrybucji korzysta z zainstalowanych paczek, toteż nie pozwoli
np. na instalację wcześniejszej wersji programu, jeśli
zainstalowana jest wersja nowsza. Najstarszym i najbardziej
uniwersalnym formatem jest .tgz. Pliki w tym formacie zawierają
jedynie skompresowane pliki i katalogi, bez żadnych dodatkowych
informacji. Mogą być jednak zainstalowane, a właściwie
rozpakowane, w każdym systemie Linux. W tym formacie jest
większość programów, jakie można znaleźć w Internecie,
korzystają też z niego twórcy aplikacji komercyjnych, jak
StarOffice czy Corel WordPerfect. Rozszerzenie .tgz oznacza
zbiór plików poddanych najpierw działaniu programu
tar, który łączy pliki w jeden duży zbiór
wyjściowy, zachowując przy tym strukturę katalogów, a
następnie skompresowany programem gzip.
Format RPM
wprowadzony po raz pierwszy w dystrybucji RedHat, umożliwia
zapisanie w jednym pliku programu wraz z bibliotekami i
dokumentacją (wszystkie pliki znajdą się we właściwych
katalogach), krótkim opisem oraz zależnościami
(wymaganiami co do bibliotek itp.). Został przyjęty przez
twórców innych dystrybucji i znajduje się w
większości z nich
6. Którą dystrybucję wybrać ?
Nie ma dystrybucji która nadaje się idealnie do wszystkiego. Każda ma swoje plusy i minusy. Jedna dystrybucja przeznaczona jest dla początkujących użytkowników (np. Debian RedHat) dostarczane są standardowo z dużą liczbą oprogramowania pozwalającą stworzyć na ich podstawie np. wydajne serwery (m.in. WWW, ftp, news),dostarczane są z odpowiednimi narzędziami do administracji itp. Istnieją również dystrybucje nastawione na doświadczonych użytkowników gdzie nie ma żadnych kreatorów czy skomplikowanych systemów pomocy (Slackware) ale jest za to duża liczba różnych aplikacji. Pojawia się na rynku coraz więcej dystrybucji zawierających również pomoc techniczną. Ciekawym wyborem jest wersja firmy Corel. Jest ona chyba najbardziej zbliżona do okienkowego ideału Windows.
7. Tworzenie i dystrybucja oprogramowania open source
Open source można
zdefiniować jako sposób tworzenia i dystrybucji
oprogramowania, który polega na rozprowadzaniu go wraz z
kodem źródłowym Dzięki czemu możliwa jest samodzielna
kompilacja czyli utworzenie wersji wykonywalnej. Istnieje
możliwość wprowadzania własnych poprawek i rozpowszechnianie tak
zmienionego programu dalej oczywiście z uwzględnieniem
określonych zasad zawartych w licencji . Można go nawet
sprzedawać, z jednym zastrzeżeniem: wraz z programem musi być
zawsze udostępniony kod źródłowy. Usługi informatyczne Gdynia.
Ruch open
source wywodzi się ze środowisk unixowych gdzie od początku
istniała głęboko zakorzeniona tradycja rozpowszechniania
oprogramowania w postaci kodu źródłowego. Najczęściej
open source kojarzy się z bezpłatnym oprogramowaniem, ale
pojęcie to nie jest synonimem słowa „darmowy”. Fakt
rozpowszechniania darmowego oprogramowania nie jest
głównym celem tego ruchu, choć oczywiście mu sprzyja.
Najważniejsza jest wolność przepływu idei i myśli. Istnienie
Internetu jako środka komunikacji powoduje że ruch ten coraz
szybciej się rozwija . Szczególne kontrowersje budzi fakt
darmowego rozpowszechniania – czy coś co jest za darmo
może być dobre, profesjonalne ? Tym, co odróżnia takie
oprogramowanie od kategorii freeware jest sposób
powstawania i licencjonowania produktu. Oprogramowanie typu open
source tworzone jest zarówno przez znakomitych
programistów, jak i zwykłych użytkowników ,
których zadaniem jest np. pisanie dokumentacji czy
sprawdzanie błędów ortograficznych. Taki sposób
tworzenia oprogramowania bardzo integruje twórców,
nikt nie jest ignorowany, każdy może poczuć się dowartościowany,
a kod programu staje się coraz lepszy w trakcie wyszukiwania
błędów przez tysiące użytkowników.
8. Historia free software i open source
Upowszechnianie kodów źródłowych, może jeszcze
nie na zasadzie ruchu open source ale głównie w celach
edukacyjnych miało miejsce już w początkach profesjonalnej
informatyki. Już w latach 50 i 60 udostępniano kody
źródłowe np. algorytmów. Przełomem jednak stał się
rok 1969 kiedy Ken Thompson, naukowiec z Bell Labs opracował
pierwszą wersję systemu Unix. Kod źródłowy został
udostępniony nieodpłatnie i w latach 70-tych system zdominował
amerykańskie uczelnie. Następnie ARPANET publikuje pierwsze
dokumenty RFC, w 1973 został opracowany protokół TCP/IP
stanowiący do dnia dzisiejszego podstawę funkcjonowania
Internetu. Specyfikacja tego protokołu jak i innych służących do
tworzenia intersieci jest dostępna nieodpłatnie dla każdego w
postaci dokumentów RFC.
Gdy w 1979 firma AT&T
ogłosiła plany komercjalizacji systemu Unix. Spowodowało to
opracowanie przez Uniwersytet Kalifornijski w Berkeley własnej
wersji systemu, noszącej nazwę BSD Unix.
Za prekursora
oprogramowania open source uznaje się Richarda Stallmana. To za
jego sprawą oprogramowanie open source, a w szczególności
Linux zdobył taką popularność. Powołał on w 1983 roku najpierw
nieoficjalny projekt GNU Project, którego głównym
celem było utworzenie otwartej, darmowej wersji systemu Unix
(GNU to akronim od GNU’s Not Unix). Bezpośrednim powodem
tego działania była komercjalizacja systemu Unix przez AT&T
. Opracowywanie nowego systemu Stallman rozpoczął – od
stworzenia nowych narzędzi programistycznych oczywiście z
udostępnionym za darmo kodem źródłowym. Aby ochronić
swoje działania założył fundację Free Software Fundation (FSF),
która miała stanowić coś w rodzaju zaplecza techniczno
organizacyjnego finansowego, dla prac nad nowym oprogramowaniem.
Opracował również specjalną licencję na oprogramowanie
– General Public License (GPL), której zadaniem
było chronić prawa autorskie. Narzędzia GNU utworzone i
rozwijane przez FSF stanowią podstawę wszystkich nowoczesnych
systemów Unix objętych licencją GPL lub BSD . Najbardziej
spektakularny jest sukces gcc – standardowego kompilatora
języka C stosowanego m.in. w Linuxie. Jest to obecnie
najpowszechniej stosowany kompilator C w systemach Unix –
dostępny praktycznie na wszystkie platformy sprzętowe i
programowe.
Do połowy 1998 roku jedyną organizacją
formalnie wspierającą ruch open source była fundacja Free
Software Fundation (FSF). W sierpniu 1998 r. zostało powołane
stowarzyszenie Open Source Initiative, którego
przewodniczącym został Eric Raymond. Dość łatwo jest wychwycić
różnice między tymi dwoma organizacjami. O ile FSF ma
głównie na celu propagowanie i tworzenie darmowego
oprogramowania oraz narzędzi programistycznych – o tyle
celem OSI jest popularyzacja open source jako modelu
biznesowego.
-
1985 X Window System opracowany w firmie MIT jest rozpowszechniany z darmowym kodem źródłowym z minimalnymi ograniczeniami licencyjnymi dzięki czemu powstaje bardzo popularny X serwer (Xfree86)
-
1986 Larry Wall publikuje kody źródłowe języka skryptowego Perl (Practical Extraction abd Report Language)
-
1987 – Andrew Tanenbaum udostępnia (wraz z kodem źródłowym) utworzony przez siebie system Minix, akademicką wersję Uniksa przeznaczoną dla komputerów PC, Macintosh, Amiga i Atari ST.
-
1990 Organizacja Stallmana Free Software Fundation rozpoczyna pracę nad jądrem systemeu operacyjnego zgodnym z Unix, czym wypełnia lukę powstałą w pracy fundacji (są już bezpłatne narzędzia nie ma natomiast jeszcze systemu) . System nazwany został GNU Hurd – niestety jądro jest jeszcze za duże i niestabilne i na początku 2000 roku jest jeszcze ciągle niekompletne
-
1991 Wiliam i Lynne Lolitz rozpoczynają pracę nad wersją systemu BSD opartą o procesor Intela 80386. Tworzą dzięki temu początek dla systemów opartych o licencję BSD, powstają systemy FreeBSD, NetBSD, OpenBSD. W tym samym roku Linus Torvalds tworzy pierwsze jądro systemu Linux w oparciu o system Minix
-
1992 na uniwersytecie w Nowym Jorku powstaje darmowy kompilator Ada95. Jego twórcy wykorzystali kompilator GNU GCC (rozpowszechniany na zasadzie licencji GNU) i nowy kompilator nazwali GNAT (GNU NYU Ada 95 Translator). W lipcu powstaje pierwsze niestabilne jądro systemu 386BSD 0.1. Problemy z licencją wynikające z zastosowania Berkeley Net release/2 na kodzie którego oparte zostało jądro powodują przeciąganie się prac. Po kilku miesiącach problem zostaje rozwiązany i na wersji Berkeley Net release/3 oparte są wszystkie nowoczesne systemy operacyjne serii BSD
-
1993 powstaje pierwsza dystrybucja Linuxa – Debian – Staje się ona podstawową dystrybucją na wiele lat, na bazie której powstają inne dystrybucje. W grudniu powstaje pierwsza stabilna wersja jądra systemu FreeBSD 1.0. Wczesna wersja beta systemu 386BSD zostaje opublikowana w sieci
-
1994 powstaje firma Red Hat, firma Caldera – oferujące komercyjne wersje Linuxa
-
1995 powstaje The Apache Group której celem jest opracowanie nowego serwera WWW, bazująceg na programie NCSA. W kwietniu opublikowane zostaje pierwsza wersja (0.6.2) Obecnie ponad 50 procent serwerów WWW w Internecie to Apache. Powstaje wersja 2.0 jądra FreeBSD
-
1996 pierwsza konferencja poświęcona darmowej redystrybucji oprogramowania w Cambridge w USA
-
1997 Eric Raymond publikuje opracowanie „The Catedral and the Bazaar”
-
1998 Netscape udostępnia okrojony kod źródłowy swojej przeglądarki WWW. Firmy IBM, Oracle, Informix, Corel oraz Sybase ogłaszają oficjalnie, że rozpoczynają wspieranie systemu Linux. Powołana zostaje fundacja Open Source Initiative (OSI). W sierpniu Torvalds i Linux pojawiają się na pierwszej stronie magazynu Forbes, firma IBM decyduje się na instalowanie Apache w serwerach AS/400, Intel i Netscape inwestują w Red Hat Linux. Wewnętrzny dokument Microsoft (tzw. „Halloween” ) będący analizą artykułu „The Catedral and the Bazaar” – wnioski nie należy obawiać się ruchu open source ani systemu Linux
-
1999 coraz więcej firm deklaruje swoje wsparcie dla systemu Linux, Akcje firm związanych z Linuxem są notowane na giełdzie i osiągają kilkunastokrotne przebicie tak jak kilka lat wcześniej firmy internetowe. Powstaje dystrybucja Corel Linux firmy Corel. Firma Apple udostępniła kody swojego nowego systemu Mac OS X. Z podobnym zamiarem nosi się firma Sun Microsystems ze swoim systemem Solaris
-
2000 w Interncie pojawiły się doniesienia, że firma Microsoft zamierza udostępnić kod swojego systemu Windows 2000. Na marginesie nie wiadomo jeszcze jak zakończy się proces o praktyki monopolistyczne prowadzony przeciwko firmie przez amerykańskie sądy. Eksperci mówią, że jednym z rozstrzygnięć może być konieczność udostępnienia przez Microsoft kodów swoich systemów operacyjnych. Jeżeli zapadnie taki wyrok wówczas nawet Microsoft przyczyni się do rozwoju rynku open- source
Wzrost popularności idei open source spowodował, że na rynku zaczęło pojawiać się coraz więcej oprogramowania dostępnego za pomocą tej lub innych podobnych licencji
GPL(Project’s General public license – wymaga rozpowszechniania wraz z programem kodu źródłowego. Celem licencji jest zapewnienie nieograniczonego dostępu do kodu źródłowego. Fakt, że program oparty jest na licencji GPL nie oznacza, że ma on być bezpłatny – tylko dostęp do kodu źródłowego programu nie może być zaporą finansową)
BSD – pierwotnie używana do ochrony systemu BSD (Inne podejście do warunków licencjonowania niż w przypadku GPL – w tej licencji istnieje możliwość sprzedaży produktów opracowanych na podstawie głównego kodu źródłowego bez udostępniania kodu źródłowego. Na tej licencji oparty jest serwer Apache, BIND, sendmail ).
9. Najbardziej znane programy open source i free software
-
Linux, GNU Hurd – systemy operacyjne oparte na licencji GNU
-
X Free86 – najpopularniejsza rodzina Xserwerów (oprogramowanie będące podstawą do budowy graficznego interfejsu użytkownika w systemach Unix)
-
FreeBSD, NetBSD, OpenBSD – systemy operacyjne objęte licencją podobną do GPL
-
Emacs/Xemacs – popularny wśród programistów uniksowych edytor tekstu zawiera programy do obsługi poczty, news i przeglądarkę WWW
-
Sendmail – serwer pocztowy.
-
BIND – serwer DNS
-
NN – dominujący w Internecie serwer grup dyskusyjnych news
-
narzędzia programistyczne GNU – kompilator gcc, g++, standardowa biblioteka C i C++, konsolidator (linker), odpluskwiacz (debugger) gdb, GNU make, yacc, bison, profilery i narzędzia do kontroli wersji – CVS
-
Perl – język skryptowy
-
Apache – serwer WWW dostępny dla wielu systemów Unix oraz Windows. Ponad połowa internetowych serwerów WWW to właśnie Apache
-
Samba – oprogramowanie przeznaczone dla systemów Unix, „udające” serwer Windows NT. Pozwala na udostępnianie dysków i drukarek klientom Windows
-
GIMP – zaawansowany program do obróbki grafiki rastrowej przypominający Adobe Photoshopa
-
Cygnus GNU Win32 – kompilator GNU C/C++ przeniesiony na platformę Windows 95/98/NT
10. „The Cathedral and the Bazaar”
„The Cathedral and the Bazaar” (Katedra i bazar) jest to tytuł artykułu Erica Raymonda opublikowany w 1997 roku w Internecie . W artykule tym opisał on dwa rodzaje tworzenia oprogramowania „katedra” i „bazar”
Kategorie
- Biznes i rynek (27)
- Na wesoło (656)
- Ogólne (151)
- Ogólne (5)
- Wszystko inne (25)
- Wszystko inne (4)