Présentation
EnglishAuteur(s)
-
Philippe AIGRAIN : Chef de secteur Technologies logicielles, Commission européenne, DG Société - de l’information, programme Technologies pour la société de l’information
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleINTRODUCTION
Les logiciels libres ne constituent pas une technique comme la program-mation objet, ils ne sont pas écrits dans un langage de programmation particulier ou destinés à une plate-forme spécifique. Ce qui les définit est d’une autre nature : leur licence d’utilisation institue un régime de propriété sociale collective, qui autorise chacun à accéder au code source, à l’utiliser comme il l’entend, à le modifier et à redistribuer le résultat de ces modifications. Par cette invention « juridique », les fondateurs des logiciels libres ont rendu possibles divers modèles de développement partagé des logiciels. Des réalisations de grande ampleur en ont résulté dans des domaines aussi divers que les systèmes d’exploitation, les interfaces graphiques, la technologie pour les médias, les logiciels embarqués ou le calcul en grappes et en grille. Des innovations spécifiques ont émergé ou ont été diffusées dans le cours de ce mouvement, qu’il s’agisse de supports au développement ou de fonctionnalités comme le partage de fichiers pair à pair. Le lecteur devra donc toujours garder à l’esprit qu’au-delà de telle ou telle réalisation remarquable (les logiciels supports d’Internet ou du Web, le système d’exploitation GNU/Linux et ses milliers d’applications, par exemple), c’est le mécanisme de création et de partage rendant possibles les logiciels libres qui mérite l’attention.
À l’heure actuelle, un grand débat se développe à l’échelle mondiale : les logiciels libres sont-ils un modèle général, ayant vocation à s’étendre au moins à l’ensemble des plates-formes et des applications génériques, ou une simple curiosité sociétale destinée à des groupes d’usagers passionnés ? Ce débat a des dimensions politiques, sociales, culturelles et économiques qui échappent à un ouvrage encyclopédique technique. Mais il a aussi une dimension proprement technique. En donnant au lecteur une compréhension générale des mécanismes, réalisations, atouts et difficultés techniques des logiciels libres, cet article de synthèse vise à permettre à chaque lecteur de se faire sa propre opinion, et d’utiliser au mieux les potentialités de ce domaine.
Le contenu de cet article doit beaucoup au groupe de travail européen sur les logiciels libres – en particulier en ce qui concerne le paragraphe 1 dont plusieurs extraits sont simplement traduits ou adaptés de son rapport [1] – et aux contacts de l'auteur avec les développeurs et usagers d’Europe et d’ailleurs. Ils ne peuvent être tous cités ici, mais l’article tout entier constitue un hommage à leur activité. Il y a aujourd’hui quelques centaines de milliers de développeurs de logiciels libres dans le monde, des dizaines de millions d’usagers conscients, et chacun de nous est usager à un titre ou un autre d’infrastructures et de normes qui n’existeraient pas sans les logiciels libres.
Les opinions exprimées dans ce texte sont celles de l’auteur et ne représentent pas nécessairement le point de vue officiel de la Commission européenne. L’auteur maintient également une version en ligne de ce texte sous la « GNU Free Documentation License », version destinée à être amendée, complétée et mise à jour.
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
4. Modèles, outils et services de développement
Ce paragraphe s’adresse au développeur de logiciels, qu’il soit débutant ou ingénieur confirmé, mais novice en matière de logiciels libres. Il vise à lui permettre de choisir et de faire ses premiers pas dans les outils fondamentaux. On ne traite pas ici des développements systèmes qui supposent une connaissance approfondie des mécanismes internes des systèmes d’exploitation : ce qui suit s’adresse avant tout aux développeurs d’applications destinées à des usagers finaux et comportant une interface graphique. Deux dimensions sont traitées : celle des outils de développement de logiciels proprement dits, et celle des outils propres au processus de développement distribué qui caractérise les logiciels libres.
4.1 Modèles de composants et environnements de développement
Le premier choix qui se présente pour un développeur est celui du niveau auquel se situer : va-t-on programmer directement au-dessus du serveur X, utiliser une boîte à outils d’interaction graphique comme Gtk+ ou Qt, ou se servir d’un environnement de développement comme GNOME ou KDE, voire d’outils de modélisation et de spécification comme ceux présentés paragraphe 4.3 ? Le choix est ici de privilégier le développement dans les environnements intégrés, d’autant plus que ceux-ci permettent au développeur de redescendre au niveau des primitives graphiques ou de la boîte à outils lorsque nécessaire. Le paragraphe 4.1.1 est consacré aux modèles de composants sous-jacents : le lecteur qui souhaiterait simplement découvrir comment démarrer aisément le développement d’une application autonome pourra se reporter directement au paragraphe 4.1.2.
Open.Office constitue également un environnement de développement, avec son propre modèle de composants (UNO), qu’on ne traite pas dans les limites de cet article.
GNOME et KDE, les deux bureaux / interfaces graphiques libres, ont avant tout été conçus comme environnements de développement d’applications. À l’origine, il existait des différences dans les licences, mais celles-ci...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Modèles, outils et services de développement
BIBLIOGRAPHIE
-
(1) - * - Dans le domaine des logiciels libres, le Web constitue l’instrument primaire de publication et de diffusion des résultats. De ce fait, la plupart des références bibliographiques sont données sous la forme de liens vers des documents en ligne. Inévitablement, certains de ces liens seront périmés au moment où le lecteur souhaitera y accéder. La recherche du document concerné au moyen d’un moteur de recherche devrait cependant lui permettre d’y accéder dans la plupart de ces cas.
-
(2) - Groupe de travail européen sur les logiciels libres - Free Software/Open Source : Opportunities for Europe - ? http://eu.conecta.it/paper.pdf Ce document fut publié sous licence OR Magazine License.
-
(3) - STALLMAN (R.) - Le projet GNU - http://www.fsf.org/gnu/thegnuproject.fr.html
-
(4) - Articles réunis à l’URL - http://www.fsf.org/philosophy
-
(5) - HAUBEN (M.) - History of ARPANET - (1994) http://www.dei.isep.ipp.pt/docs/arpa.html
-
...
DANS NOS BASES DOCUMENTAIRES
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive