Les logiciels libres permettent une distribution de code conçu pour être accessible au public.
N'importe qui peut voir, modifier et distribuer le code comme bon lui semble (il y a des restrictions, voir la présentation ci-dessous).
Un logiciel libre est développé de manière décentralisée et collaborative.
Se développement s'appuie sur une communauté de développeurs et parfois d'utilisateurs où chacun met ses compétences au service du projet.
Les logiciels libres sont souvent moins chers et offre une grande flexiblilité.
Sa longévité est assurée par le fait qu'il ne dépend généralement pas d'une entreprise ou d'une poignée de développeurs mais plutôt d'une communauté.
Le logiciel libre est devenu un modèle et une "façon" de travailler ensemble qui va au-delà de la production de logiciels.
Ce modèle permet de se concentrer sur la résolution de problèmes et le recyclage des logiciels en utilisant de nouvelles méthodes dans leurs communautés et leurs industries.
Je propose plusieurs services à l'appui et ainsi aider les particuliers et les entreprises de la meilleure façon possible.
Je propose également solutions prêtes à l'emploi que vous pouvez utiliser et personnaliser pour votre propre projet.
Cliquez sur le bouton pour enrichir la présentation à l'aide d'un diaporama Tiki
Présentation du Logiciel Libre
Le logiciel créé est distribué avec son code source et est publié sous une licence qui permet à quiconque de l'utiliser et de le modifier.
L'idée de de diffuser un code source librement disponible est née en 1983 alors que le point de départ officiel est la création de l'Open Source Initiative en 1998. C'est un modèle efficace depuis 30 ans qui a révolutionné l'industrie du développement logiciel. Il accélère l'intégration et la formation des développeurs et permet aux nouvelles technologies d'être déployées plus rapidement parmi les utilisateurs.
- Un nombre de groupe illimité peut créer sa propre solution ou logiciel
- Il n'est pas nécessaire de recréer la roue (recyclage code libre)
- Il permet d'utiliser d'autres projets du type Locigiel Libre ou des composants individuels.
- Les Logiciels Libres sont des logiciels non propriétaires qui encouragent la collaboration
- Le code est lisible et peut être analysé pour éviter les problèmes de sécurité
Le coût des Logiciels Libre n'est pas nul mais il représente une fraction du coût et du temps de développement et de maintenance des logiciels traditionnels.
L'open source ce n'est pas une forme d'anarchie, il existe plusieurs type de licence pour gérer l'utilisation d'un code de source Libre.
Comment fonctionnent les Logiciels Libre
Le code d'un Logiciel Libre est généralement stocké dans un dépôt accessible et partagé publiquement. N'importe qui peut accéder au dépôt, parfois sous certaines conditions, pour visualiser, utiliser et réutiliser le code de manière indépendante ou contribuer en partageant (commit) son code et des améliorations à la conception et aux fonctionnalités du projet global. Différentes processus de préparations dans un cycles de version assurent la production de version finalisée et le Contrôle Qualité du code distribué en dehors de la communauté des développeurs.
Les Logiciels Libre sont généralement livrés avec une licence de distribution. Cette licence comprend des termes qui définissent comment le code peut être utilisé, étudié, modifié et, comment distribuer le logiciel.
- License MIT
- License GNU General Public (GPL) 2.0 - plus restrictif, exige que des copies du code modifié soient mises à la disposition du public
- License Apache 2.0
- LicenseGNU General Public (GPL) 3.0
- License BSD 2.0 (3-clause, Nouveau ou révisé)
Lorsque le code source est modifié, le package livré doit inclure ce qui a été modifié ainsi que les méthodes impliquées. Selon les termes de la licence, les logiciels résultant de ces modifications peuvent ou non être tenus d'être mis à disposition gratuitement.
Exemples de Logiciels Libre
Les logiciels Open Source sont très populaires et utilisés dans tous les domaines. Parmi les plus populaires, citons :
- Mozilla Firefox (navigateur Internet)
- VLC (lecteur multimédia)
- Linux (système opérateur)
- LibreOffice (suite d'applications bureautiques)
- Gimp (éditeur graphique)
- Tiki Wiki CMS (système de gestion de contenu et de données, suite bureautique en ligne)
- BigBluebutton (classe et éducation virtuelle)
- Notepad++ (éditeur de texte)
- Jitsi Meet (logiciel de visioconférence)
- Audacity (éditeur audio numérique et enregistrement)
- Bittorent (partage de fichiers peer-to-peer)
- Docker (plate-forme développeurs)
- Python (langage de programmation)
- PHP (langage de script)
Avantages et inconvénients du modèle Logiciel Libre
Bien que certains éléments puissent être discutables, le logiciel Open Source a été un puissant moteur d'innovation de notre vie pendant 2 décennies
- C'est rentable (payer par demande)
- Sécurité et transparence (disponibilité du code source)
- Vous êtes responsable (le contrôle total est possible)
- Les améliorations sont plus faciles à intégrer
- Qualité du code (les faits sont ici)
- Aucune dépendance vis-à-vis du fournisseur
- Réutilisation et code recyclable
- Plus de cerveaux apportent plus d'idées et de solutions
- Une attention particulière au logiciel est requise
- Formation difficile à trouver
- Documents insuffisants
- Différentes qualités d'interface utilisateur
- Problèmes de compatibilité avec les logiciels propriétaires
- Les responsabilités et les garanties sont limitées
- Personne à blâmer (mais le décideur)
Les Logiciels Libre ont de nombreuses interfaces, couleurs ou noms différents pour les mêmes choses. Cette multitude de moyens a tendance à diminuer au fur et à mesure que des "normes" et des lignes directrices sont constamment ajoutées par la communauté Open Source. Lorsque vous installez un logiciel propriétaire dans votre entreprise ou votre organisation, les problèmes existent "simplement" et les gens espèrent une éventuelle correction dans la prochaine version.
Avec les logiciels Open Source, il est possible de signaler les problèmes à la communauté du projet et de s'occuper des problèmes, "vous êtes" la prochaine version. Le manque de formation et de documentation est gérable en interne en consacrant des personnes à collaborer au projet de logiciel Open Source et à intégrer sa communauté.
Qu'est-ce qu'une communauté logiciel Libre ?
Le "style" de communauté dépend de la nature et des objectifs du projet Logiciel Libre. Les administrateurs de projet doivent comprendre et guider les actions et les engagements de la communauté de manière à ce qu'ils profitent au projet (et ne le ralentissent pas).
Le succès d'un projet Open Source "contenu" repose sur quelques individus et une bonne gestion de l'assurance qualité
Un petit nombre de développeurs principaux peuvent très bien faire pour une solution très spécifique déployée dans un environnement contrôlable. En utilisant des composants existants et avec du personnel qualifié supplémentaire pour fournir un support interne ou externe, les organisations fournissent avec succès des services partout dans le monde.
Le succès d'un projet logiciel Libre "large" réside dans la gestion de la communauté
Ces projets dynamiques ont besoin de plus de développeurs et d'une large base de membres de la communauté, des "petites mains", qualifiées dans divers domaines.
- Encouragez davantage de développeurs à se joindre à l'effort
- Encourager plus d'utilisateurs à utiliser (comme le marketing)
- Personnes à tester et à signaler correctement (corrections de bugs et QA)
- Consultant pour soutenir et aider les autres (déploiement, configuration et formation)
- Eventuellement particuliers ou entreprises à faire un don
Vous devez établir des règles communautaires, des lignes directrices, contribuer à disposer d'outils pour discuter, rencontrer et signaler des problèmes et trouver comment les nourrir
Gestion d'une communauté Logiciel Libre
Le style de communauté dépend de la nature et des objectifs du projet Open Source. Les administrateurs de projet doivent comprendre et guider les actions et les engagements de la communauté de manière à ce qu'ils profitent au projet (et ne le ralentissent pas).
Le succès d'un projet Logiciel Libre "contenu" repose sur quelques individus et une bonne gestion de l'assurance qualité
Un petit nombre de développeurs principaux peuvent très bien faire pour une solution très spécifique déployée dans un environnement contrôlable. En utilisant des composants existants et avec du personnel qualifié supplémentaire pour fournir un support interne ou externe, les organisations fournissent avec succès des services partout dans le monde.
Le succès d'un projet Logiciel Libre "large" réside dans la gestion de la communauté
Ces projets dynamiques ont besoin de plus de développeurs et d'une large base de membres de la communauté, des "petites mains", qualifiées dans divers domaines.
- Encouragez davantage de développeurs à se joindre à l'effort
- Encourager plus d'utilisateurs à utiliser (comme le marketing)
- Personnes à tester et à signaler correctement (corrections de bugs et QA)
- Consultant pour soutenir et aider les autres (déploiement, configuration et formation)
- Eventuellement particuliers ou entreprises à faire un don
Vous devez établir des règles communautaires, des lignes directrices, contribuer à disposer d'outils pour discuter, rencontrer et signaler des problèmes et trouver comment les nourrir
Le projet Tiki
Ce projet est un générateur de logiciel basé sur le Web, une boîte à outils, pour permettre aux développeurs, configurateurs ou utilisateurs de créer des micro-applications sur mesure. Il s'appuie sur des technologies reconnues (PHP, MySQL, Javascript ElasticSearch, Smarty, Bootstrap, etc) ainsi que sur des technologies innovantes et relativement récentes (Rubix AI, VueJS, Manticore search, Cypth, etc).
Le projet Tiki et l'initiative logicielle ont débuté en 2002 et plus de 100 versions ont été publiées.
Basé sur un modèle Wiki pour gérer les données non structurées, il a évolué vers un modèle de données structurées et de nombreuses fonctionnalités supplémentaires ont été ajoutées par différents individus ou groupes car n'importe qui peut contribuer au code.
Le logiciel a été conçu pour les utilisateurs débutants et avancés, qu'ils soient individuels ou collectifs et tous les outils d'édition se concentrent sur la collaboration et le travail d'équipe avec une couche de contrôle supplémentaire pour gérer les fonctions de soumission, de mise en scène et d'approbation.
Sans aucune compétence en programmation, vous pouvez assembler votre solution. Le logiciel permet une personnalisation rapide et facile grâce à des péages avancés pour permettre une solution entièrement conçue, ce qui en fait un compagnon idéal pour concevoir des prototypes ou une solution sur mesure en peu de temps.