Onlangs kwam ik een hommage aan het open source maken van Netscape tegen. Netscape is uiteindelijk verdwenen, maar hieruit is wel Firefox voortgekomen. En geestverwant Chrome. Zelfs Microsoft maakt steeds meer zaken open source. Dus maak wat je hebt (laten bouwen) open source, of toch niet?
Goede redenen om iets open source te maken:
- Het kan vertrouwen bieden voor jouw klanten; ze kunnen gemakkelijker migreren naar een andere leverancier.
- Je software bestaat waarschijnlijk al grotendeels uit opensource, wel zo eerlijk om ook jouw eigen software te delen met de rest van de wereld
- Andere kunnen bijdragen aan jouw dienst-ondersteunende tool (en deze dus zomaar beter maken)
- Het helpt als je de Wens hebt om de (de facto) standaard te maken in jouw werkgebied (en aangezien jij het begonnen bent ben jij de expert)
- De code wordt veiliger omdat hackers mee kunnen kijken (de meeste hackers hebben een constructieve houding)
- Diverse online services ter verbetering van de kwaliteit worden ineens gratis (Github, Travis CI, CodeClimate…)
- Omdat je het moet (b.v. omdat je gebruik maakt van een tool die verplicht dat je je afgeleide producten ook openbaar publiceert)
- Je product is met gemeenschapsgeld tot stand gekomen
- Niet-open source zijn de adoptie van je dienst in de weg zit
Risico’s bij het opensource maken
- Anderen kunnen relatief gemakkelijk eenzelfde dienst opzetten (misschien moet je je tools dus niet open source maken als het lastig is om aanvullende diensten aan te bieden)
- De code kan gemakkelijker worden bestudeerd door kwaadwillende hackers om gaten te vinden (maar zie punt 5 bij de goede redenen)
- Je werkwijze ligt op straat
- Kans dat er per ongeluk gegevens, of ‘slordige code’ (er zijn b.v. programmeurs die vloeken in hun code-commentaar), openbaar komen te staan
- Er kunnen selectief ideeën ‘gestolen’ worden zonder dat jij het door hebt
- Mensen gaan jou verzoeken sturen voor het maken van aanpassingen / leveren support
Nuanceringen bij het opensource maken:
- Ik heb meerdere kleinere en grotere projecten open source gemaakt. Je moet er goede reclame voor maken als je wilt dat mensen het gaan oppakken. Zonder reclame dus geen klonen (wat een fijne gedachte is als je het alleen maar hebt gedaan voor het ‘vertrouwen’ van een afnemer, maar wat een minder fijne gedachte is als je had gehoopt een de facto standaard te worden.
- Open source is geen garantie voor succes. Denk aan Netscape, maar denk ook aan de zoveelste kloon van Facebook en/of Twitter op idealistische gronden die steeds maar niet in staat blijken Facebook en/of Twitter van de troon te stoten.
- Niet alle opensource is hetzelfde. Een (“red je ermee”) MIT licentie helpt bij de adoptie van de code door derden, maar verplicht zij die het adopteren tot niets. Een GPL, of iets strenger, een AGPL licentie zorgt voor een trage adoptie (omdat het komt met een verplichting om ook alle aanpassingen openbaar te maken voor zij die voortbouwen op jouw code). Er zijn hierin ook tussenvormen (jaren terug heb ik een, ietwat idealistische, post geschreven over diverse licentievormen en de nuances)
- Die verzoeken tot het maken van aanpassingen / leveren van support? Je bent werkelijk nergens toe verplicht, maar misschien is het juist een kans.
- Waarschijnlijk is de software toch te specifiek gemaakt voor jouw toepassing; en duurt het nog wel even voordat er andere partijen in geïnteresseerd zijn.
- Jij kunt wel willen, maar sommige leveranciers kunnen tegenstribbelen. Ik in ieder geval niet ;) :).
In het kort
Er is geen pasklaar antwoord. Wik en weeg. En vergeet niet, ik spar graag een keer met je :).
(ps. Aanvullingen op deze post zijn welkom!)