Ich bin neu in der Open Source-Welt. Das Projekt, an dem ich arbeite, befindet sich auf Github. (Nur als Referenz) Das Projekt, an dem ich arbeite, ist ein Plug-In für den Plex Media Server. Ich habe vor, mein Plug-in an Plex zu senden, damit es in deren "App Store" aufgenommen wird. Nun zu meiner Frage.
Als ich anfing, fand ich ein älteres, halb-verlassenes Plugin, das einiges von dem machte, was ich wollte, aber nicht sehr gut. Ich habe damit begonnen, zu diesem Repo beizutragen. Ich wurde sofort zu einem Mitarbeiter mit vollen Rechten am Repo gemacht, da der jetzige Eigentümer sagte, er sei zu beschäftigt, um sich weiter damit zu beschäftigen. Als ich jedoch anfing, mich eingehender mit dem Code zu befassen, wurde mir klar, dass er sinnlos war. Die vorhandene Codebasis war schrecklich und es gab keine effiziente Möglichkeit, dies zu beheben. Ich habe gerade erst angefangen. Der einzige Code, den ich in meinem neuen Plugin verwendet habe, war der Code, den ich ursprünglich festgeschrieben habe.
Jetzt kann das Projekt freigegeben werden. Ich bin mir jedoch nicht sicher, wie ich das machen soll. Ich sehe meine Optionen wie folgt:
Erstellen Sie ein neues Repo und vergessen Sie einfach das vorhandene. Ich bin mir nicht sicher, ob ich das vorherige Repo und / oder seine Mitwirkenden überhaupt erwähnen soll. Ich habe keinen dieser Codes / Ressourcen verwendet und eine völlig neue Codebasis erstellt. Das Plugin macht zwar einige der gleichen Dinge wie das alte, aber es macht es auf eine völlig neue und effizientere Art und Weise.
Ich teile das vorhandene Repo mit, lösche den vorhandenen Code und gebe meinen neuen Code ein. Ich bin wirklich neu in Git, also bin ich mir nicht sicher, ob das überhaupt möglich ist.
Ich übernehme meine Änderungen am bestehenden Repo und sehe, wie die aktuellen Mitwirkenden zu sagen haben.
Von den drei Optionen neige ich stark zur ersten. ABER! Ich bin neu in Open Source und möchte sicherstellen, dass ich die Dinge gemäß der richtigen Etikette mache. Ich möchte nicht mein erstes Projekt in die Luft jagen und zur Katastrophe werden. Option zwei klingt nicht schlecht, aber ich bin mir nicht sicher, ob ich das tun soll. Ich bin mir nicht sicher, wie die Geschichte und Unterschiede funktionieren würden. Wir sprechen nur von maximal 500 - 1000 Codezeilen. Es ist also keine riesige Codebasis.
Vielen Dank für jede Eingabe, die Sie bereitstellen können!
quelle
Antworten:
Da es sich nur um neuen Code handelt, würde ich eher die Nummer 1 wählen, da der Festschreibungsverlauf des alten Projekts wirklich irrelevant ist. Aber es wäre schön, etwas in die README aufzunehmen, etwa "Basierend auf einer Idee von ...".
Ich bin ein großer Fan von der Erkenntnis, woher wir (oder unsere Algorithmen) kamen. Wenn Sie in die Nebel der Geschichte zurückblicken, werden Sie feststellen, dass wir alle auf den Schultern derer stehen, die vorher kamen - wir alle . Zum Beispiel habe ich in den 1980er Jahren eine Ähnlichkeitssuchmaschine entwickelt und vermarktet , die einigen Leuten ziemlich radikal erschien (Boolean war damals König). Aber das Herz des Algorithmus wurde ich auf der Arbeit wurde mit Basis Gestartet von Gerard Salton an der Cornell 20 Jahre vor mir.
quelle