Primární zdroj: | http://www.spsselib.hiedu.cz/~kerslage/manuals/linux/Linux/ |
Autor: | Milan Keršláger |
Osnova: | zkrácená verze přednásky v bodech |
Přednáška přináší přehled o možnostech Linuxu, vysvětluje principy jeho vývoje, možnosti využití free software i pro komerční nasazení, definuje oblasti, ve kterých Linux vyniká a přináší i přehled oblastí, kde (zatím) free projekty nedosahují možností komerčních.
Systém | Jednouživatelský | Víceuživatelský |
---|---|---|
Jednoúlohový | MS-DOS, CP/M | Intellec SIV |
Víceúlohový | MS Windows NT, 2000, MS Windows'9x, MacOS | Unix, VMS, MS Terminal server |
Hello everybody out there using minix - I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. ---------------------------------------------------------- Zdravím všechny uživatele minixu - Pracuji na (volném) operačním systému (jenom jako koníček, nechci, aby byl rozsáhlý a profesionální jako gnu) pro počítače typu 386(486) AT.Tímto studentem by Linus Torvalds a koníček, o kterém píše, se stal tím, co dnes nazýváme společným názvem Linux. První verze (v0.01) pochází ze září roku 1991. Dnes je Linux plnohodnotným Unixovým operačním systémem, řídí se doporučeními POSIX (standardy POSIX definují jednotné aplikační rozhraní (přenositelnost), jednotné vlastnosti prostředí Unixových OS včetně názvů základních knihovních funkcí, jejich parametrů, přepínačů řádkových příkazů, ...) a stále se vyvíjí. Na jeho vývoji pracují zdarma stovky programátorů z celého světa. Linus je ve vývoji jádra Linuxu stále mužem číslo 1 a ve spolupráci s předními vývojáři udává směr dalšího vývoje. Neexistuje žádná řídící struktura ani managment; student z nejzapadlejší části světa si koupí novou součást do svého počítače a napíše ovladač, který může dále používat kdokoliv na celém světě. Systémový administrátor z New Yorku potřebuje zálohovací nástroj, napíše jej a dále jej sdílí a vylepšuje společně se všemi, kteří jej potřebují. To není fantazie, to se stává dnes a denně na celém světě.
Linux můžete získat naprosto zdarma stejně, jako tisíce dalších programů. Jedinou cenou, kterou musíte složit, je čas, který věnujete k získání tohoto produktu z celosvětové počítačové sítě - Internetu.
Linux má na původní Unixy jen ideovou vazbu. Přestože byl (a je) vývoj Linuxu ve své podstatě živelný a neorganizovaný, má svůj vnitřní řád. První věc, kterou si musíme uvědomit, je, že na Internetu najdeme tisíce různých programů a projektů a každý žije svým vlastním životem. Linux je jedním z nich, i když v současné době se za tímto slůvkem skrývá celý souhrn již zmíněných jednotlivých projektů. Ve skutečnosti je Linux jen jádro OS, takový malý základ, který umožňuje všem ostatním programům sdílet prostředky počítače. Co se týká velikosti a objemu, můžeme říci, že jádro je zhruba jedna tisícina toho, co všechno slůvkem Linux označujeme (v klasické instalaci zabírající 1GB místa na disku).
Jádro OS Linux je vyvíjeno bazarovým (protikladem je model katedrála, viz. http://tuxedo.org/~esr/writings/cathedral-bazaar/) modelem. To znamená, že na vývoji se může podílet každý bez toho, aby v projektu zaujímal nějaké předem vyznačené místo, střetávají se nejrůznější názory a nápady a výsledky této práce jsou stále všem průběžně k dispozici. Většina lidí, kteří se na vývoji podílí (tzv. vývojáři), se osobně nezná. Jsou ve vzájemném kontaktu díky Internetu, elektronické poště (E-mail), různým elektronickým konferencím (linux-kernel apod.) a dalším elektronickým médiím, které najdeme na Internetu. Samozřejmě i zde najdeme jednoduchou organizační strukturu. Pomyslné nejvyšší místo zaujímá Linus, který těsně spolupracuje s dalšími vývojáři, kteří se uvolili k zodpovědnosti za jednotlivé části jádra. Linus periodicky zveřejňuje na známém místě ftp://ftp.kernel.org/pub/linux/kernel/) tzv. oficiální verze, které jsou volně k dispozici. Pokud má někdo nějakou důležitou změnu či doplněk, který by chtěl v jádře mít a tím jej obohatit, měl by jej zaslat člověku, který je za daný úsek zodpovědný, ale může volit i jiné cesty (zveřejnění na nějakém WWW serveru, zaslání do konference zabývající se jádrem, SCSI ovladači, nebo přímo Linusovi apod.). Pokud je příspěvek (tzv. patch, oprava nebo rozdílový soubor) hodnotný, má velkou naději, že bude zahrnut do další verze jádra, která bude Linusem uvolněna. Nové verze jsou záměrně zveřejňovány poměrně pravidelně a často, takže změny mezi verzemi nejsou skokové a vývojáři mohou snadno sledovat průběžný stav vývoje.
Aby výsledky této práce byly dostupné co nejširšímu počtu zájemců, existují souběžně dvě řady jader. První z nich je tzv. stabilní. Nové verze jsou vydávány v delších časových odstupech (měsíc nebo dva a intervaly se neustále prodlužují) a obsahuje pouze opravy\footnote{Jak uvidíme za chvíli, není to absolutní pravda. V odůvodněných případech je toto pravidlo často porušováno.}. Tato řada jader je určena k nejširšímu použití. Druhá řada se nazývá vývojová. Slouží k tomu, aby vývojáři mohli do jádra implementovat novinky a tak posouvat vývoj neustále kupředu. Jádra jsou vydávána v kratších intervalech (zhruba týdně) a frekvence se postupně (zejména v závěru vývojové fáze) zvyšuje. Jednou za čas, když Linus a ostatní usoudí, že vývojové jádro dosáhlo požadovaných kvalit, je poslední vývojové jádro prohlášeno za stabilní, vývojová řada je ukončena a vznikne nová stabilní řada. Po nějaké době (po zahlazení drobných chyb) vznikne nová vývojová řada a celý cyklus se opakuje.
Pro snadné odlišení obou řad i jednotlivých verzí byl počínaje verzí 1.0.0 zaveden následující model číslování: Každé jádro je označeno třemi čísly (např. 2.3.34). První číslo vyjadřuje generaci, mění se nejpomaleji a označuje velké skoky v kvalitě. Druhé číslo se mění častěji a označuje řadu. Pokud je číslo sudé, jedná se o stabilní řadu, pokud je liché, tak o vývojovou. Poslední číslo označuje úroveň oprav (tzv. patchlevel). Mění se s každým novým vydaným jádrem od Linuse, tedy nejčastěji. Konkrétní příklad může být asi takový: V červenci roku 1996 vzniklo jádro 2.0.0, po něm následovala verze 2.0.1, 2.0.2 atd. Po třech měsících vznikla z této řady verze 2.1.0, která byla první z vývojových a po ní následovaly verze 2.1.1, 2.1.2 atd. Tato řada se vyvíjela souběžně s řadou 2.0.x. Po nějaké době (v lednu 1999, tedy po dva a půl roku) vznikla z vývojové řady (konkrétně z 2.1.132) nová stabilní řada 2.2.x a celý cyklus se bude zase opakovat.
Ve výše popsaném mechanismu samozřejmě existují výjimky. Protože byl vývojový cyklus řady 2.1 velmi dlouhý, byly do řady 2.0 zahrnovány kromě oprav i novinky, které se osvědčily v souběžné řadě vývojové. Známý a velmi aktivní vývojář Alan Cox převzal údržbu stabilních řad. Nová jádra sice nadále vydává Linus, ale hlavní zásluhu na pokračujících úpravách stabilní řady má právě Alan. Linus se věnuje spíše řadám vývojovým. V poslední době se Alanovy aktivity rozšířily i na oficiální zastupování Linuse v jeho nepřítomnosti ve vývojové řadě jader (vydává ovšem pouze postupně opravy, které pak předává hromadně Linusovi a ten teprve po jejich kontrole vydá nové oficiální jádro). Oprav nebo vylepšení pro jádra existuje mnoho a v podstatě kdokoliv je může umístit na místa, kde se takové neoficiální věci sbírají (např: http://www.kerneli.org, http://www.linuxhq.com). Některé klony jádra dokonce žijí svým vlastním životem a s hlavní vývojovou řadou se synchronizují jen občas. Tento postup je obvyklý u jader, která jsou přizpůsobována (portována) na jiné platformy (např. Motorola, Sparc a podobně). Dělá se to proto, že udržování trvalého kontaktu by vývojářům zbytečně ubíralo čas a síly.
Původní jádro bylo určeno jen pro procesory Intel i386 a vyšší (resp. kompatibilní). Dnes je Linuxové jádro schopno běžet na nejrůznějších procesorech a platformách (včetně plně 64 bitových): Alpha, Arm, Motorola 68000, Mips, PowerPC, Sparc a Sparc64. Kromě těchto oficiálních existují i projekty nezahrnuté do hlavní řady. Z nich je například velmi zajímavý port na platformu Psion, což jsou malé počítače do ruky.
Pro knihovny existuje speciální varianta, tzv. LGPL (Library GPL). Její podstatou je ustanovení, že komerční programy mohou používat pouze dynamické knihovny. V případě statického linkování přechází licence (GPL) knihoven i na výsledný produkt. Některé (zejména komerční) aplikace jsou však někdy závislé na konkrétních verzích knihoven. Vina je obvykle z větší části na tvůrcích programu (používají např. vnitřní struktury knihoven nebo zastaralá volání), z menší části pak na chybách v knihovnách samotných. LGPL má v těchto případech dvojí efekt: U některých knihoven způsobuje, že je kromě GPL verze (např. Lesstif (volně šiřitelná náhrada za Motif, víceméně kompatibilní) k dispozici i komerční verze (Motif), která se pak staticky linkuje s daným programem (výhodou pro uživatele je, že si nemusí dynamické knihovny kupovat - může se spokojit se statickými, které jsou přilinkovány k žádanému programu a oželí nemožnost sdílení knihoven v paměti). Naopak program je ve své GPL verzi linkován dynamicky (řekněme nestabilní verze) a komerční verze je slinkovaná staticky (stabilní, ovšem obrovská binárka s velkými paměťovými nároky bez možnosti sdílení knihoven v paměti - například Netscape).
Linuxové jádro samotné je šířeno pod licencí GPL, ovšem s několika výjimkami. GPL licenci předchází text, který se dá shrnout takto: GPL licence o šíření jádra nepřechází na programy, které používají systémová volání jádra (není to tedy analogie s knihovnami), protože toto chování je předpokládané normální používání jádra a nenaplňuje tak pojem "odvozené dílo" (pokud je něco vyvíjeno pod GPL licencí, je odvozený produkt povinen zachovat GPL licenci). Dále na části kódu, na které se odkazuje, se vztahují autorská práva (copyright) Linuse a ostatních programátorů, kteří jej píší.
Tyto doplňky zajišťují, že GPL licence na Linuxové jádro nezpůsobuje nutnost jejího přechodu na všechny programy provozované pod Linuxem a zároveň zabraňuje Linusovi i komukoliv jinému tento stav změnit (musel by se vyrovnat s autorskými právy desítek či stovek vývojářů jádra z celého světa).
Drtivá většina v Linuxu používaných podpůrných a doplňujících programů pochází z projektu GNU a je šířena pod GPL licencí.
Red Hat je distribuce vyvíjená a udržovaná stejnojmennou komerční firmou (první verze vznikla v roce 1996). Svůj produkt prodává za manipulační poplatek (to GPL umožňuje), zároveň ho zdarma zpřístupňuje na Internetu a živí se poskytováním podpory svým zákazníkům. Sponzoruje nebo zaměstnává vývojáře, kteří pracují i na různých jiných projektech (jádro, GNU i jiné). Jako komerční firma má možnost být partnerem pro výrobce hardware (technického vybavení počítačů), což je asi její největší přínos (zdarma pracující vývojáři nemají obvykle přístup k technické dokumentaci výrobků různých firem).
Debian (první verze je ze srpna 1993) je distribuce, která je založena stejně jako volně šiřitelné programy, na nekomerčním základě a je vyvíjena spoustou dobrovolníků. Blízko dokončení je i Debian distribuce založená na GNU jádře Hurd (místo klasického Linuxového jádra).
Distribuce Slackware je zajímavá tím, že je vyvíjena prakticky jen jedním člověkem\footnote{Celý tým se dá spočítat na prstech jedné ruky, ale Patrick je majoritní podílník co se týká rozsahu odvedené práce.} (Patrick Volkerding). To je jedním z důvodů, proč je to distribuce konzervativní (neobsahuje obvykle poslední novinky, což může být i výhoda). Zároveň má nejméně propracovaný systém balíčků. Ze zmíněných distribucí je nejstarší (první verze distribuce je z dubna 1992, kdy existovalo jádro verze 0.95, tj. půl roku po vůbec první verzi jádra Linuxu). SuSE je původně německá firma\footnote{Dnes je již její hlavní sídlo v USA.}, která poskytuje distribuci, jež má svůj původ ve Slackware a z Red Hatu přejala nástroj na vytváření RPM balíčků. Vývojáři SuSE si dali za cíl, že chtějí ve své distribuci mít pokud možno všechno, co se dá na Internetu najít. Firma pracuje na podobném principu jako firma Red Hat. Existuje ještě mnoho dalších distribucí, každá z nich má svoje vlasní přednosti i zápory. Pro základní přehled výše zmíněné stačí.
Úsilí o lokalizaci Linuxu je stejně jako v ostatních (zejména středoevropských) zemích koordinováno. Síly jsou směrovány tak, aby úpravy provedené v zájmu jednoho jazyka byly prospěšné i ostatním a zároveň byla zachována funkčnost v původní podobě. K tomuto účelu slouží v prostředí Unixů tzv. locale. Popisují univerzálním způsobem jednotlivé znaky, označení národních měn, tvar zápisu datumu, způsoby třídění slov podle abecedy, umožňují doplnit hlášení programu tak, aby komunikoval v národním jazyce a podobně. Locale si může každý uživatel systému nastavit pomocí proměnných prostředí pro jednotlivé programy nezávisle na ostatních. Tento způsob výrazně zjednodušuje vývoj a používání programů respektujících národní zvyklosti a rozdíly.
Pokud není locale správně použito, nechovají se programy korektně. Jsou-li k dispozici zdrojové kódy, nebývá těžké vzpurné jedince opravit, avšak bez nich je to v některých případech i nemožné. Určitou naději na úspěch u neposlušných aplikací dává knihovna LibI18n od Zdeňka Kabeláče http://www.fi.muni.cz/~kabi/linux/linux.html, která umožňuje aplikacím, které volají starou funkci XlookupString místo XmbLookupString, správnou inicializaci vstupních metod a korektní zpracování českých znaků na vstupu z klávesnice. Principem je předefinování a rozšíření originálních funkcí knihoven. Jinými slovy se dá říct, že to není čisté řešení, avšak funguje.
Pomocí nastavení proměnné prostředí ovlivníme zavádění dynamických knihoven před spuštěním programu StarOffice (chování knihovny lze ještě dále ovlivňovat další speciální proměnnou prostředí, více viz. její dokumentace):
#!/bin/sh LD_PRELOAD=/lib/libI18Nforce.so.0.0 export LD_PRELOAD soffice $*
Linux je tradičně nasazován jako server (zatím zejména neanglosaském prostředí poměrně těžko konkuruje na trhu desktopů). Nejčastěji je Linux používán jako platforma pro WWW servery a má jednoznačně největší zásluhu na obrovké rozšíření WWW serveru Apache.
Následující obrázek uvádí srovnání nasazených WWW serverů z http://www.netcraft.com/survey/. Linux samozřejmě není jediným OS, na kterém je Apache provozován, avšak zcela jednoznačně Linux vede jako jeho nejpoužívanější platforma.
Developer | January 2000 | Percent | February 2000 | Percent | Change |
---|---|---|---|---|---|
Apache | 5521069 | 55.49 | 6482728 | 58.08 | 2.59 |
Microsoft | 2280669 | 22.92 | 2447645 | 21.93 | -0.99 |
iPlanet (+Netscape) | 773163 | 7.77 | 867265 | 7.77 | 0.00 |
Domain : RIPE+.edu DName : --------- Service: ftp+news+www Date : April `99 Host OS recognized (grouped, sorted) 01/99 %recog 04/99 %recog +/-% ------------------------------------ ------- ------ ------- ------- ---- 1.( ) Linux 287093 28.5 399748 31.3 +2.8 2.( ) Windows 95/98/NT 245184 24.4 310162 24.3 -0.1 3.( ) Solaris/SunOS 178350 17.7 213304 16.7 -1.0 4.( ) BSD Family 150961 15.0 186385 14.6 -0.4 5.( ) IRIX 52941 5.3 58112 4.6 -0.7 6.( 7.) Mac/Apple 16170 1.6 26548 2.1 +0.5 7.( 6.) AIX 17362 1.7 18427 1.4 -0.3 8.( 9.) HPUX 10416 1.0 11760 0.9 -0.1 9.( 8.) Reliant Unix/Sinix 12848 1.3 10616 0.8 -0.5 10.(12.) Novell Netware 3656 0.4 5982 0.5 +0.1 11.(10.) Digital Unix 5016 0.5 5186 0.4 -0.1 12.(11.) SCO Unix 3787 0.4 4021 0.3 -0.1 ----------- ----- ----- ------- ----- ++checksums 983784 97.8 1250250 97.9
Pokud na stanicích používáme MS Windows nebo DOS, využijeme pravděpodobně možnost, že se Linuxový server může navenek tvářit jako NT server nebo jako server Novell NetWare. Zejména v prvním případě dosáhneme snadno srovnatelné výkonové kvality. V obou případech se na Linuxovém serveru spouští speciální program, který toto chování zajišťuje (tzv. emulace).
Při emulaci NT serveru používáme volně šiřitelný program
Samba.
Jeho název pochází ze zkratky SMB, kterou se označuje protokol, který
firma Microsoft přejala a používá ho při sdílení disků i tiskáren. Tento
protokol může být u NT serveru i stanic s MS Windows provozován nad
komunikačními protokoly TCP/IP, IPX/SPX a NetBEUI. U Samby existuje
zatím jen podpora pro protokol TCP/IP, což ovšem není na závadu, protože
tento protokol potřebujeme i v případě, že chceme provozovat Internetové
služby (Microsoft i Novell v současné době přecházejí na
"čistá"
řešení s použitím výhradně protokolu TCP/IP). Sambu můžeme konfigurovat
ručně pomocí modifikace jejího konfiguračního souboru
/etc/smb.conf
nebo pomocí společně dodávaného programu SWAT,
který poskytuje pěkné WWW rozhraní. Toto rozhraní je přístupné
z jakéhokoliv WWW prohlížeče a dá se ovládat jak z textového, tak
z grafického prostředí. K dispozici je plná implementace sdílení disků
a tiskáren, autentifikace uživatelů, Domain controller i WINS server.
Zatím není plně implementována možnost přidělování práv, jak je to u MS
Windows NT serveru obvyklé, takže si musíme vystačit s použitím
klasických Unixových práv na jednotlivé soubory a adresáře nebo omezit
možnost čtení a zápisu podle jednotlivých skupin a uživatelů na celý
sdílený podadresář.
V případě emulace serveru Novell NetWare pomocí programu http://www.compu-art.de/mars_nwe/index.html nedosáhneme takového výkonu jako se Sambou a navíc se u něj setkáme s drobnými problémy v implementaci. V zásadě se dá říct, že je to plně funkční řešení (autor ho používá na některých místech), avšak jistě ne ideální.
Klasické Unixové sdílení je zajišťováno démonem lpd, který nezajišťuje striktní bezpečnost, ale je nejrozšířenější. Lepší variantou je LPRng, který jej v mnoha ohledech předčí (konfigurace, zabezpečení, robusnost, účtování). V současné době je důležitější schopnost komunikace s okolními systémy MS Windows. V toto případě lze uplatnit program Samba, který dokáže kromě sdílení disků stejným způsobem nabízet i tiskárny. Vnitřní obsluha samotné fronty je obvykle zajišťována jedním z již zmíněných klasických Unixových démonů. Druhou hodně rozšířenou variantou je sdílení tiskáren v sítích Novell NetWare, což může zajišťovat také již zmíněný program Mars.
Kromě nabízení vlastních tiskáren ostatním klientům je potřeba v Linuxu umět využívat i tiskárny již v síti provozované. V případě tisku na tiskárny sdílené z MS Windows pomůže opět Samba a její podpůrné utility. V případě Novell NetWare jsou k dispozici nástroje z balíčku ncpfs (podrobnější informace naleznete na stránkách autora, viz. http://www.hylafax.org, pro klienty z MS Windows interaktivní program pro odesílání faxů WHFC a pro pohodlnou konfiguraci Khylafax z projektu KDE). Jiná možnost konfigurace je podrobně rozebrána v http://www.linux.cz/noviny/1998-07/clanek05.html. Faxový server se zde tváří jako PostScriptová tiskárna a pomocí zvláštního programu dodatečně od klienta zjišťuje faxové číslo, na které se má fax poslat.
K dispozici je v tomto případě až překvapivý počet dostupných implementací SQL serverů. V distribucích je k dispozici databázový server PostgreSQL a to hlavně z důvodu, že je šířen pod BSD licencí. Ostatní mají obvykle licenci restriktivnější. Druhým nejznámějším je MySQL, který je pro nekomerční použití zdarma stejně jako mSQL. Dále jsou k dispozici komerční servery Oracle, Informix, SyBase, Progress a připravuje se i volně šiřitelná InterBase od firmy Inprise/Borland.
Myšlenka grafického prostředí pochází z vývojových laboratoří Palo Alto Research Center (PARC) firmy Xerox. Již zde navrhli všechny základní prvky tohoto rozhraní, které bylo označováno jako WIMP (Window-Icon-Mouse-PullDown). Použili jako první techniky překrývajících se oken, znázornění objektů pomocí ikon, využití myši i techniku roletových a vyskakovacích menu. Rozhraní bylo použito ve vývojovém prostředí pro objektově orientovaný jazyk SmallTalk a v kancelářském systému pracovních stanic Xerox Star). Po jeho úspěchu si prakticky každá firma vytvořila vlastní GUI, čímž vznikla na trhu v druhé polovině 80. let značně nepřehledná situace. Ke konci 80. let došlo ke sdružování mezi výrobci a programátorskými firmami za účelem zajištění vyšší kompatibility a přenositelnosti aplikací mezi jednotlivými systémy.
Architektura systému X Window je založena na modulárním modelu klient-server. Klientem se rozumí aplikační program (tzv. X aplikace), který vysílá požadavky na otevírání a manipulaci s okny a na vykreslování textu i grafiky. Požadavky klienta přijímá server (tzv. X server), který je samostatný a obsluhuje výstupní (obrazovka) i vstupní (klávesnice, myš) zařízení (obrazovka, klávesnice, myš) a předává aplikaci zprávy o akcích uživatele. Pro vzájemnou komunikaci mezi klientem a serverem je k dispozici tzv. X protokol, který je možno přenášet i pomocí sítě, takže aplikace mohou být spuštěny na jiném počítači než na kterém jsou zobrazovány. Každý server může obsluhovat několik klientů (aplikací) a zároveň každý klient může využívat služeb více serverů. Díky této filozofii a modularitě implementace jsou X aplikace snadno přenositelné a vývoj serverů i aplikací je relativně snadný stejně jako jejich převod na různé platformy.
Správa oken zobrazovaných na X serveru je svěřena zvláštní aplikaci, kterou nazýváme správce oken (Window Manager) a který je obvykle automaticky spouštěn při startu X serveru. Součástí standardní distribuce systému X Window je Tab Window Manager (twm), který je obvykle nahrazen jiným dle výběru uživatele. Spolu s výměnou správce oken se snadno mění vzhled a způsob ovládání prostředí.
Vzhled prostředí lze měnit i výměnou tzv. témat (themes). Pomocí témat je umožněno měnit vzhled, barvu a provedení tlačítek, lišt a podobně. Ne všichni správci oken změnu témat podporují, avšak někteří mohou témata sdílet se svými blízkými "příbuznými".
Projekt XFree86 byl vždy zaměřen zejména na platformu Intel x86 (odkud také pochází číslo v názvu projektu), ale dnes je dostupný i pro jiné platformy (dokonce pro více než poskytuje TOG - 8 versus 2). Pro Linux je nejdůležitější, že může nadále využívat XFree86 jako základ pro své grafické prostředí a zároveň si zachovat kompatibilitu s ostatními implementacemi systému X Window.
Asi nejpopulárnějším produktem je StarOffice německé společnosti StarDivision (http://www.stardivision.com). Tento kancelářský balík byl primárně vytvořen pro platformu MS Windows, ale existují jeho verze (porty) i pro Solaris, OS/2 a Linux. Tuto společnost odkoupila v roce 1999 firma Sun (kvůli pokročilému portu systému do jazyku Java), která pak dovolila použití tohoto systému zcela zdarma (původně bylo možné jen pro osobní využívání). Jeho nejsilnější stránkou je poměrně dobrá spolupráce s dokumenty ve formátu MS Office a prakticky shodné ovládání. Proti hovoří snad jen vysoké nároky na výkon a velikost paměti počítače. Skládá se z několika programů (Writer, Calc, Impress, Draw, Schedule, Mail, Discussion, Base, Math, Chart a Image), které spolu mohou spolupracovat při vytváření nejrůznějších dokumentů, matematických vzorců, prezentací, grafů atd. Lokalizace je na minimální úrovni (prý se připravuje), pro správný chod češtiny je potřeba používat upravenou knihovnu (viz. výše). Neobsahuje český slovník pro kontrolu pravopisu, ovšem za cenu mírného nepohodlí se dá nahradit programem ispell.
Dalším vhodným produktem je komerční balík ApplixWare (http://www.applix.com/applixware/, cena pod 3000,- Kč), který má poměrně silné možnosti pro programování a celkově působí velmi propracovaným dojmem. Na rozdíl od předchozího produktu má Applix trochu neobvyklé ovládání.
Ve stádiu zrodu se nachází kancelářský balík KOffice (http://koffice.kde.org), který by mohl v budoucnu být velmi silným konkurentem s ohledem na úspěch mateřského projektu KDE a fakt, že bude jeho standardní součástí v nově připravované verzi KDE 2.0, která by měla být uvolněna na jaře roku 2000.
Některé pamětníky jistě potěší, že je k dispozici i Linuxová verze textového editoru WordPerfect (dnes majetek firmy Corel). Jeho největším nedostatkem je absence českého slovníku pro kontrolu pravopisu a problémy při používání češtiny. Pro osobní použití je zdarma.
Asi nejzajímavějším editorem je Ted (viz: http://www.nllgg.nl/Ted/). Umí používat slovník z ispellu pro kontrolu pravopisu, pracuje s formátem RTF, takže by neměl být problém u přenosu klasických dokumentů, nemá žádné problémy s češtinou ani při vstupu, ani při tisku. Proti hovoří jen jeho jednoduchost. Zvládá různé typy písem, formátování odstavců, vkládání obrázků a další základní funkce.
Z videopřehrávačů jsou to například: RealPlayer, xanim, MpegTV, smpeg. Všechny zmíněné jsou k dispozici zdarma. Další oblastí je zvuk. Pro přehrávání nejrůznějších formátů existuje mnoho programů: Xmms (dříve X11amp), mpeg123, FreeAmp a další. Pro manipulaci se zvukem zmíním Gmurf, GtkMod, MikMod, SoundTracker, Maube a VoodooTracker. Všechny jsou k dispozici zdarma. Zajímavý je i volně šiřitelný kodér do formátu MP3, který se jmenuje BladeEnc.
Z grafických programů je asi nejzajímavějším bitmapový editor obrázků Gimp, který se snadno vyrovná svým komerčním kolegům, jako je Adobe PhotoShop. Dále jmenujme např. CompuPic a XV, což jsou velmi pěkné nástroje na zobrazování obrázků, ovšem ani jeden není k dispozici úplně volně.