spinlocks, the GPL, and binary-only modules
The way I read it, the GPL is not the monster that most people think it is. In order to understand the GPL, you have to read all the acts that apply and that should start with the constitution of your country and state. You cannot read the GPL in isolation and think that you understand it. "Beware of a man of only one book", applies in this case.
Using a header file in proprietary code, could be argued as reverse engineering to ensure interoperability with another program. This type of thing is described in the DMCA in the USA and in the copyright acts of other countries, which are all pretty much the same. Since the GPL depends on the various Copyright acts, I think that using a GPL header in proprietary code to ensure compatibility, is allowed.
Another thing to bear in mind, is that 'fair use' is also allowed under the various copyright acts. Consequently it can be argued that you may use *some* GPL code in proprietary code and the larger the base of GPL code becomes, the larger the amount of fair use that will be allowed. Since the total GPL code base of the kernel is now many megabytes in size, fair use of some kilobytes of GPL code may very well be reasonable.
Check this out with your own lawyers...
Cheers,
Signature · 8 lines
------------------------------------------------------------------------ Herman Oosthuysen B.Eng.(E), Member of IEEE Wireless Networks Inc. http://www.WirelessNetworksInc.com E-mail: [email protected] Phone: 1.403.569-5687, Fax: 1.403.235-3965 ------------------------------------------------------------------------
Quoted 33 lines · Mark Mielke
Quoted 8 lines · Rik van Riel
Quoted 2 lines · David McIlwraith
How should it? The compiler (specifically, the C preprocessor) includes the code, thus it is not the AUTHOR violating the GPL.
If the compiler includes a .h file, it happens because the programmer told it to do so, using a #include.
I was recently re-reading the GPL and I came to the following conclusion:
The GPL is only an issue if the software is *distributed* with GPL software. Meaning -- it is not legal to distribute a linux kernel that contains non-GPL code, however, it *is* legal for an administrator to install linux, and then download a copy of the dynamically linked module from a separate web site, under a different (incompatible) license, and load it into the kernel. This new kernel image is a 'derived work', however, as long as the new kernel image is not distributed to 'the public', the GPL terms do *not* come into play.
While I believe my understanding on this issue to be correct, I still haven't answered the original question... is it legal to distribute a non-GPL binary that used a GPL header file to be compiled? Is the answer to this different depending on the amount of code that is generated using the GPL header file as source (i.e. inlined functions)?
mark