Hacker News new | ask | show | jobs
by geofft 2395 days ago
The GPL has no power that owners of proprietary code don't already have. The GPL is a software license under copyright law which grants certain permissions subject to certain conditions. If you don't fulfill those conditions, standard copyright law takes effect.

The GPL does not on its own have the power to "infect" the rest of your codebase. You can absolutely decide you want to distribute GPL'd software compiled in with proprietary software for which you don't want to release the source. The owner of the GPL software still does not, at this point, have any right to your source. All they can do is say, since you have not obeyed the conditions, you don't have a valid license for my software, and I am now ready to sue you for infringement.

You can resolve this situation by relicensing the proprietary components under the GPL and distributing source, if you'd like. GPLv3 has an explicit provision that says, if you do this within 30 days of being notified of the problem, the license retroactively does apply to you and it wasn't infringement. Many major GPLv2 rightsholders have voluntarily adopted the same condition for their GPLv2 code: https://gplcc.github.io/gplcc/

You can also resolve the situation by settling with them out of court, going to court and paying damages, going to court and arguing it was fair use / de minimis / whatever, trying to buy them out, etc. If you're willing to do any of those, then you don't have to release your source. (If you go to court and lose, you will probably be ordered to not further distribute the GPL'd code in violation of the license.)

None of this is specific to the GPL. If you use proprietary code without a license at all, the rightsholders can still sue you. You can still negotiate with them. You can still fight it out in court. The rightsholder can even choose to say, "Hey, you know what? If you release the entire source code to your product publicly, we'll drop this case." They have the ability to negotiate that with you because that's the same ability GPL rightsholders have.

GPL is considered "viral" because, for most people, releasing the rest of your source code is preferable to losing in court for regular copyright infringement. With proprietary software, if it's found out that you've misused someone's code, they probably will not offer you that viral option - they'll go straight for the monetary damages. If you don't consider that fatal, then you shouldn't fear that situation with the GPL, either.

4 comments

> The GPL has no power that owners of proprietary code don't already have.

This is technically true, but practically getting a proprietary license for some GPLed programs would be obscenely difficult. How many authors are there of GNU Bash? GCC? Would all of those authors accept money from Apple to allow them to ship a proprietary version of their code in MacOS? Are they all even still alive? And I bet some people would demand obscene amounts of money for tiny patches they made decades ago, just to spite Apple. And they'd probably write scathing blog posts about how apple hates free software just because they were asked. Then what would apple do? Strip out random chunks of code from archaic codebases like bash and hope for the best? Ugh.

This would be fine if there was a central owner to whom copyright has been assigned, but opensource programmers aren't in the habit of doing that. So there's no central body with whom Apple can negotiate (and even if there was, would the FSF sell a proprietary license to apple?). Under RMS? No way.

Your second point seems incoherent in its own terms. You say:

> You can absolutely decide you want to distribute GPL'd software compiled in with proprietary software for which you don't want to release the source.

... But then you say:

> GPL is considered "viral" because, for most people, releasing the rest of your source code is preferable to losing in court for regular copyright infringement.

So you're saying that the GPL only applies if you don't want to get sued? I mean, sure, but spoilers: Apple doesn't want to get sued for GPL violations. They have deep pockets, and they'd lose, and they'd get really bad press for it which might hurt their ability to hire good programmers in the long run. They don't want the reputation Microsoft had in the 90s.

My point is that proprietary code being proprietary also only matters if you don't want to get sued.

There is a view that the GPL is more dangerous than proprietary code. This is untrue: it is strictly less dangerous. If you are somehow not worried about being sued over proprietary code (which, to be clear, seems like a bad approach to me), you shouldn't be more worried about the GPL.

You also have no guarantee of negotiating a license from the owner of proprietary code, and such owner is way more likely to have lawyers than someone who posted a patch to bash 10 years ago and them disappeared from the internet.

(Also, for GNU projects, GNU has a policy of requiring copyright assignment to the FSF, mostly because the FSF does have lawyers and are unlikely to be willing to negotiate a private license. For non-GNU software, agreed, but, "This vendor went out of business and we have no idea where the copyright ended up" isn't unheard of either.)

> The GPL does not on its own have the power to "infect" the rest of your codebase.

The reason some people specifically want to avoid enhancing GPLed software is because they want to be able to modify software without the condition of releasing the source for their modifications. The fact that the alternative to voluntarily releasing the source is being sued doesn't make the situation any less burdensome.

> With proprietary software, if it's found out that you've misused someone's code, they probably will not offer you that viral option - they'll go straight for the monetary damages.

And this rarely happens in practice because people with proprietary software guard the source and don't intentionally let others have it.

All three options (proprietary, GPLed, permissive open-source licenses) serve different purposes and will be chosen by different entities based on individual circumstances.

None is a one-size-fits-all, and I think we've seen over the last decade or more that the size that fits many corporations is the permissive open-source license model which allows them to contribute back what they'd like without being forced into the choice between contributing back everything or being sued.

The GPL is considered viral because linking GPL code into my application imposes legal requirements and restrictions on all the other code in my application. Most licenses don't do this. If I bought a proprietary software license that said "you must not use this code in a program that implements DRM", I would call that viral as well.
> Most licenses don't do this

Most free software licenses? Sure. Most Proprietary software licenses? I don't know about that. For example from IE 5:

> 6. EXPORT RESTRICTIONS. You agree that you will not export or re-export the SOFTWARE PRODUCT, any part thereof, or any process or service that is the direct product of the SOFTWARE PRODUCT (the foregoing collectively referred to as the "Restricted Components"), to any country, person or entity subject to U.S. export restrictions. You specifically agree not to export or re-export any of the Restricted Components (i) to any country to which the U.S. has embargoed or restricted the export of goods or services, which currently include, but are not necessarily limited to Cuba, Iran, Iraq, Libya, North Korea, Sudan, and Syria, or to any national of any such country, wherever located, who intends to transmit or transport the products back to such country; (ii) to any entity who you know or have reason to know will utilize the Restricted Components in the design, development or production of nuclear, chemical or biological weapons; or (iii) to any entity who you know or have reason to know has been prohibited from participating in U.S. export transactions by any federal agency of the U.S. government. You warrant and represent that neither the BXA nor any other U.S. federal agency has suspended, revoked or denied your export privileges.

I have seen similar clauses in a lot of other software in the past (such as itunes, Adobe programs, and Norton I think).

How would we describe a license that simplie said that you are not allowed to impose any restrictions, legal or otherwise, when distributing the software or work made from it.
True, but it’s perfectly reasonable for Apple to come to the conclusion that, “we just don’t want to deal with the risk” and move on. If they’re not using either GPLed or proprietary stuff, the problem goes away.