I have a question as to the proper best practices revolving forking code.
I’ve taken code base licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 and brought significant changes to it to suit my needs. I feel as though my version could benefit others and wish to redistribute it.
I’m unsure what liberties I have for redistribution or what acceptable. Can I rename the projects? Should I start a new v.1 or continue from the original version number? What is considered giving proper attribution to the original author? Should I consult the author and ask permission before releasing (although he is already aware)?
1
There are two paths you can take
- You provide your modifications for inclusion in the original project.
- You distribute your version as an alternative project.
The first option has the advantage that you won’t be competing with each other and that you can share the maintenance effort. On the other hand, if the copyright of the original is held by one person/entity, they might ask you to sign over your copyright if they want to retain the ability to change the licence.
With the second option, it is advisable to release your modified version under a different name, unless the original has been abandoned and is effectively unmaintained.
If you release under a new name, you can use whatever version numbering you like. If it is a continuation of the previous project, you should continue from the version number of the original.
With the use of his licence, the original author has already given you permission to release (under certain conditions). Proper attribution would be
- first and foremost, retaining the copyright statements.
- stating, in the documentation (such as a README file), which project you forked from. To be sure there is no mistake, I would also include a link to the project’s homepage, but I don’t think that is an obligation.