Hacker News new | past | comments | ask | show | jobs | submit login

You're pulling at straws here.

If I'm writing a program under GPL, and I want to incorporate a component with a BSD license, I can do that and continue to license the entire program to my users under the GPL.

If I'm writing a program under BSD, and I want to incorporate a component with a GPL license, I can't do that and continue to license the entire program to my users under the BSD. That's the difference, and surely that's what the OP is referring to.

Suppose someone comes along and finds my program, and wants to modify it and release it without providing the source. Before, when I could license the whole program as BSD, they could do that. After I incorporated a single file's worth of GPL code, they can't do that. Because it's no longer possible for me to license my program as BSD.

Also, note that there's absolutely no guarantee that users can "take that library from your source repository and use it for their own purposes without abiding by the GPL". I am under no obligation to provide a BSD-licensed copy of the original library. If I make modifications to the library before I push it to my repository, I do still have to keep the copyright notice intact, but I am not providing anyone with a BSD library. My modified version of it is only GPL.




> If I'm writing a program under GPL, and I want to incorporate a component with a BSD license, I can do that and continue to license the entire program to my users under the GPL.

If “the entire program” includes the BSD component, then this is not correct. You cannot change the license for a work if you do not hold the copyright for that work. Your license applies only to the code you hold the copyright to.

I agree with torstenvl here. This is not a meaningless distinction. You can distribute BSD components with your GPL software but they retain their own license and you must abide by the license (hence all the attribution notes you’ll find in software that uses others’ components).


You are laboring under false beliefs. It is common for software folks to think that they are experts in the law. They are not.


As far as I can tell, you're saying that if a piece of GPL software includes unchanged BSD code, anyone can download that unchanged BSD code from the repository for the GPL'd piece of software and use it under the BSD license.

This is not a situation that anyone is discussing.

What is being said is that I can take a piece of BSD code, modify it as I see fit, and relicense the assemblage as GPL (or as my personal property for that matter) as long as I include the BSD license and acknowledgements when I redistribute it. I cannot take a piece of GPL code, modify it as I see fit, and relicense it as BSD. If you disagree with this, explain why, but don't bring up some situation that is as vanishingly rare as to possibly have never happened. If you're desperate for a piece of BSD code, and the only place to get it is within the repo of a GPLed piece of software that includes it untouched, nobody is going to claim that code becomes GPLed from being distributed alongside GPLed software. But if I go through that code and add the prefix "GPLisbetter-" to every variable name, can you use it under BSD?


> This is not a situation that anyone is discussing.

It's exactly the situation that was articulated. Or at least the most plausible version of what was said.

> What is being said is that I can take a piece of BSD code, modify it as I see fit, and relicense the assemblage as GPL

That is probably false. The BSD code itself cannot be relicensed, since nothing grants you that permission. Courts have not expanded the idea of compilation copyright to software linking, so far as I know, so that is an open question. However, even if the "whole assemblage" had a compilation copyright separate and apart from its independent components, it would not change the fact that the BSD-licensed component is BSD-licensed.

> if I go through that code and add the prefix "GPLisbetter-" to every variable name, can you use it under BSD?

Yes. We call this kind of thought process "jailhouse lawyering" and it is almost universally disastrous for the proponent. Courts readily see through arrogant people's attempts to outsmart their own common sense. CTRL+H will not provide you the magical ability to relicense a copyrighted work you do not own.


> it would not change the fact that the BSD-licensed component is BSD-licensed.

That's correct, as far as I know. But it completely misses the point. I'm not required under the BSD to provide anyone with access to the original, BSD licensed code. That's the whole reason people can distribute modified closed source BSD code as they see fit. If I modify a BSD licensed source file and include it in my program, I am free to license the whole thing to anyone as GPL. This does not "change" the licensing of the original component - but I am not providing the original component.

Of course, most of the interest is in going the other direction. If I include a GPL licensed source file in my program, the entire program becomes GPL even if I don't want it to be. Unless the recipient of the software painstakingly removes all GPL components, they must abide by the GPL's requirements for the whole of the software.


> I am free to license the whole thing to anyone as GPL.

This is what you’re getting wrong. You can “distribute GPL software that includes BSD components” but this is a misstatement of what actually happens. You are distributing your own software as GPL code and at the same time distributing the BSD components. The license to those components (or their source code) does not change. You absolutely can’t blanket apply the GPL to the whole thing.

> This does not "change" the licensing of the original component - but I am not providing the original component.

You absolutely are. If I ship a book full of Sci Fi stories I wrote, and happen to include some classic Philip K Dick stories, I have absolutely included the original. The fact that I wrapped it in my own work changes nothing.


If I'm writing a program under BSD, and I want to incorporate a component with a GPL license, I can't do that and continue to license the entire program to my users under the BSD. That's the difference, and surely that's what the OP is referring to.

You can continue to offer your work to users under a BSD license, you just also have to offer the complete work to them under the GPL as well if they want - ie. your work can be "Dual BSD/GPL" license. Obviously this doesn't make other authors GPL bits you've used BSD - if someone wants to make use of rights reserved under copyright law in respect to those parts, they still need a valid license from the original author who is presumably only offering GPL.


> you just also have to offer the complete work to them under the GPL as well

The "as well" is where your comment introduces a slight inaccuracy, because it suggests that you could offer the whole work under BSD if you wanted to. You can not. The whole reason that people who prefer permissive licenses do not use GPL code is that they want to be able to license the whole work under a permissive license, in order to be able to provide their licensees with additional freedoms.


By "your work" I mean "everything you have authored".

- The parts you've written can continue to be available under the permissive license (as can any parts you've copied from elsewhere under a permissive license);

- The GPL code you didn't write can't be re-licensed by you and continues to be available under the GPL;

- The complete derived work has to be made available by you under the terms of the GPL.

(By "as well" I mean "as well as offering the code you wrote under whatever other license you would like").




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: