L’open source et le logiciel libre sont des acteurs incontournables de la scène informatique moderne.
Mais que signifient réellement ces termes et quels sont les enjeux ?
Ce cours se propose de répondre à ces questions à travers un cours théorique illustré par des exemples réels et documentés ainsi qu’à travers une approche pratique encourageant les étudiants à contribuer à l’open source.
La philosophie de l’open-source est aujourd’hui indispensable à comprendre pour tout professionnel qui souhaite être acteur dans le domaine de l’informatique mais elle a également eu une influence importante sur certains mouvements de société.
En ce sens, ce cours se veut à la fois fonctionnel pour le futur ingénieur mais également une ouverture intellectuelle pour le citoyen.
L’approche théorique abordera les domaines suivants :
- Histoire de l’Open Source, du logiciel libre, GNU et les grands projets open source marquants.
- Aspects légaux de l’open source : les licences.
- Aspects politiques de l’utilisation de logiciels open source. Exemple de la ville de Munich et du projet Limux.
- Aspects de gouvernance communautaire : comment contribuer, gérer et faire vivre un projet open source ? Comment gérer une communauté et ses conflits ? Qui décide du code, des releases, de la documentation ? Exemples du projet GNOME et du noyau Linux. Outils de communication Open Source.
- Aspects économiques : les différents business model de l’open source. Les succès et les échecs. Exemples historiques de Red Hat, Ubuntu et Mandriva. Exploration des nouveaux modèles avec OpenCollective
- Aspects technico-politiques de l’open source 1 : la sécurité, le respect de la vie privée.
- Aspects technico-politiques de l’open source 2 : l’interopérabilité et les formats ouverts.
- L’open source à l’heure du web : les défis, la licence AGPL. Exemple des projets React et AngularJS
- Open Source et décentralisation. Exemples des projets XMPP, Diaspora, Mastodon et Bitcoin. Introduction à la blockchain.
- Étude de cas 1 : Recommander une solution open source au sein d’une entreprise. Notion du Total Cost of Ownership.
- Étude de cas 2 : Utiliser de l’open source en coopération avec du logiciel propriétaire : les différents scénarios. Exemple d’Android.
- Étude de cas 3 : open sourcer une application propriétaire existante. Exemple de Mozilla.
Comme travail pratique, les étudiants devront réaliser tout au long du cours un rapport analysant un projet open source de leur choix. En sus de cette analyse, ils seront invités à apporter une contribution au projet, même simple ou non-technique, et à décrire le processus de cette contribution.
Lionel Dricot, chargé de cours
Mieux connu en ligne sous le pseudonyme de Ploum, Lionel Dricot est ingénieur civil en informatique de l’EPL, promotion 2006. Passionné par l’open source depuis 2002, il a notamment contribué aux projets Ubuntu, GNOME et LibreOffice. Au cours de sa carrière, il a créé le logiciel libre Getting Things GNOME, été consultant open source professionnel dans les entreprises, les administrations et a porté des projets liés à l’open source au sein de différentes industries (télécom, secteur automobile, services web).