ERABLE et Open Source

Qu'est-ce que l'Open Souce pour leprojet ERABLE

le projet ERABLE sera disponible librement selon les principes l’Open Source. Que signifie précisément ce terme qui est issu d’un mouvement datant des années 90 et qui permet de distribuer “librement” des logiciels informatiques ?

1 - Un peu d’histoire

Dans les années 70, D. Ritchie et B. Kernighan inventèrent le système d’exploitation Unix au sein du géant américain AT&T. Malheureusement pour ces deux inventeurs de génie, les lois «anti-trust» américaines interdisaient à AT&T de vendre autre chose que des équipements téléphoniques, ce qui les poussa à distribuer les codes sources d’Unix aux universités américaines. L’Université de Berkeley se lança dans l’aventure, et de nombreux chercheurs apportèrent un grand nombre modifications à la version d’AT&T.

Dans les années qui suivirent, AT&T initia de multiples démarches judiciaires, et ils obtenirent, dans les années 80, le droit de commercialiser Unix; C’est ainsi que commença la guerre des Unix entre AT&T, Berkley et d’autres acteurs qui avaient contribué au développement du système. Cette guerre commerciale et judiciaire va durer plusieurs années et va porter un réel préjudice au développement de ce système.

2 - Le mouvement du logiciel libre

logo GNU

En 1983, dans ce contexte de guerre des Unix, un chercheur du MIT dénommé Richard Stallman, annonce le développement du système d’exploitation libre «GNU» qui a pour vocation d’être un équivalent libre d’Unix. L’acronyme récursif «GNU» signifie «GNU’s Not Unix». Ainsi, le projet GNU crée les bases du mouvement du logiciel libre et dès 1985, Stallman crée la Free Software Foundation (FSF)1, un organisme à but non lucratif pour développer la communauté du logiciel libre. Cette fondation édicte les quatre règles fondatrices du logiciel libre :

  1. Liberté 0 : La liberté d’exécuter le programme, pour tous les usages.
  2. Liberté 1 : La liberté d’étudier le fonctionnement du programme en accédant au code source , et de l’adapter à ses besoins
  3. Liberté 2 : La liberté de redistribuer des copies, donc d’aider son voisin.
  4. Liberté 3 : La liberté d’améliorer le programme et de publier des améliorations, pour en faire profiter toute la communauté

Pour garantir que tous les logiciels libres développés pour le système d’exploitation GNU restent libres, Richard Stallman utilisa le concept de copyleft qui s’inspire du droit d’auteur (copyright). En 1989, il publie la première version de la licence publique générale GNU qui est associé aux logiciels libres. En 2007, la version 3 de la licence GPL est publiée.

3 - Le mouvement Open Source

logo OSI

La question du logiciel libre (Free en anglais) à fait naître des polémiques car le mot «Free» est utilisé à la fois pour libre et gratuit, ce qui provoque des désaccords dans la communauté naissante. Christine Peterson définit le concept «d’Open Source» pour lever cette ambiguïté. En 1998, c’est la scission de la communauté du logiciel libre : le mouvement Open Source apparaît afin de proposer une politique jugée plus adaptée aux réalités économiques et techniques. Ce mouvent défend la liberté d’accéder aux sources des programmes mais propose une économie du logiciel dépendant de la seule vente de prestations et non plus de celle de licences d’utilisation. Eric S. Raymond, un des fondateur de l’Open Source Initiative (OSI) publie un essai devenue celebre expliquant cette vision : La Cathédrale et le Bazar, qui exposent le mode de développement Open Source.

En équivalence aux quatre libertés fondamentales de la FSF, l’OSI a défini dix principes de l’Open Source (traduction du site 2) :

  1. Redistribution libre : La licence n’empêche aucune partie de vendre ou de donner le logiciel en tant que composant d’une distribution globale de logiciels contenant des programmes provenant de plusieurs sources différentes. La licence n’exige pas de redevance ou d’autres frais pour une telle vente.

  2. Code source : Le programme doit inclure le code source et doit permettre la distribution sous forme de code source ainsi que sous forme compilée. Lorsqu’une certaine forme d’un produit n’est pas distribuée avec le code source, il doit exister un moyen bien connu d’obtenir le code source pour un coût de reproduction au plus raisonnable, de préférence en le téléchargeant via Internet sans frais. Le code source doit être la forme préférée dans laquelle un programmeur modifierait le programme. Le code source délibérément obfusqué n’est pas autorisé. Les formes intermédiaires telles que la sortie d’un préprocesseur ou d’un traducteur ne sont pas autorisées.

  3. Travaux dérivés : La licence doit permettre les modifications et les travaux dérivés, ainsi que leur distribution dans les mêmes conditions que la licence du logiciel original.

  4. Intégrité du code source de l’auteur : La licence peut restreindre la distribution du code source sous une forme modifiée uniquement si la licence autorise la distribution de « fichiers correctifs » avec le code source dans le but de modifier le programme au moment de la construction. La licence doit explicitement autoriser la distribution de logiciels construits à partir de code source modifié. La licence peut exiger que les œuvres dérivées portent un nom ou un numéro de version différent du logiciel d’origine.

  5. Pas de discrimination contre les personnes ou les groupes : La licence ne doit pas discriminer une personne ou un groupe de personnes.

  6. Absence de discrimination dans les domaines de compétence : La licence ne doit empêcher personne d’utiliser le programme dans un domaine d’activité spécifique. Par exemple, elle ne doit pas empêcher le programme d’être utilisé dans une entreprise ou d’être utilisé pour la recherche génétique.

  7. Distribution de la licence : Les droits attachés au programme doivent s’appliquer à tous ceux à qui le programme est redistribué, sans nécessité de conclure une licence additionnelle avec ces parties.

  8. La licence ne doit pas être spécifique à un produit : Les droits attachés au programme ne doivent pas dépendre de son appartenance à une distribution de logiciel particulière. Si le programme est extrait de cette distribution et utilisé ou distribué selon les termes de la licence du programme, toutes les parties auxquelles le programme est redistribué devraient bénéficier des mêmes droits que ceux concédés avec la distribution de logiciel d’origine.

  9. La licence ne doit pas restreindre d’autres logiciels : La licence ne doit pas imposer de restrictions à d’autres logiciels distribués avec le logiciel sous licence. Par exemple, la licence ne doit pas exiger que tous les autres programmes distribués sur le même support soient des logiciels à source ouverte.

  10. La licence doit être neutre sur le plan technologique : Aucune disposition de la licence ne peut être basée sur une technologie ou un style d’interface individuel.

4 - Open source vs logiciel libre

Il faut bien reconnaître qu’il existe une confusion entre le «logiciel libre» et l’«Open Source», même chez les développeurs. D’ailleurs, les logiciels répondant aux dix critères de l’OSI répondent aussi aux quatre libertés de la FSF (et réciproquement).

Pour autant, la FSF et l’OSI ont des visions très différentes : la FSF a une approche philosophique de la liberté, l’OSI une approche pragmatique basée sur les caractéristiques techniques et la liberté d’accès au fonctionnement.

À noter que seules certaines licences dont la GNU GPL garantissent la faculté dite de copyleft, c’est-à-dire le partage des modifications du code source sous la même licence que la version non-modifiée. Ces licences sont dites «contaminantes»

5 - Matériel et logiciel Open Source ?

logo OSHW

Le projet ERABLE est un projet technologique qui intègre des logiciels et surtout des matériels (équipements agricoles). La définition d’un matériel Open Source est donnée par l’OpenSource Hardware 3

Le Matériel Libre (OSHW - OpenSource Hardware) est un terme qui regroupe des produits tangibles — machines, appareils ou tous dispositifs physiques — dont les plans ont été rendus publics de telle manière que quiconque puisse les fabriquer, modifier, distribuer et les utiliser.

Stallman propose une approche similaire aux logiciels libres de la FSF 4 :

  1. Liberté 1 : La liberté d’utiliser le produit, pour tous les usages.
  2. Liberté 2 : La liberté d’étudier le fonctionnement du produit (ainsi que des parties logicielles), de réaliser des copies du produit, et de l’adapter à ses besoins. Les schémas de fonctionnement du produit, la liste des pièces, ainsi que le plan de montage doivent être disponibles. Les parties logicielles doivent aussi être libres.
  3. Liberté 3 : La liberté de réaliser et de redistribuer des copies du dit produit (ainsi que des parties logicielles), donc d’aider son prochain.
  4. Liberté 4 : La liberté d’améliorer le produit (ainsi que ses parties logicielles) et de publier ses améliorations, pour en faire profiter toute la communauté.

Il existe d’autres approches comme la licence CERN Open Hardware License

6 - Conclusion

Le projet ERABLE étant un projet d’exploitation agricole avec une prédominance technologique matériel et logiciel, avec aussi une approche de formation, j’ai choisi de le concevoir dans l’esprit «Open Source» tant sur les aspects matériel que logiciel

Ce choix est motivé par plusieurs raisons :

  1. Je m’inspire de nombreux travaux disponibles librement accessibles sur internet
  2. Une partie des développements informatiques utilisent des bibliothèques avec une licence GPL
  3. Le projet a aussi une approche formation. D’ailleurs, certains logiciels ont été utilisé avec une licence «education» ne permettant pas une exploitation commerciale.

En conclusion, les différents éléments technologiques du projet ( matériel et logiciel) seront mis à disposition sous licence GPL V3

Reférences