Best practices for forking a plugin

What is the best practice for creating a fork of an existing plugin on GitHub? Do you move the plugin to your own namespace (e.g… plugins/username/), make modifications in the creator’s namespace, or do you just move the files that you modify to your namespace?

Thank you!

It depends on the license. … You have to check that first. … Which license does the plugin have?

The best way would be to create an issue at the existing project first. … Issues typically create attention by the author.

You have to fork a project to be able to commit changes to the code. The best practice is to create a “feature branch” … A branch with a “speaking” name. eg: add-this-feature or fix-this-problem

Add the fixes to the existing file in the existing namespace
Push the changes to your own repo
Then create a pull-request.

That’s best practice for a friendly fork.


As the name says “friendly” fork. … An “unfriendly” fork is one with the intention to create a new project and take over the project, if the license allows it.

Unfriendly forks tend to cause more problems as they fix. … So this should be the last resort, for an active project.

For an “unfriendly” fork you have to change everything. The namespace and the plugin name. … BUT be sure the license allows it.


If the project isn’t maintained anymore, you could ask the original author, if you can take it over and maintain it. … IMO that would be the only case, where you could keep the name of the plugin and also keep the namespace.

Every other case IMO should result in a complete new plugin with a new name and a new namespace.

2 Likes

Thank you for the explanation!