"Because there are no further agreed-upon promises, no reciprocal obligations. It would be a contract if I said to the owner of a pond: if you give me a license to fish in this pond, I'll give you half of all the fish I catch. In that scenario, each of us has voluntarily entered into a kind of promise. We each give the other something of value, so if I get the license and then I don't give over half of all my catch of the day, the pond owner can sue me for not living up to the terms of the contract."
This makes no sense to me. Why is it "It would be a contract if I said to the owner of a pond: if you give me a license to fish in this pond, I'll give you half of all the fish I catch." and not "It would be a contract if I said to the owner of a pond: if you give me a license to fish in this pond, I'll give you ten bucks." ??
A contract, on the other hand, is a forward looking document. It's based on the idea that you'll reach an agreement and something of value will be exchanged to seal the deal (which is why you hear of contracts for $1), but that the exchange will be incomplete until some time later.
For example, if you buy a concert ticket, your transaction with the vendor ends as soon as you receive the ticket, but the ticket itself is (typically) a kind of contract between the holder and the promoter, who promises to stage the event and provide admission to all ticket holders or refund the face value.
I don't know of large damages being awarded for violations of the GPL. Is there must history of this?
I would have thought Microsoft could write a replacement in house while their lawyers stall, then they would pay a fine quite small compared to their issues with proprietary IP, such as double space.
And as we see from the ffmpeg hall of shame, binary releases of wrongly-distributed GPL'd code often leave telltale strings in the binary. If you'd go to enough effort to obsfucate the binary effectively (not just strings) for every possible source file, why not just write it yourself?