You can link it with whatever proprietary code you want, but keep the LGPL library free. As long as you don't want to link LGPL-licensed library statically, it's quite simple to comply with license terms.
There's also MPL (v2), that's weaker than LGPL, roughly operates on file-level (rather than LGPL's library-level).
Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination.
As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.
There's no distinction about static vs. dynamic linking, and no specific requirement like the LGPL to be able to relink the application (though the GPL's general requirement to produce useful source + build scripts for the library still applies).
I worked a bit on Classpath but that was a long time ago. There are like, lots and lots of emails + irc logs to dig up about that little exception and what it means. Not having things tested in court is a problem, and the lack of funding for FSF lawyers is another.
When used on an end-user application, GPL does a fantastic job. But in library use, it's a very viral license.
Say you wanted to write a KDE-native application back when Qt was GPL or commercial only. You couldn't do it by using GTK+ ... it wouldn't look quite right. You would have to pay money, or make your application GPL as well. And what if you couldn't pay?
It's not hard to imagine a world where the GPL truly took off, and everything from the top-level GUI toolkit all the way down to libc functions were all GPL'ed. You'd be forced to start from absolutely nothing to make even simple applications. Years and years of work just to get a basic desktop application going. And it would be entirely alien to the rest of the OS. That's not really an "option" anymore. Nobody would implement that much just to port to one OS.
No, we're not there. And no, we're never going to get there. Most library writers wisely choose the LGPL, and many others release everything under the BSD license. But if you take the GPL to its extreme conclusions, you can see why people consider it viral.
Anyway, to me GPL and LGPL always was the same thing but in different contexts: GPL = Applications; LGPL = Libraries - a nice trick is instead reading Lesser GPL, read it Library GPL. It fells better.
Say you wanted to write a streaming application and have popular films on it. You would have to pay money, and make your application follow the restrictive demands of the movie publishers. And what if you couldn't pay?
You'd be forced to start from absolutely nothing, with no proprietary movies at all. Millions and millions of licenses cost just to get a basic streaming application going, and it would entirely alien to an community where everyone share and share alike. That's not really an "option" for most developers of streaming services.
Proprietary movies is already in its extreme conclusion, and you can see why so many people consider proprietary licenses as deadly radioactive material that puts people in jail.
Anyone who has ever written a program for DOS, Windows, OS X, Linux or BSD has piggybacked off others' work. Anyone who has ever used a compiler to build their applications has. By that logic, proprietary programs should not exist at all; except maybe the OS kernels.
And you're welcome to think that way. I don't care for proprietary applications much myself. But I think you're pretty far removed from the mainstream at this point to advocate for the destruction of sales for the entire commercial software industry.
> You must choose: use GPL and make your code GPL too, or release closed proprietary software and start from scratch.
And that's exactly what people do. It's made substantially easier because most of the critical libraries (C runtime, GUI toolkit, etc) aren't under the GPL.