Od hobby do standardu
- 14.06.2011
Linux jest fenomenem. Powstał jako dzieło hobbysty i z amatorskich prób stał się standardem biznesowym, wspieranym przez wielkie korporacje, działającym w wielu krytycznych systemach.
Historia Linuksa wiąże się z ruchem wolnego oprogramowania, którego twórcą jest Richard Stallman. W roku 1983 powstał projekt GNU, którego celem było utworzenie wolnego systemu operacyjnego typu UNIX, na początku 1990 opracowano wystarczająco dużo składników, by można było utworzyć sprawnie działający system operacyjny, ale jego jądro Hurd nadal nie było ukończone.
Gdy w 1985 Intel wydał mikroprocesor 80386, pojawiła się szansa na szybkie rozpowszechnienie systemu typu UNIX na znacznie mniejszych i tańszych komputerach niż dotąd. W 1987 pojawił się system MINIX, ale nie był on w pełni przystosowany do popularnej architektury 80386. W 1991 r. Linus Torvalds rozpoczął prace hobbystyczne nad emulatorem terminala, budując coraz więcej niezbędnego oprogramowania, specjalnie pod kątem obsługi peryferiów komputera, który posiadał. Prace te były wykonywane w systemie MINIX przy użyciu kompilatora GNU C (gcc). 25 sierpnia 1991 Linus napisał wiadomość na grupie dyskusyjnej USENET comp.os.minix, w której poinformował o tym, że od kwietnia pracował nad darmowym systemem przypominającym nieco Miniksa, w którym przeniesiono już powłokę systemu (bash w wersji 1.08) oraz kompilator gcc (1.40). System ten już wtedy był wielowątkowy, ale przywiązany do środowiska 386. Linus napisał także, że jego system nie zawiera żadnego fragmentu kodu systemu MINIX.
Początkowo system miał się nazywać Freax, ale ostatecznie wybrano nazwę Linux (jako Linus Unix) mimo że Torvalds początkowo uważał ją za zbyt egoistyczną. Pierwszy pakiet oprogramowania był wydany na licencji własnościowej, która zabraniała użycia komercyjnego, ale później Linus zdecydował się na wykorzystanie licencji GNU GPL. Linus Torvalds mówi: "Wydanie Linuksa na mocy licencji GNU GPL było najlepszą z rzeczy, które zrobiłem". Oficjalną maskotką systemu stał się pingwin o imieniu Tux. Linus Torvalds do dziś zajmuje się rozwojem jądra systemu Linux.
Jądro to nie wszystko
Samo jądro systemu nie prowadzi do niczego, jeśli nie zostanie uzupełnione o niezbędne składniki, takie jak: powłoka systemu, biblioteki, kompilatory oraz narzędzia użytkowe. W grudniu 1992 opublikowano wersję jądra 0.99 już na licencji GNU GPL i deweloperzy rozpoczęli pracę nad integracją komponentów pochodzących z projektu GNU, by utworzyć w pełni funkcjonalny i wolnodostępny system operacyjny.
Prace trwały i opracowano założenia odnośnie do sposobu rozpowszechniania systemu - oprogramowanie powstałe w ramach projektu GNU umieszczone razem z jądrem systemu Linux nazywa się dystrybucją tego systemu. Jedną z pierwszych dystrybucji, aktywną do dziś, jest Slackware. Nieco później powstał ruch Debian, z którym współpracuje szeroka rzesza twórców oprogramowania, testerów oraz zwykłych użytkowników. Dystrybucja Debian GNU/Linux jest do dziś największą dystrybucją tworzoną przez społeczność na świecie.
Uprościć instalację
Linux od dawna przestał być systemem, który wymaga ciągłej interwencji w trybie wiersza poleceń. Nowoczesne dystrybucje pracują w trybie graficznym, przy czym można łatwo dostosować wygląd do własnych upodobań i potrzeb - od położenia, wielkości i barwy pasków i przycisków, aż po animacje, które mogą towarzyszyć akcjom na pulpicie. Efekty te od 2006 udostępnia m.in. menedżer okien Compiz, który razem z dekoratorem okien Emerald umożliwia praktycznie dowolne kreowanie wyglądu środowiska.
Dużym poważnym skokiem naprzód było opracowanie semigraficznych narzędzi instalacyjnych, obecnych w pierwszych dystrybucjach SuSE i RedHat. Dzięki nim osoba zapoznana z dokumentacją mogła z powodzeniem zainstalować taki system, sama instalacja odbywała się szybko i sprawnie. Dzisiejsze dystrybucje korzystają z graficznych narzędzi instalacji, działających w wersji live.
Dystrybucja live
Systemy operacyjne zazwyczaj są instalowane na docelowym nośniku, ale czasami potrzeba uruchomić system i wybrane aplikacje bez instalacji, całkowicie w pamięci komputera. Tę możliwość w Linuksie zaimplementowano już dawno, ale szersze grono użytkowników zyskała dopiero wywodząca się z Debiana dystrybucja o nazwie Knoppix, opracowana przez Klausa Knoppera. Była ona jedną z pierwszych, które automatycznie rozpoznawały sprzęt i umożliwiały demonstrację możliwości systemu bez jego instalacji na dysku twardym. Z tej możliwości korzysta dziś wiele dystrybucji, gdyż można od razu sprawdzić obsługę sprzętu w testowanym komputerze, ponadto proces instalacji może odbywać się znacznie sprawniej.
Linux jest standardem
Ze względu na swoje zalety, takie jak: wydajność, stabilność, dobre bezpieczeństwo oraz możliwość przystosowania systemu i oprogramowania do konkretnych potrzeb, stał się systemem z wyboru w hostingu oraz superkomputerach. System ten jest oficjalnie wspierany jako klient przy wirtualizacji, wliczając w to VMware oraz rozwiązania Microsoftu, ponadto jest on wykorzystywany w wielu systemach opracowywanych pod konkretne zastosowanie. Większość sprzedawanych urządzeń klasy appliance przeznaczonych do ochrony antyspamowej i antywirusowej korzysta właśnie z dorobku deweloperów Linuksa, ponadto opracowano wiele oprogramowania komercyjnego, które działa w tym środowisku - są to bazy danych, serwery aplikacyjne, oprogramowanie do tworzenia wideo, narzędzia do obliczeń matematycznych, a nawet czytniki dokumentów (najpopularniejszym z nich jest Adobe Reader) i aplikacje domowe (Google Picasa, Google Desktop). Opracowano także zamknięte, własnościowe sterowniki do niektórych urządzeń, takich jak karty graficzne (Nvidia, ATI).
Bezpieczeństwo przede wszystkim
Linux należy do systemów, na które nie opracowano dotąd żadnego wirusa komputerowego, chociaż niejednokrotnie zdarzały się włamania, wykorzystujące niezałatane luki w bezpieczeństwie. Wynikały one przeważnie z eksploatacji nieaktualnego oprogramowania - nadal jest to główna przyczyna podatności firmowych serwerów i stacji roboczych.
Aby utrudnić przełamywanie zabezpieczeń, amerykańska agencja NSA opracowała modyfikacje Security Enhanced Linux, które wprowadzają ograniczenia na to, co aplikacje mogą robić w systemie. Podobnym projektem jest AppArmor. Takie narzędzia niejednokrotnie uniemożliwiły wykorzystanie luki w aplikacjach firm trzecich, takich jak Adobe Reader. Od wersji SuSE Enterprise Linux 10, ochrona za pomocą AppArmor jest włączona domyślnie, została dołączona do jądra systemu w ubiegłym roku i występuje w wielu dystrybucjach. Dodatkowe zmiany obejmują ochronę stosu, wprowadzenie narzędzi detekcji intruzów LIDS czy szyfrowanie partycji (opcja proponowana w instalacji Ubuntu).
Standard firmowy
Oprócz wolnego oprogramowania udostępnianego w dystrybucjach, w przedsiębiorstwach korzysta się także z oprogramowania zamkniętego. Najczęściej są to duże bazy danych, takie jak Oracle i DB2 oraz aplikacje biznesowe, niejednokrotnie przeznaczone do obsługi kluczowych procesów biznesowych w firmie. W dziale IT takich firm znacznie ważniejsze są zalety Linuksa jako platformy od faktu dostępności kodu źródłowego, natomiast podkreślaną zaletą jest łatwość dostosowania tego systemu do potrzeb przedsiębiorstwa. Oprócz dystrybucji komercyjnych, z płatnym wsparciem technicznym, wiele firm korzysta z darmowych wydań społecznościowych, takich jak Debian.
1983: Richard Stallman tworzy projekt GNU.
1989: Pierwsza wersja Powszechnej Licencji Publicznej GNU (GNU General Public License).
1991: Linus Benedict Torvalds, 21-letni student, obwieszcza informację o pracy nad jądrem systemu.
1992: Jądro Linuksa zostało wydane na mocy licencji GPL. Powstają pierwsze dystrybucje Linuksa.
1993: Ponad 100 deweloperów pracuje nad jądrem Linuksa, pomagają oni także przy adaptacji jądra do środowiska GNU. Powstaje najstarsza utrzymywana do dziś dystrybucja: Slackware, a nieco później utworzono projekt Debian. Obecnie Debian jest największą społecznościową dystrybucją Linuksa.
1994: W marcu Torvalds uznaje, że wszystkie komponenty jądra są w pełni dojrzałe i wydana została wersja 1.0. Projekt XFree86 dostarcza graficzny interfejs użytkownika. W tym roku firmy RedHat oraz SuSE wydają wersje 1.0 swoich dystrybucji.
1995: Linux zostaje przeniesiony do platformy DEC Alpha oraz Sun SPARC. W ciągu następnych lat kolejne platformy zyskują wsparcie i Linux przestaje być ściśle przywiązany do platformy x86.
1996: Wydana zostaje wersja 2.0 jądra systemu, które od tego czasu obsługuje więcej niż jeden procesor w tym samym czasie. Oznacza to, że Linux staje się poważną alternatywą dla wielu firm.
1998: Duże firmy, między innymi IBM, Compaq i Oracle ogłaszają wsparcie dla tego systemu. Grupa programistów opracowuje interfejs użytkownika KDE.
1999: Grupa deweloperów rozpoczyna pracę nad środowiskiem GNOME, które ma być alternatywą dla KDE (polegało na własnościowym narzędziu Qt). W ciągu tego roku IBM ogłasza bardzo szeroki projekt wsparcia Linuksa.
2002: Baza Oracle w środowisku komercyjnych dystrybucji Linuksa staje się poważną alternatywą rynkową i jest coraz częściej stosowana.
2004: Ekipa Xfree86 dzieli się i powstaje fundacja X.Org - dzięki temu serwer X Window dla Linuksa rozwija się o wiele szybciej.
2005: Projekt openSUSE rozpoczyna wydawanie darmowej dystrybucji związanej z firmą Novell. Projekt OpenOffice.org wydaje wersję 2.0 swojego oprogramowania, które obsługuje otwarty standard dokumentów OASIS OpenDocument.
2006: Oracle wydaje swoją dystrybucję zgodną z RedHat. Firmy Novell i Microsoft ogłaszają współpracę, w celu usprawnienia zgodności produktów.
2007: Dell rozpoczyna sprzedaż laptopów z zainstalowanym systemem Ubuntu Linux. HP od dłuższego czasu oficjalnie wspiera dystrybucję Debian GNU/Linux na swoich serwerach.
2010: Linux jest zainstalowany na 91,8% maszyn z listy najmocniejszych superkomputerów świata (top500.org)
2011: Wydana zostaje wersja 3.0 jądra systemu Linux.
Linux jako otwarte oprogramowanie stał się motorem napędowym do rozwoju technologii nie tylko ze świata Linux/Unix. Jest to system dostępny bez opłat, wspierający szeroki wachlarz architektur sprzętowych, przez co stał się liderem w środowisku akademickim i deweloperskim. Zalety systemu już dawno dostrzegli producenci urządzeń typu appliance, a ostatnio także producenci smartphonów. Otwartość kodu Linuksa daje możliwość audytowania elementów systemu i wcześniejsze wykrywanie błędów systemowych lub dziur w zabezpieczeniach. Poprawki wprowadzane są także bardzo szybko, co sprawia, że system jest cały czas na wysokim poziomie bezpieczeństwa. Linux jest niezastąpiony w przypadku systemów wymagających niestandardowego podejścia i elastyczności. Tuning praktycznie każdego parametru pracy systemu umożliwia uruchomienie dedykowanego serwera w zależności od indywidualnych potrzeb (wysokie IO, przetwarzanie, transfer danych). Architektura systemu umożliwia nie tylko tworzenie warstw izolacji międzyprocesowej, ale także efektywne zarządzanie dostępnymi zasobami, chroniąc tym samym krytyczne aplikacje przed utratą mocy obliczeniowej serwera.
PS: Ten tekst powstał na komputerze z systemem Fedora 14.
Tomasz Nowakowski, specjalista ds. systemów, Biuro Architektury i Infrastruktury, ATENA Usługi Informatyczne i Finansowe sp. z o.o.