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?
How should I go about re-releasing a GPL-licensed project?
open source;licensing;gpl;foss
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_licenseGPL overview: http://en.wikipedia.org/wiki/GNU_General_Public_LicenseGPL FAQ: http://www.gnu.org/licenses/gpl-faq.htmlBased 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: http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility 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.  :-)