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.