Open source betekent dat de broncode van een stuk software openbaar is, zodat iedereen hem mag lezen, gebruiken, aanpassen en delen, meestal gratis. Het tegenovergestelde is gesloten of propriëtaire software, waarbij de code verborgen is en je alleen het afgewerkte product krijgt. Met open source krijg je het recept, niet alleen het gerecht, dus je kunt zien hoe het werkt en het aanpassen aan je eigen behoeften.
Een mooie vergelijking is een gezamenlijk kookboek. Iedereen kan een recept volgen, het naar smaak aanpassen en een verbeterde versie publiceren voor de volgende kok. Na verloop van tijd verspreiden de beste ideeën zich en worden de recepten beter. Software als Linux, Node.js en de meeste bibliotheken op npm werken precies zo, en daarom kan een klein team voortbouwen op tientallen jaren gedeeld werk in plaats van vanaf nul te beginnen. Menig framework dat moderne websites aandrijft is ook open source.
Toch is het geen vrijbrief. Elk project heeft een licentie die de regels bepaalt, en die verschillen flink. Bij MIT en Apache 2.0 mag je bijna alles, terwijl GPL eist dat je je eigen aanpassingen terugdeelt als je het resultaat verspreidt. Die voorwaarden negeren kan echte juridische problemen opleveren. Er is ook een stiller risico: een project kan door de makers in de steek worden gelaten, dus kijken wanneer het voor het laatst is bijgewerkt en hoeveel mensen meebouwen telt net zo zwaar als de licentie lezen.
De keerzijde van die openheid is invloed. Doordat de code openbaar is, kun je een bug melden, een fix voorstellen of de makers steunen, in plaats van wachten op de roadmap van een leverancier.
Bij TopDevs bouwen we op vertrouwde open-source tools waar dat zin heeft, en we houden in een klantproject een duidelijke lijst bij van elke licentie, zodat er later geen verrassingen ontstaan.