IFT3902 : (Gestion de projet pour le) développement, (et la) maintenance des logiciels



Documents pareils
Linux 1: Présentation

Découverte des Logiciels Libres. Gilles Dequen

Modèles économiques de l'open Source

Systèmes en réseau : Linux 1ère partie : Introduction

Logiciels libres et Open source

La montée des bases de données open source

Jean-Christophe BECQUET

Diffusion AFRISTAT. Quels droits accorder aux utilisateurs? - sur les données - sur les documents numériques

Introduction aux Logiciels libres

Jean-Christophe BECQUET

Debian en milieu professionnel. This document is under the GNU Free Documentation License.

Les Licences Libres Ouverture et Protection des Logiciels. Plan

CMS et logiciels libres : initiation 01 CONTENT MANAGEMENT SYSTEM / SYSTÈME DE GESTION DE CONTENU

Méthodes et outils employés pour développer des logiciels libres

Le logiciel libre. Jeudi 19 janvier Rémi Boulle Sébastien Dinot

Les logiciels libres. Université Antilles Guyane 14 novembre 2008 Olivier Watté

LOCAL TRUST Charte Open-Source

Guide d installation de SugarCRM Open Source version 4.5.1

Logiciels libres en entreprise

SUGARCRM Sugar Open Source Guide d Installation de French SugarCRM Open Source Version 4.2

Envol2008. Licences, logiciels libres et administration. Thierry Aimé ministère de l Économie, de l Industrie et de l Emploi

ANALYSE. Licences Open Source 11/01/2007 AJILON IT. A n a l y s e. Auteur : Damien Cuvillier Date : 11/01/2007 Version : 1 Ref : OS

Quick Start Guide This guide is intended to get you started with Rational ClearCase or Rational ClearCase MultiSite.

Forum Poitou-Charentes du Logiciel Libre

Plan global Outils de développement et compilation. Ce que l on veut éviter. Plan. Git : gestion de code source et versionnement.

Logiciel libre, utilisateurs libres, militants libres...

Les logiciels OpenSource pour l'entreprise

Logiciel Libre Cours 9 Modèles Économiques

Stratégie de sécurité grâce au logiciel libre. Frédéric Raynal Cédric Blancher

Logiciel libre. un bien commun à développer et protéger

Logiciel libre - Open source, Philosophie, opportunité, alternative, risque

IFT3902 : (Gestion de projet pour le) développement, (et la) maintenance des logiciels

ATICA Agence pour les Technologies de l Information et de la Communication dans l Administration

Logiciels libres: Des applications métiers mutualisées pour les collectivités. Les Rencontres LandesPublic

Les Fiches thématiques logiciels libres. Définition, avantages et limites

Environnement Informatique EMSE Linux

Stratégie informatique

L analyse stratégique : un outil pour les communautés libres

IFT3902 : (Gestion de projet pour le) développement, (et la) maintenance des logiciels

WordPress : principes et fonctionnement

Introduction à. Livre blanc. l Open Source. et au logiciel libre

Fiche 132 : La dynamique open source

< <

[1] PRÉAMBULE. [1.1] Smile. Comprendre l'open source et les logiciels libres. Page 2

Forge. Présentation ( )

Systèmes de gestion de code source

Mettez Linux en boîte avec ClearOS

Guide pratique de CSPM, l'outil de suivi des performances du système Version française du Complete System Performance Monitor HOWTO

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

DOCUMENTATION - FRANCAIS... 2

À la découverte. «Une alternative durable en informatique» Présenté par : Eric Leduc eleduc@leducdubleuet.biz

Les Portfolios et Moodle Petit inventaire

Cahier des charges (CDC)

en SCÈNE RATIONAL Rational Démonstration SDP : automatisation de la chaîne de développement Samira BATAOUCHE sbataouche@fr.ibm.com

Serveur Subversion Debian GNU/Linux

Installation et prise en main d UBUNTU

Les enjeux juridiques pour une gouvernance ouverte aux logiciels libres

WEBISO Internet & Intranet workflow

Web & Libre. Outils pour être présent sur le net librement

GUIDE D APPROCHE ET D ANALYSE DES LICENCES DE LOGICIELS LIBRES

lundi 3 août 2009 Choose your language What is Document Connection for Mac? Communautés Numériques L informatique à la portée du Grand Public

IFT6251 : Sujets spéciaux en génie logiciel

Projet de développement

Environnements et Outils de Développement Cours 1 Introduction

Manuel du Desktop Sharing

Les nouveaux modèles économiques des solutions de Business Intelligence Open Source

Enhancing cybersecurity in LDCs thru multi-stakeholder networking and free software

Tutoriel de formation SurveyMonkey

Méthode d Évaluation des Coûts liés à l Open Source (ECOS)

Introduction à Linux

ORDINATEUR DOSSIERS FICHIERS

Les Réunions Info Tonic. Utiliser les logiciels libres dans mon entreprise Mardi 21 janvier 2014

Environnements de développement (intégrés)

A5.2.4 Étude d une technologie, d'un composant, d'un outil

Maîtrisez l'administration du système [2ième édition]

DOCUMENTATION - FRANCAIS... 2

2 mars HERS Libramont - Semaine Entreprise. Logiciel Libre et entreprise: un vaste catalogue de services

Version 1.13 du 18/03/06 Page 1/14

Cours sur les Logiciels Libres (LL) Master 2 Professionnel Mention Informatique

Atelier Progress Rollbase

DSL. Domain Specific Language. À l'aide des technologies Eclipse Modeling. Goulwen Le Fur Le 23 novembre 2012

Outils de développement collaboratif

Web Application Firewalls (WAF)

Utilisation de logiciels Libres/Open Source pour la réalisation d'une application de gestion

Logiciel et format de fichiers

Alfresco et TYPO3 Présenté par Yannick Pavard dans le cadre des rencontres WebEducation Février 2008

Calcul Scientifique avec 3

affichage en français Nom de l'employeur *: Lions Village of Greater Edmonton Society

Espace de travail collaboratif

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Intégration de l interface graphique de Ptidej dans Eclipse

Restoring people s trust in their government by making governments more open and transparent

Transcription:

IFT3902 : (Gestion de projet pour le) développement, (et la) maintenance des logiciels Yann-Gaël Guéhéneuc Professeur adjoint guehene@iro.umontreal.ca, local 2345 Département d informatique et de recherche opérationnelle Université de Montréal Yann-Gaël Guéhéneuc 2007

Les logiciels libres 1. Définitions 2. Naissance 3. Gestion de projet 4. Avantages / inconvénients 5. Pour approfondir 2/44

1. Définitions (1/8) Free software : logiciel libre Richard Stallman 1975 : Emacs au MIT AI Lab. 1984 : commencement «officiel» du projet GNU avec Bison (cf. Yacc) 1985 : création de la Free Software Foundation + licence GNU GPL 1990 : bibliothèque C et interpréteur Bash 1996 : première version du noyau Hurd 3/44

1. Définitions (2/8) Free software : logiciel libre Liberté d'exécuter le programme, pour tous les usages (liberté 0) Liberté d'étudier le fonctionnement du programme, et de l'adapter (liberté 1) Liberté de redistribuer des copies, donc d'aider votre voisin (liberté 2) Liberté d'améliorer le programme et de publier vos améliorations, pour en faire profiter toute la communauté (liberté 3) Humanisme (et Trois Lois de la Robotique ) 4/44

1. Définitions (3/8) Open source software : logiciel avec code source ouvert Eric Raymond Deuxième génération de hackers 1980 : projet Xanadu (hypertexte) 1991 : presque co-inventeur du WWW + New Hacker s Dictionary aux MIT Press 1997 : «La cathédrale et le bazar» 1998 : idée de code source ouvert 5/44

1. Définitions (4/8) Open source software : logiciel avec code source ouvert Redistribution libre Distribution de licence Code source Travaux dérivés Intégrité du code source de l auteur originel Pas de discrimination contre des personnes ou des groupes de personnes Pas de discrimination contres des champs d activités Licence non spécifique à un produit Licence ne doit pas restreindre d autres logiciels Licence doit être technologiquement neutre Pragmatisme 6/44

1. Définitions (5/8) En clair Un logiciel «libre» Est disponible «gratuitement» depuis au moins une source de diffusion (d autres sources peuvent être payantes) Peut être utilisé pour des développements commerciaux ou sans but lucratif, même par ceux n ayant pas payé (il peut y avoir des restrictions) Peut être obtenu sous forme de code source 7/44

1. Définitions (6/8) Philosophies Proprietary software is legal but illegitimate and immoral. Manufacturing and using proprietary software causes a lot of unhappy social and psychological side-effects. The knowledge that a software cannot be shared causes people to become reluctant to sharing, which is a natural and good part of living in a human society. The inability of people to modify software for their own needs, makes them feel helpless, and at the mercy of external software Proprietary software is not illegitimate, just problematic from the economic sense. Open Source software gives many advantages to the end-users and is a generally a good thing. Copyleft licenses are important in making sure certain software is not abused. It is not immoral to use proprietary software, it's just risky. Using or producing software that is not 100% open-source but pretty close can be a good idea, depending on its license and the general attitude of its developers 8/44

1. Définitions (7/8) Philosophies appliquées Licence sous gauche d auteurs (copyleft) GPL Pas de dérivés privés sauf pour l auteur Stratégie de marque (branding) Licence «ouverte» Apache, BSD Possibilité d ajouter des innovations et de les vendre en plus du projet Renommée, qualité, consistance 9/44

1. Définitions (8/8) Voir www.fsf.org/philosophy/categories.html 10/44

Les logiciels libres 1. Définitions 2. Naissance 3. Gestion de projets libres 4. Avantages / inconvénients 5. Pour approfondir 11/44

2. Naissance (1/2) Les logiciels libres / à code source ouvert implantent (souvent) des normes ouvertes Norme Posix Linux Norme TCP/IP Internet (logiciels BSD) Norme HTML Web Norme J2EE JBoss Norme BitTorrent Azureus 12/44

2. Naissance (2/2) Norme ouverte Documentation Implantation de référence Tests unitaires 13/44

Les logiciels libres 1. Définitions 2. Naissance 3. Gestion de projets libres 4. Avantages / inconvénients 5. Pour approfondir 14/44

3. Gestion de projet (1/20) Pas de processus de développement «formalisé» Structure externe toujours par projet Structure interne peut être contrôle centralisé, décentralisé, egoless programming team 15/44

3. Gestion de projet (2/20) Emacs (www.gnu.org/software/emacs/) Depuis 1975! Télécharger le code source Écrire une «rustine» Soumettre à bug-gnu-emacs@gnu.org 16/44

3. Gestion de projet (3/20) Emacs (www.gnu.org/software/emacs/) Revue par quelqu un? Incorporée? Le développement se fait de manière assez anarchique 17/44

3. Gestion de projet (4/20) XEmacs (www.xemacs.org) Télécharger le code source Écrire une «rustine» Soumettre à xemacs-patches@xemacs.org Revue par les membres du conseil 18/44

3. Gestion de projet (5/20) XEmacs (www.xemacs.org) Chaque membre du conseil connaît un domaine précis (?) Support Cygwin Mule Et a accès seulement à son domaine 19/44

3. Gestion de projet (6/20) Linux (www.tux.org, vger.kernel.org) Télécharger le code source Écrire une «rustine» Soumettre à linux-kernel@vger.kernel.org (ou autre liste de diffusion) Revue par les lieutenants de Linus Torvald Envoyé à Linus Torvald qui centralise l application des rustines 20/44

3. Gestion de projet (7/20) Linux (www.tux.org, vger.kernel.org) Linus Torvald semble déléguer le contrôle de plus en plus à ses lieutenants 21/44

3. Gestion de projet (8/20) Eclipse (www.eclipse.org) Télécharger le code source Écrire une «rustine» Attacher la «rustine» au bogue associé dans Bugzilla 22/44

23/44 3. Gestion de projets libres (9/20) Eclipse (www.eclipse.org)

3. Gestion de projet (10/20) Eclipse (www.eclipse.org) Envoyer la «rustine» à l équipe concernée et signer un décharge Revue par les développeurs concernés Au bout d un certain temps (et du nombre de rustines et de leur qualité), un contributeur peut devenir comitter Le contributeur n est pas obligé de maintenir son code 24/44

3. Gestion de projet (11/20) Eclipse (www.eclipse.org) Une certaine tendance dans les projets à code source ouvert «entreprise» Une entreprise réalise le noyau L entreprise gère l addition des rustines des contributeurs Certains contributeurs peuvent contribuer directement (au mérite) 25/44

3. Gestion de projet (12/20) Mozilla (www.mozilla.org/hacking/life-cycle.html) Télécharger le code source Compiler le code source Suivre les conventions de programmation Règles de style Règles de portabilité Écrire une «rustine» Attacher la «rustine» à un (au) bogue (associé) dans Bugzilla 26/44

3. Gestion de projet (13/20) Mozilla (www.mozilla.org/hacking/life-cycle.html) Révision par le propriétaire du module réparé (ou ses collègues) Super-révision par un groupe de développeurs «acharnés» <module owner>@<address>.<domain> reviewers@mozilla.org staff@mozilla.org 27/44

3. Gestion de projet (14/20) Mozilla (www.mozilla.org/roadmap.html) Carte routière (au 08/11/04) 28/44

3. Gestion de projet (15/20) Mozilla (www.mozilla.org/contribute/ hacking/first-bug/) Prendre en main le code source Écrire des rustines Simplifier le code Minimiser la taille du code 29/44

3. Gestion de projet (16/20) Mozilla (www.mozilla.org/tools.html) CVS : gestion du code source LXR : navigation dans le code source Bonsai : contrôle de l arbre CVS Tinderbox : contrôle des «builds» Bugzilla : contrôle des bogues Doctor : édition des pages Web 30/44

3. Gestion de projet (17/20) Mozilla (www.mozilla.org/projects/marketing/) Équipe pour l identité visuelle de Mozilla Lettre de nouvelles Documentation de Mozilla Les champions de Mozilla (comme au temps des gladiateurs) Par exemple : Firefox (www.spreadfirefox.com)! 31/44

3. Gestion de projet (18/20) SourceForge (www.sourceforge.net) Référentiel de projets libres Techniques pour développer les projets Pages Web Listes de diffusion Suivi des bogues CVS 32/44

3. Gestion de projet (19/20) SourceForge (www.sourceforge.net) L administrateur de chaque projet contrôle Les permissions des développeurs pour Le suivi des bogues Les forums de discussion Le gestionnaire des tâches Tous les développeurs ont accès au serveur CVS L administrateur de chaque projet peut demander des dons! 33/44

34/44 3. Gestion de projets libres (20/20) SourceForge : le projet Azureus

Les logiciels libres 1. Définitions 2. Naissance 3. Gestion de projets libres 4. Avantages / inconvénients 5. Pour approfondir 35/44

4. Avantages/inconvénients (1/5) Qualité La qualité des projets libres a été jugée comparable à celle de projets propriétaires Les bogues peuvent être corriger plus rapidement Mais tout le monde est un «client» du code même son développeur originel! 36/44

4. Avantages/inconvénients (2/5) Financement «Gratuit»? Mécènes, millionnaires Donation Temps libre Financé par les impôts Universités Voir www.apostate.com/programming/bm-freesoftware.html 37/44

4. Avantages/inconvénients (3/5) Financement Fonds privés Entreprises Sponsorisé par les impôts, par le privé Universités, entreprises Le système GNU de Richard Stallman Voir www.apostate.com/programming/bm-freesoftware.html 38/44

4. Avantages/inconvénients (4/5) Retombées économiques L argent vient de la valeur ajoutée au code Mise en boîte Documentation Soutient aux usagers Formation 39/44

4. Avantages/inconvénients (5/5) Retombées politiques Microsoft «contre» le Péru http://www.theregister.co.uk/2002/05/19/ ms_in_peruvian_opensource_nightmare/ Une loi pour garantir L accès libre aux informations par les citoyens La permanence des données publiques La sécurité de l état et des citoyens Une loi obligeant l état à utiliser des logiciels libres / à code source ouvert 40/44

Les logiciels libres 1. Définitions 2. Naissance 3. Gestion de projets libres 4. Avantages / inconvénients 5. Pour approfondir 41/44

5. Pour approfondir (1/3) Sur Linux Glyn Moody ; Rebel Code: Linux and the Open Source Revolution ; Perseus Publishing, January 23, 2001 www.cs.helsinki.fi/linux/linuxkernel/2002-13/0063.html Sur les listes de diffusion www.catb.org/%7eesr/faqs/smartquestions.html 42/44

5. Pour approfondir (2/3) Sur le développement de Linux catb.org/~esr/writings/cathedral-bazaar/ Sur le financement www.apostate.com/programming/bmfreesoftware.html www.advogato.org/article/94.html Sur les retombées financières www.theopenenterprise.com/story/toe2002100 8S0002 43/44

5. Pour approfondir (3/3) Sur la qualité www.germane-software.com/~ser/files/ Essays/FreeCommercial.html www.internetnews.com/dev-news/ article.php/2230481 mysite.fh-coburg.de/~wielandt/ossie03/ ossie03-seidelniedermeier.pdf Sur les retombées politiques www.opensource.org/docs/peru_and_ms.php 44/44