Was bedeutet Open Source?
Open Source Software ist Software, deren Quellcode öffentlich zur Verfügung gestellt wird. Quellcode ist das Material, aus dem Software hergestellt und mit dem sie weiterentwickelt wird. Sie können sich Quellcode als Rezept zur Herstellung von Programmen vorstellen.
Während viele Programmierer und Unternehmen den Quellcode verschlossen für sich behalten (proprietäre oder Closed Source Software), entscheiden sich andere dazu, ihn mit ihrer Software mitzugeben (Open Source Software, manchmal sogar freie Software).
Daher der Ausdruck 'Open Source'.

Warum ist Paperwork open-source ?
Vertrauen
Mit closed-source software ist es schwer zu verstehen was das Programm tatsächlich tut. Es ist viel zu einfach für Firmen, Spyware oder Adware (oder schlimmeres) in ihren Programmen zu verstecken.
Paperwork muss persönliche, geheime und sehr empfindliche Daten verarbeiten. Man muss ihr vertrauen können.
Paperwork wird unter der GPLv3 vertrieben. Diese Lizenz beinhaltet das Recht, den Sourcecode von Paperwork und alle mit ihm verbundenen Software-Teile zu bekommen. Jeder Python Programmierer kann frei und einfach nachsehen was Paperwork tut und wie es das tut..
Lernen und lehren
Während der Entwicklung von Paperwork haben wir oft andere open-source Programme angesehen, um zu verstehen wie sie Dinge umsetzen oder einfach um uns inspirieren zu lassen. Jetzt ist es an uns zu teilen.
Wiederverwendung
Paperwork nutzt eine große Zahl an existierenden open-source Programmen und Bibliotheken (Python, Gtk, python-simplebayes, ...). So viele dass es unmöglich ist eine zusammenfassende Liste von allen zu machen.
Obwohle viele existierende Programme und Bibliotheken genutzt werden konnten, mussten wir einige andere von Null auf neu entwerfen. Wir verteilen diese Komponenten gerne zurück als open-source. Zum Beispiel wurde die Bibliothek PyOCR speziell für Paperwork erstellt und es gibt andere Projekte wie Paperless, welche sie nutzen.
Eigentum
Wenn Sie ein Buch kaufen, gehört der Inhalt des Buches dem Autor, nicht Ihnen. Wenn Sie proprietäre Software kaufen, gehört sie immer noch dem Autor / den Autoren, nicht Ihnen. So funktioniert geistiges Eigentum.
Trotzdem, auf eine Art, gehört Paperwork durch den Vertrieb über GPLv3 Ihnen. Wenn Sie eines Tages entscheiden, in Python programmieren zu lernen, steht es Ihnen frei davon zu lernen oder es sogar zu modifizieren.
Mitarbeit und Verbeserung
Weil Paperwork open-source ist, kann jeder frei dazu beitragen. Viele haben das schon gemacht und wir sind dafür sehr dankbar. Viele andere Leute haben auch schon zu verschiedenen Komponenten beigetragen die von Paperwork genutzt werden (leider ist es fast unmöglich alle Komponenten aufzulisten).
Wenn Sie Paperwork modifizieren und Ihre eigene Version weiter verteilen, verlangt GPLv3 nur wenige Dinge von Ihnen. Die Hauptsache ist, dass Sie Ihre Version ebenfalls als Source Code zur Verfügung stellen. Ausserdem muss sie unter der selben Lizenz, GPLv3, vertrieben werden. Dieser Mechanism stellt sicher, dass Paperwork immer open-source bleibt.
Wenn Sie es modifizieren, sind Sie eingeladen (aber nicht verpflichtet), uns Ihre Änderungen über Gitlab zukommen zu lassen.
Stolz
Bei Open-source geht es auch darum, stolz auf das zu sein was man macht. Wenn man auf seine Arbeit stolz ist, wird man sie nicht verschämt unter einer Decke verstecken. Man zeigt sie der Welt.
Wo ist der source-code von Paperwork?
Der Quelltext von Paperwork wird in Gnomes Gitlab abgelegt. Er besteht aus vielen Komponenten, die jeder frei nutzen kann ( es gibt aber verschiedene Lizenzen und Regeln für jede Komponente). Es ist unmöglich sie alle aufzulisten, aber hier ist die Liste der Komponenten, die hauptsächlich von uns entwickelt wurden:
- Paperwork
- PyOCR : Eine Python Bibliothek um die Arbeit für Python-Programmierer die OCR (Optical Character Recognition) Tools benutzen wollen zu erleichtern.
- Libinsane : Eine C-Bibliothek welche die Nutzung von Scannern erleichtert. Sie existiert dank GObject Introspection mit Bindings für viele Sprachen (Python, JS, etc.).
- Libpillowfight : Eine Sammlung von Bildverarbeitungsalgorithmen.