Logiciels libres et Open source
ANDSI 13/04/2004
NGO Can Chieu
Plan
Les concepts Linux
Système d'exploitation Linux pour serveurs Linux pour stations
Serveurs d’applications Développement
Applications horizontales Applications métiers
Synthèse
Les concepts du
logiciel libre et de l'open source
Logiciel libre
Le concept du logiciel libre (Free software) a été proposé par Richard Stallman en 1984
On réfère au logiciel libre par rapport à la liberté, non à la gratuité.
Un logiciel libre implique les 4 libertés suivantes :
La liberté d'exécuter le programme, pour tous les usages.
La liberté d'étudier le fonctionnement du programme, et de l'adapter à vos besoins. Pour ceci l'accès au code source est une condition
requise.
La liberté de redistribuer des copies.
La liberté d'améliorer le programme et de publier vos améliorations, pour en faire profiter toute la communauté.
Quelques nuances
La licence impliquant les quatre libertés précédentes est la GNU General Public License (GNU-GPL)
Plusieurs autres licences existent ; la différence
majeure entre celles-ci est la notion de copyleft très importante dans la GPL
Copyleft: obligation de donner au minimum les mêmes droits aux logiciels améliorés qu ’au logiciel original.
« Open source » n’est pas « Logiciel libre »
Avantages
Comme tout le code source est connu, le logiciel est en général plus fiable.
Les mises à jour ne se font pas attendre. Pas de monopole possible: pérennité assurée
Coût de licence absent (on fera souvent payer pour le service).
Open source - Définition
Libre redistribution : donner ou vendre
Code source : doit être inclus dans la distribution Travaux dérivés sont autorisés
Intégrité du code source de l'auteur doit être respectée Pas de discrimination entre les personnes ou les groupes Pas de discrimination entre les domaines d'application Droit de redistribution sur l’ensemble de logiciel
La licence s’applique sur l’ensemble de logiciel
La licence ne doit pas contaminer d'autres logiciels (pas de
« copyleft »)
Les autres
Logiciel du domaine public
Implique qu'il n'y a pas de copyright, les gens sont libres d’en faire des logiciels propriétaires
Logiciels semi-libres
Assortis de conditions limitatives (ex: pour les écoles)
Freeware (gratuiciel)
Logiciel propriétaire dont le code source est fermé qui est distribué gratuitement.
Shareware (partagiciel)
Logiciel propriétaire dont le code source est fermé qui est distribué pour une période d’essai.
Résumé
Système d'exploitation Linux
Les installations Linux
Différentes méthodes d’installation:
Sur disque dur à partir des CD (ou DVD) :
Debian – RedHat – Suse - ...
Sur disque dur à partir du réseau :
Debian – Redhat – Suse - ...
En mémoire vive à partir du réseau :
LTP
En mémoire vive et CD (ou DVD) :
Knoppix – MandrakeMove
...
Linux sur CD - KNOPPIX
Créé par Klaus KNOPPER à partir de Debian Tout linux sur un seul CD
Ressources utilisées sur le poste de travail : Mémoire, processeur, lecteur CD
Environ 2 Go d’applications sur le CD :
Knoppix Terminal Server
Rdesktop, x3270, serveur X, ssh, …
Open Office, Navigateurs, Multimédia, …
…
Écriture possible sur mémoire USB ou disque
dur
Knoppix
Knoppix Terminal Server
Sur le serveur :
Lancer le service KTS
Sur les stations :
Possibilité d’accès à toutes les applications logées sur serveur
Exécution se fait sur la station de travail
KTS
Debian + KTS
• Support de l’environnement Linux pour stations
• Image Linux-KTS à l’amorçage
des stations
• Echanges NFS pour tous modules exécutables
Stations diskless KTS
Exécution locale des applications
Linux sur mémoire USB
Ressources nécessaires sur le poste de travail
= Mémoire + processeur + mémoire USB Pendant l’amorçage les modules USB sont appelés pour le chargement de l’image Linux qui se trouve en mémoire USB
Exemple = Damn Small Linux (moins de 60 Mo), Flonix, ...
Browser, Chat, … Éditeur de texte
…
Possibilité de personnalisation du système
Linux pour serveurs
Z/Linux
Z/Linux = GNU/Linux + ZSeries GNU/Linux :
Ré-implémentation d’Unix en 32 et 64 bits Composants d’origines variées
Développement ouvert Librement distribuable
ZSeries :
Haute disponibilité
Haut niveau de performance Virtualisée
Apports de Z/Linux
Fiabilité
Extensibilité
Consolidation du matériel Multiple OS sur VM
Administration centralisée
IHM sur Z/Linux
Stations Linux
Dans un environnement hétérogène
MVS – Linux - Unix - Windows
Interopérabilité
Linux Unix Windows Mainframes Serveur
Web Serveur
Java
X11 RDP ICA Emulateur
s
Navigateu
Htmlr JVM
Applications Pilotes Matériel
Terminal polyvalent Linux
Terminal À base
Linux Serveur
Linux ou Unix Windows Terminal
Server MVS
Outils de connectivité sur Linux
Émulateur 3270 :
X3270
Accès distant à Windows:
Rdesktop
Accès distant à Linux ou Unix:
Serveur X
Ssh, telnet
x3270
Remote Desktop
X et ssh
Serveurs d’applications sous
Linux
Les serveurs open source
Serveur HTML :
Apache
Serveur JSP, Servlet:
Tomcat, Jetty
Serveur EJB:
Jboss, Jonas
Le développement
Eclipse
Projet open source à l’initiative d’IBM qui offre un environnement intégré pour le
développement Java, C, C++, Cobol, … Basé sur une architecture modulaire,
Eclipse s’enrichit rapidement grâce à une
communauté très active
Eclipse : Java + Tomcat + JBoss
Applications horizontales
Les outils bureautiques
Des outils de très bonne qualité en open source sont à notre disposition:
OpenOffice Koffice
Ximian Evolution
Groupware
Groupware désigne des outils qui facilitent le travail collaboratif
Les services groupware peuvent comprendre le partage d’agenda, la rédaction collective, la gestion d’emails, les accès partagés au Base de données, l’audio ou
visioconférence, …
Les projets groupware en open source dont on parle:
OpenGroupware: issu du projet Skyrix 4.1 de Software AG Kolab : un serveur groupware pour l’environnement KDE eGroupware : un serveur basé sur la technologie PHP ...
eGroupware
Portails - CMS
Il existe plusieurs produits en open source :
Java :
Liferay Uportal Exo
JetSpeed OpenCMS
Zope - Plone Php :
PHPNuke NPDS
PHPWebsite ...
Etude de cas : Zope - Plone
Basé sur Python, Zope est particulièrement bien adapté pour les applications d'infrastructure éditoriale et de travail collaboratif
Principales fonctionnalités offertes par Zope et les produits sous- jacentes:
Communication
Gestion des connaissances Partage des données
Travail de groupe Travail à distance Workflow
Documentation