Calling GPL code from a Python application

H

Heiko Wundram

Heiko said:
..., unless I convince the
people at my univ to _release_ the code I've written under a
GPL-compatible open source license itself.

The can of worms in this is basically that management at my uni doesn't want
employees to take the software home and release it there, which would be
allowed if I were to put it under GPL but released it only inhouse.

--- Heiko.
 
T

Tom Anderson

I believe there is precedent that contradicts the FSF's
position. There are two arguments against it:

1) Executing software involves several copy operations. Each of those
potentially violate the copyright, and hence the copyright holder
can restrict execution of a program.

2) Executing a program is analogous to a performance of the software.
Copyright includes limits on performances, so the copyright holder
can place limits on the execution of the software.

Personally, I agree with the FSF - if own a copy of a program, executing
it should be fair use.

I'm with you - i don't accept either of those legal arguments. The copying
that copyright talks about is the making of copies which can be
distributed - copies which are the equivalent of the original. It doesn't
mean the incidental, transient copies made during use - otherwise, it
would be illegal to read a book, since a copy of the text is transiently
made in your visual cortex, or to listen to a record, since a copy of the
music is transiently made in the pattern of sound waves in the air. The
performance that the law talks about is not like execution, but is
communication, and so a form of copying - by performing a play, you're
essentially giving a copy of the text to the audience. Executing a program
doesn't communicate it to any third parties.

Of course, in practice, it matters rather little whether i accept either
of those, since i'm not a judge trying the relevant test case!
While I'm here, I'll point out the the "address space" argument is
specious. What if I bundle a standalone GPL'ed application with my own
application, and distribute binaries for a machine that has a shared
address space? By that criteria, I'd have to GPL my code for the
distribution for the shared address space machine, but not for a Unix
system. I'm not buying that.

I also agree that the address space thing is bunk. What if i write a
CORBA/RPC/COM/etc wrapper round some GPL'd library, release that under the
GPL, then write my non-GPL'd program to access the wrapped library via a
socket? Or if i write a wrapper application that takes a function name and
some parameters on the command line, calls that function, and writes the
result to stdout, then access it via popen? I get the use of the library,
without sharing its address space!

On the flip side, we could argue that an application which uses a dynamic
library *is* a derivative work, since we need a header file from the
library to compile it, and that header file is covered by the GPL. What
happpens when you compile with a non-GPL but compatible header (say, one
you've clean-roomed) but link to a GPL library at runtime, though?

tom
 
G

Grant Edwards

Unfortunately, what *we* think isn't worth a plastic nickel. The only
thing that counts is what the relevant copyright laws say.

The only thing that counts is how the relevant courts interpret
those laws.
 
P

Peter Hansen

Mike said:
I believe there is precedent that contradicts the FSF's
position. There are two arguments against it:
...
2) Executing a program is analogous to a performance of the software.
Copyright includes limits on performances, so the copyright holder
can place limits on the execution of the software.

Executing a program on my own computer, for my own use (i.e. without
someone else sitting down and using the mouse and keyboard etc), is no
more a "performance" than is my reading a copy of a book that I
purchased. My reading that book aloud in front of a room full of people
(or even to one other person) is a performance. So is putting that
program behind a web server and letting others execute it.

At least, that's the only view that makes any sense to me given the
regular definitions of the terms involved.

But IANMALTYA. ;-)

-Peter
 
M

Mike Meyer

Steven D'Aprano said:
Unfortunately, we've also signed an extremely one-sided pro-USA so-called
"Free Trade Agreement" which forces onto us a whole slew of really bad
Intellectual Property Laws, as well as hamstringing our nation's ability
to govern ourselves. With copyright law being used more and more as an
excuse for enforcing *usage* limitations instead of *copying* limitations,
I can easily see the good parts of our Copyright Act being over-ridden in
de facto (if not de jure).

IIUC, a lot of the US's bad IP laws are also the result of
international agreements. Of course, we also have large corporations
spending tons of money to get bad IP laws passed that favor their
revenue stream.

<mike
 
M

Mike Meyer

Peter Hansen said:
Executing a program on my own computer, for my own use (i.e. without
someone else sitting down and using the mouse and keyboard etc), is no
more a "performance" than is my reading a copy of a book that I
purchased. My reading that book aloud in front of a room full of
people (or even to one other person) is a performance.

You're looking at the difference betweenn a public performance vs. a
private performance. One copyright limits, the other it
doesn't. Someone has already pointed out that there's an explicit
clause in the us copyright law for executing programs, so that may not
apply in this case.
So is putting that program behind a web server and letting others
execute it.

That's pretty clearly a public performance. One has to wonder whether
or not the exemption for program execution would apply to such? Of
course, in cases where it matters (i.e. - I provide public access to
my legally purchased copy of the Brittanica, or some such), copyrights
on things other than the program come into play. Possibly multiple
copyrights.

<mike
 
G

Grant Edwards

That's pretty clearly a public performance. One has to wonder
whether or not the exemption for program execution would apply
to such?

I don't think it needs to. They're not giving anybody a copy
of the program. They're giving people a copy of the data that
was produced when the program was run. AFAICT, the copyright
on a program does not apply to data produced when the program
is run. Just because the FSF holds the copyright to gcc, that
doesn't give it any rights over the code it generates when you
run it.
Of course, in cases where it matters (i.e. - I provide public
access to my legally purchased copy of the Brittanica, or some
such), copyrights on things other than the program come into
play. Possibly multiple copyrights.

Huh?
 
M

Mike Meyer

Heiko Wundram said:
You're nitpicking here, if I may say so.

You can say so, but you'd be wrong. I'm not nitpicking - this is an
*incredibly* important distinction that makes possible much of my use
of GPL-ed code.
(I guess pretty much nobody programs seriously just to jerk off to how good
he is, everybody wants others to use what he has created)

You're only looking at why people write code and give it away for
free. That's the first time I've seen that, but it's as ignorant of
the real world as the far more common view that people only write
software for the puprose of selling it commercially.

Both viewpoints are wrong. The vast majority of the software written
is *never* redistributed in any way. It's written for inhouse use by
some organization, and never used outside of that organization in any
way. The last time I looked (I confess it's a number of deecades),
most of that software was written by various government organizations.

In my case, I get paid for building custom applications. If I use
GPL'ed software, I'm required to give my client the software under the
GPL (or, as you point out, a GPL-compatible license). I never bother -
I hand them a tarball and installation instructions and they install
it on their systems, or I install the stuff on their systems for them,
and it never goes anywhere else. I believe that's in compliance with
the GPL, because they get all the rights that the GPL wants them to
have. They aren't interested in selling or in any way redistributing
the software, so they don't care that they'd have to do so under the
GPL.

As for the ego-boo, yeah, seeing thousands of downloads of your
software is cool. But so is tens of thousands of page views a day, or
knowing you saved your client thousands of dollars a day, or (in the
case of the government hackers) knowing your softwware helped put a
man on the moon.
Anyway, it's not true either that if you link to a GPL-led library, your
work must automatically be GPL. The FSF has specifically endorsed
applications under several other OS-licenses which are basically more
liberal than the GPL to link against GPL libraries. These licenses have to
meet certain criteria, and I'm not exactly sure which, please go and see
the FSF for more info. In case you create an immediate derivative work of
the library (by changing it's sources directly), you have to put the
resulting code under the GPL, of course, if you're going to distribute it.

Like I said, they may have changed it since I last looked. Good to
hear they have, otherwise most open source distributions would
probably be in violation. of the GPL.

<mike
 
M

Mike Meyer

Heiko Wundram said:
I've asked TrollTech more than once for their stance on this, and each time
they have told me that it's illegal for me to develop an inhouse
application (such as a frontend to some webapp I've written that's only
used by us and will never ever be given away commercially) using the Open
Source edition of Qt (which I have not commercially licensed, of course,
which is way to expensive for me and Uni won't pay), unless I convince the
people at my univ to _release_ the code I've written under a GPL-compatible
open source license itself.

I can't see how they could *require* you to release the code. The GPL
certainly doesn't (or didn't) require that. Possibly they have a
GPL-compatible license that adds that requirement.

<mike
 
H

Heiko Wundram

Mike said:
I can't see how they could *require* you to release the code. The GPL
certainly doesn't (or didn't) require that. Possibly they have a
GPL-compatible license that adds that requirement.

See my additional comment on why our management thinks this is bad even when
I only use the code in house...

--- Heiko.
 
T

Tim Churches

Mike said:
That's pretty clearly a public performance. One has to wonder whether
or not the exemption for program execution would apply to such? Of
course, in cases where it matters (i.e. - I provide public access to
my legally purchased copy of the Brittanica, or some such), copyrights
on things other than the program come into play. Possibly multiple
copyrights.

I agree that that is a public performance of the software, but teh GPL
allows that: once I again point out the clause in Section 0:

"The act of running the Program is not restricted, and the output from
the Program is covered only if its contents constitute a work based on
the Program (independent of having been made by running the Program)."

So in the vast majority of cases (unless the output constitues a "work
based on the Program"), you can place GPLed software on a Web server and
allow others to run that software.

Now, the FSF may regard this as a mistake on their part in including
these clauses in the GPL V2, but copyright holders who have licensed
their code under the GPL may not share that view. In fact, they may be
very pleased if their software is actually being used by third parties
through a Web server.

Tim C
 
E

Ernst Noch

Mike said:
I can't see how they could *require* you to release the code. The GPL
certainly doesn't (or didn't) require that. Possibly they have a
GPL-compatible license that adds that requirement.

No, they use the pure GPL. And that's what I was trying to get at in
another post. What they are doing is prohibiting *in their commercial
license* that you apply it on projects previously developed under the
GPLed QT.

Obviously some individuals from the company have a different opinion,
but I found another FAQ entry which states it clearly (note the phrase
"non-opensource" in the question).

Note: Esp. concerning open source, I still think it's a good idea to
repect the wishes of a rights owner even if the license he grants might
be more permissive.

"""
Entry number: 190 - Using the Qt Open Source Edition, can I make
non-opensource software for internal use in my company/organization?
Answer:

No. Software developed with the Qt Open Source Edition is always open
source software, i.e. it can only be distributed under a open source
software license. In particular, all the source code for all the modules
your software is based on, regardless of whether they have been written
by you or by others, must be open source software (because of the
"viral" nature of the GPL). This is part of our commitment to the open
source software community, and enables those who contribute to the open
source software pool to do so without paying license fees.

Although it is possible to write open source software for internal use,
it is difficult to ensure that such software is used and distributed
legally. For example, if your open source software requires any modules
that impose conditions on you that contradict the conditions of the GNU
GPL, including, but not limited to, software patents, commercial license
agreements, copyrighted interface definitions or any sort of
non-disclosure agreement, then you cannot distribute it at all; hence it
cannot be given to consultants, employees for their personal computers,
subsidiaries, other divisions, or even to new owners.
Consequently we recommend using commercial licenses for all internal
software development.

"""
 
E

Ernst Noch

Mike said:
In my case, I get paid for building custom applications. If I use
GPL'ed software, I'm required to give my client the software under the
GPL (or, as you point out, a GPL-compatible license). I never bother -
I hand them a tarball and installation instructions and they install
it on their systems, or I install the stuff on their systems for them,
and it never goes anywhere else. I believe that's in compliance with
the GPL, because they get all the rights that the GPL wants them to
have.

[snip]

Yeah, and you are in absolute compliance with what the FSF intends the
GPL to be:

http://www.gnu.org/philosophy/selling.html
 
E

Ernst Noch

Heiko said:
The can of worms in this is basically that management at my uni doesn't want
employees to take the software home and release it there, which would be
allowed if I were to put it under GPL but released it only inhouse.

--- Heiko.

They can prohibit this. There a various ways how, independent from the
license. Basically the same way how an employer can prohibit you to
download any software on your workplace and take it home, even if the
download was completely legal.

But the simplest reasoning is that the code _you_ have is owned by you
or probably your university. Therefore making a copy of the complete
package is illegal for the employees under copyright law unless
expressly permitted by the license to _your_ code, even if everything
else is GPL.

And your portion of the code doesn't have to be GPL, because you are not
distributing it!

Note, this would even work if you weren't "part" of your University,
because nowhere does the GPL mandate

a) That you have to distribute the software at all
b) To whom you have to distribute the software

That means that your University just can refuse to distribute the
software to anybody else. And if someone steals the software from them,
that isn't distribution.
 
M

Mike Meyer

Grant Edwards said:

As you pointed out, they're giving out a copy of the *data* from the
program. That data could well come with a different copyright than the
one that applies to the program, so while I may have the right to use
it in the program, I may not have the right to hand it out over the
internet. The mutliple copyrights comes from thinking about songs,
which has seperate copyrights for the lyrics, the tune, and the
arrangement.

<mike
 
M

Mike Meyer

Ernst Noch said:
Yeah, and you are in absolute compliance with what the FSF intends the
GPL to be:
http://www.gnu.org/philosophy/selling.html

For the record, I'm not selling them software. I'm selling them my
time. I'll use whatever software will help solve the problem, and have
been known to bundle commercial applications. I prefer open source
because having the source makes it easier to bend to my uses. I prefer
BSD-like licenses to the GPL because that places fewer restrictions
on what I can do with the resulting product.

<mike
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,774
Messages
2,569,598
Members
45,144
Latest member
KetoBaseReviews
Top