Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I have a question as to the proper best practices and ethics 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 is ethically and morally accepted. 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)?

share|improve this question
    
CC licenses with SA aren't a good license for code, it's a bit unclear how large the scope of the virality is. I'd talk to the original author and try to agree on a suitable license. –  CodesInChaos Feb 28 '13 at 10:10
add comment

1 Answer

up vote 2 down vote accepted

There are two paths you can take

  1. You provide your modifications for inclusion in the original project.
  2. 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.
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.