Re: Move to LGPL3



Jean Bréfort wrote:
Windows API (and may be DirectX) is a special case, because you can't
write a Windows program without using it.

It's not a special case. There is certainly no reference to the Windows API in the GPL or the LGPL.

The only license that matters when it comes to deciding whether or not you can link to the Windows API, is the license that Microsoft grants you for the Windows API. The GPL cannot dictate how you may or may not make use of the Windows API. I do not see a clause anywhere that states "you may never derive from, or make us of, a non-GPL or non-LGPL library." It is always the product you are deriving from, or making use of, whose license defines what you are allowed to do or not allow to do.

The GPL "virus" is in the form of a copyright. It prevents people from copying, which includes distribution of the product and derivations of the product. Accessing a non-GPL library is not copying of GPL code. Using the published interface of another library is not copying of GPL code. If such were the case, it would be impossible to use GPL software on anything except for a full-stack GPL system, arguably including the hardware. It would be ridiculous and impractical for everybody, including the FSF.

The GPL cannot prevent you from linking a given product with another library. However, the GPL can force all products that are derived from a GPL product, to themselves be GPL products. Library use, that of linking at run time, is a grey zone in terms of whether a product is derived from the library, or merely makes use of it. Most interpretations I have read consider it a violation if a non-GPL product links to a GPL product, unless the use of the GPL library is one of at least two options, and effort is made to distance oneself from any conclusion that the product might require the use of a GPL library or that the product will function better with the GPL library. Messy.

Anyways - I hope this helps.

Cheers,
mark

--
Mark Mielke <mark mielke cc>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]