Ich möchte ein Audio-Fingerabdruck-Softwareprojekt unter einer kostenlosen Lizenz veröffentlichen, aber das Repository enthält urheberrechtlich geschützte Audiodateien. Die Testfälle verwenden derzeit auch diese Dateien. Wie gebe ich den Code für die Öffentlichkeit mit maximalem Versionsverlauf frei, ohne das Urheberrecht zu verletzen?
Einzelheiten:
- Der Code ist unter git versioniert. Wir werden alles vor der Veröffentlichung wieder in einem Zweig zusammenfassen.
- Es gibt 400 MB Audiodaten. Einige Dateien sind frei lizenzierte Musik von zB Jamendo, andere sind MP3s aus unseren persönlichen Sammlungen.
- Egal wie wir vorgehen, wir werden immer eine unveränderbare Kopie des Original-Repos aufbewahren, um die Projektgeschichte nicht zu zerstören.
Hauptfrage: Wie gehe ich mit der Veröffentlichung um?
- Lösche den gesamten Verlauf der fraglichen Dateien aus dem Git-Repository und gib das geänderte Repo frei. (v64 wies auf eine Möglichkeit hin, dies zu tun.)
- Alternativ können Sie eine Momentaufnahme des aktuellen Status des Codes machen und sich nicht einmal darum kümmern, einen öffentlichen Verlauf des Vorabversionscodes zu haben.
Nebenfrage: Wie hätten wir dieses Dilemma überhaupt vermeiden können, da manchmal privater Code oder Medien für die frühen Phasen eines Projekts benötigt werden?
quelle
filter-branch
Befehl ziemlich einfach - stellen Sie nur sicher, dass Sie ihn auf einem Klon des Repositorys ausführen, da er destruktiv ist und nicht rückgängig gemacht werden kann.Wenn Sie große Mediendateien (400 MB Audio) nachverfolgen möchten, legen Sie diese in einem separaten Repository ab.
Das schlägt zwei Fliegen mit einer Klappe:
Wenn Sie möchten, können Sie die Arbeit einfacher gestalten, indem Sie das Medien-Repository zu einem Submodul des öffentlichen Repositorys machen (das Sie veröffentlichen möchten).
Auf diese Weise behalten Sie nur einen Zeiger darauf, nicht den (sensitiven) Inhalt selbst (für frühe Entwicklungsstadien). Wenn Sie das Repo dann öffentlich veröffentlichen möchten, entfernen Sie einfach die Submodulreferenz. Dies ist weitaus weniger mühsam als das Umschreiben Ihres Verlaufs, um Daten im Wert von 400 MB herauszufiltern.
quelle