Haben Sie bemerkt, dass der Quellcode
für alle Bibliotheken, die
wir besprochen haben, öffentlich zugänglich ist?
Öffentlich verfügbare Software wird oft
als Open-Source-Software oder OSS bezeichnet.
Insbesondere ist Open-Source-Software Software,
deren Schöpfer den Quellcode
unter einer Open-Source-Lizenz freigeben,
wodurch jedermann das Recht einräumt, auf
die Software zuzugreifen, zu modifizieren und zu verteilen.
Die Open-Source-Initiative
OSI definiert Open-Source-Software
als Software, die frei zugänglich ist,
genutzt, geändert und in
modifizierter oder unveränderter Form von jedermann geteilt werden kann.
Die vollständigen Kriterien für
Open-Source-Software finden Sie auf der OSI-Website.
Die ersten drei Bestimmungen sind das Kernstück von OSS.
Das heißt, dass die Software kostenlos verfügbar ist,
der Quellcode öffentlich und zugänglich ist
und dass diese Lizenz, was auch immer sie
ist, von allen abgeleiteten Werken eingehalten werden muss. Die
Open-Source-Entwicklung wurde von
Informatiker Eric Raymond in
seinem bemerkenswerten Essay
„Die Kathedrale und der Basar“ von 1997 Pionierarbeit geleistet.
Es ist gut als Software-Entwicklungstechnik angesehen,
da es die Verbraucherkosten senkt
und Codeflexibilität
, Sicherheit und Rechenschaftspflicht
aufgrund seiner Community Source Natur erhöht,
und es gibt gute geschäftliche Sinn,
Open-Source-Software-Tool zu verwenden.
Laut einer Studie aus dem Jahr 2008
spart OSS Verbrauchern 60 Milliarden US-Dollar pro Jahr,
und viel Open-Source-Software ermöglicht
es Unternehmen, darauf aufzubauen und die Infrastrukturkosten zu senken.
Es gibt verschiedene Arten von Open-Source-Lizenzen.
Das Feld kann ein wenig verwirrend sein, um
vor allem für Unternehmen zu verstehen.
Beispielsweise ermöglicht die Apache-Lizenz die Verknüpfung von
Apache-Lizenzcode mit einem anderen Lizenzcode.
Als Entwickler finden Sie eine
solche Lizenzfunktion möglicherweise nützlich, wenn Sie
eine Closed-Source-Bibliothek oder
proprietäre Bibliothek in Ihr Open-Source-Projekt aufnehmen möchten.
Auf der anderen Seite
kann man unter der GNU Public License oder GPL nur andere GPL-kompatible Bibliotheken verknüpfen.
Diese Lizenzfunktion
ist möglicherweise wünschenswert, wenn Ihr Open-Source-Projekt
aus vollständig Open-Source-Code besteht
und Sie sicherstellen möchten, dass dies immer der Fall ist,
unabhängig davon, wer in Zukunft Ihren Code verwendet.
Die GPL ist wahrscheinlich die bekannteste und
vielleicht gängigste Open-Source-Softwarelizenz,
und zum Teil aufgrund ihrer viralen Natur,
die erfordert, dass alle Links
zur Software auch GPL lizenziert werden.
Eine meiner Lieblingslizenzen zu
verwenden und eine Lizenz, die ich liebe, um die
Nutzung und Bibliotheken zu sehen, die ich verwende, heißt die BSD-Lizenz.
Es wurde ursprünglich von
der University of California,
Berkeley für die Veröffentlichung des BSD-Betriebssystems zusammengestellt.
Hier ist ein Beispiel für die BSD-Lizenz.
Wie wir sehen können, ist es sehr kurz und auf den Punkt,
hält nur eine minimale Menge an Legalese.
Die Fragen rund um die Funktionen von
freien und Open-Source-Lizenzen
werden schnell politisch und philosophisch.
Die Wahl der Lizenz
hängt oft von dem Projekt ab, das Sie im Auge haben.
Wenn Sie daran interessiert sind,
Open-Source-Lizenzen genauer
zu verstehen, würde ich Sie ermutigen,
den Wikipedia-Artikel zu diesem Thema zu lesen,
und wir werden das im Kurs verlinkt haben.
Für den Rest der Vorträge in diesem Modul
werden wir zwei Projekte verwenden, das tesseract-Projekt,
das jetzt von Google und den Pytesseract-Bindungen ausgeführt wird,
die es uns ermöglichen,
das tesseract-System von Python aus zu verwenden.
Wenn wir uns das Quellcode-Repository für tesseract ansehen,
sehen wir, dass seine Lizenz
unter der Apache-Lizenz veröffentlicht wird.
Das bedeutet, dass wir tesseract in jedem von
uns produzierten Code verwenden können und ihn lizenziert halten können, aber
wir wollen, sogar kommerziell lizenziert
zum Beispiel, es sei denn, wir ändern tesseract selbst.
Wenn wir uns jedoch die Pytesseract-Lizenz ansehen,
sehen wir, dass sie unter der GPL veröffentlicht wird.
Das bedeutet, dass diese Bibliothek in Ihren eigenen Code importiert wird.
Wenn wir es mit anderen teilen,
müssen wir auch unseren Code unter der GPL lizenzieren.
Dies ist die virale Klausel,
und abhängig von dem Projekt, an dem
ich gearbeitet habe, müsste ich dies sehr sorgfältig prüfen.
Für diesen Kurs ist das jedoch kein Problem, da
ich es wirklich mit Ihnen und anderen teilen möchte.
Also, lasst uns eingraben
und fangen wir an, tesseract zu verwenden.