Best practice when forking GPL code
- When forking an open source project, the first step should always be asking: “should I really be forking this project?” In most cases, you should instead consider simply contributing to the existing project. If this isn’t possible, then consider forking into a new project if your proposed changes warrant it.
- An important consideration when forking a project is the maintenance of the new project. A new project needs to be supported and updated, which is a non-trivial effort. This is also potentially an argument in favour of not forking and instead contributing to the existing project, to save on doubling effort.
- Maintaining the copyright notice from the original project is a legal obligation. Copyright has to do with ownership, and GPL has to do with usage. You cannot simply claim ownership of the existing code, but you can add your own copyright notice to indicate joint ownership of this new project.
- When working with a project under an open source license, whether it’s a brand new project or a new fork of an existing project, ensure you are familiar with the terms of the license and comply with the license. For example, with code licensed under the GPL, the forked code would also need to be distributed under the GPL.
- Authors seeking to distribute forked code on Envato Market must maintain the copyright notice, GPL text and original author's attribution. For the work you have contributed you can add in your own attribution.
- A fork is considered a new project and the maintenance of the fork is the responsibility of the forker, not the original project creator. Please be clear about the source of code in your items. Original code authors cannot be expected to take on support for other developers who use their code in products.
- When forking an open source project the fork should be given a new name. The name of open source projects are often trademarked and the fork must have a new name to avoid infringing on the trademark. For example “WordPress” is a trademark, if you were to fork WordPress GPL code you would need to rename the project. It is also best to name the forked code in a clear and distinctive way make it easy for people to differentiate between your fork and the original.
- The forked project must provide sufficient uniqueness or improvement over the original project to be accepted on Envato Market. When submitting items based on forked code please outline clearly why you have forked the original code and what enhancements or modifications you have made.