Waarom Open Source wél de oplossing is

Joost

Geschreven door Joost Saanen op 10-3-2016
4 minuten leestijd

Bij het ontwikkelen van maatwerksoftware ga je niet steeds opnieuw het wiel uitvinden. Je hergebruikt zoveel mogelijk onderdelen in je software. En, je zou gek zijn om alles zelf te maken. Je wilt je bezig houden met waar het bij software ontwikkelen werkelijk om draait; dé perfecte oplossing bouwen voor je klant. Het gebruik van Open Source biedt hier uitkomst. Software die open is (en dus ook naar wens aan te passen) + ook nog eens vrij te gebruiken.

Een metafoor met legoblokken (dit zijn de open source componenten) maakt dit duidelijk. De focus bij het ontwikkelproces van software ligt niet bij de legoblokken, maar wat je ermee gaat bouwen. Het bouwen van de legoblokken hoef je niet per se zelf te doen. Vaak zijn er bestaande oplossingen te vinden in de vorm van open source. Ok, het kan zijn dat je een bepaald blokje wat moet aanpassen omdat het niet helemaal goed past. Je bevindingen of eventuele aanpassingen kun je dan ook weer delen met de community. Resultaat: betere legoblokken!

Uiteindelijk gaat het om het uiteindelijke product, bijvoorbeeld een LEGO Mijnbouwgraafmachine – ofwel de maatwerksoftware oplossing.

“Gratis software kán niet goed zijn”.

Onzin.

Wat maakt Open Source nou zo goed?

Veel dingen, ik noem er enkele:

1) Kwaliteit, kwaliteit en kwaliteit

Wat is nou beter? Software ontwikkelt door een handvol developers, of dezelfde software gemaakt door duizenden ontwikkelaars. Het laatste natuurlijk. Naast dat er een groep developers bezig is met security-aspecten, is een andere groep gebruikers bezig met innovaties en bedenken en implementeren van verbeteringen. Open Source is zo goed omdat iedere ‘gebruiker’ zeggenschap heeft in hoe het eruit moeten komen zien. Dus er is geen bedrijf die denkt te maken wat men nodig heeft maar developers die exact maken wat ze nodig hebben.

2) Veiligheid

De wet van Linus (Linus Thorvalds initiële ontwikkelaar van de Linux kernel) zegt het al: “Given enough eyeballs, all bugs are shallow”, grofweg vertaald als wanneer velen meekijken wordt iedere (programmeer)fout snel opgemerkt en verbeterd. Naast hogere kwaliteit software, levert dit natuurlijk ook veiligere software op. Bij Open Source projecten zijn de lijnen korter zodat bugs en vulnerabilities vaak sneller worden opgelost. Niet waar zeg je? Ga maar eens bij Microsoft Windows kijken waar dit proces soms wel weken of maanden duurt ;)

3) Aanpasbaarheid

Maak je gebruik van closed software en doet deze niet precies wat je wilt? Probleem! Omdat de code niet open is kun je deze ook niet aanpassen. Je bent hier afhankelijk van de mate van openheid van het bedrijf waar je de software hebt gekocht. Vaak kom je van een koude kermis thuis.

4) Geen vendor lock in

Vendor lock-in is het verschijnsel dat je als klant zo zeer afhankelijk raakt van een leverancier dat afscheid nemen of overstappen niet langer mogelijk is zonder grote gevolgen. Open Source is vaak gebouwd op open standaarden, je hebt minder snel last van een vendor lock in.

5) Continuïteit

Open source garandeert een bepaalde mate van continuïteit. Als een bedrijf stopt met closed source software ontwikkelen is het snel afgelopen. In de open source wereld worden projecten geforked als er iets mis is met het oorspronkelijk project. Een fork is een softwareontwikkelingsproject dat gebaseerd is op een eerdere code.

Mythen

Hieronder noem ik enkele mythen die je vaak hoort maar niet kloppen:

“Geen controle over de software” Nonsense. Je hebt toegang tot de source code en mag er uit pakken wat je wilt. Ook heb je de mogelijkheid om dingen aan te passen naar behoefte. Dit geeft je dus alle controle.

“Open: dus niet veilig” Niet waar! Zoals eerder gemeld zijn er bij open source projecten vaak veel programmeurs betrokken. Zij werken samen en verbeteren elkaar continue om tot een zo goed mogelijke en veilige oplossing te komen. Backdoors worden daardoor bijvoorbeeld lastig, want iedereen kan ze opmerken.

“Bij Open Source is alles gratis” Was dat maar zo. De bouwstenen zijn publiekelijk beschikbaar en gratis te gebruiken. Het stukje maatwerksoftware moet nog wel geprogrammeerd, aangepast en beheerd worden.

Allemaal leuk en aardig, maar zijn er ook nadelen?

Ook open source heeft nadelen. Niet alles wat open is, is automatisch goed. Neem nou plugins die zijn gemaakt voor WordPress. Krab je zelf eerst achter de oren voordat je 1 van de bijna 45.000 plugins gaat gebruiken. Ok, de plugins zijn inderdaad open source en gratis te gebruiken. Maar vaak ook gemaakt door niet-professionals – hobbyisten of heikneuters. Zij werken vaak alleen aan zo’n plugin en dat merk je aan de kwaliteit. Hoe meer contributors (dit zijn programmeurs die bijdragen aan een open source project), des te beter het resultaat. Denk goed na voor je kiest. Waarom? Omdat terugkomen op je besluit op een later tijdstip, vaak héél lastig is. Denk hierbij bijvoorbeeld aan een plugin die je besluit te nemen. Gebruikers gaan er gebruik van maken en raken er aan gewend. Probeer dan nog maar eens te switchen wanneer blijkt dat het toch niet helemaal de juiste is…

Draag bij aan open source

Hoe je het ook wendt of keert, open source draagt bij aan een betere wereld. Je bijdrage leveren aan een open source project is leuk, leerzaam (en een goede reden om eens iets nieuws te leren). Daarnaast staat het mooi op je CV en is het een mooi gebaar om iets terug te geven aan de community.

Joost

Joost Saanen

Gepassioneerde all-rounder met brede interesses; van serverbeheer en cloudhosting tot (UI)design en (web)development. Hardloopt en schrijft het liefst tegelijk.