Modifica dei plugin di WordPress
Ho quella che probabilmente è una domanda molto semplice su come apportare modifiche a un plug-in di WordPress. Mi scuso per la semplicità della mia domanda, poiché sono molto nuovo a lavorare con codice che potrebbe essere open source e nuovo nello sviluppo di plugin.
Ho trovato un plugin che ha fornito una buona soluzione per un progetto su cui stavo lavorando. Tuttavia, per farlo funzionare meglio per le mie esigenze, ho modificato il codice. Il plug-in ha una licenza "GPLv2 o successiva", che in base a questa sembra dire che le modifiche al plug-in vanno bene, purché prenda nota delle modifiche che ho apportato e che pubblico il plug-in sotto la "GPLv2 o successiva" anche la licenza.
A causa delle modifiche che ho apportato al plug-in, vorrei essere in grado di fornirlo ad altri come parte del lavoro del cliente. Tuttavia, non sono sicuro del modo migliore per andare avanti.
Sarebbe meglio pubblicare il plug-in con una licenza "GPLv2 o successiva" e aggiornarlo da solo (ho apportato modifiche molto minori al plug-in)?
O sarebbe meglio per me contattare il proprietario originale del plugin per collaborare e proporre le mie modifiche? Se il proprietario originale non accetta le mie modifiche, quali sono le mie opzioni?
Per rispondere alle domande di @ wrydere:
- Il plugin è gratuito, attualmente non offre aggiornamenti a pagamento né genera alcun tipo di profitto.
- Sicuramente non ho il tempo di mantenere la mia versione del plugin. Sarebbe bello se potessi per i clienti, ma non lo vedo realisticamente. Tuttavia, se dovessi mantenere il mio fork del plug-in, se il proprietario originale spinge gli aggiornamenti, accetterei quegli aggiornamenti (insieme alle mie modifiche) spingerebbe la dashboard di WordPress a dirmi costantemente di aggiornare il plug-in (perché il codice non 't "match")? Fondamentalmente, vorrei essere in grado di accettare gli aggiornamenti dal proprietario ogni volta che gli aggiornamenti vengono inviati e mantenere le mie modifiche senza che WordPress mi informi che devo "aggiornare" il plugin.
- Per ora no, non credo che il comportamento debba essere eseguito in un plugin secondario. Potrebbe essere? Probabilmente. Ma la maggior parte del lavoro pesante è già stato fatto con questo plugin, quindi crearne uno nuovo sarebbe ricreare la ruota.
Risposte
Nello spirito del software open source, inizierei sicuramente contattando lo sviluppatore originale. Se le modifiche apportate sono un miglioramento della base di codice e non portano la funzionalità del plug-in in una nuova direzione, la collaborazione potrebbe essere benvenuta.
Se le tue modifiche vengono rifiutate dallo sviluppatore originale, ci sono alcune altre cose da considerare prima di andare avanti:
Il plugin che hai originariamente biforcato è un plugin gratuito o pagato? O è gratuito ma offre aggiornamenti a pagamento (freemium)? Se in qualche modo genera entrate, biforcarlo e rilanciarlo con piccole modifiche è moralmente discutibile.
Hai il tempo, la larghezza di banda e il desiderio di mantenere una nuova versione biforcuta del plugin originale? In caso contrario, probabilmente non vuoi rilasciarlo pubblicamente solo per mettere le tue modifiche molto piccole nelle mani di altre persone. Potrebbe essere meglio mantenere il proprio fork del plugin, per i propri progetti.
Le modifiche nel comportamento potrebbero essere realizzate in un plugin secondario? Ci sono alcuni esempi di plugin che richiedono / modificano / si basano su altri plugin. Questo percorso richiede di stare al passo con gli aggiornamenti sia del core WP che del plug-in iniziale, il che può essere un mal di testa, ma se è possibile apportare le modifiche tramite hook, azioni e (sicuro e sano) l'override delle funzioni dal plug-in originale, questo potrebbe essere un percorso da esplorare.
Ci scusiamo per non aver fornito una risposta definitiva, ma la situazione potrebbe indicare molti possibili esiti.