Linux: eerste ontmoeting

Wat is linux? Het is moeilijk om in enkele zinnen de complexiteit van mee te geven. Het gaat immers niet enkel om computertechnologie. Linux is meer dan dat. Belangrijke fundamenten zijn immers ook de mensen die software schrijven, gemeenschappen van programmeurs, licentie en ja zelfs filosofie. Zonder notie van deze fundamenten kun je niet begrijpen hoe linux zich ontwikkelt en waarom bepaalde keuzes worden gemaakt. In dit hoofdstuk krijg je een overzicht van het ‘eco-systeem’ van linux.

Drie basisthema’s:

  • Licenties scheppen de voorwaarden, afspraken om tot GNU/linux te komen.
  • De software : programma’s en het besturingssysteem op zich.
  • De distributie als een kanaal om linux bij jou te brengen: installatie, onderhoud, updates, enz.

Vrije licentie

Het klinkt misschien gek om als eerste punt de licentie aan te halen. Nochthans heeft dit gelijkenissen met commerciële besturingssystemen als Microsoft Windows of Mac OSX. Vooraleer je aan de slag kunt gaan met een betalend OS, ben je altijd verplicht om akkoord te gaan met hun licentie. Als je deze weigert, wordt de installatie afgebroken. Voor commerciële producenten is deze licentie heel belangrijk? Licenties bepalen de verhoudingen tussen producenten en ‘consument’, gebruikersvoorwaarden, eigendoms- of huurrechten, garantie en in gebreke stelling, enz. Dit klinkt allemaal saai en vervelend maar komen pas echt op de voorgrond als één van de partijen zich benadeeld voelt en beslist om er een rechtzaak van te maken.

Linux bedient zich graag van een vrije licentie. Hiervan zijn er tientallen beschikbaar maar er is er één die in het oog springt: GPL.

GPL: free as in freedom

In de jaren tachtig was UNIX de voorganger van linux langzamerhand aan het commercialiseren. Een eens vrij besturingssysteem, ontwikkelt aan Amerikaanse universiteiten, werd ‘Big Business’. Naast het vragen van een prijs werd ook de programmeercode een bedrijfsgeheim.

Deze geslotenheid en commercialisering stootte Richard Stallman zozeer tegen de borst dat hij besloot actie te ondernemen. Hij richtte in 1984 de ‘Free Software Foundation’, de FSF op. Stallman stelde de GPL of General Public License op waaraan ‘free software’ dient te voldoen.

Vrije software kent vrijheden toe:

  • de vrijheid om het programma te gebruiken voor elk doel (vrijheid 0).
  • de vrijheid om de manier waarop het programma werkt te bestuderen, en om het aan te passen aan je behoeften. Beschikbaarheid van de broncode is hiervoor noodzakelijk (vrijheid 1).
  • de vrijheid om het programma te verspreiden, zodat je je naasten kan helpen (vrijheid 2).
  • de vrijheid om het programma te verbeteren en daarna te verspreiden, zodat de hele gemeenschap er voordeel uit kan halen. Hiervoor is beschikbaarheid van de broncode eveneens noodzakelijk (vrijheid 3).

Vrije software is dus -hoe vreemd het ook klinkt- per definitie software met een gebruikerslicentie. Om software vrij te houden heb je in de huidige samenleving nood aan een vrije licentie die je kan afdwingen in een rechtbank. Het essentiële verschil tussen de producten van de FSF en die van de commerciële bedrijven is nadrukkelijk niet dat de FSF-software per definitie gratis zou moeten zijn. In tegenstelling tot wat veel mensen denken wordt er over het verkopen van de software niets bepaald in de legale definitie van het ‘GNU copyleft’ (een parodie op copyright). Maar wel is iedereen verplicht om de broncode van de betreffende software altijd mee te leveren en geen beperkingen te leggen op de verdere verspreiding ervan. Het woord ‘free’ moet hier dan ook worden gezien zoals in de uitdrukking ‘free speech’, niet ‘free beer’. Om Richard Stallman zelf aan te halen: ‘Een programmeur mag best geld verdienen. Hij en zijn gezin moeten goed kunnen eten als ieder ander, maar hij hoeft dat niet elke dag in een driesterrenrestaurant te doen.’

Andere vrije licenties

GNU is niet de enige vrije licentie. Men schat dat meer dan 40 procent van vrije softwareprogramma’s (een versie van) GPL gebruikt. Hoewel de meest populaire zijn er nog tientallen andere. Een overzicht vind je op www.gnu.org .

  • LGPL is een iets ‘lichtere’ variant. Het stelt niet verplicht dat software waar LGPL-software in gebruikt wordt ook onder de LGPL-licentie wordt uitgebracht. Wel verplicht het wijzigingen in de LGPL-delen vrij te geven. LGPL was oorspronkelijk bedoeld voor library’s, omdat die bij uitstek door veel andere software gebruikt worden.
  • De BSD-licentie is heel eenvoudig. Het vereist dat je de naam van de auteur vermeldt als je de software gebruikt in een ander product. Alle vormen van gebruik en verspreiding zijn zonder meer toegestaan. De besturingssystemen FreeBSD en OpenBSD en de webserver Apache gebruiken deze licentie.
  • De MIT-licentie is vergelijkbaar aan BSD. Die vereist enkel dat een verklaring wordt opgenomen waarin alle aansprakelijkheid van de auteur voor schade, in welke vorm dan ook, wordt afgewezen.

Voor alle duidelijkheid: vrije software is - hoewel meestal gratis - niet gelijk aan freeware of shareware. Bij deze laatste wordt de broncode immers niet meegegeven, is het niet mogelijk om deze aan te passen.

Open Source: werkmethode

Bruce Peerens startte de term Open Source als een ‘praktische’ aanpak van Vrije Software. Gnu en vrije software is OK maar men moet ook in de praktijk kunnen werken met elkaar. Daarom stelt men meestal dat waar bij vrije software de klemtoon ligt op het morele karakter van software voor iedereen, wil open source vooral gewoon aan de slag gaan zonder daarom altijd naar de morele (of immorele) intenties van een medewerker te kijken. In de praktijk echter komen ze heel goed overeen.

Bruce Peerens stelt enkele voorwaarden aan Open Source software:

  • De licentie mag niemand verbieden de software gratis weg te geven óf te verkopen.
  • De broncode moet met de software meegeleverd worden of vrij beschikbaar zijn.
  • Wederverspreiding van afgeleide werken en aangepaste versies van de software moeten toegestaan zijn.
  • Licenties mogen vereisen dat aanpassingen alleen als patch verspreid worden.
  • De licentie mag niet discrimineren tegen gebruikers(groepen).
  • De licentie mag niet discrimineren tegen gebruiksomgeving van de software.
  • De rechten verbonden aan het programma moeten opgaan voor iedereen aan wie het programma gedistributeerd wordt.
  • De rechten verbonden aan het programma moeten niet afhangen van softwaredistributies waarvan de software een onderdeel is.
  • De licentie mag niet verlangen dat andere software die samen met de software verspreid wordt onder dezelfde licentie valt.
  • Geen van de bepalingen van de licentie mag slaan op een bepaalde technologie of interface-stijl.

Software

De licentie vormt de verbindende factor bij linux. Alle software hanteert immers één of andere vrije licentie. Zo biedt een distributie als Debian exclusief vrije software aan.

Een overzicht van vrije software op zowel Linux, Windows en Mac vind je hier: https://en.wikipedia.org/wiki/List_of_free_and_open-source_software_packages#IRC_Clients

Hoe software georganiseerd wordt in linux kun je het best omschrijven als een ‘eco-systeem’. Het vormt een los-vast geheel van individuen, groepen, bedrijven die samen met elkaar, tegen elkaar, opbouwend of afgesplitst software maken en aanbieden. Vergelijk het met een wilde tuin waarin spontaan bepaalde planten groeien: de één overvloedig aanwezig, de ander de schaduw afnemend, sommige projecten zijn ten dode opgeschreven en andere worden nieuw leven ingeblazen door een nieuwe groep. In het ecosysteem zijn er ook meerdere programma’s voor dezelfde functionaliteit voorhanden. Zo zijn er naast diverse mediaspelers ook diverse desktopomgevingen waaruit je vrij kunt kiezen. In linux is er echter maar 1 kernel.

Kernel

Ieder besturingssysteem beschikt over een kernel. De kernel zorgt voor de correcte werking van hardware, het verzorgt essentiële taken zoals geheugenmanagement, scheduling om taken te verdelen over de processortijd, en communicatie met de hardware via device drivers. Het is de bemiddelaar tussen hard- en software. De kernel is misschien wel het meest actieve deel in elke computer en toch kent de gemiddelde gebruiker er nauwelijks het bestaan van. In zijn oorspronkelijke betekenis en strikt gesproken is linux de naam van de kernel. Er is maar 1 linuxkernel die ontwikkeld wordt onder leiding van Linus Torvalds. Je kan de kernel altijd gratis downloaden van http://www.kernel.org. Gemiddeld komt er om de drie maand een nieuwe up-to-date kernel uit.

Interface: shell

Interface is de wijze waarop de communicatie tussen de pc en de gebruiker wordt opgezet. Dit was tot in 2010 het scherm, muis, en toetsenbord. Vanaf 2010 kwam er touch bij en werd er een omgeving opgezet waar het gemakkelijk was om met de vingers te bedienen. Met de shell gaan we eventjes terug in de tijd waarin er primair twee interface-elementen waren: scherm en toetsenbord. Deze interface is tot op vandaag in aanwezig als een uiterst krachtige manier om met de computer te interageren. Zo kun je mappen aanmaken, tekstdocumenten opstellen, je systeem configureren, enz. maar dit alles in een niet-grafische omgeving en met commando’s. De shell is een krachtige ‘interface’ die genoeg heeft aan toetsenbord en monitor om tot een interactie met de gebruiker te komen. Let echter op: sommigen verwarren een shell met linux. Maar uiteraard is dit niet gelijk aan elkaar. Om het nog wat moeilijker te maken: er is niet 1 maar er zijn meerdere van deze shells voorhanden. De meest gebruikte is genaamd Bash maar er is ook dash, tcsh, zsh, enz.

Interface: grafische omgevingen

Elk deftig besturingsysteem biedt vandaag een gebruiksvriendelijke interface aan. Met de muis aanwijzen, klikken en slepen, vensters maximaliseren en minimaliseren, iconen en taakbalk. Dat vindt iedereen evident. Commerciële besturingssystemen worden geleverd met 1 grafische desktopomgeving. Linux beschikt over meerdere desktopomgevingen. De meest bekende zijn: GNOME, KDE, XFCE4, Unity, MATE, enz. Deze namen hoor je regelmatig terugkomen op internetfora. Minder bekend zijn DE’s als Enlightenment, Openbox, FVWM, Trinity, ROX, enz. Je hebt lichtgewicht windowmanagers die enkel maar de plaatsing en de decoraties regelen van de vensters, knopjes, taakbalken, menu’tjes, pictogrammen op je desktop. Desktopomgevingen bieden heel wat meer aan: naast het plaatsen van venstertjes wil een DE een complete, all-round productieve omgeving aanbieden. Zo bieden GNOME en KDE ook een eigen emailprogramma, browser, officepakket, configuratietools, bestandsbeheerder, … aan. Alle grafische omgevingen die gepresenteerd worden, zijn te installeren op Debian.

GNOME

GNOME is een acroniem voor GNU Network Object Model Environment. Hey is uitgegroeid tot één van de meest populaire werkomgevingen voor linux. Het is de standaard-desktopomgeving van Debian en heel wat andere distributies.

GNOME is sedert versie 3, afgestapt van het typische bureaublad met taakbalk. In de plaats is een moderne interface gekomen die heel gemakkelijk met sneltoetsen en muis (in deze volgorde) als met touchscreen te bedienen is. GNOME heeft altijd gestaan voor een minimalistische interface die vlot te bedienen is en waar zoveel mogelijk overbodige menu’s worden verborgen. Je krijgt een strakke, intuïtieve interface met een unieke workflow.

GNOME is een volledig vrije omgeving. Niet enkel vrij te gebruiken maar ook vrij om zelf aan de slag te gaan met de broncode. GNOME omvat zowel een werkomgeving voor de eindgebruiker als diverse grafische bibliotheken en tools voor ontwikkelaars. Het wordt ondersteund door commerciële bedrijven als RedHat, enz.

GNOME is een desktopomgeving en kent dus een eigen ‘arsenaal’ aan programma’s. Een kleine greep uit de belangrijkste programma’s:

  • Web: webbrowser (kun je vervangen door Mozilla-Firefox of Google Chrome)
  • Evince: bekijken van PDF, PostScript, DVI en andere
  • Evolution: email, agenda, taken, adressen
  • Bestanden: bestandsbeheer (vroeger ook nautilus genoemd)
  • Video: mediaspeler voor diverse audio- en videoformaten
  • en verder is er ook standaard meegeleverd: Weer, teksteditor, kalender, afbeeldingsviewer, klok, map, muziekspeler, scanprogramma, partitioneringsprogramma, en natuurlijk ook diverse spelletjes.

KDE

Het KDE-team ontwerpt een vrije een gebruikersvriendelijke grafische desktop met een wijde variatie aan applicaties voor communicatie, werk, educatie, multimedia. KDE is gebaseerd op het ‘oude’ concept van desktopomgeving: bureaublad met taakbalk en startknop.

Net zoals bij GNOME kent ook KDE een ontwikkelplatform: QT. De Qt-bibliotheek (ontwikkeld door een commercieel bedrijf: Qt Group Plc) is de basis waarop KDE bouwt. Andersom wordt de ontwikkeling van Qt ook door KDE beïnvloed.

Cinnamon

Cinnamon is de standaard 3D-desktopomgeving voor de linuxdistributie Mint dat voor zijn onderliggende bibliotheken en programma’s een beroep doet op GNOME3. De interface is eerder klassiek te noemen: paneel, startknop, enz. Cinnamon / Mint is in een razendsnel tempo bezig om eigen applicaties te ontwikkelen. Daarvoor doet men vooral een beroep bij het bestaande programma’s. Wat opvalt is Nemo: bestandsbeheer gebaseerd op Bestanden van GNOME en diverse applets en desklets: diverse kleine programma’s met beperkte functionaliteit om de desktop-ervaring op te waarderen.

Xfce4

Xfce4 is een lichtgewicht desktopomgeving: ideaal voor de oudere of langzamere machines of machines met beperkte hoeveelheid geheugen. De configuratie wordt volledig met de muis bestuurd en de configuratiebestanden worden verborgen voor de gewone gebruiker. Xfce is ontworpen voor productiviteit. Het laadt programma’s snel en voert ze ook snel uit maar is toch conservatief in het gebruik van systeembronnen.

Xfce levert ook een ontwikkelingsplatform voor applicaties. Behalve Xfce zelf gebruiken er ook andere applicaties bibliotheek-functies van Xfce zoals Mousepad (tekst editor), xfmedia muziekspeler en een Terminal emulator.

LXDE

LXDE betekent letterlijk Lightweight X11 Desktop Environment. En deze belofte maakt het ook waar. LXDE is een echt minimalistische desktopomgeving die gebaseerd is op taakbalk en startknop en het functioneert met een ongelooflijke snelheid. LXDE wordt om die redenen dan vaak ook ingezet op oudere of minder krachtige pc’s.

Mate

Mate is de tweelingbroer van Cinnamon. Het is ontstaan in 2011 na frustratie over het verdwijnen van GNOME2 met zijn traditionele taakbalk. Dit houdt in: zowel een bovenbalk en onderbalk, applicatiemenu in de linkeronderhoek. Mate komt met eigen applicaties die gebaseerd zijn op de GNOME-programma’s: caja (bestandsbeheer); atril (pdf-viewer), enz. .

…en nog meer

Je hebt nog enkele andere desktopomgevingen die je - met wat extra werk - ook op Debian kan installeren: budgie-desktop, deepin , enlightenment, enz.

Windowmanagers zijn er ook in overvloed: Openbox, fluxbox, twm, enz. zijn maar enkele. Maar pas op: het enige wat deze omgevingen doen is het plaatsen van vensters: verwacht geen extra software als een bestandsbeheerder of zelfs maar een taakbalk of startknop. Magisch woord is rechtermuisklik op het bureaublad.

Distributies

Wat is een distributie?

Linux krijg je meestal op je pc door middel van een distributie. Een distributie bestaat uit een linuxkernel, een hoop toepassingssoftware, en installatie- en configuratietools. Het verschil tussen de distributies zit hem vooral in

  • het installatie-programma
  • in de configuratieprogramma’s
  • in de selectie van meegeleverde programma’s
  • in de doelgroep die de distro voor ogen houdt
  • de doelstellingen die men nastreeft.

Er zijn talloze distributie-makers actief, zodat je als newbie het gevaar loopt het Linux-bos door de distributie-bomen niet meer te zien. Maar geen nood: met de summiere uitleg hieronder ben je al een heel eind op weg om de voor jou meest geschikte distributie te proberen.

Hoewel de software op distributies open en gratis is, is het niet verboden om geld te verdienen met het aanmaken en verdelen van distributies, het maken van (grafische) ‘package management tools,’ of het verlenen van ondersteuning aan gebruikers. Er bestaan dus zowel commerciële distributies als ‘open’ of beter community-based distributies. Wij sommen er slechts enkele op. Voor uitleg bij de meer dan honderd distro’s: http://www.distrowatch.com

Honderden distributies

Commerciële distributies

Deze bieden de mogelijkheid om onderhoudscontracten af te sluiten, van een eenvoudige telefonische helpdesk tot en met dag-en-nacht garantie. Zij hebben ook vertegenwoordigers in zowat alle geïndustrialiseerde landen.

  • Suse (https://www.suse.com) SuSE LINUX is (vooral in Europa) een zeer populaire distro van Duitse origine. Suse business is de betalende versie die zich specialiseert in servers en desktops. Door zijn partnerships met grote bedrijven als IBM, HP, Intel, Cisco, Dell, Fujitu, SAP heeft het continu kunnen groeien.
  • RedHat (http://www.redhat.com): Red Hat is een beursgenoteerd bedrijf dat een omzet maakt van meer dan 1 miljard dollar op jaarbasis. Red Hat specialiseert zich in servers met bijhorende desktop-clients. Het kent een mooie interface om de servers te configureren. De desktop is eerder zakelijk ingericht. Red Hat was er reeds vanaf de beginjaren van linux en kent een traditie van het financieren / ondersteunen van vele opensource projecten.

Open of community based distributies

Deze worden volledig door vrijwilligers gerund. Al deze distributies zijn gratis van het internet te halen (is 100 procent legaal) en mogen op meerdere PC’s geïnstalleerd worden.

  • Debian (http://www.debian.org): Debian is zowat de oudste van de community-based distributies. Het kent een wereldwijde, actieve gemeenschap van programmeurs die de distributie continu up-to-date en stabiel houdt. Op deze distributie zijn letterlijk honderden andere distro’s gebaseerd omwille van de kwaliteit, degelijkheid en zijn strak vasthouden aan de GNU-licentie. De bekendste zijn Ubuntu, SteamOS, Raspbian, tails, Kali Linux. Deze distro is volledig gratis en je vindt stapels ondersteuning op het internet!
  • Slackware (http://www.slackware.com): Deze distro is meer bedoeld voor de hardcore Linuxgebruiker. Je vindt niet onmiddellijk iets wat eigen is aan Slackware, maar je krijgt wel een zeer zuivere distro in handen. Je zult wel zelf nog heel wat moeten configureren en dit zonder grafische configuratietools. De installatie verloopt nog voor een groot stuk tekstgebaseerd (via de commandoregel). Begin niet aan Slackware als je niet bereid bent op eigen houtje op zoek te gaan naar informatie en bij te leren. Laat je ook niet teveel afschrikken: Slackware is een heel goede distro; wanneer je wat Linuxervaring hebt, kan het best eens leuk zijn om ermee te experimenteren!
  • Mint (http://linuxmint.com): Mint biedt de stabiliteit en degelijkheid van Debian met een mooi afgewerkte interface. Het komt bovendien standaard met volledige multimedia-ondersteuning: diverse browserplugins, media codecs, moglijkheid tot het films afspelen vanaf DVD’s, java en andere onderdelen. De distributie ontwikkelt twee eigen desktopomgevingen: cinnamon en mate, als ook enkele specifieke configuratieprogramma’s.
  • Arch (https://www.archlinux.org/): Arch Linux is vooral gericht op gevorderde gebruikers. Arch wil het vooral heel simpel houden om software te installeren. Daarvoor heeft het ook een eigen software-installatiesysteem: ‘pacman’ waar het continu de laatste versie van programma’s mee installeert. Arch staat ook bekend om zijn uitstekende documentatie: archwiki .

Open met commerciële sponsoring of ontwikkelversie

  • Ubuntu (http://www.ubuntu.com): Ubuntu was ooit gebaseerd op Debian, maar met meer up-to-date pakketten. Sedert 2010 begint Ubuntu meer af te wijken: niet enkel van Debian maar ook van grote projecten als GNOME. Ubuntu wordt gesponsord door het Afrikaanse bedrijf Canonical Software, opgericht door ondernemer en multimiljonair Mark Shuttleworth. Er komt elke 6 maanden een nieuwe versie uit maar slechts om de twee jaar een stabiele versie. Ubuntu richt zich op de desktop, server, cloud, smartphone, tablet en televisie.
  • Fedora (http://fedora.redhat.com): Toen Red Hat in 2003 besloot om zich volledig te richten op de zakelijke markt ontwikkelde ze de desktopversie niet actief verder uit. De ontwikkeling van de variant voor thuisgebruikers werd verplaatst naar de gemeenschap. Fedora werd geboren. Fedora heeft buiten zijn directe functie als desktopdistributie ook nog een andere belangrijke functie: met het Fedoraproject hoopt Red Hat een grote gebruikersgroep te creëren die actief meeontwikkelt aan Fedora. Red Hat helpt, zeker in het begin, nog hard mee aan de ontwikkeling, maar naarmate de tijd verstrijkt moet de gemeenschap zich steeds meer zelf ontwikkelen. Red Hat neemt hiervan alle goede ontwikkelingen over in haar serversoftware. Ook gepatenteerde software is standaard niet opgenomen in Fedora Core. Denk daarbij aan: het afspelen van MP3-bestanden, geen 3d-acceleratie bij ATI- en NVidia-videokaarten.
  • Opensuse (http://www.opensuse.org): Opensuse is net als fedora een ontwikkelversie van een commerciële distributie (in dit geval Suse Enterprise). Opensuse is volledig gratis.

Ook heel interessant

De lijst kan blijven doorgaan. Wat je zeker ook eens kan uitproberen:

  • Elementary OS: Ga je voor mooi en elegantie dan kan Elementary echt iets voor jou zijn. Het heeft een eigen ontwikkelde grafische omgeving en iconen met aandacht voor schoonheid en gebruiksgemak.
  • CentOS: Is een unieke distributie omdat het de commerciële linuxdistributie RedHat van de grond af compileert en je dus een vrije (lees gratis) versie van RedHat aanbiedt.

Welke distributie kiezen?

Er zijn naast gebruiksgemak nog andere parameters mogelijk om een distributie te kiezen: stabiliteit, bleeding-edge software, veiligheid, doelgroep, hoeveelheid software, veiligheid, enz.

Veel beginners vragen zich af welke distributie ze moeten gebruiken. Het antwoord is deels een kwestie van persoonlijke smaak. Van de genoemde distributies zijn Fedora Core, SuSE en Ubuntu het meest geschikt om mee te beginnen. De installatie is eenvoudig en er wordt voor gezorgd dat alles meteen werkt. Bij andere distributies moet je vaak nog het een en ander zelf doen, wat vooral voor de beginnende gebruiker een struikelblok kan zijn.

Waar je niet op moet letten bij het uitkiezen van een distributie is het versienummer. Om nieuwer te lijken, gebruiken sommige makers van distributies een hoger versienummer. Zoals je kunt verwachten doen alleen commerciële dat. Waar je beter aan kunt zien hoe nieuw een distributie is, zijn de versienummers van de software die erbij zit, zoals de kernel en KDE/GNOME. Dat is ook precies wat DistroWatch doet.

Inhoudsopgave

Vorig onderwerp

Waarom het boek kopen?

Volgend onderwerp

Installeer Debian