Avez-vous remarqué que le code source
de toutes les bibliothèques dont
nous avons discuté est ouvertement accessible au public ?
Les logiciels accessibles au public sont souvent connus
sous le nom de logiciel open source, ou OSS.
Plus précisément, le logiciel open-source est un logiciel
dont le créateur libère le code
source sous une licence open-source,
accordant ainsi à quiconque le droit d'accéder, de
modifier et de distribuer le logiciel.
L' initiative open source,
OSI définit le logiciel open source
comme un logiciel qui peut être librement accessible
, utilisé, modifié et partagé sous
forme modifiée ou non par quiconque.
Vous trouverez les critères complets pour les
logiciels libres sur le site Internet OSI.
Les trois premières stipulations sont au cœur des logiciels libres.
Autrement dit, que le logiciel est disponible gratuitement,
le code source est public et accessible,
et que cette licence quelle qu'elle
soit, doit être respectée par toutes les œuvres dérivées. L'
informaticien Eric Raymond a été le pionnier du développement open source dans
son essai historique de 1997,
« The Cathedral and the Bazaar ».
Il est bien considéré comme une technique de développement logiciel,
car il réduit les coûts de consommation
et augmente la flexibilité du code
, la sécurité et la responsabilité en raison
de sa nature de source communautaire,
et il y a un bon sens commercial à
utiliser un outil logiciel open source.
Selon une étude de 2008, le logiciel
libre permet aux consommateurs d'économiser 60 milliards de dollars par an,
et une grande partie des logiciels libres permet aux entreprises de construire
en plus de réduire leurs coûts d'infrastructure.
Il existe différents types de licences open source.
Le domaine peut être un peu déroutant à
comprendre en particulier pour les entreprises.
Par exemple, la licence Apache permet de lier le code de
licence Apache avec un code de licence différent.
En tant que développeur, vous pouvez trouver
une telle fonctionnalité de licence utile si vous souhaitez inclure
une bibliothèque à source fermée ou une
bibliothèque propriétaire dans votre projet open-source.
D' un autre côté, sous la licence publique GNU,
ou GPL, on ne peut relier que d'autres bibliothèques compatibles GPL.
Vous pouvez trouver cette fonctionnalité de licence souhaitable si
votre projet Open Source est composé
de code entièrement open source,
et que vous souhaitez vous assurer que cela soit toujours le cas,
indépendamment de qui utilisera votre code à l'avenir.
La GPL est probablement la
licence de logiciel open source la plus connue et peut-être la plus courante,
et une partie en raison de sa nature virale,
qui exige que tous les liens vers le logiciel
soient également sous licence GPL.
L' une de mes licences préférées à
utiliser et une licence que j'aime voir
utiliser et les bibliothèques que j'utilise est appelée la licence BSD.
Il a été créé à l'origine par
l'Université de Californie à
Berkeley pour la sortie du système d'exploitation BSD.
Voici un exemple de licence BSD.
Comme nous pouvons le voir, il est très court et au point,
maintient juste une quantité minimale de légalese.
Les questions entourant les caractéristiques des
licences libres et open source
deviennent rapidement politiques et philosophiques.
Le choix de la licence
dépend souvent du projet que vous avez en tête.
Si vous êtes intéressé à comprendre
les licences open source plus en détail,
je vous encourage à consulter
l'article Wikipédia sur le sujet,
et nous aurons cela lié dans le cours.
Pour le reste des conférences de ce module,
nous allons utiliser deux projets, le projet tesseract,
qui est maintenant géré par Google et les liaisons Pytesseract,
qui nous permettent d'utiliser
le système tesseract à partir de Python.
Si nous regardons le référentiel de code source pour tesseract,
nous voyons que sa licence est
publiée sous la licence Apache.
Cela signifie que nous pouvons utiliser tesseract dans n'importe quel code que
nous produisons et le garder sous licence, cependant,
nous voulons, même sous licence commerciale
par exemple, à moins que nous ne modifions tesseract lui-même.
Cependant, lorsque nous regardons la licence Pytesseract,
nous voyons qu'elle est publiée sous la GPL.
Cela signifie en important cette bibliothèque dans votre propre code.
Si nous le partageons avec d'autres,
nous devons également mettre sous licence notre code sous la GPL.
C' est la clause virale,
et selon le projet sur lequel je travaillais,
je devais l'examiner très attentivement.
Cependant, pour ce cours, ce n'est pas un problème puisque
je veux vraiment le partager avec vous et les autres en général.
Donc, nous allons creuser,
et commençons à utiliser tesseract.