A few months ago we found a library licensed under GPL that fit the bill for what we were looking to do at that time. We included it in our codebase and all was fine. Now, a few frantic months of coding later, we've refactored the hell out of the library: it's more feature complete, more stable, fully unit tested, PSR-0 compatible, etc.

Now we would like to use the library in another one of our projects and that got me thinking, why not re-release the library?

The problem is that I don't have any idea on how to attribute the work the original developers have put in (which is actually that much refactored that it's kinda unrecognizable) when releasing the library as GPL again. Over time all the file documentation headers with the original credits have been replaced and all that remains is the LICENSE file which is an exact copy of the GPL v3 license.

I have absolutely no problem giving credit where it's due, but I would like to do it according to what is right in the FOSS world. Anyone can tell me how to proceed?

  • 1
    What do the copyright notices in the original files look like? Did they use the GPL under their own names (retaining the copyright) or did they do what a lot of people do and release it under the GPL, assigning the copyright to the Free Software Foundation? May 9, 2012 at 16:27
  • @StevenBurnap - you raise some good additional points there. I updated my answer to link to an overview of the GPL as well as FSF's FAQ on the GPL. We would need to know which version of GPL or LGPL it was originally released under to comment much further.
    – user53019
    May 9, 2012 at 17:44
  • @GlenH7 They released it under an unmodified GPLv3 license. Does that mean anything specifically in this case?
    – ChrisR
    May 10, 2012 at 6:59
  • I don't think the standard GPL v3 requires attribution. IANAL
    – Jaydee
    May 10, 2012 at 8:12

3 Answers 3


Is the original library site still active? Many FOSS and GPL'd projects end from lack of activity.

If the site is still active, contact the owners and offer up the changes you have made.

If the site isn't active, there are a number of hosting places. Do as you have stated in your question - give full credit; explain what you changed; offer it up to others.

At the risk of redundancy, but also for future research, here are some relevant links to your question. The GPL overview is rich with additional links.

Overview of software licenses: http://en.wikipedia.org/wiki/Software_license
GPL overview: http://en.wikipedia.org/wiki/GNU_General_Public_License
GPL FAQ: http://www.gnu.org/licenses/gpl-faq.html

Based upon the additional information that the original project is a GPLv3 licensed project, and you've significantly changed your derivative of the project, I would consider the following.

You have effectively forked the project, and I think your example demonstrates that forking can sometimes be a good thing.

The first step, and a polite one at that, is to contact the original project team and offer to contribute your updates. You have stated they will likely reject the changes, which is okay - they don't see the need or just can't afford the overhead to switch. Technically, you don't have to do this since the GPL gives you full rights to create a derivative work.

The next step is to determine what license you wish to use in releasing your version of the project. Take a look at:
and that should help guide you. I'll assume you stick with GPLv3, but you don't have to.

Once you find a home for your project, you should state that you are releasing the project as a GPLv3 project and that your project is based upon project XYZ that was released under GPLv3 as well. Attribution for work isn't quite as important here as history of project licensing. OTOH, by calling out the license history you are explicitly attributing the origins of this project. Two birds, one stone. :-)

  • The original library is still semi active, the developers aren't actively extending it ... actually the last updates to the projects are updates I made :) ... since then all changes and updates have happened locally at our company without recontributing back to the original repo. To be honest, I don't think they'll accept the changes i've made in their repo since functionality and API have diverged soo much it might as well be useless to them ... but not to others creating new implementations.
    – ChrisR
    May 10, 2012 at 7:01

You may want to check the license as distributed with the software. Section 7 has "additional terms" that MAY be applied which is where attribution comes in. Check if this is required. The main requirement is to PRESERVE attribution notices. If they aren't there, you obviously can't preserve them.

If you have done a lot of work and the project is still active, you can offer the new/modified code, but if they don't want it, you can always fork it and distribute it seperately.

As always IANAL, YMMV

-- edit

As I understand it the standard GPL v3 doesn't require attribution.


You probably need to go back to the original GPL source code base you started with, extract all the copyright attributions (if any) from that source code, and (re)add those copyright attributions to the files of any of your source code derived from that original source code base.

  • Not to say that this is necessarily incorrect, but do you have any reference or basis for this course of action being what one needs to do?
    – user8
    May 10, 2012 at 8:46
  • 1
    That sounds closer to a legal question more appropriate for asking your attorney.
    – hotpaw2
    May 10, 2012 at 14:10
  • 1
    A high quality answer on "the needs" of a copyright licensing issue would be from your attorney. Opinions from developers who have dealt with GPL software in the past (on both sides) may or may not be 100% noise.
    – hotpaw2
    May 10, 2012 at 16:15
  • 1
    let us continue this discussion in chat
    – hotpaw2
    May 10, 2012 at 16:23
  • 1
    No need: I'm just asking you to expand your answer with your experiences.
    – user8
    May 10, 2012 at 16:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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