
Mailing List Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [tlug] Free versus open: a rant
>>>>> "Joe" == Joe Larabell <larabell@?jp> writes:
Joe> I don't believe that's true.
Unfortunately, both rms and his lawyer disagree with you, as does
Larry Lessig, assuming I understood them correctly.
For the purpose of exposition, I'm just going to make flat statements,
but, although I believe the statements made to accurately reflect what
a real lawyer might say, everything between here and the .sig
separator should be qualified with "I am not a lawyer. This is not
legal advice. Before making any decisions based on understanding
gleaned from this discussion, consult a qualified lawyer."
Joe> So long as you don't actually distribute the proprietary
Joe> "warez" with your product, there should be nothing wrong with
Joe> making the function call.
That depends. If this condition:
Joe> That would be even more clear (legally) if there were a known
Joe> API through which this chunk of warez were hooked into the
Joe> application (which is probably the case here).
PLUS "there exists free software which can be accessed by the same
API" is true, then it is OK for the free software to make the function
call.
Joe> For example, if you had a 100% GPLed browser with an API for
Joe> plugins. And if I wrote a whiz-bang plugin to do sojme kind
Joe> of 3D rendering -- but being a major a**, I released it under
Joe> a proprietary license -- would that have any effect on the
Joe> browser's "Free" status just because it can call my plugin?
No, because the browser's plugin API was preexisting.
Joe> I tought it had already been established that GnomeMeeting
Joe> could work with other codecs and that this one was options,
Joe> albeit necessary for certain functions.
That much has been established. _If_ the calling convention for the
proprietary codec is identical to that for the others, you're OK. If
not, you can't redistribute the product containing code _specific_ to
the proprietary codec without separate permission of the copyright
owner; the GPL does not permit it, because the unavoidable conclusion
(according to all the lawyers I've asked or seen comment on it,
including Larry Lessig and Eben Moglen) is that the "work" in question
includes all code that will be linked in a single address space.
Joe> However, if it didn't exist you *still* couldn't access those
Joe> pages so the existance of the non-Free plugin doesn't have
Joe> any effect on the application itself.
Practically, you're right. Legally, you're wrong. It is possible,
depending on how the interface is written, that legally the plugin
will be considered part of the derivative work. The GPL does not
prohibit users from combining GPL code with proprietary code and
running in any way they see fit, as long as that doesn't somehow
result in distribution to a second party.
However, according to the FSF, if the code is clearly intended to link
specifically to a proprietary code and they will be executed in the
same address space, then _loading the code into the address space
constitutes creation of a derivative work not permitted under the GPL._
Joe> But other than discouraging developers from writing
Joe> proprietary stuff in the first place, there is no legal
Joe> reason not to add support for it into your Free application
Joe> if the benefit is great enough.
That's simply not true if the original work is under strong Copyleft
such as the GPL. You have to jump through certain hoops, in
particular, the proprietary code must load into a separate address
space.
>> ... Ie, just embed a patented algorithm in hardware and you can
>> distribute a derivative of a strong copyleft program
>> specialized to that "hardware", emasculating the GPL, no?
Joe> I don't think that's unique to hardware. Nvidea distributes
Joe> non-Free drrivers for their video cards, they follow the
Joe> cconventions for video device drivers, their drivers work
Joe> well with Linux, but Linux is still Free even though it calls
Joe> the drivers as soon as it sees an Nvidea card.
What happened is that Linus said "my interpretation of the GPL is that
it's OK to write binary drivers as modules", rms said, "I'm sorry, but
you are not allowed to interpret the GPL that way", and Linus said,
"OK, the kernel is under the GPL, _but_ you may also distribute binary
(proprietary) drivers as modules as long as they use the public module
interface." Everyone happy.
Joe> Speaking of which, isn't the hardware of nearly every video
Joe> card on the market proprietary? What's the difference?
"The ones I know of are" and "none".
Moving proprietary 3d code from (eg) the X drivers into a video card's
firmware has exactly the same effect: what was prohibited for GPL
software to link to is OK to call via the (proprietary) hardware ABI.
>> Also, suppose Shawn were to spend JPY 1 million to acquire a
>> commercial license for the algorithm, and wrote a software
>> driver, which he most generously plans to give away, libre and
>> gratis. Guess what? _He can't._ He has to buy the whole
>> patent (well, the right to distribute it as free software,
>> which is effectively the whole patent), or he can't distribute
>> the driver under GPL. But if it's hardware, it's OK!
Joe> No... Even if the algorithm were embedded in the hardware, he
Joe> still could not distribute the RTL source code from which
Joe> that hardware chip was fabricated (not under most hardware IP
Joe> licenses at least).
I didn't mean he could distribute the onboard firmware.
What I meant is that as long as the proprietary part is implemented in
hardware, he can write a driver to its ABI and distribute that,
because the proprietary algorithm executes in a separate address space
in the peripheral hardware. On the other hand, even if he has a
commercial license for a software implementation, the GPL prevents him
from distributing a derivative of the application that directly calls
the software library; there has to be a free library that implements
the same API.
Joe> It's like buying a commercial C compiler, you can use the
Joe> function libraries in your product and distribute the
Joe> binaries but you cannot re-sell the libraries as such.
The issue is not the commercial compiler's license, it is the GPL. We
know the proprietary license is going to be restrictive; what's
surprising to most people is how restrictive the GPL is.
To the extent that the compiler's accompanying library implements the
C language (eg, "helper" functions for long long arithmetic on a
platform that doesn't have instructions to do it directly), you may
create a derivative of GPL code that you don't own that must link to
those libraries, and distribute it (including the library if the
compiler license permits). However, if the library implements
non-standard extensions, you may not use those in your derivative and
redistribute the result under the GPL; you need the permission of the
owner of the GPL'ed work. The only standard exception is for
operating system facilities, and it has been established (though not
tested in court) that the FSF decides what those are. (Otherwise
Microsoft could link Emacs to Internet Explorer....)
Joe> Same thing in hardware and/or software. I think the
Joe> difference lies in whether you're distributing the source
Joe> which implements the patented algorithm (ie: the actual IP)
Joe> or simply using the algorithm in a product and distributing
Joe> the product. You can buy the rights to one without the
Joe> other. In fact, most intellectual property licensing works
Joe> that way.
Of course. But the language that I contend prohibits redistributing
the derived work is in the GPL, not in the proprietary licenses. That
language requires distribution of the _entire_ work under the GPL,
which of course can't be satisfied if you are linking to code under a
proprietary license.
--
Institute of Policy and Planning Sciences http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Ask not how you can "do" free software business;
ask what your business can "do for" free software.
Home |
Main Index |
Thread Index