Wat is opensourcesoftware en waarom is het belangrijk?
Geeks omschrijven programma's vaak als zijnde "open source" of "gratis software." Als je je afvraagt wat deze termen precies betekenen en waarom ze van belang zijn, lees dan verder. (Nee, "gratis software" betekent niet alleen dat u het gratis kunt downloaden.)
Of een programma nu open-source is of niet, maakt niet alleen uit voor ontwikkelaars, maar uiteindelijk is het ook voor gebruikers van belang. Open-source softwarelicenties geven gebruikers vrijheden die ze anders niet zouden hebben.
Image Credit: Quinn Dombrowski op Flickr
De definitie van Open Source
Als een programma open-source is, is de broncode vrij beschikbaar voor zijn gebruikers. De gebruikers - en iedereen anders - hebben de mogelijkheid om deze broncode te nemen, deze te wijzigen en hun eigen versies van het programma te distribueren. De gebruikers hebben ook de mogelijkheid om zoveel kopieën van het oorspronkelijke programma te distribueren als ze willen. Iedereen kan het programma voor elk doel gebruiken; er zijn geen licentiekosten of andere beperkingen aan de software. De OSI heeft een meer gedetailleerde definitie van "open source" op zijn website.
Ubuntu Linux is bijvoorbeeld een open-source besturingssysteem. U kunt Ubuntu downloaden, zoveel kopieën maken als u wilt en deze aan uw vrienden geven. U kunt Ubuntu op een onbeperkt aantal van uw computers installeren. U kunt remixes maken van de Ubuntu-installatieschijf en deze distribueren. Als u bijzonder gemotiveerd was, kunt u de broncode voor een programma in Ubuntu downloaden en wijzigen, en uw eigen aangepaste versie van dat programma maken - of van Ubuntu zelf. Open-source licenties staan je allemaal toe om dit te doen, terwijl closed-source licenties beperkingen op je leggen.
Het tegenovergestelde van open-source software is closed-source software, die een licentie heeft die gebruikers beperkt en de broncode ervan onthoudt.
Firefox, Chrome, OpenOffice, Linux en Android zijn enkele populaire voorbeelden van open-source software, terwijl Microsoft Windows waarschijnlijk het meest populaire stuk closed-source software is.
Open Source versus Vrije Software
Open source-applicaties zijn over het algemeen gratis beschikbaar - hoewel er niets is dat de ontwikkelaar ervan weerhoudt om kopieën van de software aan te rekenen als ze achteraf herdistributie van de applicatie en de broncode toestaan.
Dat is echter niet waar "vrije software" naar verwijst. De 'gratis' vrije software betekent 'gratis als in vrijheid', niet 'gratis zoals in bier'. Het gratis softwarekamp, geleid door Richard Stallman en de Free Software Foundation, richt zich op de ethiek en moraal van het gebruik van software die kan worden gebruikt bestuurd en aangepast door de gebruiker. Met andere woorden, het gratis softwarekamp richt zich op gebruikersvrijheden.
Richard Stallman. Afbeelding door Fripog op Flickr.
De open-source softwarebeweging is gemaakt om te focussen op meer pragmatische redenen om voor dit type software te kiezen. Open-source advocaten wilden zich concentreren op de praktische voordelen van het gebruik van open-source software die meer aantrekkelijk zou zijn voor bedrijven in plaats van ethiek en moraal..
Uiteindelijk ontwikkelen zowel voorstanders van open source als gratis software hetzelfde type software, maar ze zijn het oneens over de berichtenuitwisseling.
Soorten licenties
Er zijn veel verschillende licenties die door open-sourceprojecten worden gebruikt, afhankelijk van de voorkeur van de ontwikkelaars voor hun programma.
De GPL, of GNU General Public License, wordt veel gebruikt door veel open-sourceprojecten, zoals Linux. Naast alle bovenstaande definities van open-source, specificeren de voorwaarden van de GPL dat, als iemand een open-sourceprogramma aanpast en een afgeleid werk distribueert, zij ook de broncode moeten distribueren voor hun afgeleide werk. Met andere woorden, niemand kan open-source code gebruiken en er een closed-source programma van maken - ze moeten hun wijzigingen teruggeven aan de gemeenschap. Microsoft noemde de GPL om deze reden 'viraal' omdat programma's met GPL-code gedwongen worden om hun eigen broncode vrij te geven. Natuurlijk kunnen de ontwikkelaars van een programma ervoor kiezen om geen GPL-code te gebruiken als dit een probleem is.
Sommige andere licenties, zoals de BSD-licentie, leggen minder beperkingen op aan ontwikkelaars. Als een programma is gelicentieerd onder de BSD-licentie, kan iedereen de broncode van het programma opnemen in een ander programma. Ze hoeven hun wijzigingen niet terug te geven aan de community. Sommige mensen zien dit nog meer "gratis" zijn dan de GPL-licentie, omdat het ontwikkelaars de vrijheid geeft om de code in hun eigen closed-sourceprogramma's op te nemen, terwijl sommige mensen het zien als minder "gratis" omdat het rechten wegneemt van de eindgebruikers van het afgeleide programma.
Voordelen voor gebruikers
Dit zijn niet allemaal droge, onbelangrijke dingen die alleen voor ontwikkelaars van belang zijn. Het meest voor de hand liggende voordeel van open-source software is dat het gratis kan worden gedaan. Het voorbeeld van Ubuntu Linux hierboven maakt dat duidelijk - in tegenstelling tot Windows kunt u zoveel exemplaren van Ubuntu installeren als u wilt, zonder beperkingen. Dit kunnen bijzonder nuttige servers zijn - als u een server opzet, kunt u er gewoon Linux op installeren. als u een gevirtualiseerde cluster van servers opzet, kunt u eenvoudig een enkele Ubuntu-server dupliceren. U hoeft zich geen zorgen te maken over licenties en hoeveel exemplaren van Linux u mag uitvoeren.
Een open-sourceprogramma is ook flexibeler. De nieuwe interface van Windows 8 stelde bijvoorbeeld veel oude desktop Windows-gebruikers teleur. Omdat Windows closed-source is, kan geen enkele Windows-gebruiker de Windows 7-interface gebruiken, wijzigen en correct laten werken op Windows 8. (Sommige Windows-gebruikers proberen het, maar dit is een moeizaam proces van reverse engineering en het aanpassen van binaire bestanden. )
Wanneer een Linux-desktop zoals Ubuntu een nieuwe desktopinterface introduceert waar sommige gebruikers geen fan van zijn, hebben gebruikers meer opties. Toen GNOME 3 bijvoorbeeld werd vrijgegeven, waren veel Linux-desktopgebruikers even uitgeschakeld. Sommigen hebben de code naar de oude versie, GNOME 2, en hebben deze aangepast om deze op de nieuwste Linux-distributies te laten draaien - dit is MATE. Sommigen namen de code over naar GNOME 3 en bewerkten deze om het op de door hen gewenste wijze te laten werken - dit is Cinnamon. Sommige gebruikers zijn zojuist overgeschakeld naar bestaande alternatieve bureaubladen. Als Windows open-source was, hadden Windows 8-gebruikers meer keuze en flexibiliteit. Bekijk CyanogenMod, een populaire, community-gestuurde distributie van Android die functies en ondersteuning biedt voor nieuwe apparaten.
Open-source software stelt ontwikkelaars ook in staat om "op de schouders van reuzen te staan" en hun eigen software te creëren. Getuige Android en Chrome OS, besturingssystemen gebouwd op Linux en andere open-source software. De kern van Apple's OS X - en daarmee ook iOS - was ook gebaseerd op open-sourcecode. Valve werkt woedend aan het porten van hun Steam-gamingplatform naar Linux, omdat dit hen in staat zou stellen hun eigen hardware te maken en hun eigen lot te bepalen op een manier die niet mogelijk is op Microsofts Windows.
Dit is geen uitputtende beschrijving - er zijn hele boeken over dit onderwerp geschreven - maar je moet nu een beter idee hebben van wat open-source software eigenlijk is en waarom het nuttig voor je is.