Quelle est la bonne façon de procéder pour ajouter des fonctionnalités à un plugin WordPress publié?

8

J'ai donc regardé partout pour essayer de trouver une sorte de règles, ou du moins des directives de courtoisie commune, concernant ce problème et je n'ai rien trouvé.

Essentiellement, je me demande ce que je dois faire lorsque je trouve un plugin WordPress (gratuit, répertorié dans wordpress.org/plugins/, et inclut la licence GNU GP) qui, selon moi, pourrait sérieusement bénéficier de l'ajout d'une quantité donnée de fonctionnalités.

Après avoir modifié le code et inclus la nouvelle fonctionnalité, dois-je:

1) Soumettez-le à l'auteur actuel du plugin et espérez qu'il / elle l'ajoute?

2) Soumettre le "nouveau" plugin aux listes de plugins WordPress comme l'un des miens?

3) Évitez l'une de ces options. Il suffit de changer le plugin et de ne l'utiliser que pour moi.

4) Faites autre chose qui ne figure pas ici? (Cela implique que des suggestions soient faites dans la section des commentaires.)

Du point de vue des licences, je ne vois aucune interdiction de faire l'un de ces choix. Je ne sais pas à quel point il serait moral de prendre le code, de le modifier, puis de le vendre en tant que plugin premium, mais cela ne semble pas non plus être interdit par la licence GP.

Quelle est la meilleure pratique pour cette situation? Évidemment, je ne veux pas offenser l'auteur original du plugin ou faire quelque chose qui me ferait mal paraître dans la communauté de codage WordPress. Pourtant, dans ce cas auquel je suis confronté, je pense que le plugin bénéficierait sérieusement de cette fonctionnalité supplémentaire.

Que dites-vous?

Programmeur Dan
la source

Réponses:

8

Demandez au développeur avant de commencer à écrire du code.

  • La fonctionnalité dont vous avez besoin est peut-être déjà implémentée, mais pas publiée.
  • Ou l'API du plugin change dans la prochaine version, et votre code ne fonctionnera plus.
  • Peut-être que l'auteur peut simplement ajouter un hook, afin que vous puissiez implémenter votre code en tant que plugin séparé sans changer le plugin principal.

L'une des idées fondamentales de l'open source est la collaboration. Essayez toujours de vous améliorer ensemble. Évitez de publier quelque chose qui est à 90% un duplicata d'un plugin existant. Vous rendez le choix des utilisateurs encore plus difficile.

Mais si vous deviez écrire cette amélioration et que le développeur du plugin original refuse de travailler avec vous, rendez votre code public au profit des autres utilisateurs.

La licence des plugins hébergés sur wordpress.org permettra toujours de telles modifications ou addons.

fuxia
la source
D'accord avec Toscho. Personnellement, je suis toujours ouvert au code soumis par les utilisateurs et j'ajouterai toujours des crochets et des filtres supplémentaires afin que les utilisateurs puissent personnaliser mon code à partir d'un autre plugin.
helgatheviking
D'accord avec Toscho et @helgatheviking. En parlant personnellement, je maintiens un dépôt git et j'adore quand les gens contribuent.
Andrew Bartel
Pas en désaccord ici avec qui que ce soit, mais la meilleure option est d'inspecter le code source pour voir si vous pouvez modifier les fonctionnalités en utilisant les hooks déjà mis en œuvre (actions / filtres) sans changer le code d'origine du plugin. La deuxième meilleure option consiste à ajouter une demande d'extraction sur le référentiel git du plugin, en demandant l'ajout d'un hook (une demande d'extraction est un moyen beaucoup mieux structuré de `` contacter l'auteur ''). Si aucun de ces éléments ne fonctionne, il est temps d'envisager les autres options.
adelval