The GPL is not viral. It is an entirely opt-in license, and you have complete and total control over what software you choose to release under the GPL. There is absolutely no way you can ever be forced to release so much as a single line of code under the GPL.
Call it what it is: Just another software license. (Whether or not you like it is a completely different discussion, but it's no more evil than propriatory licenses.)
(Yes, I know why people call it viral, but my point is that you have complete control over what you do - noone can force you to use a particular library if you don't like the license. Note that by 'you', I mean the owner of the software you're writing - your boss may be able to dictate what library you use, but your boss is also the one responsible for the legal side of things - at least until the company lawyers get involved.)
However, if you wish to use code that has a license, then you must obey the terms of the license. If you buy a propriatory library, you may have to charge every one of your customers a fee for this library, or allow auditors complete access to your development systems. If you use another library, you may have to share specific source code with your customers. If you choose not to reuse existing code, you will have to write it yourself.
If you choose to use code without caring if it's legal, you may be sued. I trust you read the license for all of your compiler(s) and associated libraries, and operating system APIs. (Even Microsoft acknowledges that you should get a lawyer to read their licenses - although they'ld prefer to have people think that only applies to Evil Viral Licenses.)
If you object to the conditions of a license, you don't use the software it covers, and it doesn't affect you at all. If you really want that library but hate the license, it's too bad - you get to choose which option is more important to you.
If you work on a proprietary piece of software for your company and use a small GPL library within, then your entire proprietary software must enter the GPL
This depends on what you mean by 'entire'. It should mean 'the entire specific application' rather than 'everything you've ever worked on'.
That's just like any license. It would be as realistic to say "The thing to worry about with propriatory licenses is that they affect the entire applictaion you're writing." It's true, and you do need to make sure you understand all the restrictions, but it's hardly surprising. In both cases, it doesn't matter how large or small the library is, either.
If one library requires you to release your code using the GPL, and another library forbids this, then you can't use both libraries in the same program. And I can't see any way that either one could be considered 'worse' or more worrying because it doesn't matter what you want to do, at least one option isn't legally available if you use both libraries.
[ Parent ]