Uitbreidbaarheid is een slechte reden om voor open source te kiezen
Met de opkomst van de cloud is ook de manier waarop software werkt structureel veranderd. We gingen van grote complexe applicaties naar veel kleine softwareapplicaties die op een los-vast basis samenwerken. Die applicaties communiceren met elkaar met behulp van een API (Application Programming Interface). Het zelf kunnen aanpassen en uitbreiden van de software was vroeger een belangrijk argument om voor open source te kiezen. Maar is open source in het moderne cloud-tijdperk nog wel relevant?
Er is de afgelopen jaren veel veranderd in de manier waarop we software gebruiken. Door de komst van REST API – voor het eerst commercieel op de markt gebracht door Salesforce – ontstond er een software-as-a-services-revolutie. Vervolgens dwong Jeff Bezos Amazon om alle interne software voortaan onafhankelijk als services met elkaar te laten communiceren. Dit was het begin van Amazon Web Services (AWS). Deze ontwikkeling heeft enorme impact op hoe de waardeketen werkt. Zo is Adyen dankzij de API-revolutie inmiddels meer waard op de beurs dan ABN Amro en ING samen.
Het zelf kunnen aanpassen en uitbreiden van software was vroeger een argument om voor open source te kiezen. Het aanpassen van software brengt echter enorme verantwoordelijkheid met zich mee: het moet ook onderhouden worden. De ontwikkelde code of plug-in moet ook met een nieuwe versie van het product blijven werken, en dat is vaak meer werk dan gedacht. Bovendien zijn veel monolithische applicaties, zoals Shopware en Magento met architecturen van rond 2000, eigenlijk niet geschikt om uit te breiden. Hoe groter het team en de applicatie, hoe moeilijker het is om dat goed en stabiel te doen. De enige juiste manier om flexibel uit te breiden is via API’s. Hierbij neemt de leverancier de verantwoordelijkheid dat de API blijft werken volgens de overeengekomen specificaties, terwijl onder water allerlei vernieuwingen en software-aanpassingen kunnen worden gedaan.
De software hoeft daar dus niet open source voor te zijn. Dit betekent overigens niet het einde van open source. Door de cloud-explosie is er alleen maar meer geweldige open source technologie ontstaan, zoals Kubernetes en Docker. Deze open source software is veel veiliger en robuuster dan technologie die door bedrijven inhouse wordt ontwikkeld. Technologiebedrijven gebruiken ontzettend veel open source software om hun services mee te bouwen.
Het succes van open source richt zich met name op twee softwarelagen: besturingssystemen/databases/search en middleware. Op de derde laag (de functionele laag) zoals ERP-systemen, maar ook b2b commerce systemen of headless e-commerce systemen, ligt dit anders. Het is namelijk heel moeilijk, zo niet onmogelijk om een goede UI voor eindgebruikers in de open source te ontwikkelen. Er zit uiteindelijk altijd een bedrijf achter dat dit coördineert.
Moderne software zoals Propeller Commerce is ontwikkeld op basis van microservices en een headless architectuur, waardoor elk onderdeel aangepast en vervangen kan worden door een betere of meer geschikte software service, zonder dat de stabiliteit in gevaar komt.