Comment travailler avec les logiciels Open Source

Embed Size (px)

Citation preview

Confrence / Dbat

Comment travailler avec les logiciels Open Source

C. Charreyre

Licence

Paternit-Pas d'Utilisation Commerciale-Partage des Conditions Initiales l'Identique 2.0 France

Vous tes libres :

de reproduire, distribuer et communiquer cette cration au public

de modifier cette cration

Selon les conditions suivantes :

Paternit. Vous devez citer le nom de l'auteur original de la manire indique par l'auteur de l'oeuvre ou le titulaire des droits qui vous confre cette autorisation (mais pas d'une manire qui suggrerait qu'ils vous soutiennent ou approuvent votre utilisation de l'oeuvre).

Pas d'Utilisation Commerciale. Vous n'avez pas le droit d'utiliser cette cration des fins commerciales.

Partage des Conditions Initiales l'Identique. Si vous modifiez, transformez ou adaptez cette cration, vous n'avez le droit de distribuer la cration qui en rsulte que sous un contrat identique celui-ci.

A chaque rutilisation ou distribution de cette cration, vous devez faire apparatre clairement au public les conditions contractuelles de sa mise disposition. La meilleure manire de les indiquer est un lien vers cette page web.

Chacune de ces conditions peut tre leve si vous obtenez l'autorisation du titulaire des droits sur cette oeuvre.

Rien dans ce contrat ne diminue ou ne restreint le droit moral de l'auteur ou des auteurs.

CIO Informatique Industrielle

Socit d'ingnierie en informatique industrielle et technique

Au service de nos clients depuis 1990

Une quipe de spcialistes pour accompagner les projets industriels ou militaires

La culture des systmes ouverts et normaliss, l'expertise de l'embarqu et du temps rel

Investissement sur Linux depuis 2000
Centre de Comptences cr fin 2001

Sige St Etienne, agence Marseille

Membre de Libertis, association de SSLL en PACA

http://www.libertis.org

Aspects techniques

Des caractristiques sduisantes pour les besoins industriels, embarqu et temps rel :

Possibilit de dveloppement crois

Adaptation de l'OS pour devices rduits

Solutions pour prise en compte de contraintes temps rel

Trs grand nombre d'architectures supportes

Linux disponible sur les 5 architectures les plus utilises

Processeur utilis dans les applications embarques

(Embedded Linux Market Survey 2007 LinuxDevices.com)

Aspects techniques

Une plateforme technique arrive maturit

Pour l'embarqu

Support de multiples architectures (NEW : AVR32 depuis 2.6.20)

Possibilit de viser quelques Mo de Flash et de RAM (ex: 8 Mo Flash/16 Mo RAM)

Pour le temps rel, mais au prix de l'utilisation d'extensions si l'on vise du temps rel dur

Intrt de l'Open Source pour la possibilit d'accs aux sources

Comprhension / mise au point, corrections etc...

Mais ne pas tomber dans une analyse exhaustive du source (un industriel n'est pas une universit !!!)

Drivation d'un projet proche de ses proccupations (ne pas rinventer la roue)

Si drivation, attention au respect des licences (GPL)

Aspects techniques

Mais :

Pas de fournisseur attitr vers qui se tourner en cas de problme (impact psychologique chez les clients)

Un monde foisonnant aux multiples sources :

Bootloaders (UBoot, RedBoot, LILO, Grub, ...)

Kernel (kernel.org, fournisseur hardware, ...)

Librairies basiques (glibc ou ses altenatives rduites)

Bases applicatives (busybox, kits embarqus libres ou propritaires, ....)

IHM (Qt, MicroWindows/NanoX, ...)

Eventuellement extensions temps rel (RTAI, Xenomai, ...)

Qu'il s'agit d'assembler dans un ensemble cohrent, votre application

En respectant diverses licences (GPL, LGPL, FreeBSD, licences duales etc....)

Focus : la gestion des volutions

Politique de versions :

Ne pas courir systmatiquement derrire la nouveaut

Attendre des versions de kernel mineure suffisamment stables (> 15)

Geler au maximum une version valide, et n'en changer qu'en cas de bug bloquant

Grce l'Open Source, possibilit de considrer tous les ingrdients logiciels comme partie prenante du projet : archivage et gestion globaux

En cas de bug bloquant, plusieurs possibilits :

Correction par soi mme partir des sources

Application slective de patch(s) pour corriger localement le bug

Changement global de version (seule stratgie en gnral possible avec un RTOS)

Les licences

Prambule : les explications ci aprs visent clairer le lecteur.

N'tant pas juristes, elles ne doivent pas tre considres comme des garanties fournis par CIO sur le cadre juridique.

Dans tous les cas, s'appuyer sur un juriste en cas de doute.

Les licences

La licence GPL offre les liberts suivantes :

Libert dexcution

Libert d'accs au source fin d'tude ou de modification

Libert de redistribution, tel quel ou modifi

La licence GPL est contaminante :

Un code qui utilise du code GPL (link) est automatiquement GPL

La licence LGPL autorise se linker une librairie LGPL sans tre GPL :

Link statique dans votre excutable : fournir les sources de la librairie linke, mais pas forcment ceux de votre programme

Modification de la librairie elle mme, celle ci doit rester LGPL (donc sources de la librairie modifie fournis, que le link soit statique ou dynamique)

La glibc est LGPL

Les licences

Le kernel est fourni sous GPL

Les dveloppements et drivers statiques du kernel sont automatiquement GPL

Des drivers dynamiques propritaires sont tolrs :

Ces drivers ne doivent pas tirer partie du kernel Linux mais seulement utiliser le mcanisme de load / unload des modules

Ouverture de L. Torvalds pour faciliter la cration de drivers pour certains matriels

Des dbats enflamms sur les mailing lists relatives au kernel, tendant demander que tout dveloppement kernel soit GPL

D'ores et dj, le kernel dtecte les modules propritaires

Seront ils interdit un jour ?

Les licences

Qu'impose la GPL ?

De fournir le code (ou donner moyen d'y accder) avec les excutables

Cela touche donc seulement ceux qui vous distribuez l'excutable (vos clients)

Mais rien n'empche ceux ci de les distribuer largement (site Web par ex.)

Manque de maturit dans certaines socits par rapport la problmatique des licences

N'hsitez pas faire appel un juriste spcialis en cas de doute

Les licences

Embedded Linux Market Survey 2007 - LinuxDevices.com

Aspects conomiques

Pas de royaltie pour le dploiement, donc trs grand intrt pour les marchs de masse (boxes, tlphonie, routeurs, smart devices etc...)

Nombreux outils de dveloppement gratuits, et de grande qualit:

IDE Eclipse + CDT

Documentation Doxygen

Gestion de version cvs, svn etc....

....

Pas de risque li l'volution commerciale d'un fournisseur de technologie cl :

Rachat

Changement de stratgie

Aspects conomiques

Prendre en compte des cots d'accs une nouvelle technologie:

Formation des quipes de dveloppement

Identification des solutions et des projets (plutt que fournisseurs) utiliser, et de leur niveau de maturit

Tenir compte d'un niveau de documentation parfois moindre que dans un produit commercial classique :

Remplacement de la documentation absente par une analyse du code source surcot potentiel

Faire appel au support de la communaut, en gnral excellent

Renvoyer l'ascenceur vers la communaut (signalement de bugs, patches, etc....)

Budgtiser un minimum de temps consacr au suivi des volutions des projets (il n'y aura pas de commercial qui vienne vous solliciter)

Aspects conomiques

La bonne nouvelle : redploiement de cots d'achats rcurrents (outil de dveloppement + maintenance + run time), vers des cots d'acquisition de comptences :

Le surcot initial s'estompe avec le temps, jusqu' disparatre

Investir dans son capital humain n'est il pas plus rentable que d'investir dans des achats de produits ?

L'accompagnement par un spcialiste peut acclrer la priode de transition, et le Time to Market d'un projet

Pour aller plus loin

Pour toute information complmentaire :

Visitez notre site Web http://www.cioinfoindus.fr

Contactez nous :

Tl : 04 95 05 19 41

Mail : mailto:[email protected]

Questions ?

texte du titre

Cliquez pour diter le format du plan de texte

Second niveau de plan

Troisime niveau de plan

Confrence / Dbat - RTS 2008 - 3 Avril 2008