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: 

  • fierheid om eigen naam te zien verschijnen in software. 
  • idealisme en gemeenschapszin. 
  • noodzaak om probleem snel op te lossen, zonder afhankelijk te zijn van een leverancier.

 

Medewerking is gebaseerd op

  • betaling.
  • fierheid om met bepaald bedrijf of industrietak geassocieerd te worden.

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:

  • vermindering van de noden: "het wiel" moet niet telkens terug uitgevonden worden.
  • verbetering van het aanbod: studenten en scholieren die met open software in contact komen doen meer kennis op van computers en programma's dan hun collega's die enkel voorgekauwde icoontjes leren aanklikken.
  • vermindering van de "overhead'': er worden geen tijd en middelen verspild aan administratie (facturatie, licentie-gegevensbank, betwistingen voor rechtbanken, beheren van bedrijven, ...).

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...) 

E-mail 

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/.