I'll answer that - because only the developer can enforce it. Let's say you're an end user and you know for a fact that a library in a proprietary app is GPLed and the seller is not complying with the terms of the license by not coughing up the code.
You don't have the legal standing to take the the seller to court and demand they comply with the terms of a license between them and the original developer of the GPL'ed code, even though you're technically a party to it as the release of the code benefits you.
I agree in the literal sense, but couldn't you look at the GPL as an agreement between the original developer and all downstream users that the developer will enforce terms when violations are brought to light?
One would think - but the obligation is not there (nor should it be really, this would only hamper its further adoption even more than it already is)
Agreed it's the right thing to do, but if I write a GPL module which is later used in say, a Microsoft product, I don't have the desire, the time, or even the money to take them to court.
> How exactly are you going to enforce GPL compliance when a Chinese company uses your library in their proprietary product?
Depends if it's hardware or software. If it's hardware, Customs gets involved. Software's harder, but the fact that there is a set of circumstances which make enforcement difficult do not make enforcement in general impossible, nor does it invalidate the concept behind the GPL.
> Bonus question - what exactly will you be gaining by spending your time on enforcing the GPL compliance rather than on something else (like coding)?
You'll be gaining GPL compliance. That's the point.
Nothing. That's why the GPL can be easily seem as being all about ego and anti-profits rather than freedom. Even if the company in your scenario violates the GPL it doesn't do anything to hurt software freedom. The GPL seems to be a tool to force FOSS ideals down people's throats rather than the nice sounding ideals that are the official party line. A GPL violation doesn't stop free software advocates from paying it forward and sharing and the original source is still available to anyone who wants it. But few people really want freedom. The goal of the GPL can easily be mistaken to be to turn all software into GPL software. In fact the existence of the GPL itself can also be mistaken as a clever ploy to infect non-free software and make it free.
Sorry, but how don't see how the GPL forces anything nor does it "infect" anything. That kind of loaded terminology is just BS.
The GPL offers you a deal that you can accept or refuse, just like any other license. The terms are definitively more onerous than permissive OSS licenses, but that's it.
An infection implies invasion. Until GPL'ed code starts copying itself to your projects, it's not an infection.
As RMS himself said:
The GPL's domain does not spread by proximity or contact, only by deliberate
inclusion of GPL-covered code in your program. It spreads like a spider plant,
not like a virus.
it's generally accepted that the GPL has a viral nature
It's generally accepted after the smear campaign by GPL haters, just like the "General Public Virus" expression and the "cancer" remarks by Ballmer. It's still a pejorative and, in my opinion, defamatory term.
A willful infection is still an infection. Whereby an invsasion is always unwanted. You can't willfully invade your own code, but you can willfully infect it - whether that be with other code, or licenses.
To be clear, I really wanted to point out that it can easily be perceived the way I described. I wasn't really trying to say that it's actually so. Honestly, I'm not a big fan of the GPL myself so it probably came out that way but the bigger point wasn't about my personal preferences but just how the GPL lends itself easily to that kind of thinking.