Yep; I like the BSD + "social pressure viral clause" license as a proxy for "This is open, and I don't want to be a dick about it, but I'd appreciate if you reciprocated."
These licenses follow copyright law, not contract law. If they were contracts, there would be little question of whether they were enforceable and "GPL enforceability tested.." would not appear in nearly as many headlines as it does.
That is what's so brilliant about the GPL: if you accept the contract, then you are bound by it's terms. If you reject the contract (or plan to argue in court that it for some reason is invalid or does not apply to you) then you are still bound by copyright law!
Which, when you are dealing with corporations usually means exactly nil. The "social pressure" works fine for individuals, but means very little for corporations.
a perfect example of this is that of all the users using openssh, all of the donations to the project have come from individuals and small companies. most of these users are just using openssh to manage their servers.
of all the big router/switch/os vendors that have actually integrated openssh into their products that they sell and make money from, not one has donated a single dime back to the project.
Other large corporate users of OpenSSH have also donated (both code and money) to the project, though I don't have specific examples off the top of my head at this exact moment.
Which is the source of the double standard Zed is experiencing. Corporations are expected to exploit advantages, while individuals are expected to reciprocate gifts.
It's not a GPL vs. BSD double standard, it's a social one.
It does, and it doesn't. Individuals work for corporations (at least, the corporations I've been involved with). There's also a decent incentive to get changes committed upstream if a corporation is at a smaller scale than the BSD project they're using.