Ändern von WordPress-Plugins
Ich habe eine wahrscheinlich sehr einfache Frage zum Vornehmen von Änderungen an einem WordPress-Plugin. Ich entschuldige mich für die Einfachheit meiner Frage, da ich sehr neu in der Arbeit mit Code bin, der Open Source sein kann und neu in der Plugin-Entwicklung ist.
Ich habe ein Plugin gefunden, das eine gute Lösung für ein Projekt darstellt, an dem ich gearbeitet habe. Um es jedoch besser für meine Bedürfnisse zu machen, habe ich den Code geändert. Das Plugin hat eine „GPLv2 oder später“ Lizenz, die auf der Grundlage dieser , dass Modifikationen an das Plugin sind in Ordnung, scheint zu sagen , so lange ich Hinweis Änderungen ich gemacht habe , und dass ich das Plugin unter der „GPLv2 oder später“ veröffentlichen Lizenz auch.
Aufgrund der Änderungen, die ich am Plugin vorgenommen habe, möchte ich es im Rahmen der Client-Arbeit anderen zur Verfügung stellen können. Ich bin mir jedoch nicht sicher, wie ich am besten vorankommen soll.
Wäre es besser, das Plugin mit einer "GPLv2 oder höher" -Lizenz zu veröffentlichen und selbst zu aktualisieren (ich habe nur geringfügige Änderungen am Plugin vorgenommen)?
Oder wäre es besser für mich, den ursprünglichen Besitzer des Plugins zu kontaktieren, um zusammenzuarbeiten und meine Änderungen vorzuschlagen? Welche Optionen stehen mir zur Verfügung, wenn der ursprüngliche Eigentümer meine Änderungen nicht akzeptiert?
Um die Fragen von @ wrydere zu beantworten:
- Das Plugin ist kostenlos und bietet derzeit keine kostenpflichtigen Upgrades oder Gewinne.
- Ich habe definitiv keine Zeit, meine eigene Version des Plugins zu pflegen. Es wäre schön, wenn ich für Kunden könnte, aber ich sehe das nicht realistisch. Wenn ich jedoch meine eigene Verzweigung des Plugins beibehalten würde und der ursprüngliche Besitzer Updates pushen würde, würde ich diese Updates (zusammen mit meinen eigenen Änderungen) akzeptieren und das WordPress-Dashboard auffordern, mich ständig aufzufordern, das Plugin zu aktualisieren (da der Code dies nicht tut) nicht "übereinstimmen")? Grundsätzlich möchte ich in der Lage sein, die Updates vom Eigentümer jedes Mal zu akzeptieren, wenn Updates veröffentlicht werden, und meine Änderungen trotzdem beizubehalten, ohne dass WordPress mich benachrichtigt, dass ich das Plugin "aktualisieren" muss.
- Im Moment, nein, ich denke nicht, dass das Verhalten in einem sekundären Plugin erreicht werden muss. Könnte es sein? Wahrscheinlich. Der größte Teil des Schwerlasttransports wurde jedoch bereits mit diesem Plugin durchgeführt. Wenn Sie also ein neues Plugin erstellen, wird das Rad neu erstellt.
Antworten
Im Geiste der Open-Source-Software würde ich auf jeden Fall den ursprünglichen Entwickler kontaktieren. Wenn Ihre Änderungen eine Verbesserung der Codebasis darstellen und die Funktionalität des Plugins nicht in eine neue Richtung lenken, kann die Zusammenarbeit begrüßt werden.
Wenn Ihre Änderungen vom ursprünglichen Entwickler abgelehnt werden, müssen Sie noch einige andere Dinge beachten, bevor Sie fortfahren:
Ist das Plugin, das Sie ursprünglich gegabelt haben, ein kostenloses Plugin oder bezahlt? Oder ist es kostenlos, bietet aber kostenpflichtige Upgrades (Freemium) an? Wenn es in irgendeiner Weise Einnahmen generiert, ist es moralisch fraglich, es zu verzweigen und mit geringfügigen Änderungen erneut freizugeben.
Haben Sie die Zeit und Bandbreite und möchten eine neue, gespaltene Version des ursprünglichen Plugins beibehalten? Wenn nicht, möchten Sie es wahrscheinlich nicht öffentlich veröffentlichen, nur um Ihre geringfügigen Änderungen in die Hände anderer zu bekommen. Möglicherweise ist es besser, wenn Sie nur Ihre eigene Verzweigung des Plugins für Ihre eigenen Projekte beibehalten.
Könnten die Verhaltensänderungen in einem sekundären Plugin durchgeführt werden? Es gibt einige Beispiele für Plugins, die andere Plugins erfordern / ändern / darauf aufbauen. Diese Route erfordert die Aktualisierung der Aktualisierungen sowohl des WP-Kerns als auch des ursprünglichen Plugins, was Kopfschmerzen bereiten kann. Wenn es jedoch möglich ist, Ihre Änderungen über Hooks, Aktionen und (sicheres und vernünftiges) Überschreiben von Funktionen des ursprünglichen Plugins vorzunehmen, Dies könnte eine Route sein, die es zu erkunden gilt.
Es tut uns leid, dass Sie keine endgültige Antwort gegeben haben, aber die Situation könnte auf viele mögliche Ergebnisse hinweisen.