Découverte des Logiciels Libres
Transcription
Découverte des Logiciels Libres
Découverte des Logiciels Libres Gilles Dequen 2009-2010 [email protected] Découverte des Logiciels Libres ● 10 Séances de 3h00 [14h00-17h15] ● 4, 11, 25 février ● 4, 18, 25 mars ● 1, 22, 29 avril ● 6 mai ● Salle D01 de l'UFR des Sciences ● Machine personnelle conseillée Découverte des Logiciels Libres ● ● Thèmes ● Système, Internet, Bureautique, Multimédia ● Spécifique Évaluation (à titre indicatif) ● ● ● Une veille technologique Création d'une page de documentation en ligne sur un ou plusieurs logiciels ou sur un thème particulier Note finale – – Pertinence de la page Présentation orale Découverte des Logiciels Libres ● Me fournir ● Nom, Prénom, e-mail (que vous consultez) ● Votre provenance, le nom du responsable d'année ● Si vous avez une machine personnelle – – Type : PC (bureau, portable, netbook), MAC OS : Linux, Mac OS X, Windows, ... ● Ce que vous attendez ou espérez du module ● Tous les logiciels que vous utilisez au quotidien – ● Internet, bureautique, multimédia, jeux, etc. Ce que vous souhaitez étudier Qu'est-ce qu'un logiciel ? ● ● ● Nécessité d'un Hardware Ensemble d'ordres compréhensibles par un Hardware décrivant une tâche ou une fonction à réaliser Ensemble de données permettant sa mise en œuvre ● Les images d'un jeu, les cartes d'un GPS, le carnet d'adresses d'un téléphone portable Création de l'esprit humain Qu'est-ce qu'un logiciel ? ● Qu'est-ce qu'un ordre ? ● Ce que comprend le hardware (une instruction) – ● Ce que comprend l'humain – ● Un langage, le Code ou le Source Langage commun à l'humain et à la machine – ● Appelé Code Machine ou Exécutable ou Binaire Langage d'assemblage (moyennant l'assembleur) Interfaçage – interpréteur ou compilateur Qu'est-ce qu'un logiciel ? ● Comment naît un logiciel ? ● Dépendant de la « taille » du logiciel – ● Seul – ● Taille : Nombre de fonctionnalités, Complexité du traitement, Volume du code « petits » logiciels À plusieurs – – Impose une gestion fine du versionning et de la coordination des équipes de développement N'interdit pas les préceptes du Bazar Qu'est-ce qu'un logiciel ? ● Comment naît un logiciel ? (suite) ● Vision Cathédrale – – – Propriétaire et commerciale Hiérarchisation du développement Diffusion rare ● ● D'une version stable à l'autre Vision Bazar – – – Libre « Anarchie » Diffusion fréquente et massive ● Stabilisation « naturelle » Qu'est-ce qu'un logiciel libre ? ● ● Un Logiciel Libre est un logiciel où la notion de propriété disparaît pour son auteur au profit de la notion de liberté pour l'utilisateur. Liberté ? ● Utiliser, étudier, distribuer, améliorer Logiciels Libres : Historique ● Courant de pensée originel de la naissance de l'informatique (années 60) ● Forte dépendance entre « hard » et « soft » – ● Absence totale de la notion de « Compatibilité » Nécessité de fournir le « source » pour l'adapter aux besoin des entreprises Tous les logiciels étaient « libres » Logiciels Libres : Historique ● ● ● 1970 ● Naissance de l'industrie du logiciel ● AT&T s'approprie UNIX (Fermeture du code) 1980 : Disparition des logiciels libres 198* : Naissance de MS-DOS, IBM PC, Compatible PC, intel 8086, ... ● 1983 : Naissance de la FSF « Free Software Foundation » ● 1989 : Création de la GPL « General Public License » Logiciels Libres : Historique ● Free Software Foundation ● Richard Stallman ● Création du projet GNU « GNU's Not Unix » – ● But : Création d'un système d'exploitation « libre » 1990 ● ● GNU propose l'ensemble des outils « UNIX » sous une forme libre sauf le noyau (KERNEL) TCP/IP fait partit de ces outils – Repose sur des principes non propriétaires Logiciels Libres : Historique ● 1990 (suite) ● ● Linus Torvalds développe un noyau nommé « Linux » à l'aide des outils proposés par le projet GNU Ce noyau est diffusé massivement et fréquemment sur le réseau Internet – – Liberté d'accès au Code + Diffusion massive Les préceptes du Bazar sont vérifiés et GNU/Linux voit rapidement le jour Logiciels Libres : Historique ● Existence d'un OS « libre » implique ● ● Développement de logiciels libres fonctionnant sous cet OS Apparition des distributions « commerciales » – – ● RedHat, Fedora, Slackware, Knoppix, MEPIS, Ubuntu, Suse, Mandrake, Mandriva, Gentoo, Debian « Commerciales » – Est-ce compatible avec la liberté ? NON ● – On ne peut conditionner l'exécution de ses libertés – Conclusion : pas besoin de demander, ni de payer. Sauf pour le support, la reproduction et la distribution Operating System (OS) ● ● Le système d'exploitation Un logiciel « à part » et commun à tout système informatique ● Liaison entre le « software » et le « hardware » – – – – – – Gestion des fichiers Protocole Réseau Affichage graphique Clavier Souris Système d'Impression, ... Operating System : Unix ● Créé en 1969 ● Multi-Tâches, Multi-Utilisateurs, Multi-Threads ● Normé POSIX ● GNU/Linux, Mac OS X, BSD ● Contribue à la naissance d'Internet (DARPA) ● ● Licence permissive du protocole TCP/IP Existe sous toutes formes de licences Operating System: Windows ● Microsoft ● Né de DOS (MS-DOS) ● Créé au début des années 1990 ● A venir : Windows 7 Operating System: Autres ● ReactOS ● ● ZetaOS ● ● OS multimédia, Anciennement BeOS FreeDOS ● ● Projet libre d'OS compatible Windows Projet libre compatible MS-DOS TinyOS ● OS temps réel très peu gourmand en ressources ● Destiné à des réseaux de capteurs Operating System: Autres ● ● ● SymbianOS ● OS libre pour téléphone portable ● Appartient à Nokia PalmOS ● OS propriétaire embarqué ● Utilisé par Sony, Palm, Garmin, ... iPhone OS ● OS propriétaire dérivé de Mac OS X ● iPod et iPhone Licences ● Aussi nommé « Copyright » ● Pour les logiciels ● ● Même traitement que pour les œuvres telles que musiques, films, écrits Exemple – – La propriété d'un DVD n'inclut pas la propriété intellectuelle de l'œuvre qu'il contient Conséquence : Interdiction de reproduire ou diffuser (même partiellement) cette œuvre Logiciels « Propriétaires » ● Vision « Propriétaire » ● ● Cession des droits d'utilisation Contrat de Licence ● ● En anglais: EULA « End User Licence Agreement » Lie l'utilisateur et le détenteur du copyright (l'éditeur) – ● Limitation du nombre d'installations et d'utilisateurs Justification ● Coût de développement élevé, coût de reproduction faible Logiciels « Propriétaires » ● Comment agréer un Copyright ● « shrink-wrap licences » – ● « click-through licences » – ● défilement du contrat de licence avant l'installation et clic vaut acceptation et signature du contrat Vous avez le droit ● ● Déballer la boite vaut signature d'utiliser le logiciel suivant les termes du contrat Vous n'avez pas le droit ● de le copier, de le diffuser, de le modifier (inclus le « rétroengineering) » Logiciels « Propriétaires » ● Caractéristiques du modèle propriétaire ● ● Volonté commerciale Préservation de la « concurrence » en ne divulguant pas ses « secrets » (i.e. le source) Conséquences : Ralentissement des « progrès » Mises à jour laissées à la discrétion de l'auteur – ● Fonctionnalités supplémentaires – Correction des « bogues » Pas de possibilité d'adaptation aux besoins de l'utilisateur – ● ● Difficulté d'intégration et d'inter-opérabilité – imposée par les « formats propriétaires » Logiciels « Libre » ● Utilisation ● ● Étudier, Améliorer ● ● ● On doit pouvoir utiliser sans condition le logiciel Principales Caractéristiques Pour pouvoir étudier, il faut nécessairement avoir un accès au Code. Le Source n'est donc pas fermé Distribuer ● On peut sans condition faire bénéficier la communauté de son travail et quelque soit sa forme (i.e. Source ou Binaire) Logiciels « Libre » ● ● Ne signifie pas ● « Absence de Licence » ● « Cession des droits » Signifie plutôt ● ● ● « Je m'engage à ne pas exercer mes droits » Induit la notion de la « gauche d'auteur » ou « Copyleft » (non obligatoire) IMPORTANT ● Il y a non révocation possible de ces droits Logiciels « Libre » ● Le « Non Copyleft » ● ● ● On peut exercer tous ses droits sur le logiciel On a le droit d'en révoquer tout ou partie en cas de modification L'utilisation de la GPL induit nécessairement que le logiciel est copyleft Logiciels Libres ● Une activité commerciale ? ● Contribution à l'amélioration de l'offre « logiciel » ● Activité de support monnayée – – – – Expertise Formation Documentation Dépannage Logiciels Libres ● IBM est-elle une entreprise philanthrope ? ● ● Fortement impliquée dans le développement des logiciels libres (GNU/Linux) 2001 – ● Investissement de $1,000,000,000 dans le développement de GNU/Linux Positionnement sur le marché des « superordinateurs » Logiciels « Autres » ● « Semi Libre » ● Autorise les libertés fondamentales – ● ● Accès total ou partiel au source Dans un but non lucratif « FreeWare » (« Gratuiciel ») ● Liberté de distribuer ● Interdiction de modifier – Pas d'accès au source Logiciels « Autres » ● « Shareware » (« Partagiciel ») ● ● ● ● Accès limité dans le temps ou dans les fonctionnalités Conditionné par un paiement pour avoir un accès total Rarement accès au source Racketiciel ● ● Vente subordonnée d'un logiciel ou d'un service avec un hardware Exemple : Apple iPhone + Orange, PC + Windows Licences ● GPL « General Public License » ● ● LGPL « Lesser General Public License » ● ● ● ● Licence libre copyleft de référence GPL non gauche d'auteur autorisant l'intégration de portion de code non libre En bref : liberté partielle la GFDL, pour « GNU Free Documentation License » Apache licence ● Compatible GPL Licences ● « CeCILL » (CEA CNRS INRIA Logiciel Libre) ● « ** BSD License » ● ● « FreeBSD License » ● ● Licence Libre GPL comportant une clause autorisant le brevetage de tout ou partie des algorithmes utilisés dans le logiciel Licence compatible GPL sans gauche d'auteur Ms-PL « Microsoft Public License » ● Licence Compatible GPL (idem Apache) Licences ● « Xfree86 License » (ex « X11 license ») ● ● GPL sans gauche d'auteur « Apple Public Source License » ● Licence « logiciel libre », pas de gauche d'auteur ● Non compatible GPL – ● Autorise les liens avec des fichiers « propriétaires » Domaine Public ● Pas de droit d'auteur, équivalent à une licence permissive de type « logiciel libre » – Attention : Pas de gauche d'auteur Licences Foire aux Questions ● Est-ce qu'un logiciel propriétaire est plus « secure » qu'un logiciel libre ? ● Grâce à la sécurité induite par la non diffusion du code – – Peut-être sur des projets de petite envergure Certainement pas sur les logiciels de grande taille selon les cryptologues. ● ● L'accès au source permet la mise en évidence des failles de sécurité exploitables par les pirates Exemple : tous les algorithmes de cryptographie sont « ouverts »