Meine Firma (nennen wir sie Acme-Technologie) verfügt über eine Bibliothek mit ungefähr tausend Quelldateien, die ursprünglich aus der Acme Labs-Forschungsgruppe stammten, in einer Entwicklungsgruppe für ein paar Jahre inkubiert wurden und in jüngerer Zeit an eine Handvoll Kunden unter bereitgestellt wurden Geheimhaltung. Acme bereitet sich darauf vor, vielleicht 75% des Codes für die Open-Source-Community freizugeben. Die anderen 25% würden später veröffentlicht, sind jedoch entweder noch nicht für den Kunden verfügbar oder enthalten Code für zukünftige Innovationen, die sie benötigen, um nicht in die Hände von Wettbewerbern zu gelangen.
Der Code ist derzeit mit #ifdefs formatiert, mit denen dieselbe Codebasis mit den Vorproduktionsplattformen zusammenarbeiten kann, die Universitätsforschern und einer viel breiteren Palette von kommerziellen Kunden zur Verfügung stehen, sobald sie Open Source nutzen verfügbar für Experimente und Prototypen sowie für Vorwärtskompatibilitätstests mit der zukünftigen Plattform. Die Aufrechterhaltung einer einzigen Codebasis wird als wesentlich für die Wirtschaftlichkeit (und Vernunft) meiner Fraktion angesehen, die es schwer haben würde, zwei Kopien parallel zu führen.
Dateien in unserer aktuellen Datenbank sehen ungefähr so aus:
> // Copyright 2012 (C) Acme Technology, All Rights Reserved.
> // Very large, often varied and restrictive copyright license in English and French,
> // sometimes also embedded in make files and shell scripts with varied
> // comment styles.
>
>
> ... Usual header stuff...
>
> void initTechnologyLibrary() {
> nuiInterface(on);
> #ifdef UNDER_RESEARCH
> holographicVisualization(on);
> #endif
> }
Und wir möchten sie in so etwas wie konvertieren:
> // GPL Copyright (C) Acme Technology Labs 2012, Some rights reserved.
> // Acme appreciates your interest in its technology, please contact xyz@acme.com
> // for technical support, and www.acme.com/emergingTech for updates and RSS feed.
>
> ... Usual header stuff...
>
> void initTechnologyLibrary() {
> nuiInterface(on);
> }
Gibt es ein Tool, eine Analysebibliothek oder ein beliebtes Skript, das das Urheberrecht ersetzen und nicht nur #ifdefs, sondern auch Variationen wie #if defined (UNDER_RESEARCH) usw. entfernen kann?
Der Code befindet sich derzeit in Git und wird wahrscheinlich an einem Ort gehostet, der Git verwendet. Gibt es eine Möglichkeit, Repositorys sicher miteinander zu verknüpfen, damit wir unsere Verbesserungen effizient in die Open-Source-Versionen integrieren können? Tipps zu anderen Fallstricken sind willkommen.