Contributor License Agreements voor open source projecten bij de overheid

In Amsterdam zijn we aan het nadenken over de toepassing van een Contributor License Agreement voor projecten die open staan voor bijdragen van anderen. De rationale hierachter is dat wanneer je dit soort afspraken niet maakt, het moeilijker is om als organisatie actief beleid te voeren op je open source projecten. Een concreet voorbeeld is dat we de EUPL v1.2 of hoger als standaard licentie willen gaan hanteren. Bestaande Amsterdamse projecten zoals Signalen (MPLv2) of Open Stad (MIT) hebben op dit moment een andere licentie. Om over te stappen naar EUPL v1.2 of hoger moeten alle samenwerkingspartners om toestemming worden gevraagd. Wanneer je in een feilloze samenwerking zit met anderen is dat niet eens zo’n probleem, maar wanneer je bijdragen accepteert van (anonieme) derden wel.

Om deze beperkingen, die standaard aanwezig zijn vanuit auteursrecht, weg te nemen is dus een CLA nuttig. Om die manier blijft Amsterdam volledig beheerder van de eigen open source projecten (alle forks daargelaten natuurlijk) en kan het daar ook de regie op pakken. Op momenten dat er écht common-ground samenwerking nodig is, dan is VNG wat ons betreft de aangewezen entiteit om de regie aan over te dragen.

Ik wil met dit forum topic een aantal dingen bereiken:

  • Inventariseren of er andere(n) (organisaties) zijn die nadenken over dit vraagstuk.
  • Inventariseren of er andere(n) (organisaties) zijn die zouden willen participeren in het opstellen van een CLA (voor de NL publieke sector).
  • Inventariseren wat de algemene mening is over een CLA’s.
  • Inventariseren hoe we CLA’s zo kunnen toepassen dat de voor- en nadelen zoveel mogelijk worden geadresseerd.

En alle overige samen die nog ter sprake kunnen komen betreffende dit onderwerp.

We hebben na intern overleg besloten om voor een DCO te gaan i.p.v. een CLA. Twee redenen:

  • Een CLA juridificeerd naar ons idee de open samenwerking veel te veel.
  • De handeling om een stukje broncode onder een open source licentie te kunnen vrijgeven impliceert op zichzelf al dat je beschikking hebt over de auteursrechten. Ander ben je op het moment van het open source delen al in overtreden. Een aanvullende check of de participant daar zich bewust van is, is wat eigenlijk de DCO al (naar ons idee) voldoende doet.

De CLA heeft daarnaast nog een tweede doel en dat is het voorkomen van de license-lock-in. Met de komst van de Europese Unie Public License is dit probleem eigenlijk al voldoende geadresseerd. Die licentie garandeert wat ons betreft voldoende dat we met de keuze voor EUPL blijven aansluiten bij nationale en Europese wetgeving en open source visies.
Daar komt bij dat de EUPL in de basis al een clausule heeft waarin wordt aangegeven dat opvolgende EUPL versies ook van toepassing (kunnen) zijn op de broncodes.

“wanneer de licentiehouder kopieën van het oorspronkelijke werk of bewerkingen verspreidt of mededeelt, geschiedt die verspreiding of mededeling onder de voorwaarden van deze licentie of van een latere versie van deze licentie, tenzij het oorspronkelijke werk uitdrukkelijk alleen onder deze versie van de licentie wordt verspreid — bijvoorbeeld door de mededeling „alleen EUPL v. 1.2””

Wanneer de EUPL dus door evolueert dan kan er altijd nog een keuze worden gemaakt om de nieuwere versie van de EUPL ook te adopteren of het project vast te zetten op de tot dan toe laatste versie. Het is dan alleen wel van belang dat je participanten vraagt bijdrages te doen onder EUPL en niet onder “alleen EUPLv1.2”.

Bij Alliander hebben we een project waar een CLA wordt toegepast, bij meerdere projecten onder vlag van de Linux Foundation dragen we bij onder een CLA. Op papier voegt het waarde toe om flexibiliteit te hebben naar de toekomst toe en om een expliciete handtekening te hebben over de rechten van het bijgedragen werk. In de praktijk is het vooral een vinkje waar iedereen net zo lichtzinnig over denkt als het accepteren van de voorwaarden van een online dienst. Het verliest daarmee wel zijn waarde.

Met name de wens om op een later moment de licentie te herzien zie ik wel, je weet nooit wat de toekomst kan brengen.

Met name als je bijdragen van enthousiaste buitenstaanders wilt aantrekken werpt een CLA wat mij betreft een barrière op. Degene die bijdraagt heeft minder zekerheid over de toekomst van het project, terwijl het soort licentie voor veel mensen een belangrijke waarde vertegenwoordigd en dus het verschil kan maken tussen wel of niet bijdragen. Met een CLA wordt dit onzeker, wat mensen af kan schrikken.

Dus ik herken het dilemma, maar mijn advies zou zijn om het pas toe te passen als er echt sterke redenen voor zijn.

Zodra je contributies in vorm van bron code of anders gaat aannemen, dan is een CLA zeker handig.
Voor Plone (web CMS) vereisen we dat de CLA getekend is vóór dat een merge- /pull request geaccepteerd wordt.

Meer details: Contributor’s Agreement for Plone Explained

ps, de stichting is ook altijd welwillend om meer en/of diepere uitleg te geven over hoe dit in de praktijk werkt. Zowel Paul als Guido zijn Nederlands en weten óók wat voor Nederland specifiek relevant is - Plone is internationaal. Board of Directors