Reacties graag per e-mail naar wijnen@tomaatnet.nl

Waarom vrije software en vrije formaten beter zijn voor de wereld


Op deze pagina staan een aantal artikelen ter overtuiging van mijn standpunten, toegespitst op computers. Een deel van de argumenten is ethisch en gaat over het verbeteren van de wereld, een deel ook is praktisch en gaat over de persoonlijke voordelen van bepaalde keuzes (en in mindere mate over wereldverbetering).

Wat er aan de wereld verbeterd moet worden

De wereld verbeteren klinkt altijd goed en natuurlijk is er meer in de wereld te verbeteren dan alleen de software. Software is toevallig mijn specialiteit, dus daar schrijf ik artikelen over. Wat hier staat is natuurlijk wel de moeite van het verbeteren waard.

Vrije software

Toen computers werden uitgevonden, kwam ook het begrip ‘programmeren’ ter sprake: het maken van een programma, dat door dit nieuw uitgevonden apparaat moest worden uitgevoerd. Al snel bleek het handig om programma's te schrijven in een aparte taal, die dan door de computer vertaald kan worden. Het resultaat hiervan is dan de zogenaamde executable, dat overal kan worden uitgevoerd. Programma's werden in eerste instantie vrij verspreid onder de wetenschappers die zich met het vakgebied bezighielden. Zoals dat in de wetenschap gebruikelijk is, kon iedereen de tot dan toe bereikte zaken gebruiken en/of verbeteren, zodat snel geïnnoveerd werd.

Een paar jaar later echter, toen computers commercieel verkocht gingen worden (in eerste instantie aan bedrijven, later ook aan huishoudens), kwamen er ook bedrijven die programma's gingen schrijven. De bekendste van deze bedrijven is Microsoft. Om extra veel geld te kunnen verdienen, bedachten de bedrijven een vreemde constructie: programma's worden niet verkocht, maar in licentie uitgegeven. De eigenaar (het bedrijf dus) mag in dat geval namelijk alle voorwaarden stellen die het wil, de gebruiker kan immers ook kiezen de licentie niet aan te nemen. De belangrijkste voorwaarde die gesteld wordt is het kopieerverbod.

Omdat de broncode van het programma niet nodig is voor het uitvoeren, kan volstaan worden met het verkopen van de executable. Hierdoor is het mogelijk om een programma te verkopen, zonder dat de koper onderdelen kan kopieren, omdat dat alleen (makkelijk) kan met de broncode. Bijkomend nadeel voor de koper hierbij is dat deze het programma niet kan (laten) aanpassen aan zijn/haar persoonlijke wensen. De enige die nog verbeteringen op het programma kan aanbrengen is de verkoper. Omdat in een dergelijk systeem geen onderdelen van programma's kunnen worden hergebruikt door programmeurs van buiten het bedrijf, is zo'n kopieerverbod absoluut dodelijk voor innovatie.

Wat nog erger is: de meeste bedrijven gebruiken zogenaamde lock-in technieken, oftewel zij zorgen ervoor dat iemand die een produkt van hen heeft, niet gemakkelijk kan overstappen op een concurrerend produkt. Dit kan bijvoorbeeld worden gedaan door bestandsformaten ingewikkeld en geheim te houden (zie hieronder voor een uitgebreidere discussie). Daardoor is het op een concurrerend systeem niet mogelijk de oude bestanden te gebruiken. Dank zij deze situatie hoeven deze bedrijven zelfs hun eigen produkten niet meer significant te innoveren. De gebruikers zullen immers toch niet op een nieuw en beter concurrerend product overstappen, te meer nog omdat ze dan niet meer met ‘achterblijvers’ kunnen communiceren.

Deze gang van zaken staat niet iedereen aan. Er is een groep mensen die er wat aan probeert te doen. Deze mensen, vooral hobbyisten, maken zogenaamde vrije software (de term free software in het engels wordt veel gebruikt en uitgelegd: free as in free speech, not as in free beer).

Om juridische redenen wordt deze software meestal ook onder licentie uitgegeven, maar de gebruikte licentie geeft elke gebruiker de vrijheid het produkt te gebruiken waarvoor hij/zij maar wil en om het te kopiëren, wijzigen en verspreiden. De enige voorwaarde die vaak gesteld wordt is dat degenen aan wie het programma wordt verkocht/gegeven dezelfde rechten moet hebben als de verkoper/gever. Deze beperking is nodig om te zorgen dat de gebruikers inderdaad hun vrijheid houden.

Omdat vrije software altijd de broncode meegeeft, kunnen hier geen lock-in technieken worden gebruikt (bovendien willen de makers dat ook niet). Lock-in technieken kunnen namelijk alleen worden toegepast, als het formaat geheim blijft. Bij vrije software is het formaat uit de broncode af te lezen.

De meeste vrije software is behalve vrij ook gratis verkrijgbaar, bijvoorbeeld via het internet. Hierdoor is het aanzienlijk flexibeler dan niet vrije software, zoals hieronder wordt uitgelegd.

Als meer mensen vrije software gebruiken, zal er ook weer meer geïnnoveerd worden. Computers zullen daar bruikbaarder en betrouwbaarder van worden. Niet vrije software werkt de vrije software, en dus de innovatie, vaak tegen, omdat veel bedrijven, met name Microsoft, met alle middelen (niet alleen legale) proberen vrije software tegen te houden, omdat het een zeer grote bedreiging is van hun inkomen. Mogelijk schrijf ik hierover later nog een artikel op deze pagina.

Vrije formaten

Op een computer is alle informatie weergegeven in getallen. Om deze getallen om te zetten in begrijpelijke informatie en om ingetikte informatie om te zetten in getallen is een code nodig. Zo'n code heet een bestandsformaat. Het is vergelijkbaar met een onbekende taal, waarvoor je een tolk of een woordenboek nodig hebt om het te kunnen begrijpen en om te zorgen dat anderen jou begrijpen.

Als iemand zo'n taal bedenkt, kan hij/zij daar verschillende dingen mee doen. Bedrijven zoals Microsoft houden het woordenboek in een kluis en schrijven een programma (een tolk) waarmee je de taal kan lezen en schrijven. Iedereen die iets met die taal wil doen, moet dat programma van ze kopen, en accoord gaan met de gestelde voorwaarden.

Het kan ook anders: vrije formaten publiceren het woordenboek en stellen geen substantiële voorwaarden aan het gebruik ervan. Een voorbeeld hiervan is Adobe PDF. De enige restrictie die Adobe stelt, is dat alleen zij extensies mogen maken. Het is dus niet toegestaan iets te maken wat grotendeels PDF is, met wat eigen toevoegingen. Dit is gedaan om te zorgen dat het formaat duidelijk gedefinieerd blijft. Deze restrictie weerhoudt niemand er echter van om een programma te schrijven waarmee PDF gelezen en geschreven kan worden.

Bestandsformaten worden met twee bedoelingen gebruikt. Om bestanden te bewaren en later terug te halen, en om te versturen naar anderen. Voor het bewaren is het niet bezwaarlijk om een niet vrij formaat te gebruiken (als je dat zelf prettig vind). Om het op te sturen aan anderen echter wel. Wanneer mensen mij een Microsoft Word document sturen, vragen ze mij impliciet (en meestal onbedoeld): Wil je Microsoft Windows en Microsoft Word kopen en de licentie accepteren? Uit het bovenstaande valt te begrijpen dat mijn antwoord `nee' is. Maar veel gebruikers hebben de houding: Dat moet dan maar.

En wat erger is, ze nemen aan dat het blijkbaar normaal is om Microsoft Word aan mensen te sturen, zonder te vragen of zij dat programma wel hebben. Daardoor wordt de druk op de mensen die het niet willen hebben groter om het toch maar te kopen. Daarmee wordt het marktaandeel van het betreffende bedrijf (in dit geval het monopolie van Microsoft) vergroot. Dat betekent dat bovendien de vrije software eronder lijdt in de vorm van een kleiner marktaandeel. Zoals op deze pagina te lezen valt, is dat slecht voor de innovatie van computersoftware in het algemeen.

Meer direct praktische argumenten

Speciaal voor de mensen die de wereld niet (alleen) willen verbeteren, maar er ook direct zelf wat aan willen hebben, zet ik hier de voordelen van vrije software en/of vrije formaten in die categorie op een rijtje. Ik probeer de belangrijkste te noemen, mogelijk mis ik er een paar. Als je nog suggesties hebt, hoor ik dat graag.

Vrije software

Betere kwaliteit

Vrije software wordt geschreven door hobbyisten. De broncode is beschikbaar voor verandering, maar ook om gewoon in te kijken. Er is een vrij grote groep gebruikers die dat ook inderdaad doet. Als er grote fouten in staan, schaadt dat de naam van de programmeur. In de cultuur van vrije software programmeurs is naam erg belangrijk. De programmeur zal er daarom alles aan doen zijn eer hoog te houden. Bovendien zullen gebruikers zelf fouten repareren en verbeteringen maken als de programmeur dat naar hun zin niet snel genoeg doet, zodat de software snel beter wordt.

Betere service

Bij grote programma's zal de programmeur zelf vaak niet beschikbaar zijn om vragen aan te stellen. Andere mensen moeten die taak op zich nemen (helpdesks bijvoorbeeld). Deze mensen weten bij niet vrije software niet hoe het programma zelf in elkaar zit. Daardoor zullen ze in veel gevallen geen adequate hulp kunnen bieden. Bij vrije software kunnen de mensen van de helpdesk de broncode erbij pakken als ze iets niet direct snappen. Dit resulteert in betere service.

Maar er is nog meer: op internet bestaan zogenaamde chatrooms, plaatsen waar een groep mensen met elkaar praat, speciaal voor het beantwoorden van vragen. Vragen worden daar meestal beantwoordt door programmeurs, die ook alle technische details kennen en je zullen wijzen op uitzonderingen. Er is vrijwel geen probleem waar zij niet uit komen.

Veiliger

Vrije software wordt (onder andere) gebruikt door programmeurs. Als er veiligheidsproblemen in de software zitten, zodat het bijvoorbeeld voor buitenstaanders mogelijk is om op je computer in te breken, zullen zij dat een probleem vinden. Zij zullen dit dan ook onmiddellijk repareren. Dit in tegenstelling tot bedrijven die niet vrije software verkopen. Daarvan moet je maar hopen, dat zij het probleem ook belangrijk vinden. Een voorbeeld: door een fout zat er een veiligheidsprobleem in Konqueror (een vrije browser) en in Microsoft Internet explorer. De fout in Konqueror was 90 minuten na de melding gerepareerd. Bij dit schrijven, zo'n 2 weken later, is van enige inspanningen van Microsoft nog geen bericht (en het gat zit er dus nog in, samen met vele andere).

Flexibeler 1

Wanneer een gebruiker niet tevreden is over een niet vrij programma, omdat er een fout in zit, of omdat de gebruiker graag iets wil verbeteren (voor zijn/haar toepassing), moet hij/zij dat melden aan het bedrijf en hopen dat het bedrijf er wat mee doet. Meestal is dat niet het geval, zeker als het gaat om een specifieke verandering voor één gebruiker.

Bij vrije software ligt dat heel anders. Als de programmeur in dat geval geen zin heeft de verandering te maken, kan de gebruiker dit zelf doen als hij dat kan, of anders iemand inhuren om het voor hem te doen (iets wat vooral voor bedrijven aantrekkelijk zal zijn). Een voorbeeld: toen een paar jaar geleden een fout werd ontdekt in de beveiliging van een computer van een internetaanbieder (een gewild doelwit van aanvallers), meldde deze dit aan de programmeur. Die zei dat hij er wel wat aan ging doen, maar dat het niet binnen een week klaar zou zijn. Hoewel een week voor niet vrije software bijzonder snel is, vond de internetaanbieder het niet snel genoeg. Zij huurden daarom een eigen programmeur in die het probleem in enkele uren oploste. Het is niet onwaarschijnlijk, dat het bedrijf anders grote schadeposten gehad zou hebben.

Flexibeler 2

Vrije software mag worden verspreid aan anderen. Met dat doel zijn zogenaamde distributies opgezet. Deze bieden een systeem aan wat de computer voorziet van alle software die nodig is. Behalve in de winkel (op CD-ROM), zijn deze ook te downloaden via internet. Een computer met internetverbinding kan daarvan met een enkel commando (of een paar klikken met de muis, afhankelijk van je instellingen en voorkeuren) een nieuw stuk software installeren. De gebruiker hoeft er niet voor naar de winkel en er hoeven geen ingewikkelde toeren uitgehaald te worden. Had u bij installatie niet bedacht dat u een fotobewerkingsprogramma wilde, maar lijkt het u nu toch wel handig? Na vijf minuten downloaden is het programma klaar voor gebruik.

Vrije formaten

Licentienadelen

De licenties van niet vrije software zijn zelden prettig om te accepteren. Het is ook niet altijd makkelijk om te weten waar je mee accoord gaat. Een aantal voorbeelden:

Vriendelijker

Niet vrije formaten kunnen alleen worden gelezen met programma's van de eigenaar van het formaat. Door gegevens in deze formaten naar anderen te sturen, vraag je de ontvanger dus om ook een van die programma's te gebruiken. Omdat deze programma's allemaal van hetzelfde bedrijf zijn, hebben ze over het algemeen een vrijwel gelijke licentie. Deze licentie wordt dus opgedrongen aan de ontvanger van het bestand. Bij vrije formaten ligt dat anders: Er is over het algemeen keus uit allerlei programma's. Zelfs als geen van deze programma's de ontvanger bevalt, kan hij/zij altijd nog een eigen programma (laten) schrijven. Dit zal echter zelden het geval zijn, omdat er vrijwel altijd vrije programma's zijn (dus zonder vervelende licentievoorwaarden) die vrije formaten kunnen lezen en schrijven. Het is daarom vriendelijker om vrije formaten te gebruiken in communicatie.

Enkele specifieke voorbeelden

Microsoft Office documenten (Word, Excel, Powerpoint) zijn (zoals in bovenstaande voorbeelden uitgelegd wordt) niet gewoon onvrij, maar gebruik ervan versterkt het monopolie van Microsoft. Dit gaat verdere innovaties sterk tegen (sterker nog dan in andere gevallen) en is dus ten zeerste af te raden. PDF kan zeer goed zowel Word als Powerpoint vervangen.

GIF is een goed gedocumenteerd formaat voor plaatjes, maar het is gepatenteerd. De patenthouders zijn onduidelijk in hun eisen, zodat het voor programmeurs onverstandig is om programma's te schrijven die GIF bestanden kunnen schrijven. PNG is een uitstekende vervanging hiervoor.

Realmedia heeft de formaten realaudio en realvideo bedacht. Dit zijn gesloten formaten. Zij leveren er wel een gratis speler voor. Gebruik van dit formaat om bijvoorbeeld geluidsfragmenten op internet te zetten geeft alleen gebruikers die aan realmedia geld betalen het recht deze fragmenten te kopieren. Dit is een regeling die geen aanbieder zo bedoelt. Het is daarom (en omdat gesloten formaten in het algemeen slecht zijn voor de softwarewereld) af te raden dit formaat te gebruiken. divx en ogg vorbis zijn zeer geschikt voor dit doel.

Adobe PDF is een vrij formaat. Het programma waarmee het meestal wordt bekeken echter, acrobat reader, is geen vrije software. De licentie van dit programma is echter zodanig, dat niet veel mensen het nuttig vonden om een vrije vervanging te schrijven. Een vrij programma dat het kan lezen is bijvoorbeeld ghostview. Wel zijn er (dankzij de beschikbaarheid van de specificaties) allerlei programma's om PDF bestanden mee te genereren, zoals pdflatex en ps2pdf.

Lijstjes van wel en niet vrije software en formaten

Besturingssystemen

Veel gebruikte niet vrije besturingssystemen zijn Microsoft Windows, IBM OS/2, Apple MacOS, Sun Solaris en MS-DOS.

Veel gebruikte vrije besturingssystemen zijn GNU/Linux, freeBSD en openBSD.

Bestandsformaten

Er bestaan vrij veel vrije formaten. Voorbeelden (met bestandstype) staan in de volgende tabel:

NaamType
Plain Texttekst (zonder opmaak)
HTMLdocument
PDFdocument
PSdocument
PNGplaatje
PNMplaatje
JPEGfoto
ogg vorbisgeluid
mp3geluid
divxbeeld en geluid

Niet vrije formaten zijn onder meer Microsoft Word, realaudio, realvideo, GIF, Microsoft Powerpoint, Microsoft Excel en RTF

Valid CSS Valid HTML 4.01 Deze icoontjes geven aan, dat deze pagina zich houdt aan de HTML standaard en de CSS standaard. Op deze pagina is niet ingegaan op het belang van het correct gebruik van een standaard, maar alleen op het gebruik op zich. Correct gebruik is belangrijk, omdat alleen dan zeker is, dat alle programma's die de standaard kunnen lezen, de informatie foutloos weergeven. Een voorbeeld van een programma wat zeer incorrecte HTML genereert, is Microsoft Frontpage (verrassing!)