Ouvrir les productions

Mini-guide pour l'ouverture du code source d'un défi EIG

Les EIG utilisent des logiciels /open source/, mais ils vont aussi produire du code source et le publier sous licence libre. « Code source » désigne le code écrit sous sa forme éditable par un être humain, qu'il s'agisse de scripts pour de l'analyse de données ou de projets plus complexes comme le backend d'une application web. Ce mini-guide répond aux questions que les EIG et leurs mentors peuvent se poser sur l'ouverture des codes sources dans le cadre du défi.

[toc]

Pourquoi ouvrir son code source ?

Pour contribuer aux biens communs numériques : tous les systèmes d’information reposent directement ou indirectement sur des logiciels libres : en ouvrant son code, l’administration participe à cette mise en commun du code.

Pour améliorer votre code : coder « /in the open/ » est une façon de se contraindre à adopter des bonnes pratiques qui touchent à la fois la technique (structurer son code, le tester) et la communication (écrire une documentation, répondre aux questions des utilisateurs, etc.)

Pour impliquer des développeurs extérieurs : si vous allez au-delà de la simple mise à disposition du code sous licence libre et vous mobilisez pour construire une communauté, vous pourrez bénéficier de contributions extérieures.

Comprendre les licences libres

Les licences libres sont des /contrats/ passés entre l’auteur d’un logiciel et un utilisateur, le premier accordant au second les quatre libertés suivantes : (1) la liberté d'utiliser le logiciel ; (2) la liberté de copier le logiciel ; (3) la liberté d'étudier le logiciel ; (4) la liberté de modifier le logiciel et de redistribuer les versions modifiées. Ce principe est commun à /toutes/ les licences libres, parfois appelées « licences open source ».

Votre code étant publié par une administration, il doit l'être sous une licence figurant dans [[https://www.data.gouv.fr/fr/licences][cette liste]]. Parmi ces licences figure celle publiée par Etalab, couvrant aussi bien les logiciels que les contenus autres, la (Licence Ouverte 2.0)[https://www.etalab.gouv.fr/licence-ouverte-open-licence].

Choisir une licence libre

Vous contribuez à un logiciel libre existant ? La loi pour une République Numérique autorise les agents publics à contribuer à des logiciels libres existant. Si vous êtes dans ce cas, veuillez vous référer à la politique de contribution open source (opens new window).

Vous créez un logiciel libre à partir d'un autre (vous /forkez/ un logiciel existant) ? Si le logiciel parent est publié sous une licence obligeant toute distribution d'une oeuvre dérivée à être publiée sous les mêmes conditions (on parle de licences /copyleft/), votre version modifiée sera sous la même licence (ou sous une autre licence /copyleft/ compatible) ; si le logiciel parent est sous licence n'imposant pas cette obligation (on parle de licences « permissives »), vous pouvez publier votre version sous la licence permissive ou /copyleft/ de votre choix, l’usage courant étant d’utiliser la même licence que le logiciel parent.

Vous écrivez un nouveau logiciel libre ? Le choix entre une licence permissive ou copyleft se fera selon votre stratégie et/ou selon les choix faits par d’autres logiciels similaires écrits dans le même langage.

Pour le détail sur la compatibilité des licences voir [ce tableau](https://vvlibri.org/fr/guide-de-lauteur-libre-gerer-des-licences-differentes-compatibilites-de-licences/tableau-de][ce tableau]) et ces explications (opens new window) de la FSF.

Pour aller plus loin