PanoTools mailing list archive

Mailinglist:PanoTools
Sender:yuval_levy
Date/Time:2004-Sep-13 02:45:18
Subject:Re: copyright violation?

Thread:


PanoTools: Re: copyright violation? yuval_levy 2004-Sep-13 02:45:18
Very detailed and very clear.

Indeed, the GPL is an "infective" license, whether the headers are 
linked or whether the core code is being modified, and is intended to 
be so. If somebody spends the money and time, with a good lawyer he is 
likely to force the developers of PTgui and the other PT based tools 
to release their source code, with two (in my opinion bad) effects:
1) he'd spend more on legal fees than he would have spent to buy this 
reasonably priced software.
2) the GUI developers would stop their (in my opinion) excellent work 
and the whole community would lose.

There is a trade-off between the GPL and less infective licences. A 
case study worth looking at is PHP, one of the most popular server 
side scripting language on the Internet. Part of its popularity comes 
from the switch from the GPL under which it was licensed orginally to 
the LGPL. The GPL was the obstacle to the wide adoption of PHP.

A legal way out of this is dual licensing, adopted by popular open 
source projects such as MySQL and ReiserFS. The software is available 
under GPL or under a non-GPL proprietary licence at different 
condition.

You want it for free? take it, but all modification and derivative 
work has to be contributed back to the community and the source code 
made publicly available.

You want to keep your code proprietary? buy a commercial license from 
MySQL AB or Namesys Inc. and you will get the right to use MySQL or 
ReiserFS from your proprietary code without the GPL "infection".

In my opinion it would be honest for the developers making money 
selling PTgui, PTassembler and other PT-based tools to arrange for a 
non-GPL license from Professor Dersch against a reasonable 
compensation. If I were Professor Dersch's manager, I'd suggest a 
license fee of 1-5 EUR per sold copy, which would give him a fair 10% 
cut on the revenues. Such a license would pre-empt GPL fundamentalists 
from launching a court case against the PTgui/PTassembler/PTlens/PT... 
developers. It would keep them in business, making honest money and 
producing good tools for the community.

The last word on this is with Professor Dersch: if he does not release 
the PT under an alternative licence (which could be the LGPL, though I 
strongly recommend against it as the community and Professor Dersch 
would lose from this), then to be legally compliant the developers of 
PT based tools should publish their source code to comply with the 
GPL.

Yuv

--- In #removed#, Valient <#removed#> wrote:
> On Sun, 2004-09-12 at 19:29, Fulvio Senore wrote: 
> 
> > ----- Original Message ----- 
> > From: "Valient Gough" <#removed#>
> > > When the GUI builder included a thousand lines of code from
> > > panorama-tools into his program, that causes the linker to build
> > > those into their executable.  That in itself is not a problem,
> > > however when they then go on to *distribute* that executable 
which
> > > in part comprises of copyrighted code, then there is a problem.
> > >
> > 
> > This is not true. Header files (*.h) only tell the compiler how to 
correctly
> > use fuctions but do not cause the linker to include anything. In 
order to
> > include something you need to compile the C source code and send 
it to the
> > linker: it does not happen for panorama tools GUI, of course.
> > The header file is to a compiler what a manual is to a man: it 
shows how to
> > use something.
> > You could avoid including .h files and the program would still 
compile. You
> > would need to activate this behaviour because it is an easy way to 
have
> > crashing programs, but the first C compilers worked this way.
> 
> 
> There are two problems with this view, the technical problem and the
> legal problem.
> 
> But before I launch into them, let me say that I mean no ill will.  
I've
> seen some angry responses and even been called a liar by someone who
> didn't read the links I provided.  Had not worked for years on my 
own
> open-source programs and libraries (both GPL and LGPL licensed), 
then I
> probably would not have bothered to spend time debating this issue
> here!  But I would not want my own code to be used against the terms 
of
> the license, and so I'd rather that people see the issues and choose
> their course of action based on some understanding of why people 
like me
> choose the GPL license, rather then mistakenly think that GPL == 
public
> domain (or think that GPL == LGPL for that matter!).
> 
> #1. the technical problem.  I think this is an interesting issue 
because
> some languages don't even use header files, like Java, C#, Perl, etc 
--
> so can anyone include all the GPL modules they want from these
> languages? Part of the answer for these languages will lie with part
> #2..
> 
> But back to C and C++ for now.
> 
> Lets take an example, foo.c: 
> 
>         int main() { return 0; }
> 
> 
> I'm certain that nobody will argue that the code above is a 
derivative
> work of any part of panorama-tools.
> But lets just add another line: 
> 
>         #include "filter.h"
>         int main() { return 0; }
> 
> When this is compiled, the compiler takes nearly every line of 
filter.h
> (about 900 lines) and merges it with my file (the 1 line) before
> compiling it (you can see the result by using gcc's -E option to see 
the
> intermediate file if you want, other compilers may require other
> switches).  Now just before the compiler actually compiles it, I 
have a
> temporary file which contains about 900 lines from filter.h and 1 
line
> that I typed (actually its worse because filter.h includes other 
parts
> of panorama-tools).  
> 
> If you did not have a license to use the author's work, then 
allowing
> the compiler to copy these files into your own would be a copyright
> violation by any definition I know (even though you didn't do it by 
hand
> - you asked the compiler to do it, and even though you quickly
> transformed the intermediate files into another form -- I don't 
believe
> that the international copyright convention says anything about 
getting
> rid of copied work fast being a defense).   Some people might argue 
that
> header files cannot have copyright protection, but I don't think 
that
> road leads very far.
> 
> So that means you need the author's permission to use this code, 
which
> means you are relying on what the license says, because unless you 
have
> a note from the author, that is the only thing giving you permission 
to
> use their code.
> 
> So, did you create a derived work?  My opinion (which is just as
> worthless as any other non-author in this case) is YES.  This is 
also
> the view of Free Software Foundation, who created the GPL.  No 
matter
> what the contents of filter.h (which does in fact contain code, not 
just
> a list of function names and arguments), you would have taken 
hundreds
> of lines of someone's work and merged it with your own code in order 
to
> compile it -- that is a derivative work.
> 
> Ok, so some people will simply shake their heads 'no', because then 
they
> won't feel guilty for using a GPL library in a commercial or
> closed-source program...  Which leads us to:
> 
> #2 the legal issue with your view:
> 
> In legalese, when someone explicitly chooses one thing, that also 
means
> they have explicitly NOT chosen the alternatives.  When someone 
chooses
> to license their code under the "GPL License", then unless they 
state
> otherwise it is assumed they have chosen NOT to license it under the
> BSD, the ASL, the OSL, the X11, or the LGPL license (etc).
> 
> For example with my software -- if you used my header files to link
> against my GPL licensed library, I would protest.  If you said that 
you
> don't agree with my interpretation of the license I've given you 
(the
> GPL), then the court would look at how to interpret the intent of 
the
> license.  Well, I'd point out the the GPL FAQ is explicit about how 
this
> works and that the GPL was drafted by a distinguished law school
> professor to cover exactly this case, so it wasn't by accident.  
Then
> I'd point out that I did NOT choose to license the code under the 
LGPL
> (as many Linux libraries are).  The only difference between the LGPL 
and
> the GPL is that the LGPL explicitly allows the library to be linking
> against a closed-source program.
> 
> So, since I had a choice between the GPL and LGPL (and others), and 
I
> chose the GPL which only differs by not allowing linkage to
> closed-source programs, then I can be said to have explicitly chosen 
not
> to allow such linkage in the license I provided.  The license I 
provide
> is the only thing that gives people permission to copy my work, 
because
> copyright law gives me the exclusive right to authorize people to 
copy
> my work...
> 
> 
> Now tell me how you can use my GPL licensed library without adhering 
to
> the license?  Attempting technical ways to circumvent a license are 
not
> looked upon kindly by the courts, from what I hear..
> 
> I think in people's haste to find a way around the GPL, they've lost
> sight of why people use the GPL.  I can only speak for myself here.  
I
> release code under the GPL because I believe that everybody gains 
from
> free software.  By using the GPL, I state that anyone is free to use 
my
> library as long as they are also willing to contribute to the 
collective
> knowledge by sharing their code as well.  If someone doesn't want to
> accept my license, then that is completely up to them -- there are
> undoubtedly other libraries available (for a fee probably) that will 
let
> them keep everything a secret.
> 
> For libraries that I'm happy to see used in commercial or closed-
source
> programs, I use the LGPL.  And there is a difference.
> 
> regards,
> Valient
> 
> 
> 
> [Non-text portions of this message have been removed]



------------------------ Yahoo! Groups Sponsor --------------------~--> 
Make a clean sweep of pop-up ads. Yahoo! Companion Toolbar.
Now with Pop-Up Blocker. Get it for free!
http://us.click.yahoo.com/L5YrjA/eSIIAA/yQLSAA/.Cr1lB/TM
--------------------------------------------------------------------~-> 

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/PanoTools/

<*> To unsubscribe from this group, send an email to:
    #removed#

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



Next thread:

Previous thread:

back to search page