Intellectual Property: Wozu der Aufwand?

Was bitte ist ein CQ?

Wer nun meint, alles sei gut, irrt gewaltig. Für einen erfolgreichen Release-Review (das für die Teilnahme am Release-Train notwendig ist) müssen noch einige Dinge dokumentiert werden. Da sind zum Beispiel alle Drittbibliotheken, die in einem Projekt benötigt werden. Darunter fallen alle Nicht-EPL-lizensierten Bibiliotheken, Grafiken, Texte usw., z. B.:

  • Apache-Commons-Bibliotheken
  • Apache POI
  • H2-Database
  • Logging: SLF4J, commons.logging, logback usw.

Braucht man eine Nicht-EPL-Bibliothek, muss dafür in IPZilla ein so genannter Contribution Questionnaire (CQ) eingereicht werden. Diese Anforderung ist transitiv und muss zum Beispiel für jedes jar. erfüllt werden. Für ein eigentlich sehr einfaches Logging-Framework werden daraus dann schnell einmal zehn CQs. Es gibt drei Möglichkeiten, ein CQ einzureichen. Aufsteigend nach Aufwand sind das Folgende:

  • Ein CQ für die Nutzung eines Orbit Bundles (Kasten: „Das Eclipse-Orbit-Projekt). Diese CQs werden nahezu automatisch in kurzer Zeit genehmigt.
  • Ein CQ für die Nutzung einer Bibliothek, für die schon ein CQ genehmigt wurde. Auch dieser Fall wird normalerweise schnell bearbeitet. Es kann jedoch passieren, dass man gebeten wird, die Bibliothek in den Orbit zu bringen.
  • Ein CQ für eine noch nicht untersuchte Bibliothek. Das ist mit einer normalen Sourcecode Contribution vergleichbar. Alle oben beschriebenen Prüfungen laufen auch auf dieser Contribution. Speziell muss die Urheberschaft nachvollziehbar sein und eine der Lizenzen für die Nutzung in Eclipse erlaubt sein.
Das Eclipse-Orbit-Projekt

Das Orbit-Projekt [8] stellt Bundles mit Bibliotheken von Nicht-EPL-Software zur Verfügung. Das sind OSGi Bundles im Jar-Format, die sowohl auf dem Classpath als auch per Require Bundle oder Import-Package nutzbar sind. Die Bibliotheken müssen schon einmal innerhalb eines Eclipse-Projekts eingesetzt worden sein und daher einen genehmigten CQ besitzen. Ein Orbit Bundle wird üblicherweise vom ersten Nutzer in den Orbit gebracht und weiterhin gepflegt. Bundles liegen häufig in unterschiedlichen Versionsständen vor, um Abhängigkeiten älterer Projekte langfristig zu erfüllen. Man kann Orbit Bundles durch direkte Nutzung der einzelnen Jars oder als Teil einer Target-Plattform benutzen. Den Löwenanteil an Orbit-Bundles stellen Adaptionen von Apache Software, Logging Frameworks und der javax-Implementierung dar. Allerdings sind auch die H2- und die Derby-Datenbank vorhanden.

Sind wir bald da?

Nun fehlt nicht mehr viel. Im IP Log werden auch externe Contributions erfasst, im Fall von Jubula zwei Patches. Diese Patches sind in Bugzilla als Attachment hinterlegt und bekommen das iplog-Flag gesetzt. Damit ist für das IP-Team nachvollziehbar, woher die Contribution stammt. Der Quellcode muss von einem Committer in die Codebasis übernommen werden. Wenn alle diese Schritte erfolgt sind, kann man das IP Log zur Genehmigung einreichen. Dabei wird auf Basis der ersten Prüfung und der Deltas im IP Log die Erfüllung aller Anforderungen erneut geprüft. Das freigegebene IP Log ist auch eine notwendige Bedingung für ein Release-Review.

Nach dem Release ist vor dem Release

Was uns aufrecht hält, ist die Gewissheit, dass wir für das Indigo-Release alles Nötige erfüllt haben. Es hat sich auf jeden Fall gelohnt, uns schon im Voraus Gedanken [9] über die bekannten inkompatiblen Stellen zu machen und mit deren Entfernung oder Austausch frühzeitig zu beginnen. So hatten wir keine „böse Überraschungen“ während des IP-Prozesses. Die gewonnenen Einsichten sollen uns auch in den kommenden Jahren dienen: Für alle Servicereleases und natürlich das Juno-Release im nächsten Jahr stehen Contributions in Bugzilla, CQs, IP Logs, Release-Reviews etc. wieder auf dem Plan. Same procedure as every year, team!

Jubula benötigte 27 der einfachen CQs und glücklicherweise nur einen der letzten Kategorie. Alle CQs für ein Projekt sind in seinem IP Log erfasst, das öffentlich einsehbar ist [7].

Achim Lörke arbeitet in der Geschäftsführung der BREDEX GmbH (http://www.bredex.de/). Er ist der Project Lead für das Eclipse-Jubula-Projekt und vertritt seine Firma im Eclipse Board of Directors und anderen Eclipse-Gremien. Zusätzlich balanciert er die Interessen der Jubula- und GUIdancer-Entwicklung.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.