[EToS] [informatie] [scholen] [software] [cursussen] [links] [termen]


Educatieve Toepassingen van Open Software

Algemene informatie


Open is Open is Open...of toch niet?

Inleiding

Meer en meer software leveranciers plakken het etiket "Open" op (de marketing-folders van) hun software. De bedoeling is duidelijk: men beseft dat de consumenten kritischer en veeleisender aan het worden zijn, en nog zelden een software-pakket als een op zichzelf staand geheel beschouwen; ze willen informatie uitwisselen tussen verschillende programma's en liefst op een pijnloze, automatische manier; ze willen zeker zijn dat ze ook in de toekomst zullen kunnen gebruik maken van hun bestanden van vandaag; ze willen steeds vaker het "web" gebruiken als interface naar en van hun programma's. Het woordje "Open" is de marketing-term die deze uitwisselbaarheid moet benadrukken. Je ziet "open" vaak ook verschijnen tesamen met het begrip "standaard". Dit laatste suggereert dat het programma zijn gegevens kan lezen of schrijven in een bestandsformaat dat ook door een hoop andere programma's (van dezelfde of van andere leveranciers) kan worden gelezen én geschreven. "Interoperabiliteit" is het jargon dat zowel de eigenschappen "Open" als "Standaard" bevat. Een derde term die steeds vaker onder de noemer "interoperabiliteit" valt is "integratie": vanuit programma A kan je gebruik maken van programma B, zonder je ook maar iets te moeten aantrekken van hoe A en B met elkaar samenwerken.

Deze tekst gaat dieper in op de verschillende, niet-compatibele betekenissen die aan de begrippen open, standaard en integratie worden gegeven door verschillende leveranciers. De bedoeling is om inzicht te verschaffen in deze bij wijlen Babylonische spraakverwarring, met de hoop om onaangename verrassingen te kunnen voorkomen wanneer je zal moeten kiezen welke software-pakketten je in een groter geheel wil laten samenwerken.

Elektronische leeromgevingen zijn een relevant voorbeeld van zo'n groot, uit verschillende componenten samen te stellen geheel; deze tekst gebruikt het voorbeeld van een leeromgeving voor natuurkunde-onderwijs om de algemene beschrijving meer concreet toe te lichten.

Zulke leeromgevingen hebben bovendien een belangrijke extra dimensie: de gebruikers bevinden zich op verschillende geografische locaties, gebruiken computers, besturingssystemen en rand-apparaten van verschillend types en fabrikanten, die daarenboven allemaal nog kunnen (en zullen!) wijzigen over de periode van de verwachte levensduur van de leeromgeving. Dat betekent dat je aandacht moet besteden aan de porteerbaarheid van de software.

Als gebruiker moet je echter niet alleen op de hoogte zijn van al de technische aspecten van software-systemen, maar heb je best ook een goed zicht op de juridische kant van de zaak. Met andere woorden, je moet weten welke rechten en plichten verbonden zijn aan de licenties waaronder software-pakketten beschikbaar zijn.

De tekst besluit met een overzicht van de fundamentele verschillen tussen klassieke commerciële ("gesloten", "proprietary") software aan de ene kant, en de recente golf van Open Source software aan de andere kant. Deze laatste is, bijna per definitie, op alle gebieden beter gewapend om de meest duurzame en flexibele oplossingen aan te bieden op alle gebieden van openheid, standaardisatie, interoperabiliteit, integratie en porteerbaarheid.

Doorheen de hele tekst wordt Microsoft aan de kaak gesteld als voorbeeld van consument-onvriendelijke en technisch inferieure software-producent. Dit heeft minder te maken met de inherente technische kwaliteiten van de Microsoft-producten op zich (vele andere commerciële en niet-commerciële producenten leveren geen betere kwaliteit!), maar wel met de de facto voorbeeld-functie die het bedrijf uitoefent als monopolie-speler op de onderwijs-markt van de ICT. Hoge bomen vangen nu eenmaal meer wind...

Open software

De eerste betekenis van "open" is de technische, waar gelukkig geen ondubbelzinnigheid over bestaat. Een programma is open als het je als gebruiker toelaat om de functionaliteit van het programma uit te breiden met bijdragen die je zelf programmeert. Deze uitbreidingen kunnen velerlei vormen aannemen:

Open standaarden

De tweede betekenis van open betreft de "sociale" aspecten van software: in welke mate is een programma in staat om te communiceren met andere programma's? Zoals bij communicatie tussen mensen heb je ook bij de communicatie tussen programma's nood aan een gemeenschappelijke "taal" die beide programma's verstaan. Indien de syntax en de semantiek van die taal ontwikkeld en gedocumenteerd zijn in gemeenschappelijk overleg tussen verschillende onafhankelijke partijen, dan spreekt men van een "standaard".

De kern van de standaarden-zaak is natuurlijk hoeveel partijen aan de standaard meewerken, en hoe onafhankelijk de standaarden-organisatie is van de willekeur van de software-producenten! Er bestaat een heel spectrum van standaarden, met elk erg verschillende doelen en bruikbaarheid:

Gesloten producenten-standaard

Iedere software-producent heeft één of meerdere talen waarmee hij gegevens uitwisselt tussen de verschillende programma's uit zijn eigen stal. De meeste commerciële producenten doen het graag voorkomen alsof hun taal een standaard is. Maar dit soort "standaarden" voldoet zelden aan de minimale vereisten om echt een standaard te zijn: die ene producent heeft de volledige controle over de taal, wijzigt ze naar eigen goeddunken, en geeft slechts zoveel documentatie vrij als hij zelf wil.

Het best gekende voorbeeld zijn natuurlijk de "standaarden" uit de Microsoft-stal, bijvoorbeeld de bestandsformaten van Word of Excel. De overgrote meerderheid van de gebruikers trapt in de val die Microsoft hen al jaren spant, en gelooft ook echt dat deze formaten standaarden zijn. Het bedrijf heeft in het verleden echter reeds ten overvloede bewezen dat het die formaten enkel en alleen gebruikt om de klanten aan zich te binden: ze zijn niet gedocumenteerd zodat andere bedrijven slechts met veel inspanningen concurrerende producten kunnen ontwikkelen; ze wijzigen om de paar jaar, opnieuw enkel om concurrentie te bemoeilijken; zelfs verschillende versies van de eigen Microsoft-programma's zijn niet onderling compatibel.

Open producenten-standaard

In de software-wereld doet zich vaak hetzelfde fenomeen voor als in andere economische sectoren: één bepaald bedrijf heeft op een gegeven ogenblik een technologische en/of innovatieve voorsprong. Één van de manieren om die voorsprong om te zetten in economisch marktleiderschap is om software en bestandsformaten voor het product gratis ter beschikking te stellen voor iedereen. De idee is namelijk dat consumenten vanzelf je producten gaan kopen als je het hen zeer gemakkelijk maakt om die producten te gebruiken. En in de software-wereld betekent "gemakkelijk gebruiken" (ondermeer) dat de API van een product (software en/of hardware) perfect gedocumenteerd en (zo goed als) gratis beschikbaar is.

Dit soort "standaard" voldoet strikt genomen niet aan alle vereisten van een echte standaard (er is namelijk geen overleg tussen verschillende partijen) maar, afhankelijk van de handelspraktijken van de producent, zijn er toch een hoop van dergelijke initiatieven uitgegroeid tot de facto standaarden waartegen weinig of geen bezwaren komen uit de hoek van de consument of de concurrent. Belangrijke voorbeelden zijn: de PostScript en PDF standaarden van Adobe op het gebied van printer-software; de programeertalen C van Bell Labs en Java van Sun; de grafische OpenGL taal van SGI; het GIF-formaat voor afbeeldingen; de RSA encryptie; enzovoort.

Open consortium-standaard

Dit zijn de echte standaarden, omdat ze in overleg tussen alle betrokken partijen worden opgesteld. Voorbeelden hiervan zijn: zowat alle Internet-protocols (TCP/IP, HTML, XML, ...); de C++ programmeertaal; het LDAP-protocol voor "directory services"; de JPEG, MPEG en SVG beeld-formaten; het CORBA-protocol voor gedistribueerde software componenten; de POSIX API voor Unix systemen; enzovoort.

Het voordeel van consortium-standaarden is natuurlijk het feit dat er consensus over bereikt is na gezamenlijk overleg. Er zijn echter ook nadelen: zelden is echt iedereen bij het opstellen van een standaard betrokken; er zijn vrij veel standaarden-organisaties, die vaak niet-compatibele zaken ontwikkelen (ANSI, ISO, W3C, IEEE, OMG, IETF, ...); en hoe groter en bureaucratischer het consortium, hoe trager de besluitvorming, wat in de snelle ICT-wereld zelden een voordeel is.

Het anti-competitief misbruik van gesloten producenten-"standaarden" is typisch voor marktleiders in alle software-sectoren: Microsoft is reeds genoemd (én veroordeeld!); IBM is hen voorgegaan twee decennia geleden; AutoDesk gebruikt het in de CAD-wereld; Netscape heeft het gedaan toen het nog de belangrijkste producent van Internet-browsers was; Intel doet hetzelfde met zijn micro-processoren; enzovoort. De enige remedie hiertegen moet van de gebruikers zelf komen: je moet eisen dat de software die je koopt volledig werkt met echte standaarden. Gebruikers in de software-wereld stellen zich echter om velerlei redenen veel minder als kritische consumenten op dan in andere sectoren: als software-consument vinden ze het blijkbaar normaal dat programma's van producent A niet compatibel zijn met die van producent B, maar als ze hun hardware kopen (computers, interface-kaarten, harde schijven, camera's, floppy disks, scanners, printers, ...) dan verwachten ze plots wel dat producten van verschillende leveranciers feilloos met elkaar samenwerken!

Integratie

Integratie is één van de recente grote marketing-slogans van software producenten: ze spiegelen hun klanten ongezien gebruiksgemak voor door te zeggen dat ze slechts één programma (of liever, gebruikers-interface) moeten leren om toegang te hebben tot het hele software-gamma van de producent. Die zorgt er zogezegd wel voor dat al zijn programma's geïntegreerd zijn, en dus(?) naadloos met elkaar samenwerken. Op zich is dit natuurlijk een na te streven doel, maar ook hier heeft de medaille een voor de gebruiker erg nadelige keerzijde. Integratie van software gebeurt via de hogervermelde gemeenschappelijke bestandsformaten en communicatie-protocols. En als deze uitwisseling berust op niet-open standaarden dan betekent toenemende integratie voor de producent niets minder dan een steeds toenemende greep op de gebruikers. (Dit fenomeen staat bekend onder de naam user lock-in.) Het best bekende voorbeeld is het Office-pakket van Microsoft: technisch kan het laten samenwerken van tekstverwerking, spreadsheet, gegevensbank en dergelijke perfect gebeuren met open standaarden, die het mogelijk zouden maken dat je de verschillende componenten aankoopt bij verschillende leveranciers. Maar Microsoft maakt dit onmogelijk, ten koste van zowel de consument als van de technische vooruitgang.

Naast het commerciële aspect van integratie is er ook een technisch aspect: toenemende integratie betekent toenemende complexiteit, en dus: toenemende kans op falende systemen; toenemende druk om krachtigere computers aan te kopen; toenemende kans dat je componenten koopt die je niet nodig hebt; toenemende kans op grote catastrofes door virussen; toenemende problemen om van leverancier te veranderen; toenemend aantal icoontjes op je grafische interface; toenemende belasting van de onderhouds-verantwoordelijke; enzovoort.

Als kritische software gebruiker doe je er best aan om het oude adagio "verdeel en heers" in het achterhoofd te houden: complexiteit bestrijdt je vaak best niet door integratie maar door ontkoppeling en modularisatie! Dit raakt de technische kern van de zaak ("software engineering") als het over computer-besturingssystemen gaat: Microsoft Windows heeft de weg van de absolute integratie gekozen (omwille van user lock-in) met onstabiele, onveilige en "zware" software als gevolg, terwijl alle andere besturingssystemen (Unix, AS400, VMS, Linux, ...) gekozen hebben om een groot aantal, met elkaar samenwerkende modules aan te bieden, wat het veel gemakkelijker maakt om componenten afzonderlijk aan te passen, veilig te houden en te optimaliseren. Microsoft wordt (ten onrechte trouwens) door de grote massa van gewone gebruikers beschouwd als baanbreker op het gebied van gebruiksvriendelijke software; als je als verantwoordelijke van een eleltronische leeromgeving echter probeert om je product open, porteerbaar en gestandardiseerd te houden merk je al snel dat dit helemaal niet op een gebruiksvriendelijke manier kan met de Microsoft-"oplossingen"...

Licenties

Als verantwoordelijke voor een elektronische leeromgeving ben je natuurlijk niet alleen geïnteresseerd in de technische functionaliteit van de software die je wenst te gebruiken; de kostprijs is ook belangrijk. Commerciële producenten willen natuurlijk zoveel mogelijk geld slaan uit hun programma's en leggen de gebruiker dan ook een aantal restricties op, die beschreven staan in de licentie die bij de software komt. Bijvoorbeeld: je mag een gekocht programma enkel op een vooraf afgesproken aantal computers gebruiken; je mag je licentie niet doorverkopen of verhuren; je mag de software niet op een netwerk ter beschikking stellen; enzovoort. Weinig gebruikers beseffen dat ze eigenlijk geen software kopen, maar enkel en alleen een in de tijd beperkt gebruiksrecht! Ook hier verschilt de software-praktijk erg van wat we gewoon zijn voor andere consumenten-producten: eenmaal je betaald hebt voor een "gewoon" product ben je volledige eigenaar en kan je het ding desgewenst voortverkopen aan anderen. Niet zo met software! De meesten onder ons hebben reeds verschillende malen opnieuw betaald voor het gebruik van hun Windows of Office producten, namelijk bij aankoop van elk van je opeenvolgende computers. Terwijl je eigenlijk enkel voor die nieuwe computer denkt te betalen en strikt genomen geen nood hebt aan een nieuwe versie van Word of Windows maar die enkel neemt omdat je geen keuze hebt of praktisch verplicht bent (of liever, denkt te zijn) om compatibel te blijven met je klanten en/of gebruikers! Kritischer optreden als consument is ook hier de enige remedie.

Of toch niet? Als gewoon ICT-consument merk je er nog niet erg veel van als je je computer-winkel binnenstapt, maar er bestaan wel degelijk ontzettend veel alternatieven voor je Microsoft PC! Voor grote professionele toepassingen is dat al jaren het geval, en sinds ongeveer 1998 bieden de Open Source pakketten ook voor de gewone gebruiker aantrekkelijke en uitgebreide oplossingen. Niet alleen op technisch gebied, maar zeker en vast ook op gebied van licenties. Daar waar commercië licenties de consument zo weinig mogelijk rechten geven, zorgen de Open Source licenties juist voor het tegenovergestelde: de consument heeft alle rechten! (Behalve het recht om ander consumenten hun rechten op de software te ontzeggen!) Op het eerste gezicht lijkt dit een rare manier om licenties te gebruiken, maar in feite zit er een ingenieus idee achter, voor het eerst gebruikt door Richard Stallmann van de Free Software Foundation: software is zowat overal ter wereld juridisch beschermd door het auteursrecht, automatisch en zonder kosten. Makers van Open Source software gebruiken dit juridisch recht om de vrije verspreiding van hun software te garanderen. Er bestaan tientallen verschillende Open Source licenties, die hier en daar van elkaar verschillen (zie www.opensource.org en www.fsf.org voor meer details), maar de algemene idee is als volgt. De software is niet alleen als uitvoerbaar programma beschikbaar, maar ook in broncode-vorm. Dit betekent dat je kan zien hoe de software geschreven is, en er zelf aan kan wijzigen wat je wil. Zolang je je wijzigingen zelf ook terug ter beschikking stelt van anderen. De licenties verbieden je om het anders te doen. Op het eerste (en het tweede zicht) lijkt dit een juridisch spitsvondige manier om te garanderen dat niemand een monopolie-positie over de software kan krijgen, maar er is tot op heden nog geen rechtzaak gevoerd die de theorie achter deze licenties heeft getoetst aan de juridische praktijk...

De twee belangrijkste families van licenties zijn degene gebaseerd op de GPL (GNU Public License) aan de ene kant, en die van de BSD (Berkeley Software Development) familie aan de andere kant. De GPL familie laat niet toe dat je de software gebruikt als basis of component om je eigen systeem op te bouwen in de vorm van een gesloten commerciëel product; de BSD familie heeft daar geen problemen mee.

Als verantwoordelijke ontwerper van een elektronische leeromgeving heb je niet enkel als gebruiker te maken met het naleven van licenties, maar ook als leverancier. De kans is namelijk erg groot dat je wenst inhoud aan het bestaande pakket toe te voegen, en tools of drivers ontwikkelt die voor jouw specifieke doeleinden nodig zijn. Vanaf dan kom je willens nillens zelf in de schoenen van de "software-producent" te staan: als auteur van het nieuwe materiaal bepaal jij immers wat het "copyright" ervan zal zijn, en welke licentie je eraan zal verbinden. Hopelijk is je leeromgeving voldoende interessant zodat ook je gebruikers zich gaan wagen aan uitbreidingen; en in een educatieve omgeving gaat er niets boven het onbelemmerd delen van deze informatie... Open Source licenties bieden hier de perfecte oplossing.

Porteerbaarheid

Stel dat je een nieuwe richting wil opgaan met je elektronische leeromgeving, en de huidige op tekst- en beeld-materiaal gebaseerde inhoud ook ter beschikking wil stellen van blinden en slechtzienden, of toegankelijk wil maken via GSM-toestellen. Deze uitbreidingen vereisen heel andere apparatuur en software dan de klassiek PC in de computerklas!

De inspanningen om de "port" te realiseren zijn sterk afhankelijk van: de bestandsformaten waarin je inhoud beschikbaar is; de ontwerp-beslissingen die in de huidige versie genomen werden met het oog op porteerbaarheid; de toegang die je tot de huidige informatie hebt; de mate waarin je Internet-standaarden hebt gevolgd.

Het hoeft weinig betoog dat een leeromgeving gebouwd op standaard-getrouwe Open Source componenten heel wat minder problemen zal stellen dan een andere die enkel uit Word-documenten, Excel-grafieken en avi-filmpjes bestaat... Verlies niet uit het oog dat zowat alle Open Source software beschikbaar is op alle denkbare computer-platformen (van handhelds tot mainframes); Windows en familie enkel en alleen op Intel-gebaseerde PCs...

Open Source vs. gesloten software

De tabel verderop in deze tekst geeft een overzicht van de fundamentele verschillen tussen Open Source software en commerciële software. De basis van de piramide van beschikbare programma's (in welk domein dan ook) zal hoe langer hoe meer ingenomen worden door open programmatuur: aangezien hiervoor een grote massa geinteresseerde ontwikkelaars beschikbaar is, kan geen enkel commercië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 opsporen en 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 en van alle baanbrekende experimentele systemen die in universiteiten en onderzoekslabo's ontwikkeld worden (zoals bijvoorbeeld het Internet of email!), terwijl de Open wereld zich inspireert op goede commerciële voorbeelden. Op die manier worden de commerciële ontwikkelaars voortdurend aangespoord om beter te doen.

De technische verschillen tussen Open en Gesloten software zijn niet belangrijk op lange termijn: beide werelden groeien op veel gebieden naar elkaar toe, omdat ze (ieder op zijn manier) evolueren op basis van dezelfde technologieën. De huidige "heilige oorlogen" zijn dus waarschijnlijk niet meer dan een overgangsverschijnsel, op weg naar een volwassen software-markt, waar zowel Open als commerciële software hun plaats hebben. 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 tesamen wel resulteren in een enorm verschillende filosofie. In een notendop: "Maximalisatie van het nut voor de gemeenschap" vs. "Maximalisatie van de winst 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 -gebruiker"s (bedrijf, individu, school, leerkracht, overheid, ...) moeten voor zichzelf uitmaken in welk deel van het spectrum ze (willen) thuishoren, en zelfs voor éénzelfde producent of gebruiker kan deze beslissing verschillen van project tot project.

Tenslotte toch nog deze belangrijke overpeinzingen:

Eenzelfde evolutie is zich nu aan het afspelen op software-gebied: software heeft meer gelijkenissen met kennis en wetenschap dan met producten. (Hoezeer software-bedrijven ook hun best doen om het u anders voor te schotelen.) Het gemakkelijkste is dit in te zien door te beseffen dat het delen van software/kennis/wetenschap er toe leidt dat de totale hoeveelheid die ervan ter beschikking is voor idereen toeneemt, en niet afneemt, zoals bij materiële producten. Dit wil zeggen dat we de directe verliezen aan inkomsten bij de productie van commerciële software die (eventueel) geleden zouden worden door de opgang van Open Software, niet moeten dramatiseren, en integendeel moeten beschouwen als een investering die op korte tijd zal zorgen voor een enorme toename aan toegevoegde waarde op andere terreinen (efficiëtie-verhoging, energie-afname, verhoging van kwaliteitsbewaking, toename aan leer- en ontspanningsmogelijkheden, enz.).

Ganesh Prasad geeft een korte (Engelstalige) economische studie rond de economische aspecten van Open Source software.


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 en niemand zich graag belachelijk maakt. Dus: tijdsdruk en financiële factoren zorgen ervoor dat de ontwikkelaar zich inspant om werkende software te schrijven. Goede software schrijven komt (vaak noodgedwongen) op de tweede plaats, aangezien toch niemand de haken en de ogen in de software kan zien.
Het ontbreekt wel eens aan een coherente lange-termijn visie. Het ontbreekt wel eens aan luisterbereidheid naar de echte wensen van de gebruikers.
Behoefte aan grote hoeveelheid geinteresseerde vrijwilligers. (Hoewel sinds ongeveer 1998 er een massa professionele Open Software ontwikkelaars zijn bijgekomen, tewerkgesteld in allerhande ICT firma's.) Behoefte aan voldoende kapitaal om betaalde programmeurs aan te trekken.
Resultaats-verbintenissen bestaan niet. Resultaats-verbintenissen bestaan wel.
Creativiteits-beperkingen bestaan niet.
Goede ideeën worden niet afgeschermd en duur gemaakt door patenten.
Creativiteits-beperkingen bestaan wel.
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.
  • noodzaak van bedrijf om een ICT probleem op te lossen dat niet cruciaal is voor de competitieve bedrijfs-knowhow.
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, tesamen met een sub-optimale kwaliteit.
Doel is de vrije verspreiding van kwaliteitssoftware die voldoet aan de noden van de gebruikers (en niet meer!). 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 herbruikt worden in andere projecten. Innovatie werkt splitsend: een nieuwe ontwikkeling door een software bedrijf 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 produkten 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."
Dit leidt tot meer keuzevrijheid voor de consument.
Het voortbestaan van projecten hangt af van hun commerciëel sukses, niet in de eerste plaats van hun technische kwaliteiten.
Weinig afhankelijk van computer hardware en beheerssysteem software. Zeer afhankelijk van computer hardware en beheerssysteem software.
Legt nadruk op modulariteit van software.
Voordeel: kleinere programma's, beter beheersbare complexiteit, gemakkelijker te herbruiken in andere projecten.
Nadeel: gebruiker moet zelf connecties tussen programma's kennen.
Legt nadruk op integratie van software.
Voordeel: gebruiker werkt maar met één programma (of familie van samenwerkende programma's).
Nadeel: veel meer onderhevig aan storingen, omwille van hogere complexiteit; kreë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).
Software heeft geen eigenaar.
Aangenaam gevolg: niemand kan de software "uit roulatie" nemen, of afschermen met licenties en patenten.
Onaangenaam gevolg: wie doe je een gerechtszaak aan als je software het laat afweten?
Software is exclusieve eigendom van een bedrijf of persoon.
Geeft de gebruiker veel meer keuzevrijheid.
Aangenaam gevolg: monopolies zijn onmogelijk.
Onaangenaam gevolg: de gebruiker weet niet altijd goed wat kiezen.
Wil de gebruiker vasthouden aan één leverancier.
Onaangenaam gevolg: monopolies zijn niet ondenkbaar.
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 door gebruikers, 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 adminstratie (facturatie, licentie-gegevensbank, betwistingen voor rechtbanken, oprichten van bedrijven, ...).
Vergroot het tekort aan ICT-specialisten, omdat alles in volstrekte geheimhouding gebeurt, en overdracht van broncode naar andere bedrijven quasi onbestaande is.
Installatie van een open besturingssysteem is meestal moeilijk, omdat er zich reeds een commerciëel besturingssysteem op de computer bevindt.
Installatie van open toepassingsprogrammatuur is meestal makkelijk, door de geavanceerde installatie-tools, door de onmiddellijke beschikbaarheid via het Internet, en door het ontbreken van alle beslommeringen met licenties.
Installatie van besturingssysteem is irrelevant, want meestal bijgeleverd met computer.
Installatie van toepassingsprogrammatuur wordt vertraagd door licenties en levertermijnen.
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 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 (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 beschikbaar, 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: zelfs indien u zelf niet van plan bent om software te gaan schrijven, bent u immers nog altijd een "klan"t die zijn consumentenstem kan laten horen op een heleboel verschillende manieren.
Tips Hier staan enkele tips voor een efficiënte elektronische communicatie, door rekening te houden met het consistent gebruik van bestandsformaten die op alle computer-platformen bruikbaar zijn.
Scholen Breng de problematiek van commerciële software ter sprake in de lokale scholen.
Breng de leerkrachten in kontakt met open software.
Durf de discussie aan. (Verwijs naar deze webstek als uw argumentatie niet aanvaard wordt ;-)
Gebruik Open Source software, en spendeer de hiermee uitgespaarde fondsen van het PC/KD-project aan de aanschaf van betere apparatuur (computers, netwerk, boeken, ...).
Stap naar een lokale Linux User Group om assistentie te vragen bij technische problemen.
Gemeenten Hier geldt ongeveer hetzelfde als voor scholen. Contacteer uw bibliotheek, uw cultureel centrum, uw conservatorium, uw jeugdbewegingen, ..., en breng hen op de hoogte van de mogelijkheden van open software.
Licht uw lokale politici in over het feit dat u van hen verwacht dat ze de goedkoopste en meest open informatica-oplossing kiezen voor uw gemeente (natuurlijk onder de voorwaarde van vergelijkbare technische kwaliteit).
Bedrijven Indien er keuze bestaat tussen open en commerciële alternatieven, kies dan voor het open alternatief: dit is altijd beter aanpasbaar aan de eigen noden van het bedrijf.
Indien uw bedrijf zelf software ontwikkelt, als ondersteuning voor de eigenlijke kern-produkten, maak die ondersteunende software dan open: bij uw klanten zitten steeds verdienstelijke programmeurs die uw software zullen verbeteren. (En als zij het niet doen, dan misschien wel hun dochters of zonen-studenten!) Zulke openheid heeft ongetwijfeld een positieve impact op uw imago bij uw klanten, en verlaagt de drempel tot het gebruik van de (commerci&eiml;le) diensten die u als de kern-activiteit van uw bedrijf aanbiedt.

Bekijk als bedrijfsleider eens de code van de programma's die uw programmeurs maken. Typisch staan die vol "magic numbers": niet-gedocumenteerde constanten of formules, die enkel verstaanbaar en aanpasbaar zijn door diegene die ze zelf heeft geschreven (en onder tijdsdruk niet heeft gedocumenteerd, of op een deftige wijze gecodeerd). Na enkele weken of maanden weet zelfs de auteur niet meer wat de eigenlijke betekenis is van die magic numbers... Zulke "tijdsbommen" komen veel minder voor in Open Software programma's, om de eenvoudige reden dat daar programmeurs er zeker van kunnen zijn dat anderen hun code gaan willen lezen en uitbreiden.

Standaarden Reageer op het misbruik van niet-open standaarden, door de gebruikers ervan op het probleem te wijzen. Typische voorbeelden zijn: Word-documenten in emails, merk-specifieke tags in web-pagina's, teksten enkel beschikbaar in het basisformaat van een gesloten tekstverwerker, ...

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...)
Uw surfsnelheid neemt spectaculair toe als u uw web-bladeraar zo instelt dat hij beelden niet onmiddellijk oplaadt. U zal dan ook merken welke web-pagina's slecht ontworpen zijn, omdat ze efficient navigeren onmogelijk maken. (Schoolwebsites zijn typische, zware zondaars: veel prentjes, veel toeters en bellen, maar weinig inhoud...)
Email 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 wachttijden op het Internet. Kijk ook eens naar hoe het niet moet op het Net.
Software

Vermijd het gebruik van geïntegreerde pakketten: (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 een zekere complexiteit bereikt (boek, thesis, groot rapport, ...) loopt het gegarandeerd mis: complexiteit is enkel te overwinnen door te modulariseren, niet door te integreren.

Bovendien gebruiken de meeste software-leveranciers de integratie in de eerste plaats om hun gebruikers vast te houden in de specifieke, niet-open bestandsformaten vande software, en niet om het hun gebruikers zo makkelijk mogelijk te maken!

Heeft u bijvoorbeeld ook al eens geprobeerd uw teksten of cursussen op één enkel floppietje mee te nemen? Ikzelf heb (als LaTeX-gebruiker) nooit meer nodig gehad dan één of twee floppietjes van 1.4Mb om mijn volledige doctoraatstekst met me mee te nemen; mijn Word-collega's hebben nood aan ZIP-drives van 100Mb...

Netiquette Internet-gebruiken is communiceren met mensen. Wees hoffelijk!

[EToS] [informatie] [scholen] [software] [cursussen] [links] [termen]

Herman Bruyninckx, Copyleft 1999-2003.
Laatste wijziging: 28 augustus 2003