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.

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?

share|improve this question
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? –  Steven Burnap May 9 '12 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. –  GlenH7 May 9 '12 at 17:44
    
@GlenH7 They released it under an unmodified GPLv3 license. Does that mean anything specifically in this case? –  ChrisR May 10 '12 at 6:59
    
I don't think the standard GPL v3 requires attribution. IANAL –  Jaydee May 10 '12 at 8:12
add comment

3 Answers 3

up vote 5 down vote accepted

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:
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. :-)

share|improve this answer
    
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 '12 at 7:01
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
    
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 '12 at 8:46
    
That sounds closer to a legal question more appropriate for asking your attorney. –  hotpaw2 May 10 '12 at 14:10
    
The point of me asking isn't to get free legal advice: it's that you've posted this as being the answer, yet you haven't provided anything—like a source—that indicates it is, in fact, the correct course of action. If you think this is a matter for an attorney, I'm not quite sure why you answered, much less with this very specific piece of guidance. –  user8 May 10 '12 at 16:00
    
I'm not sure you quite understand what we're trying to do here on Stack Exchange: the point of asking a question here is to get high-quality answers from people who actually understand the problem. If you can't provide that, just don't answer. If you think the question is unanswerable given our scope, vote to close it. Coming up with random advice that's based on nothing is just noise. –  user8 May 10 '12 at 16:10
1  
No need: I'm just asking you to expand your answer with your experiences. –  user8 May 10 '12 at 16:29
show 3 more comments

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.