Searching for the Correct License
mchappee asks: "I'm about to release an Open Source software package for Linux. I'd like to have the code covered under the GPL, but I cannot because it links to commercial libraries. There are lots of Open Source licenses out there, but time and again I see people and companies being attacked for choosing the wrong one. So I ask you, the nerds, to enlighten me. What license will protect my code and ensure that it will always remain Open Source, yet will allow me to link to commercial libraries? "
Use the LGPL, that's what it's there for.
btw, keep in mind what happened when KDE did this. A free program (especially a good one) which requires non-free libraries is likely to cause a lot of problems with users. You may want to try and find a free library which fills a similar function to the non-free one you are currently using.
Dysprosium
As the previous poster stated, you should probably use the LGPL. If you want a tighter license, release your code under two licenses: the plain GPL, and GPL with an exception for the commercial product. This means people will be able to distribute binaries of your product, and also be able to use your source in other GPLed software. (the LGPL would allow this as well)
LGPL is the way to go. Personally, i'd just hack whatever functionality is required using the standard C library or GTK if GUIs are required and release the code under the GPL without linking to a commercial library. ask yourself if the commercial stuff really offers fucntionality which cannot be duplicated with any existing GPLed library. Something like MOTIF (comemrcial) can be replaced pretty well with LessTIF (GPLed) with a simple recompile (no code rewrite required).
I like the OpenLDAP license. It protects you, it
protects your code, it mixes well with licensed
source.
Why so few comments to an important question like this?
Maybe it should be reposted. I simply don't believe there is so little interest in this question.
If you are dynamically linking to the library, then the GPL can still be used if you define its terms narrowly. The LGPL is not appropriate since it is for writing libraries, not linking to them, though it could still work.
Otherwise, ANY OTHER Free Software license will work, because it is only the GPL has has restrictions on distributing mixed code. BSD, Artistic, MPL, QPL will all do fine.
The QPL is probably closest to what you want, but modification to the code need to be separate from the code. This won't affect you, but will severely limit the ability of people to fork your code. As with the GPL, you can always include an "exception" to allow distribution of modifications as a full package to facilitate forking.
The Artistic license is also a good choice. It's almost like a cross between the GPL and the BSD. The project can fork, but the forks must use a different name to avoid user confusion.
A Government Is a Body of People, Usually Notably Ungoverned