Linux en Open Software
Herman Bruyninckx
Departement Werktuigkunde, K.U.Leuven
http://www.mech.kuleuven.ac.be/~bruyninc
Deze tekst heeft als bedoeling om de verschillende achtergronden te belichten van enerzijds de commerciële software-ontwikkeling à la Microsoft en anderzijds de Open Source ontwikkeling à la Linux. Deze laatste aanpak heeft een enorm potentieel voor het onderwijs. Maar door de bijna volledige dominantie van Microsoft in het Vlaamse onderwijs, gekoppeld aan enorme marketing-fondsen, en de relatieve onbekendheid van de doorsnee leerkracht met de ICT-wereld, is er van dit potentieel nog er weinig gebruik gemaakt.
In de beschikbare plaats kunnen we slechts een tipje van de sluier oplichten, en dus beperk ik mij tot algemene, niet-technische vergelijkingen tussen open en gesloten software. Deze tekst is een aanmoediging voor alle kritische geïnteresseerden om Linux en Open Source software te leren ontdekken en toe te passen in het dagelijkse ICT-gebruik in de klas.
De tabel verder in dit artikel geeft een overzicht van de fundamentele verschillen tussen "Open Source" programmatuur en commerciële programmatuur. "Open Source" is de verzamelnaam voor alle software die niet alleen gratis af te halen is van het Internet, maar waarvan ook de volledige broncode beschikbaar is. Iedereen kan deze software gebruiken en/of aanpassen, zonder gehinderd te worden door de restrictieve licenties, zoals die in de commerciële software-ontwikkeling de norm zijn.
De recente spectaculaire opkomst en verspreiding van "Open Source" software - met het besturingssysteem Linux als het meest bekende voorbeeld - heeft duidelijk gemaakt dat de "basis-programmatuur" in alle ICT-sectoren hoe langer hoe meer ingenomen zal worden door open programmatuur: aangezien hiervoor een grote massa geïnteresseerde ontwikkelaars beschikbaar is, kan geen enkel conmerciëel bedrijf op tegen de kwaliteit van de ontwikkeling van de programmatuur, de snelheid van de ondersteuning, de directe contacten met de gebruikers, en het verbeteren van "bugs". En zeker niet tegen de prijs. Daarnaast zullen gespecialiseerde bedrijven instaan voor programmatuur die enkel voor een klein aantal bedrijven nuttig is of die dure investeringen vergt. Open en commerciële ontwikkelingen stimuleren elkaar in positieve zin: commerciële bedrijven kunnen nuttig gebruik maken van alles wat in de Open wereld voorhanden is, terwijl de Open wereld zich inspireert op goede commerciële voorbeelden.
Een nodige voorwaarde opdat dit optimistische scenario kan werken is dat beide partijen hun best doen om zoveel mogelijk open standaarden te gebruiken en te respecteren: enkel op deze wijze kunnen programma's hergebruikt worden en draaien op verschillende hardware. Dit moet als muziek in de oren klinken van al wie met onderwijs begaan is.
Maar tegelijkertijd is dit echter precies wat Microsoft als dominante speler niet wil bereiken; het resultaat is dan ook een tragere vooruitgang van de informatica, veel verloren werk, en massa's verspilde budgetten.
De technische verschillen tussen Open en Gesloten software zijn niet belangrijk op lange termijn: beide werelden groeien naar elkaar toe, omdat ze (ieder op zijn manier) evolueren volgens vrijwel dezelfde (technische!) software-idealen. De huidige "heilige oorlogen" zijn dus waarschijnlijk niet meer dan een overgangsverschijnsel, op weg naar een volwassen software-markt. Gelijkaardige evoluties hebben zich voorgedaan in heel wat andere wereldwijde consumenten-markten: auto's, audio en video, camera's, ...
Wat is dan wel het fundamentele verschil? Onderstaande tabel geeft een lijst van kleine en minder kleine verschillen, die alle tezamen wel resulteren in een enorm verschillende filosofie: "Alles voor de gemeenschap" vs. "Alles voor de (aandeelhouders van de) software-bedrijven." Zoals altijd ligt er een heel spectrum van mogelijkheden en feitelijkheden tussen beide uitersten in. Alle "software-producenten" en "software-gebruikers" (bedrijf, individu, school, leerkracht, overheid, ...) moeten voor zichzelf uitmaken in welk deel van het spectrum ze (willen) thuishoren. En zelfs voor eenzelfde producent of gebruiker kan deze beslissing verschillen van project tot project.
Open Software |
Commerciële software |
Ontwikkeling gebeurt "open en bloot'' via Internet |
Ontwikkeling gebeurt in strikte geheimhouding. |
Dus: ontwikkelaars doen hun uiterste best om goede
software te schrijven, aangezien iedereen hun code kan lezen. |
Dus: tijdsdruk en financiële factoren zorgen ervoor dat de ontwikkelaar zich inspant om werkende software te schrijven. Goede software schrijven komt op de tweede plaats, aangezien toch niemand de haken en de ogen in de software kan zien. Bovendien kan je goede software maar één keer verkopen, terwijl je van slechte software met de regelmaat van de klok de gebruikers nieuwe updates kan opdringen.
|
Behoefte aan grote hoeveelheid geïnteresseerde
vrijwilligers. |
Behoefte aan voldoende kapitaal om betaalde programmeurs
aan te trekken. |
Resultaats-verbintenissen bestaan niet |
Resultaats-verbintenissen bestaan wel |
Creativiteits-beperkingen bestaan niet |
Creativiteits-beperkingen bestaan wel |
Goede ideeën worden niet afgeschermd en duur gemaakt door patenten.
|
Verspreiding van innovatie wordt beperkt door patenten en
kostprijs van de producten. |
Medewerking is gebaseerd op:
|
Medewerking is gebaseerd op
|
Een belangrijk deel van de ontwikkeling gebeurt (of start) aan universiteiten. Op deze manier krijgt de maatschappij een "return" op de investeringen in onderwijs.
|
Er is een tekort aan ICT-geschoolden. Maar velen doen
hetzelfde werk in verschillende bedrijven, wat neerkomt op een enorme
verspilling van schaarse middelen, tezamen met een sub-optimale kwaliteit. |
Doel is de vrije verspreiding van kwaliteitssoftware.
|
Doel is winst- en/of marktaandeel-maximalisatie. |
Innovatie werkt unificerend: een nieuwe ontwikkeling kan zonder problemen overgenomen worden in andere programma's. Projecten van mindere kwaliteit verliezen hun aanhang, en verdwijnen in een meedogenloze "survival of the fittest" race. Alle goede elementen in zo'n uitstervend project kunnen echter zonder problemen hergebruikt worden in andere projecten. Dit leidt tot meer keuzevrijheid voor de consument.
|
Innovatie werkt splitsend: een nieuwe ontwikkeling door een
softwarebedrijf is een aansporing voor dit bedrijf om af te wijken van wat
andere bedrijven aanbieden, met het oog op korte termijn winst. Concurrenten
met minder goede producten doen vaak hun uiterste best om toch te overleven,
met verspilling van geld en middelen als gevolg. |
Verschillende goede projecten kunnen naast elkaar blijven bestaan, zelfs al bieden ze vrijwel dezelfde functionaliteit aan: het voortbestaan is immers enkel afhankelijk van de beschikbaarheid van voldoende vrijwilligers-mankracht, niet van voldoende "verkoop."
|
Het voortbestaan van projecten hangt af van hun
commercieel succes, niet in de eerste plaats van hun technische kwaliteiten. |
Minder afhankelijk van computer hardware en beheerssysteem software.
|
Meer afhankelijk van computerhardware en beheerssysteem
software. |
Legt nadruk op modulariteit van software.
|
Legt nadruk op integratie van software. |
Voordeel: kleinere programma's, beter beheersbare complexiteit, gemakkelijker te hergebruiken in andere projecten.
|
Voordeel: gebruiker werkt maar met één programma (of
familie van samenwerkende programma's). |
Nadeel: gebruiker moet zelf connecties tussen programma's kennen.
|
Nadeel: veel meer onderhevig aan storingen, omwille van
hogerecomplexiteit; creëert gebruikers "lock-in" (dit wil zeggen:
de gebruiker kan minder gemakkelijk overstappen op een concurrerend product
van één van de componenten van het geïntegreerde pakket). |
Geeft de gebruiker veel meer keuzevrijheid.
|
Wil de gebruiker vasthouden aan één leverancier. |
Aangenaam gevolg: monopolies zijn onmogelijk.
|
Onaangenaam gevolg: monopolies zijn niet ondenkbaar. |
Onaangenaam gevolg: de gebruiker weet niet altijd goed wat kiezen.
|
Aangenaam gevolg: de twijfelende gebruiker hoeft niet zelf
te kiezen. |
Gebruikt open standaarden. |
Probeert gesloten standaarden op te leggen. Dit zijn per definitie geen standaarden, aangezien ze door één enkel bedrijf bepaald (en veranderd!) worden.
|
Stimuleert ontwikkelingen vanuit de basis (Bijv. educatieve software gemaakt door leraars en leerlingen.)
|
Bemoeilijkt uitbreidingen doorgebruikers, want dit
verkleint de mogelijkheid om die uitbreidingen te verkopen. |
Stimuleert maatschappij-zin: de persoonlijke verrijking van het individu (d.w.z., voldoening over de gepresteerde bijdragen) draagt bij tot het "nut van het algemeen."
|
Stimuleert persoonlijke verrijking met economische
motieven. |
Verantwoording wordt enkel afgelegd aan de gebruikers.
|
Verantwoording wordt enkel afgelegd aan de aandeelhouders. |
Open Educatieve software van hoge kwaliteit bestaat nog (zo goed als) niet, omdat de hoofd-leveranciers hiervan (leerkrachten) nog onvoldoende deelnemen aan de Open Software activiteiten.
|
Educatieve software bestaat wel, maar blijft gesloten, en
dus niet-aanpasbaar aan lokale noden. |
Vermindert het tekort aan ICT-specialisten door:
|
Vergroot het tekort aan ICT-specialisten, omdat alles
involstrekte geheimhouding gebeurt, en overdracht van broncode naar andere
bedrijven quasi onbestaande is. |
Installatie van open besturingssysteem is meestal moeilijk, omdat er zich reeds een commercieel besturingssysteem op de computer bevindt. Installatie van open toepassingsprogrammatuur is meestal makkelijk, door de geavanceerde installatie-tools en door het ontbreken van alle beslommeringen met licenties.
|
Installatie van besturingssysteem is irrelevant, want
meestal bijgeleverd met computer. Installatie van toepassingsprogrammatuur
wordt bemoeilijkt door licenties. |
Verhoogt de veiligheid van computersystemen, omdat iedereen de gebruikte beveiligingen kan bestuderen en verbeteren, en omdat oplossingen voor problemen onmiddellijk beschikbaar zijn van zodra ze bestaan.
|
Belemmert verbeteringen aan de beveiliging, omdat de
gebruikte methodes niet aan de kritiek van iedere mogelijke specialist worden
blootgesteld. Bovendien moet men wachten tot de leverancier een nieuwe versie
van zijn software beschikbaar stelt. |
Bekendmaken van nieuwe ontwikkelingen beschikbaar, (toepassingsprogramma's, "bugs," ...) gebeurt via Internet, en heeft relatief weinig visibiliteit voor de gewone gebruiker. Kritiek op bestaande projecten wordt in alle openbaarheid geuit, wat de indruk kan wekken dat er veel problemen en conflicten zijn.
|
Reusachtige marketingbudgetten zijn om eenzijdig positieve
informatie te verspreiden. Tegenstrijdige opinies worden onderdrukt. |
It's
fun! |
It's
business! |
Acties
U kan als individu een zeer grote invloed uitoefenen op de evolutie van zowel open als commerciële software.
Scholen
Gemeenten
Bedrijven
Gebruik zelf altijd open standaarden. Gesloten standaarden kosten u altijd meer op lange termijn en u heeft geen enkele impact op verbeteringen en/of aanpassingen.
Webpagina's
Vermijd files op het Internet en overlaad uw pagina's niet met (niet-standaard) toeters en bellen of met beelden. ("Eén beeld is duizend woorden" is spijtig genoeg maar al te waar op het Internet...).
Bezoekers van uw webstek komen terug voor de inhoud, niet voor de opmaak. Scholen zijn meestal de eersten om dit te vergeten...
Uw surfsnelheid neemt enorm toe als u uw web-bladeraar zo instelt dat hij beelden niet onmiddellijk oplaadt, maar pas als u daar expliciet om vraagt. (U zal dan ook merken welke web-pagina's slecht ontworpen zijn, omdat ze efficiënt navigeren onmogelijk maken...)
Gebruik enkel gewone tekst indien u niet meer dan gewone tekst wil doorsturen.
Versturen van HTML of Word-documenten getuigt van weinig respect voor uw correspondent en verergert nog de files op het Internet. Kijk ook eens naar http://www.mech.kuleuven.ac.be/~bruyninc/linux/html-netiquette.html om te leren hoe het niet moet op het Net.
Software
Verwijs geïnteresseerden zo snel mogelijk naar algemene en onafhankelijke informatie-bronnen, zoals http://linux.iguana.be/nl of http://www.nl.linux.org, of de nieuwsgroep be.comp.os.linux.
Vermijd het gebruik van geïntegreerde pakketten wanneer u maar enigszins kan. (Geïntegreerde pakketten laten u toe om de resultaten van hun verschillende onderdelen in elkaar te gebruiken; voorbeelden zijn de "Office" pakketten van verschillende leveranciers.) Aanvankelijk lijkt het een voordeel om geen "externe" bestanden of formaten te moeten gebruiken, maar van het ogenblik dat uw document of project een zekere complexiteit bereikt (boek, thesis, groot rapport, ...) loopt het gegarandeerd mis: complexiteit is enkel te overwinnen door te modulariseren, niet door te centraliseren. Heeft u bijvoorbeeld ook al eens geprobeerd uw teksten op een floppietje mee te nemen? Ikzelf heb (als LaTeX-gebruiker) nooit meer nodig gehad dan één of twee floppietjes van 1.4Mb om mijn hele doctoraat op te zetten; mijn Word-collega's hebben nood aan ZIP-drives van 100Mb...
Netiquette
Internet-gebruiken is communiceren met mensen. Wees hoffelijk, http://www.cistron.nl/cistron/netiquette/.