MongoDB staat symbool voor een van de trends in Open Source: het tegengaan dat hun open source pakket als closed source doorverkocht wordt door public cloud services die MongoDB-as-a-Service aanbieden.
Hun gedachte is: MongoDB is free-and-open (FLOSS), dus wat er met die versie gemaakt wordt moet dat ook zijn. Anders moeten ze maar de commerciële versie als basis nemen.
Maar wat er mee gemaakt wordt, dat bestaat voor uit microservices die de database managen, monitoren en meten. Dus geen afgeleid werk, dus op die microservices hoeven niet FLOSS te zijn, zelfs niet onder een GPL of AGPL licentie. En daarom bedachten ze de SSPL, die zegt dat dergelijke microservices van een as-a-service provider ook SSPL moeten zijn. Een soort AGPL met een exception (artikel 13 van die SSPL).
Feitelijk is artikel 13 daarmee een restrictie, en dat accepteert de OSI niet als Open Source.
Dit is geen uitzondering helaas: Elastic heeft de Elastic License, Timescale de TSL, Confluent hun eigen license. Er is een hele categorie licenties aan het ontstaan .. de intentie is free en open source te zijn, maar daarvoor moeten ze restricties aanbrengen.
Dus deze licenties zijn geen Open Source. Ze worden vaak aangeduid met Cloud Protection Licenses of ook wel Source Available Licenses. De bedrijven gaan echter rustig door met het claimen dat ze open source zijn, hier zijn veel developers nogal boos over.
De blik van de CTO: De intentie lijkt te waarderen, de uitwerking ervan is niet prettig. Het dwingt commercieel public clouds naar de commerciële versie van het product om het as-a-service te kunnen aanbieden.
Uiteindelijk opent dat voor cruciale onderdelen van je applicatie de deur voor lock-in strategieën a la Oracle.
Dus tja.. als dit een probleem is.. dit kan je niet negeren. Dus niet gebruiken, of zelf de Open Source versie deployen. En als het toch as-a-service moet… drie keer nadenken vooraf. Of bel even.