Software licenses and releasing Python programs for review

S

Steve Holden

Andreas said:
Well, it's easily explained. (Well at least my motivation in this case)
I do not touch things that I cannot use "generally" and being a
"commercial" IT consultant this basically means:
*) opensource is better than commercial payware.
(because "for free" (as in beer) is usable in more contexts)
*) GPL is acceptable for much stuff, because I can install GPL'ed
stuff for a customer.
*) GPL is not acceptable for "library" stuff, because as a software
developer I'm sometimes forced to do "closed" stuff.
(Yep, even nowadays there are place where it's basically a legal
requirement.)

Implications:

*) qt is a bordercase: GPL for free, or commercial for pay. Not perfect but
good enough.
*) A number of O-R mappers for Python are of no relevance to me,
because they are GPL. O-R mappers are development libraries.
But this would only be a restriction if the code were to be
redistributed, of course. It's stil perfectly legal to use it internaly
without making the modified source available.
The idea is that I'm mostly not interested in learning tools that are
not of general use.

So basically, stuff not meeting this criteria, is only interesting if
it's unique:

*) commercial stuff is only interesting if there is no competing
open-source project.
*) GPL'ed "building blocks" are only interesting when there is no
competing LGPL version. Example: OCR on Linux/Unix. There are no
perfect solutions there so a GPL'ed solution might be
ok. (Especially because one can use OCR without linking with a lib
*grin*)

Andreas

regards
Steve
 
M

Mike Meyer

Steve Holden said:
But this would only be a restriction if the code were to be
redistributed, of course. It's stil perfectly legal to use it
internaly without making the modified source available.

I've heard people argue otherwise on this case. In particular, if you
allow an employee to use your GPL'ed-but-not-distributed software,
they are the end user, and have all the rights granted by the GPL. So
they can distribute the software - possibly to your
competitors. Employment contracts can't prohibit this, because the GPL
specifically disallows "distribution" (allowing your employee to use
the software) under licenses that restrict the rights granted by the
GPL.

I don't know whether this would hold water in court. I'd certainly
hate to be the one responsible for a company finding out the hard way.

<mike
 
R

Robert Kern

Mike said:
I've heard people argue otherwise on this case. In particular, if you
allow an employee to use your GPL'ed-but-not-distributed software,
they are the end user, and have all the rights granted by the GPL. So
they can distribute the software - possibly to your
competitors. Employment contracts can't prohibit this, because the GPL
specifically disallows "distribution" (allowing your employee to use
the software) under licenses that restrict the rights granted by the
GPL.

I don't know whether this would hold water in court. I'd certainly
hate to be the one responsible for a company finding out the hard way.

Well, the FSF at least thinks that internal use within an organization
does not constitute distribution.

http://www.gnu.org/licenses/gpl-faq.html#GPLRequireSourcePostedPublic

"""Does the GPL require that source code of modified versions be posted
to the public?

The GPL does not require you to release your modified version. You
are free to make modifications and use them privately, without ever
releasing them. This applies to organizations (including companies),
too; an organization can make a modified version and use it internally
without ever releasing it outside the organization.

But if you release the modified version to the public in some way,
the GPL requires you to make the modified source code available to the
program's users, under the GPL.

Thus, the GPL gives permission to release the modified program in
certain ways, and not in other ways; but the decision of whether to
release it is up to you."""

--
Robert Kern
(e-mail address removed)

"In the fields of hell where the grass grows high
Are the graves of dreams allowed to die."
-- Richard Harter
 
T

Terry Reedy

Robert Kern said:
Well, the FSF at least thinks that internal use within an organization
does not constitute distribution.

The fact that GPL effectively discriminates in favor of large corporations
(and other organizations) and programmers employed by such (versus those
contracting with such), is something I don't like about it. This seems
contrary to the spirit of the thing. It certainly supports the myth that
organizations are 'people'.

What if a whole country claimed to be 'one organization' (as the entire
Soviet Union once was, in a real sense). Could it distribute modifications
'privately' while denying such to the rest of the world?

Terry J. Reedy
 
S

Steven D'Aprano

The fact that GPL effectively discriminates in favor of large corporations
(and other organizations) and programmers employed by such (versus those
contracting with such), is something I don't like about it.

I'm sorry, I don't follow your reasoning here. How does the GPL
discriminate in favour of large corporations? What advantage does the
corporation get that I don't get?

The way I see it, if my left hand and right hand both use the software,
that isn't distribution. And if Acme Inc's accounting department and sales
department both use the software, that shouldn't count as distribution
either, in precisely the same way that there has been no transfer of
ownership when Fred from Accounting takes an unused computer from Sales
and starts using it himself.


This seems
contrary to the spirit of the thing. It certainly supports the myth that
organizations are 'people'.

By law, corporations (and possibly some other organisations) *are* people.
Not natural people like you or I, but nevertheless people. For good or
bad, this is the legal fact (or perhaps "legal fiction") in most
countries, and not a myth.

What if a whole country claimed to be 'one organization' (as the entire
Soviet Union once was, in a real sense).

I doubt that was ever the case, not even in a figurative sense. But for
the sake of the argument, I'll accept that (say) the country of Freedonia
might claim the entire population of Freedonia to be a single organisation.
Could it distribute modifications
'privately' while denying such to the rest of the world?

Freedonia is a country. Unless some other country takes them on, they can
do whatever they like within their borders because they make the laws.

Of course, they may run foul of international law, and may suffer the
consequences, which may range from angry words in the UN to trade
sanctions to a blockade all the way to invasion (although probably not
over some random piece of GPLed code).

But this is hardly a problem unique to the GPL. What if you publish code
under the BSD licence, and Freedonia rips your copyright notice out of
it and tries to pass it off as their own creation? What if Microsoft
licences Freedonia some software under Shared Source, and they promptly
modify and distribute the source code?

When nation states decide they are beyond the law, or subject only to
whatever laws it is convenient for them to follow, no licence will protect
you.
 
M

max

By law, corporations (and possibly some other organisations)
*are* people. Not natural people like you or I, but nevertheless
people. For good or bad, this is the legal fact (or perhaps
"legal fiction") in most countries, and not a myth.

s/myth/legal absurdity/

This is one thing that bothers me about the gpl. It essentially tries
to create 'code as a legal entity'. That is, it gives rights not to
the creator of some code, but to the code itself. For me, the fact
that corporations are considered people by the law is ridiculous.
Using a license that ends up doing the same thing with code leaves a
bad taste in my mouth.

max
 
S

Steven D'Aprano

This is one thing that bothers me about the gpl. It essentially tries
to create 'code as a legal entity'. That is, it gives rights not to
the creator of some code, but to the code itself.

Can you please show me where in the GPL it gives rights to the code
itself? Because, frankly, I think you are mistaken.

Of course, I might be wrong in this instance, and I always welcome
corrections.
For me, the fact
that corporations are considered people by the law is ridiculous.

Ridiculous? I don't think so. Take, for example, Acme Inc. Acme purchases
a new factory. Who owns the factory? The CEO? The Chairperson of the Board
of Directors? Split in equal shares between all the directors? Split
between all the thousands of shareholders? Society has to decide between
these methods.

(Of course, society can choose to hedge its bets by creating multiple
entities that use different rules, such as partnerships, trusts, public
corporations, limited corporations, etc.)

None of these alternatives are *wrong*, but they all have various
disadvantages. The legal fiction that corporations are legally persons is
a work-around for these disadvantages, and it works quite well in many
circumstances. To call it ridiculous is, well, ridiculous. Ownership is a
legal fiction in any case, so it is no more ridiculous to say that a
collective entity such as a corporation owns property than it is to say
that an individual being owns property.

However, if you wanted to argue that giving corporations all the
privileges of legal personhood with none of the responsibilities caused
more harm than good, I would agree with you. I take it you've seen "The
Corporation"?

Using a license that ends up doing the same thing with code leaves a
bad taste in my mouth.

Of course you are free to use some other licence. But without evidence, I
do not accept that the GPL attempts to give rights to code.
 
A

Andreas Kostyrka

Well, the FSF at least thinks that internal use within an organization
does not constitute distribution.
Well, the problem are contractors. It's very important (for example in
Germany) for a number of legal reasons that contractors are separate
from the organization.
This basically makes it a case of distribution.

And while the GPL FAQ claims that this is not a problem, it seems only
to handle the easy case: Company X gives a "standard" SP to
contractor C, and C returns SP2.

While this is okay, the problems start when X discovers that it wants
to distribute SP2 to contractor C2, because it has to do this under
the GPL. Contractor C2 might by free will refrain from distributing
SP2, but putting that as a requirement on paper would violate the GPL.

Basically having a GPLed internal program limits what a company might
do with it in the future ;)

Andreas
 
M

max

Can you please show me where in the GPL it gives rights to the
code itself? Because, frankly, I think you are mistaken.

Of course, I might be wrong in this instance, and I always
welcome corrections.


Ridiculous? I don't think so. Take, for example, Acme Inc. Acme
purchases a new factory. Who owns the factory? The CEO? The
Chairperson of the Board of Directors? Split in equal shares
between all the directors? Split between all the thousands of
shareholders? Society has to decide between these methods.

(Of course, society can choose to hedge its bets by creating
multiple entities that use different rules, such as partnerships,
trusts, public corporations, limited corporations, etc.)

None of these alternatives are *wrong*, but they all have various
disadvantages. The legal fiction that corporations are legally
persons is a work-around for these disadvantages, and it works
quite well in many circumstances. To call it ridiculous is, well,
ridiculous. Ownership is a legal fiction in any case, so it is no
more ridiculous to say that a collective entity such as a
corporation owns property than it is to say that an individual
being owns property.

However, if you wanted to argue that giving corporations all the
privileges of legal personhood with none of the responsibilities
caused more harm than good, I would agree with you. I take it
you've seen "The Corporation"?

I haven't seen "The Corporation", but yes, I was reaching for the
priviledges/responsibilities balance.
Of course you are free to use some other licence. But without
evidence, I do not accept that the GPL attempts to give rights to
code.
Perhaps 'attempts' is too strong a word. Maybe 'ends up giving' would
help my argument more. The best example I can come up with at the
moment is programmer A releases a project under the gpl. Programmer B
makes a substantial contribution to the project, which pA reads
through and accepts. Later, pA decides that he would like to release
the project under a more liberal license. To me, whether he legally
can under the gpl is a very murky subject, as pB might not agree, and
pA, having looked through/thought about pB's contribution might have
some trouble proving that he implemented any matching functionality
without referencing pB's earlier contribution, which if he did
reference it(even by memory), would presumably require him to continue
using the gpl.

I guess my argument is that with multiple contributors, the gpl, in
comparison to say, a BSD style license, grants power to the code. If 3
people work on a gpl project, they must agree to any changes. If 3
people work on a BSD style project, they each can do whatever the hell
they like with the code. So, in my opinion, the gpl ends up giving
perhaps not rights, but certainly power, to the actual code base.



Based on the limited coherence of this answer I probably need to think
about it somemore,
max
 
A

Andrew Dalke

max:
Ridiculous? I don't think so. Take, for example, Acme Inc. Acme purchases
a new factory. Who owns the factory? The CEO? The Chairperson of the Board
of Directors? Split in equal shares between all the directors? Split
between all the thousands of shareholders? Society has to decide between
these methods.

Getting off-topic for c.l.py. Might want to move this to, for example,
the talk thread for
http://en.wikipedia.org/wiki/Corporate_personhood
which is
http://en.wikipedia.org/wiki/Talk:Corporate_personhood
and read also
http://en.wikipedia.org/wiki/Corporation

Andrew
(e-mail address removed)
 
A

Andreas Kostyrka

I guess my argument is that with multiple contributors, the gpl, in
comparison to say, a BSD style license, grants power to the code. If 3
people work on a gpl project, they must agree to any changes. If 3
people work on a BSD style project, they each can do whatever the hell
they like with the code. So, in my opinion, the gpl ends up giving
perhaps not rights, but certainly power, to the actual code base.
Well, but it's not comparable: GPL without copyright assignment just
leads to "community-owned" projects. Every part-owner owns his
part. And it makes relicensing (taking the project closed-source) very
difficult.

That's a design feature, not a bug ;)

Andreas
 
R

Robert Kern

max said:
Perhaps 'attempts' is too strong a word. Maybe 'ends up giving' would
help my argument more. The best example I can come up with at the
moment is programmer A releases a project under the gpl. Programmer B
makes a substantial contribution to the project, which pA reads
through and accepts. Later, pA decides that he would like to release
the project under a more liberal license. To me, whether he legally
can under the gpl is a very murky subject, as pB might not agree, and
pA, having looked through/thought about pB's contribution might have
some trouble proving that he implemented any matching functionality
without referencing pB's earlier contribution, which if he did
reference it(even by memory), would presumably require him to continue
using the gpl.

I guess my argument is that with multiple contributors, the gpl, in
comparison to say, a BSD style license, grants power to the code. If 3
people work on a gpl project, they must agree to any changes. If 3
people work on a BSD style project, they each can do whatever the hell
they like with the code. So, in my opinion, the gpl ends up giving
perhaps not rights, but certainly power, to the actual code base.

There's no power being granted to code. All of the power is in the hands
of pA and pB. If pA wants a more liberal license to pB's code, then he
needs to ask for one. pB can grant that permission (assuming the code is
his and not actually pC's). There's nothing special about the GPL in
this respect. The same situation works with the BSD license, too,
although the BSD license is pretty much rock-bottom in terms of
restrictions such that there's almost never a *desire* to ask for more
permissions.

The code has never been granted any legal powers. It's still just
contributors.

--
Robert Kern
(e-mail address removed)

"In the fields of hell where the grass grows high
Are the graves of dreams allowed to die."
-- Richard Harter
 
S

Steve Holden

max said:
I haven't seen "The Corporation", but yes, I was reaching for the
priviledges/responsibilities balance.



Perhaps 'attempts' is too strong a word. Maybe 'ends up giving' would
help my argument more. The best example I can come up with at the
moment is programmer A releases a project under the gpl. Programmer B
makes a substantial contribution to the project, which pA reads
through and accepts. Later, pA decides that he would like to release
the project under a more liberal license. To me, whether he legally
can under the gpl is a very murky subject, as pB might not agree, and
pA, having looked through/thought about pB's contribution might have
some trouble proving that he implemented any matching functionality
without referencing pB's earlier contribution, which if he did
reference it(even by memory), would presumably require him to continue
using the gpl.

I guess my argument is that with multiple contributors, the gpl, in
comparison to say, a BSD style license, grants power to the code. If 3
people work on a gpl project, they must agree to any changes. If 3
people work on a BSD style project, they each can do whatever the hell
they like with the code. So, in my opinion, the gpl ends up giving
perhaps not rights, but certainly power, to the actual code base.
That argument is bogus if you do what the PSF is attempting to do, which
is to ask contributors to grant the PSF rights to redistribute under its
chosen license. After that you can take your contribution and publish it
in a book, republish it under a different license, whatever. The fact
that the PSF has a license to redistribute your contribution can't be
rescinded by your subsequently changing the license you use to
distribute the software.

How do you manage to equate "must agree to any changes" with "granting
power to the code"?
Based on the limited coherence of this answer I probably need to think
about it somemore,
max
:)

Licensing is unfortunately less trivial that we would like it to be.

the-road-t-hell-is-paved-with-good-intentions-ly y'rs - steve
 
T

Terry Hancock

If this thread has shown anything it is I'm a bit green with respect to
software licenses,

Yep. We've all been there at some time, though. ;-)
but the other thing is that I consider myself as an
isolated case and I wanted to know if there were others who wanted the
same thing as me.

I think the real problem is that you *think* you want something which is
not what you *really* want. For example, I think you don't really get the
full range of implications of a "non-commercial" clause, nor do you fully
appreciate its chilling effects on development.
I'm curious to know what the money that open source or GPL'd projects
get and what this money means to these people's overall income.

Free-licensed projects get almost no direct money for development in
probably 99% of cases.

On the other hand, people make billions of dollars every year off of the
*use* of free-licensed software (consider Apache, for example). Quite a
few of the people making the money are naturally part of the developer
community for their particular gravy-train.

That's because they generally have specific needs they want to see the
software address, and it's worth the effort to contribute the necessary
changes. The community benefits from the changes (which is why
"copyleft" is good), and they benefit (a lot!) from not having to maintain
a separate patched version of the code.
I am
sure that any amount would motivate somebody to continue their work on
a project, but myself in particular, I consider my project to be a tool
for teaching and I view teaching as helping others...which I would
gladly offer without price.

So you're unpaid teacher? What do you do for a living, then? ;-)
I wanted to see if there were others who
shared my view of helping others freely with their knowledge.

Actually, you see, as I've already tried to point out to you,
using software to teach *is* COMMERCIAL USE of the software. At
least it is, if you draw a salary for teaching. Yes, I know that teaching
is a public benefit and a joy, and I do occasionally teach for free, but
most of the time, even teachers need to make a living, right? Is it
right to restrict use of the software only to those who teach without
pay?
Yes, what I ask may seem ridiculous, but I don't view it that way.
Instead, I find that it is the implication of using a restrictive
license such as I described to be ridiculous: if there is no monetary
gain option in the license, then this implies that nobody (or very few)
will be willing to do any work or "asking for something for nothing".
It isn't for nothing if you value knowledge and learning.

It took me awhile to parse that: You are saying that the implication that
the lack of a "monetary gain option" will chill development is ridiculous.

Sorry, but history disagrees with you: projects with restrictions on sale
prices for copies of the software have much reduced distribution and
development interest, because it prevents distribution. Note that prices
will be driven down by natural market forces anyway --- just because
source A can sell a copy of free software doesn't prevent source B from
giving it away, and this is in practice what happens. But it does allow
source A to bundle copies and cover CD-ROM distribution and
printing expenses, pay for web and FTP servers, etc. Even if they only
capture a small "pay for convenience" market, they may be able to do
this, thus providing an important resource for users of free software.

When you put in a clause to restrict such sales you are attacking a
friendly: somebody who the community values as a service provider.
It may well be that 9/10ths of my free software is downloaded directly
from developer sites or from free download sites, but even many of those
sites are supported by advertising, and I want the OPTION to buy
copies on a CD if I need or want to. That's not at all the same as buying
proprietary software, where I would be FORCED to make such a purchase,
and then at an artificially inflated price.

Finally, you are wrongly conflating a "restriction against selling copies"
with a "restriction against all commercial use of the software". The latter
includes virtually EVERY use of the software if interpreted broadly
enough. You yourself appear to take a very broad view of this --- with
one exception: you paradoxically do not regard drawing a salary as a
teacher as "commercial". But a salary supported partly by the use
of software is one of the more clearcut ways to commercially benefit ---
much more direct than supporting advertising revenues, which you
*do* regard as commercial. This is a contradiction, which just goes
to show how poorly defined the idea of "commercial use" is, and
therefore why it is a bad thing to try to control in a license.
I admit that my view is a bit idealistic which leads me to believe that
maybe I should reconsider the whole decision altogether.

Actually, I think you're being hypocritical in thinking that it is idealistic
to regard your salary as a teacher as somehow "non-commercial". You
have succombed to the "higher profession" delusion. Sure, you might
love your work, but do you really want someone to *force* you to do it
for free? How are you going to pay for your supper, then? Do you
feel that you should have to take up another job to support your
teaching habit? Do you think that society would benefit from forcing
teachers to do that? I certainly don't.

That's what I think you should be reconsidering. You have somehow
tricked yourself into thinking that you are not an economic being just
because you work in academia, and then you are going on to scoff
at other people for being economic --- putting you into the realm of
hypocrisy.

Now, it might be perfectly realistic (and indeed, idealistic) to imagine
that such commercial concerns should not effect what you teach, or
how you teach it. But that *can* be true in any form of human
endeavor --- teaching is not unique in this respect. Even a farmer
may farm more out of love of the vocation than because it is
particularly profitable (which, as with teaching, it often is not). Should
a farmer be regarded as some dirty capitalist because he uses Gnumeric
to tally his accounts? That is commercial use of the software.

I think you will actually get what you want by just using a copyleft
free-license like the GPL. This will prevent the software from being
absorbed into a commercial proprietary product, which is what I
consider the reasonable part of what you are asking for.
 
P

poisondart

1. You seem to ignore the fact that volunteer teachers exist.

2. I aspire to not repeat history. Esp. history that I don't completely
agree with...

The description I supplied for the license I had in mind was not ready
for your scrutiny, but as somebody else said licensing is less trivial
than we would like it to be. In practice, the GPL would probably be the
closest to what I'd want, but the problem is that I don't agree with
the practice. Why? because it's not tailored to how I want to release
my software.

This discussion has gone far out of my interest. Thank you all you've
made me realize the complexity and breadth of the issue. I'm just going
to keep coding and re-think cautiously the future of my software.
 

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

Forum statistics

Threads
473,769
Messages
2,569,577
Members
45,054
Latest member
LucyCarper

Latest Threads

Top