Qu est ce qu un Développeur Debian? Comment le devient on?



Documents pareils
Créer son premier package.deb. 19 août

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

Référence du développeur Debian

Pourquoi et comment faire sa première contribution à Debian?

pythonocc: une plateforme de développement agile d applications CAO.

Environnement Informatique EMSE Linux

Slony1 2.1 Londiste 3

Logiciel Libre Cours 10 Debian

Titre: Version: Dernière modification: Auteur: Statut: Licence:

Supervision système et réseau avec Zabbix. Anne Facq Centre de Recherche Paul Pascal 17 avril 2008

Tutoriel compte-rendu Mission 1

Serveur Acronis Backup & Recovery 10 pour Linux. Update 5. Guide d'installation

Linux embarqué: une alternative à Windows CE?

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

Alexandre Buge Epitech 5 Promo Soutenance de stage du 01/03/2004 au 31/08/2004

Cedric Dumoulin (C) The Java EE 7 Tutorial

TD séance n 2c Mise à jour des Systèmes

ERESI : une plate-forme d'analyse binaire au niveau noyau. The ERESI team

Découverte des Logiciels Libres. Gilles Dequen

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

Forge. Présentation ( )

Gouvernance IT : par où commencer? Hubert Lalanne DE, Chief Architect for Industries IBM Software France

Solution de Collaboration synchrone

WEB page builder and server for SCADA applications usable from a WEB navigator

Modèles économiques de l'open Source

sshgate Patrick Guiran Chef de projet support

S10 - Automatisez la compilation et le déploiement de vos applications IBM i avec Arcad Pack for Rational

TP n 2 : Installation et administration du serveur ProFTP. Partie 1 : Fonctionnement du protocole FTP (pas plus de 15min)

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Zimbra. S I A T. T é l : ( ) F a x : ( )

TD/TP 1 Introduction au SDK d Android

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

StorageTek Tape Analytics

Installation de Vmware serveur Windows

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

RTDS G3. Emmanuel Gaudin

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

Acronis Backup & Recovery 10 Server for Linux. Guide de démarrage rapide

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

Manuel d installation pour la distribution Debian GNU/Linux

Logiciel Libre dans l'entreprise. BOUABID Mohamed Amine

Linux 1: Présentation

SunATM 4.0 Release Notes

Un business model d éditeur open source

FusionInventory. Guillaume Rousse Journées francophones de Perl 2011

Tutoriel code::blocks

Système de Gestion de Ressources

Parallels Transporter Lisez-moi

Travail collaboratif. Glossaire

LXC : Une technologie de contextualisation ultra light intégrée au kernel Linux

Installation de DocBook sur un système Linux

[ Rencontres Mondiales du Logiciel Libre 2011 Lundi 11 juillet 2011 ] Introduction à l'open Hardware Auteur : Dr Ir Robert Viseur

La Forge INRIA : bilan et perspectives. Hervé MATHIEU - 11 mai 2010

Projet de développement

Package Contents. System Requirements. Before You Begin

Génération de code binaire pour application multimedia : une approche au vol

Annexe : La Programmation Informatique

Guide d installation de SugarCRM Open Source version 4.5.1

Logiciels libres et sécurité

CA ARCserve Family of Solutions Pricing and Licensing

PRODUCTS LIST (updated 11th January 2010)

Chapitre 10 : Logiciels

Logiciels libres et Open source

Genèse de l'installation Alban Peignier

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

Joomla! Création et administration d'un site web - Version numérique

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

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

LISTE D OPTIONS DE LICENCE

Plan de la conférence. Virtualization. Définition. Historique. Technique. Abstraction matérielle

Votre premier projet Android

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

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Raspberry pi : Développer une petite application web sur Raspberry

1 Configuration des Fichiers Hosts, Hostname, Resolv.conf

Construction et sécurisation d'un système Linux embarqué. Frédéric AIME

Rationalisation et évolution des assets, licences et contrats informatiques. Philippe ASTIER Software Technical Professionals

CATALOGUE FORMATION. Product Lifecycle Management. Juin 2013

Une opportunité pour les entrepreneurs: le logiciel libre et open source. Daniel Morissette Mapgears Inc

SERVEUR DÉDIÉ DOCUMENTATION

Guide d installation de MySQL

Visualization sur Ubuntu: Quels Choix? Nicolas Barcet

Cahier des charges (CDC)

Serveur DNS et DHCP couplé à LDAP Debian GNU/Linux

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

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Systèmes informatiques

User Documentation. Documentation utilisateur. version 0.2b

Tom Pertsekos. Sécurité applicative Web : gare aux fraudes et aux pirates!

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Logiciel et format de fichiers

Serveur de sauvegarde à moindre coût

AMI Enterprise Intelligence Pré-requis techniques

Logitech Tablet Keyboard for Windows 8, Windows RT and Android 3.0+ Setup Guide Guide d installation

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

GUGGO 4 ème rencontre

OWASP Open Web Application Security Project. Jean-Marc Robert Génie logiciel et des TI

Transcription:

Qu est ce qu un Développeur Debian? Comment le devient on?

Présentation du speaker : Utilisateur de Debian depuis 2001 Impliqué depuis 2006 Aussi Ubuntu Developer Développeur de Scilab depuis 2006 Co-fondateur de Scilab Enterprises Community manager pour IRILL

C'est quoi une distribution (Linux ou autre)?

Dans le passé Deux acteurs : Upstream L'utilisateur La compilation était faite sur chaque machine par chaque utilisateur

Dans le passé 1) 2) 3) 4) 5) Téléchargement de l'archive Décompresser l'archive./configure make make install Pénible Dépendences de compilation non disponible Souvent des erreurs (symbol not found) Bug de compilation Ca ne passe pas à l'échelle (Debian = 3000 nouvelles versions par mois)

Maintenant

Grâce aux distributions Trois acteurs : Upstream La distribution L'utilisateur

Simplification de la gestion des logiciels Le travail de compilation est fait en amont par des packagers Offre un contexte d'installation et de configuration Le packager, «expert», sert d'interface avec upstream.

C'est quoi Debian?

Un logo super cool!

Distribution créée en 93 par Ian Murdock Objectifs : Rendre GNU/Linux compétitif face aux OS commerciaux

Ca, c'est fait!

Autres objectifs : Facile d'installation Construit de manière collaborative par des experts logiciels Conçu en respectant l'esprit GNU

Une des plus grande bibliothèque : 49 317 packages binaires Source packages Binary packages 30000 25000 20000 15000 10000 5000 0 2.0 2.1 2.2 3.0 3.1 4.0 5.0 6.0

Une release tous les ~24 mois Une douzaine d'architectures officielles : alpha, amd64, arm, armel, armhf, hppa, hurdi386, i386, ia64, kfreebsd-amd64, kfreebsdi386, m68k, mips, mipsel, powerpc, ppc64, s390, s390x, sh4, sparc, sparc64

Prochaine release : wheezy Probablement début de l'année 2013 Actuellement en freeze

Organisation du projet

Debian est une entitée indépendante : Pas d'employé Pas de contraintes liés à un supérieur ou d'intérêts supérieurs Décentralisé => Seule distribution majeure dans ce cas (Ubuntu, Fedora, OpenSuse,...)

Organisation du projet

Mélange de démocratie (DPL) et de doocratie (c'est celui qui fait qui décide)

Régi par trois documents principaux :

Le contrat social Debian restera un projet entièrement libre. Tous les nouveaux développements reviendront à la communauté. La transparence est un bien acquis. Les utilisateurs et le logiciel libre sont les priorités du projet. Exceptions aux principes du logiciel libre (ie : non-free) prévus pour répondre à tous les besoins

Debian Free Software Guidelines (DFSG) Free redistribution. Inclusion of source code. Allowing for modifications and derived works. Integrity of the author's source code (as a compromise). No discrimination against persons or groups. No discrimination against fields of endeavor, like commercial use. The license needs to apply to all to whom the program is redistributed. License must not be specific to Debian, basically a reiteration of the previous point. License must not contaminate other software. The GPL, BSD, and Artistic licenses are examples of licenses considered free.

Constitution Règles définissants les pouvoirs de chacun Responsabilités Rôles Décris les méthodes de vote (Concordet)...

Derivatives

Debian : Source de nombreuses derivatives ~ 140 distributions basées sur Debian Assurances en terme de qualité et de licence Système de base solide Enorme base de packages Un système universel, parfait pour les adaptations

Un exemple : Ubuntu Cible : le desktop Très populaire (beaucoup plus que Debian) Se synchronise après chaque release contre Debian (testing ou unstable) De nombreux DD sont aussi dev Ubuntu Nouveaux packages uploadés dans Debian avant Ubuntu

Des nouvelles problématiques

Debian Maintainer? Contributeur?

Projet ouvert et accessible à tous mais qui nécessite des compétences (et savoir RFTM)

Contributeur «lambda» Soumettre des bugs = contribuer! (surtout avec un patch associé) Command : reportbug

Contributeur «lambda» Traduction (site web, debconf, etc) Communication (DPN, etc)...

Quelques statistiques DD : 963 DD (no-upload) : 5 DM : 167

Web of trust? Signature GPG Clé signée par deux membres du projet Permet un correspondance entre l'identité Internet et réelle nécessaire

Debian Maintainer Donne un status officiel à des contributeurs débutants ou occasionnels Relativement facile et rapide à obtenir mais Ne peut uploader que sur les packages dont il a autorité

Debian Maintainer Doit passer par un DD pour un nouveau package N'a pas accès aux porterboxes Pas d'adresse mail @debian.org Pas de droit de vote

Debian Maintainer On devient DM sur recommandation d'un Debian Developer après avoir fait ses preuves

Devenir Processus : New Member (NM) http://nm.debian.org/

Devenir Avoir été DM précédement Besoin d'être recommandé officiellement par un DD

Devenir Vérifications sur le travail précédement réalisé dans Debian

Série de questions : Licences Organisationnelles => Philosophy and Procedures

Série de questions (suite) : Techniques Exercices => Tasks and Skills

Acceptation (ou refus) par l'application Manager (AM) Validation par le DAM Création des comptes => Bien joué, vous êtes DD!

En quoi consiste le travail de Debian Developer?

Packaging de nouvelles bibliothèques et programmes

Maintenance de ses packages : Nouvelles versions Correction de bugs (packaging ou upstream) Ajout de fonctionnalités (ex : options enablejupiler) Mise à jour des dépendances (transitions) Mise à jour du packages suite aux changements de la policy

Reprise de packages orphelins (RFA) $ wnpp-alert grep ^O O 487125 apt-rdepends -- Recursively lists package dependencies O 580680 enchant -- a wrapper library for various spell checkers O 636410 flip -- convert text file line endings between Unix and DOS formats O 479397 gutenprint -- printer drivers for CUPS O 543847 libcdaudio -- library for CDDA playback control O 555893 libdiscid -- Library for creating MusicBrainz DiscIDs O 674880 libgii -- General Input Interface runtime libraries O 509815 libiodbc2 -- iodbc Driver Manager O 628474 libofa -- Library for acoustic fingerprinting O 646655 libvisual -- Audio visualization framework O 641060 libvisual-plugins -- Audio visualization framework plugins O 658774 openhackware -- OpenFirmware emulator for PowerPC O 668201 php-elisp -- emacs support for php files O 358521 sgml-data -- common SGML and XML data O 666490 svgalib -- console SVGA display libraries O 674887 vbetool -- run real-mode video BIOS code to alter hardware state O 652225 zvbi -- Vertical Blanking Interval (VBI) utilities

Aider d'autres DM/DD (RFH) $ wnpp-alert grep ^RFH RFH 567955 apt-xapian-index -- maintenance tools for a Xapian index of Debian packages RFH 583826 chromium-browser -- Chromium browser RFH 660685 gnupg -- GNU privacy guard - a free PGP replacement RFH 248397 grub2 -- GRand Unified Bootloader RFH 679249 libburn -- library to provide CD/DVD writing functions RFH 534999 libcap2 -- support for getting/setting POSIX.1e capabilities RFH 678382 libept -- High-level library for managing Debian package information RFH 679254 libisofs -- library to create ISO9660 images RFH 419523 libreoffice -- office productivity suite RFH 527482 mtr -- Full screen ncurses and X11 traceroute tool RFH 354174 nas -- The Network Audio System RFH 512360 openldap -- OpenLDAP server, libraries, and utilities RFH 332498 openssl -- Secure Socket Layer (SSL) binary and related cryptographic tools RFH 664595 php5 -- server-side, HTML-embedded scripting language RFH 589632 ppp -- Point-to-Point Protocol (PPP) - daemon RFH 543541 quilt -- Tool to work with series of patches RFH 654116 screen -- terminal multiplexor with VT100/ANSI terminal emulation RFH 640976 serna-free -- Graphical XML editor RFH 676314 spamassassin -- seeking co-maintainers RFH 660687 xml-core -- XML infrastructure and XML catalog file support

Porter Debian sur de nouvelles architectures. Travaux récents sur s390x (ou raspberry, non officiel) Problématique intéressante de bootstrap

Intégrer des nouveaux kernels dans Debian Kfreebsd, HURD Travaux autour du kernel Illumos (anciennement OpenSolaris)

Travail sur l'assurance qualité (QA) Améliorer les outils de QA Améliorer les sites web Debian Rebuild de l'archive périodique (GRID 5000 ou Amazon EC2)...

Participer à la Release Team Travail sur la prochaine release Correction de bugs critiques Gestion des transitions...

Infrastructure Maintenir l'ensemble de la plateforme Porterbox Services du projet

Exemples de tâches dans Debian

Maintenance de Scilab et de ses dépendances Packages : atlas, blas, lapack, arpack-ng, flexdock, jgraphx, jogl{1,2}, etc... Bonne connaissance de leur fonctionnement et bugs Plus d'impact d'utiliser mon adresse @debian.org Profite des outils de QA de Debian Intéressant pour mon employeur

Un de mes toy projects Recompiler l'ensemble de Debian avec un nouveau compilateur C/C++/ObjC Gcc : compilateur principal (unique?) dans Debian Propose d'utiliser clang à la place (basé sur LLVM)

Mise en place d'une infrastructure parallèle

Mise à jour des build chains pour recompiler les packages avec un autre compilateur : /usr/bin/cc / /usr/bin/c++

Découplage de gcc dans Debian Discussion pour faire un objectif officiel du projet : Intégration dans la policy Debian En faire un release goal pour Jessie ou Jessie+1

Comment commencer?

Start small! Aider sur des packages RFA/RFH Corriger des bugs Proposer des nouveaux packages (mentor) Trouver un mentor dans le projet Et surtout : Don't panic! Ne pas complexer!

Pour celà Lire les docs S'inscrire sur des listes de diffusion Regarder comment Debian fonctionne (technique et social) Participer à des conférences Debian

Pub : mini debconf à Paris 24 et 25 novembre 2012 A l'epita Plus d'infos sur : http://wiki.debconf.org/wiki/miniconf-paris/2012 FOSDEM : Cross distro room Debconf 13 / Juillet 2013 : en Suisse

Questions? Remarques? Troll? (+1) Remerciement à Stefano Zacchiroli