Laten we starten met het verschil tussen open source en closed source:
Open source is software of hardware waar je de broncode/bouwtekeningen van in mag zien en vrijelijk op voort mag bouwen. De meeste bekende voorbeelden zijn Wordpress, Linux, Raspberry Pi maar ook bijvoorbeeld Wikipedia.
Closed source is software of hardware waar je de broncode/bouwtekeningen niet van in mag zien. Door middel van een vendor lock ben je verplicht om bij de leverende partij te blijven. Denk hierbij bijvoorbeeld aan iOS (software waar iPhones op draaien) maar ook Windows is een goed voorbeeld.
1. Waarom kiezen voor opensource?
Er zijn verschillende redenen om te kiezen voor opensource. De belangrijkste hebben we voor je op een rij gezet. Leuk weetje is dat je eigenlijk niet meer om opensource heen kunt. Praktisch alle pakketten maken tegenwoordig gebruik van opensource frameworks en technieken.
- Het wiel niet opnieuw uit hoeven vinden. Gebruik maken van bestaande opensource frameworks en modules zorgt voor een grote tijds- en kostenbesparing.
- Toegang tot de broncode. Door dat er inzicht is in de broncode kunnen beveiligingslekken eerder worden opgespoord en is het bovendien ook mogelijk om een afsplitsing te maken. Dit klinkt technisch, maar het komt er op neer dat een groep developers kan beslissen verder te gaan met bepaalde broncode, maar een compleet andere weg inslaan.
- Geen lock-in. Je kan het je misschien nu niet voorstellen, maar wat als je leverancier failliet gaat of een meningsverschil met jou als klant krijgt. Wat doe je dan? Als je hebt gekozen voor closed source zit je vast aan het systeem van je leverancier. Opensource software zorgt voor meer flexibiliteit. Daarbij moet wel de voetnoot worden geplaatst dat de werkelijke flexibiliteit af hangt van de hoeveelheid maatwerk.
Onlangs hadden wij een opdrachtgever die graag alle blogberichten en afbeeldingen mee wou nemen van een closed source CMS naar een opensource CMS (Neos). Na een korte inventarisatie waren er twee opties: alles handmatig kopiëren/plakken of op nacalculatie een database & file-export aanvragen.
2. Wat is de continuïteit van Opensourcesoftware?
Bij kritieke bedrijfsprocessen is de continuïteit essentieel. Stel dat de software van je webshop, platform of website niet meer wordt bijgewerkt. Dat is ondenkbaar. Hoe groot is de kans dat dit gebeurt en wat kun je doen als dit wel gebeurt?
Hoe groot is de kans?
Wanneer wij gebruik maken van opensource software of modules kijken wij altijd uitgebreid naar de heartbeat. De heartbeat is een combinatie van wijzigingen (pull requests), developers die wijzigingen doorvoeren (contributors) en de leeftijd van de code. Op basis van de heartbeat kunnen wij betrouwbaar inschatten of de broncode op de langere termijn ook wordt onderhouden. Vaak maken ook closed source pakketen gebruik van opensource modules. Indirect kun je dus ook bij closed source software hiermee te maken krijgen.
Wat kun je doen als het wel gebeurt?
Vaak is er een belangrijke reden dat de doorontwikkeling stopt. Denk hierbij aan een vervangende en betere module. Door dan mee te gaan met de community en de oude module in te wisselen voor een nieuwe is de continuïteit weer geborgd en krijg je ook vaak nieuwe functionaliteit. Maar wat als er geen alternatief is of het alternatief niet aan jouw wensen/eisen voldoet? Dan kun je de module of software "forken" dat is een technische term van het maken van een afsplitsing om daar vervolgens zelf of met een groep developers aan door te ontwikkelen.
3. Hoe zit het met de veiligheid?
Doordat iedereen toegang heeft tot de broncode kunnen ook kwaadwillenden makkelijker fouten vinden en deze eventueel uitbuiten. Maar hoe groot is dit risico werkelijk en hoe verhoudt het risico zich tot closedsource alternatieven. Alles is te kraken en encryptieprotocollen raken door de toenemende computerkracht steeds sneller verouderd. Opensource initiatieven brengen daarom ook maandelijks of wekelijks patches uit. Bij de beschrijvingen van deze patches staat welk potentieel lek ze dichten. Wanneer je kiest voor opensource is het essentieel om een goede SLA af te sluiten. Door deze SLA wordt je site gemonitord en actief voorzien van patches. Deze kwetsbaarheden zitten echter vaak ook in closed source software. Denk bijvoorbeeld aan de OV-chipkaart, de hack op Sony, etc. De veiligheid wordt bepaald door de motivatie van de community of leverancier om actief gaten te dichten in de code. Het enige voordeel van opensource hierin is dat je makkelijker externe partijen als bijvoorbeeld HackerOne in kunt huren om de veiligheid op dat moment te controleren.
4. Wie zit er achter de opensource software?
Dat is een vraag waar meerdere antwoorden op zijn. Je hebt binnen de opensource software verschillende oplossingen. Hieronder heb ik ze in tweeën gedeeld:
- Community driven. Opensource software kan community driven zijn. In de praktijk houdt dat in dat er een stichting achter de software zit met als doel de software door te ontwikkelen en promoten. De stichting verdient geld door giften of merchandise. Community driven opensource heeft geen commerciële belangen en zal altijd gaan voor de beste oplossing. Een voorbeeld van community driven opensource is bijvoorbeeld Neos CMS.
- Company driven. Eigenlijk zegt de naam het al. Een commercieel bedrijf maakt een stuk code of software opensource beschikbaar. Daar kunnen verschillende redenen voor zijn. Zo maakte Apple Swift opensource om te zorgen voor een breder draagvlak. Maar ook het instapmodel is populair. Magento heeft een opensource community versie die gratis te gebruiken is een een betaalde variant. Door de gratis variant als opstap te gebruiken naar de betaalde variant hebben ze een geweldige lead tool. Veel partijen hebben de extra features van de betaalde variant niet nodig en profiteren zo van een betrouwbaar en stabiel platform. Een nadeel van deze vorm is wel dat het bedrijf nieuwe functionaliteit bewust niet of pas later naar de community versie brengt. Er moet immers wel voordeel zijn om te kiezen voor de betaalde variant.
Tot slot
Zoals je hebt gelezen zijn er inderdaad een aantal aandachtspunten waar je goed op moet letten bij het selecteren van opensource software. Wanneer je dat doet dan is de kans dat je te maken krijgt met de bovengenoemde punten nagenoeg nihil en pluk je wel de vruchten van de voordelen van opensource. Hulp nodig bij het kiezen voor de juiste opensource platformen? Klik op de button en we kijken graag vrijblijvend met je mee.
Contact opnemen