Skip to content

Latest commit

 

History

History
165 lines (91 loc) · 13.6 KB

Open-Source-Contribution-Policy.md

File metadata and controls

165 lines (91 loc) · 13.6 KB

Richtlinie Ril-XXXX Open Source Contribution

Version 2.2
DB Systel GmbH
Datum 19.03.2021

Diese Richtlinie regelt einmalige und wiederkehrende Beiträge zu Open Source Projekten sowie deren Erstveröffentlichung.

Anwendungsbereich

Diese Richtlinie regelt die Voraussetzungen für die Freigabe für von DB Systel Mitarbeitern im Auftrag von DB Systel geschriebenem Software Code als Open Source unter geeigneten Open Source Lizenzen im Rahmen von bestimmten Open Source Softwareprojekten (sog. Contributions und Neuveröffentlichungen).

Ziel

Ziel der Richtlinie ist, die Voraussetzungen für eine Freigabe, die Vorgehensweise und die Verantwortlichkeiten bei DB Systel klar zu regeln und insbesondere dafür Sorge zu tragen, dass alle in diesem Zusammenhang getroffenen Abwägungen und Entscheidungen der Beteiligten nachvollziehbar dokumentiert werden und Risiken für DB minimiert werden.

Dabei geht es insbesondere darum

  • die Verletzung von Urheberrechten und gewerblichen Schutzrechten Dritter zu vermeiden,

  • die ungewollte Freigabe des „geistigen Eigentums" (Intellectual Property / IP) und der Geschäftsgeheimnisse der DB Systel und ihrer Kunden zu verhindern und

  • die vorherige zentrale Prüfung etwaiger Rahmenverträge und anderer Contribution Agreements der Open Source Projekte und Repositiories, aus den sich Verpflichtungen und Haftung für DB Systel ergeben können, zu gewährleisten.

Begriffsdefinitionen

(1) Antragsteller meint den DB Systel Mitarbeiter, der die Freigabe des Beitrages im Rahmen eines Open Source Software Projekts durch den Freigeber beantragt.

(2) Urheber bezeichnet den/die Autor(en) des Beitrages.

(3) Freigabeberechtigte bezeichnet die in Ziffer 6 genannten Rollen, die für DB Systel die Entscheidung über die Freigabe des Beitrages im Rahmen eines Open Source Software Projekts treffen.

(4) Open Source Software im Sinne dieser Richtlinie ist Software, deren Quelltext öffentlich und von Dritten eingesehen, geändert und genutzt werden kann.

(5) Open Source Lizenzen sind alle von der Open Source Initiative geführten Lizenzen1

(6) Der Open Source Steward operationalisiert einen Open Source Prozess ("use", "contribute"), führt diesen in der DB Systel ein und verantwortet die Einhaltung.

(7) Forks sind Ableitungen oder Kopien von existierenden Softwareprojekten. Der Softwareentwicklungsprozess auf populären Plattformen wie GitHub basiert auf der Erstellung eines eigenen Forks, der Verbesserung der Software in diesem Fork und dem Angebot an das ursprüngliche Projekt, die Änderungen zu übernehmen.

(8) Upstream-Projekte sind Softwareprojekte, von denen ein Fork erstellt wurde.

(9) Bugfix ist eine funktionale Korrektur vorhandener Funktionen ohne die Hinzufügung neuer Fähigkeiten.

(10) Contribution ist der Beitrag von Code, Dokumentation oder anderen Bestandteilen zu einem existierenden Open Source Softwareprojekt.

(11) Neuveröffentlichung ist die Erstellung eines neuen Open Source Projektes und der Auswahl der Open Source Lizenz für das neue Projekt. Typischerweise folgt der Neuveröffentlichung unmittelbar eine initiale Contribution. Daher betrachten wir hier beides zusammen.

(12) Der Wert einer Contribution oder Neuveröffentlichung errechnet sich aus dem Aufwand der Erstellung oder aus dem Ertrag einer konkreten kommerziellen Verwertung, je nachdem, welcher Wert höher ausfällt2.

Hintergrund

Softwareentwicklung basiert heute oft auf dem Einsatz von Open Source Software und Open Source Komponenten. Dies beschleunigt und vergünstigt die Entwicklung und ermöglicht die direkte Teilhabe an weltweit stattfindender Innovation. Durch die Beteiligung an Open Source Projekten können so für die Beteiligten zugleich Kosten und Risiken reduziert werden.

Durch aktive Mitwirkung in der Open Source Gemeinschaft und entsprechenden Projekten, deren Softwarekomponenten von DB selbst eingesetzt werden, kann die DB gegebenenfalls Wartungsaufwände minimieren sowie die Pflege eigener Forks von Open Source Software vermeiden.

Zu beachtende Grundsätze

Im Zusammenhang mit geplanten Contributions und Neuveröffentlichungen ist insbesondere Folgendes zu beachten:

(1) Urheber im Sinne des Urhebergesetzes ist der Mitarbeiter der DB Systel, der die Software für DB Systel geschrieben hat. Alle wirtschaftlichen Rechte an im Rahmen des Arbeitsverhätnisses entstandener Software stehen dabei der DB Systel als Arbeitgeber zu. Privat oder im Rahmen von Nebentätigkeiten erstellte Software wird nicht von dieser Richtlinie abgedeckt.

(2) Der Einsatz von Open Source bei DB Systel unterliegt den Open Source Einsatzgrundsätzen.

(3) Die jeweils für die bearbeitete Open Source Software geltenden Lizenzbedingungen sind entsprechend den Grundsätzen von den Verantwortlichen zu ermitteln, zu dokumentieren und im Einsatz unbedingt zu beachten.

(4) Die Bereitstellung des veränderten Codes für ein Open Source Software Projekt stellt in der Regel eine Distribution im Sinne des Open Source Lizenzen dar, an die Lizenzpflichten anknüpfen.

(5) Bestehende Lizenzhinweise und Urheberrechtsvermerke in der Open Source Software sind zu belassen.

(6) Änderungen im Source Code der Open Source Software und sonstige Beiträge der DB Systel sind zu kennzeichnen.

(7) Die Kennzeichnung des eigenen Beitrags der DB Systel erfolgt entsprechend den Vorgaben des Open Source Projektes und der DB Systel. Beim Einsatz von Versionskontrollsystemen wie git muss die dienstliche Emailadresse für die Commits benutzt werden. Beim Einsenden von Patches per Email müssen diese von der dienstlichen Emailadresse aus eingesendet werden.

(8) Wichtig ist, dass der Antragsteller mit dem Urheber nachweislich geklärt hat, dass der Urheber den Code vollständig selbst geschrieben hat und es keine Hinweise auf eine Beteiligung Dritter oder das Einbringen fremden Codes gibt. Auch der ursprüngliche Code muss kritisch betrachtet werden.

(9) Es dürfen keine Geschäftsgeheimnisse der DB Systel, ihrer Kunden oder sonstiger Dritter veröffentlicht werden, z.B. auch nicht in Form von Forenbeiträgen oder Codebeispielen. Rechte an „geistigem Eigentum“ / Intellectual Property der DB Systel werden nur im Rahmen der gewählten Open-Source-Lizenz erteilt. Das schließt Nutzungsrechte nach dem Urheberrecht ("Copyright") und gegebenenfalls Patentrechte ein, jedoch keine Rechte an Marken der DB.

(10) Falls die Contribution oder Neuveröffentlichung eine Erfindung beinhaltet, so ist diese der Patentabteilung der Deutschen Bahn per Email an EMAIL REMOVED anzuzeigen und deren Zustimmung zur zeitnahen Veröffentlichung einzuholen. Dies ist insbesondere dann der Fall, wenn die Contribution oder Neuveröffentlichung eine neue und von der Implementierungssprache unabhängige technische Lehre zur Lösung eines Problems enthält.

(11) Bei auf spezifische Kundenanforderungen (z.B. für andere Konzernunternehmen) erstellten Beiträgen muss die vertragliche Situation mit dem Kunden (Rechte, Vertraulichkeit) geklärt werden. Wenn die Rechte beim Kunden liegen, so muss dieser die Veröffentlichung genehmigen.

(12) Nicht nur Urheberrechte Dritter, sondern auch Softwarepatente, Markenrechte und andere Rechte Dritter können einer geplanten Contribution oder Neuveröffentlichung entgegenstehen.

(13) Für jedes geplante Contributions- oder Neuveröffentlichungsvorhaben ist eine Risikobewertung zu erstellen. Der Umfang der Risikobewertung hängt vom Risiko ab.

(14) Falls dem Open Source Projekt bzw. der Contribution ein Contributor Agreement oder andere Bedingungen zugrunde liegen, sind diese auf Veranlassung des Antragstellers vorab zentral pro Agreementversion durch den REMOVED Der REMOVED bezieht dabei die Rechtsabteilung entsprechen der Konzernrichtline Risikominimierung ein.

(15) Aus der dem Antrag beiliegenden Kosten- und Risikoeinschätzung müssen sich die mit der Contribution bzw. Neuveröffentlichung angestrebten Vorteile und die möglichen Nachteile für DB Systel und DB ergeben.

(16) Bei Neuveröffentlichungen wählt der Antragsteller eine für das neue Open Source Projekt geeignete Lizenz aus und begründet die Auswahl, falls er nicht eine der im Onlineformular angebotenen Standardlizenzen verwendet. Diese Lizenz muss bei der Neuveröffentlichung mit enthalten sein.

(17) Beim Umgang mit Open Source Projekte, Diskussionsforen usw. gelten die Grundsätze zum Umgang mit den sozialen Medien des Konzerns, siehe auch Konzernrichtlinie Kommunikation. Insbesondere dürfen keine Aussagen im Namen des Unternehmens getroffen werden, aus denen sich Verpflichtungen für die DB ableiten lassen.

Freigabeprozess

Der Freigabeprozess unterliegt folgenden Rahmenbedingungen:

(1) Bei Contributions und Neuveröffentlichungen bis zu einem Wert von X € ist die Freigabe durch die Führungskraft des Antragstellers oder durch den für das Thema verantwortlichen Product Owner ausreichend.

(2) Bei Contributions oder Neuveröffentlichungen ab einem Wert von X € oder einem wirtschaftlichen Risiko größer X € ist eine zweite Freigabe durch den Open Source Steward oder den REMOVED erforderlich.

(3) Der Freigabeprozess erfolgt in Abstimmung mit dem Open Source Steward, der für die notwendige Qualifizierung der Antragsteller und Freigebenden sorgt.

Der Freigabeprozess erfolgt elektronisch per Email:

(4) Der Antragsteller füllt den Online-Antrag mit den Details zur Contribution bzw. der Neuveröffentlichung aus und schickt die notwendigen Dokumente per Email an den zuständigen Freigebenden und den Open Source Steward.

(5) Der Freigebende prüft das Vorhaben und die Risikobewertung in Abstimmung mit dem Open Source Steward. Bei Bedarf führt der Open Source Steward eine technische und inhaltliche Prüfung durch und bindet bei Rechtsfragen entsprechend der Konzernrichtlinie Risikominimierung die Rechtsabteilung ein.

(6) Der Open Source Steward dokumentiert und archiviert die Entscheidung und ihre Grundlage.

(7) Der Freigebende teilt die Entscheidung zur Contribution bzw. Neuveröffentlichung per Email dem Antragsteller mit, Kopie an den Open Source Steward. Diese Email muss digital signiert oder anderswertig authentifiziert werden. In der Mail beauftragt der Freigebende den Antragsteller, die Contribution bzw. Neuveröffentlichung im Namen der DB Systel durchzuführen.

(8) Bei wiederkehrenden Beiträgen gelten zudem die Auflagen für +wiederkehrende Beiträge (s.u.)

Contribution

Im Fall der Freigabe der Contribution ist der Antragsteller damit beauftragt, die Contribution unter Berücksichtigung der Rahmen- und Lizenzbedingungen des Open Source Projektes durchzuführen. Dabei ist der Beitrag als „im Auftrag der DB Systel GmbH" kenntlich zu machen. Beim Einsatz von Versionskontrollsystemen wie git muss die dienstliche Emailadresse für die Commits benutzt werden. Beim Einsenden von Patches per Email müssen diese von der dienstlichen Emailadresse aus eingesendet werden.

Die Contribution erfolgt im Namen der DB Systel.

Neuveröffentlichung

Im Fall der Freigabe der Neuveröffentlichung ist der Antragsteller damit beauftragt, die Neuveröffentlichung unter Angabe der gewählten Open Source Lizenz durchzuführen. Dabei ist der Beitrag als „im Auftrag der DB Systel GmbH" kenntlich zu machen. Beim Einsatz von Versionskontrollsystemen wie git muss die dienstliche Emailadresse für die Commits benutzt werden. Beim Einsenden von Patches per Email müssen diese von der dienstlichen Emailadresse aus eingesendet werden.

Die Neuveröffentlichung erfolgt im Namen der DB Systel.

Bei Neuveröffentlichungen gelten zudem immer die Auflagen für wiederkehrende Beiträge.

Auflagen für wiederkehrende Beiträge

Bei wiederkehrenden Beiträgen erfolgen mehrere Contributions zum selben Projekt über einen längeren Zeitraum. Die Freigabe der Open Source Contribution oder Neuveröffentlichung gilt bis auf weiteres. Sobald sich eine der folgenden Rahmenbedingungen oder Angaben aus dem Antrag ändern, erlischt die Freigabe. Bei Bedarf müssen die (neuen) Autoren den Freigabeprozess bzw. vereinfachten Freigabeprozess neu durchlaufen:

  • Neue Autoren, Führungskräfte oder Product Owner.
  • Neue Themenfelder.
  • Neue Risiken über X €.

Darüber hinaus müssen für wiederkehrende Beiträge regelmäßig, spätestens alle 12 Monate, die Antragsteller per Email dem Open Source Steward über den Status ihrer Beiträge berichten und dabei auch die getroffenen Maßnahmen zur dauerhaften Einhaltung der o.g. Kriterien nennen.

Contributions zu von DB Systel geführten Projekten

Für Projekte, die von DB Systel als Maintainer geführt werden, gilt ein vereinfachter Contribution-Prozess für DB Systel Mitarbeiter. Voraussetzung ist, dass für diese Projekte eine Freigabe als Neuveröffentlichung erfolgt ist, und die Maintainer des Projektes in der Freigabe genannt sind.

DB Systel Mitarbeiter können Contributions zu diesen Projekten leisten, ohne eine separate Freigabe zu benötigen. Sie müssen sich vor der Contribution mit den Rahmenbedingungen für Contributions, die in dieser Richtlinie festgelegt sind, vertraut machen. Die Maintainer der Projekte sind verantwortlich dafür, dass die Rahmenbedingungen eingehalten werden.

Im Rahmen der jährlichen Überprüfung für wiederkehrende Contributions muss die Liste der Autoren aktualisiert werden, so dass sie alle von DB Systel getätigten Contributions erfasst.

Footnotes

  1. siehe https://opensource.org/licenses (Stand 22.05.2018)

  2. Zum Beispiel ist Code, für den ein Mitarbeiter mit einem persönlichen Verrechnungssatz von 500€/Tag insgesamt 10 Personentage zur Erstellung benötigte, mindestens 5000€ wert.