GPL and Python modules.

G

Grant Edwards

Grant Edwards wrote:

Whatever gave you the idea you are obligated to provide support?!

Experience.

Customers seem to have no problem with not getting source code,
but once you _do_ give them source code then you have to
support it. Ignoring customers when they ask questions about
the source code has always proven in past experience to be "not
an option."
 
J

Jorge Godoy

Peter Hansen said:
Whatever gave you the idea you are obligated to provide support?!

One has such an obligation here in .br. Our law demands that and a
license can't override what is stated in the law, so...
 
P

Peter Hansen

Grant said:
Experience.

Customers seem to have no problem with not getting source code,
but once you _do_ give them source code then you have to
support it. Ignoring customers when they ask questions about
the source code has always proven in past experience to be "not
an option."

Evil, nasty customers, we hates them! They asks us questions
and pays us money for our precioussssss time.

-Gollum
 
P

Peter Hansen

One has such an obligation here in .br. Our law demands that and a
license can't override what is stated in the law, so...

Are you taking my question out of context? I really doubt
Brazilian law says that if I provide access to the source
code for open source software, I *must* provide "support".

What does this law say is the form of the support? Do I have
to provide a 24x7 call centre staffed with nice knowledgeable
people? Do I have to provide a detailed design document
showing how the modules interrelate? What kind of turnaround
on fixing bugs or responding to emailed questions is required
by this law?

I'm not a lawyer, but I'm guessing you aren't either, so
I suspect the argument is pointless. I don't believe that
I would have an significant obligation in the context in
which my comments were made, and in the unlikely event I
did, I really doubt that I would be required to provide
such support for free. I know, you didn't say that it
had to be for free. Well, I charge $1,000,000 per incident
for support requests for my open source software (at my
whim, usually waived though ;-). What does Brazilian
law say about that?

-Peter
 
J

Jorge Godoy

Jorge Godoy said:
One has such an obligation here in .br. Our law demands that and a
license can't override what is stated in the law, so...

Just to make it clear: I was referring to obligations to software
distributed/sold here...
 
P

Peter Hansen

Jorge said:
Just to make it clear: I was referring to obligations to software
distributed/sold here...

Now you tell me. :)

It's probably the case in the majority of markets that one is
obligated to provide some kind of support for the products one
sells.

I'm betting these laws have not yet been applied to the
*freely provided source code* that accompanies open source
software, even if the distribution of the software itself
(not the source) is matched by a big fat cheque from the
customer. And I'll bet they won't be any time soon.

-Peter
 
J

Jorge Godoy

Peter Hansen said:
Are you taking my question out of context? I really doubt
Brazilian law says that if I provide access to the source
code for open source software, I *must* provide "support".

It says you must provide some kind of guarantee and a certain level of
support, no matter if the source is or isn't included.

I was not trying to take anything out of context, just citing one
occasion where you might have obligation to give support to a product
and the example was a law requirement.
What does this law say is the form of the support? Do I have
to provide a 24x7 call centre staffed with nice knowledgeable
people? Do I have to provide a detailed design document
showing how the modules interrelate? What kind of turnaround
on fixing bugs or responding to emailed questions is required
by this law?

Read above and please, drop the rocks from your hands. I hope we are
here to sum up and share knowledge instead of fighting. If these are
serious questions, I might answer later. If they are just to start a
some kind of silly fight, I won't have lost my time.
I'm not a lawyer, but I'm guessing you aren't either, so
I suspect the argument is pointless. I don't believe that

No, I'm not. But I know some of these obligations -- and our lawiers
check the agreements to see if we are acting accordingly to the law
everytime there's some need (e.g. with a new client, with some new
development, etc.).
I would have an significant obligation in the context in
which my comments were made, and in the unlikely event I
did, I really doubt that I would be required to provide
such support for free. I know, you didn't say that it
had to be for free. Well, I charge $1,000,000 per incident
for support requests for my open source software (at my
whim, usually waived though ;-). What does Brazilian
law say about that?

You are allowed to charge it if it's the agreement your client signed /
accepted.


See you,
 
A

Alex Martelli

Istvan Albert said:
Grant Edwards wrote:



Well doesn't your work derive some functionality
from the imported code? Does your code work without
the import?

Interesting questions. As long as there exists somewhere a module with
the same name, which you can import for the same purpose, I would say,
'no'.

For example, assume there is a commercial foo.py that is distributed
only under some costly and onerous license. An enterprising paladin of
free software implements and distributes a work-alike foo.py that
follows the same specifications of the commercial one, but is GPL'd.

Now, I write my masterpiece oof.py:

import foo
while foo.bar():
foo.baz()

Is this a derived work from the commercial foo.py? I don't see how --
it doesn't use _one bit_ from it. Is this a derived work from the GPL'd
foo.py? Again I don't see how -- it's perfectly able to work with the
commercial version instead of the GPL one.

Now suppose the commercial enterprise producing the original foo.py,
wilting under the competition of the GPL version, goes bankrupt. The
commercial foo.py is no longer available. Does this suddenly and
retroactively make my oof.py, whose existence predated the event, a
"derivative work" of the GPL foo.py?

I am not a lawyer, and it wouldn't matter much if I was, because it's
the _courts'_ opinion that counts; I don't think the GPL in general has
ever been tested in the courts, much less the specific provision that a
bunch of bits (oof.pyc, or oof.o if I process that a bit, etc) may be a
derived work of
another bunch of bits (foo.py), with which neither them nor any of their
predecessors in the chain (oof.py) share anything, just because, among
the many potential interface-compliant implementations of (foo.pyc,
foo.o, etc), with which oof.pyc might be dynamically connected to
perform intended purpose, one happens to be covered by GPL.

If I choose to link statically (to make oof.exe, etc), then it does
strike me as reasonable doctrine that the whole oof.exe IS a derived
work of foo.py, because it contains bits derived from it (a processed
foo.pyc). Since oof.exe (if the courts concur) is a derived work of (a
specific implementation of) foo.py, that implementation-foo.py's license
_should_ govern the conditions for copying/distributing oof.exe, which
may (and do, in the case of GPL) require source distribution under
certain licenses, etc, etc.

But if I distribute an oof.exe which does NOT include foo.pyc, and
requires the latter (in some interface-compatible implementation) to be
made available otherwise, then we're back into the contentious "dynamic
linking" issue. Until some courts start ruling on that issue, I guess
we'll all just have to be curious and fruitlessly debate our opinions.

People need to understand once and for all that
GPL is about "forcing" you to make your program
open source. Whether that sounds right
or wrong to you, whether you like it or hate it
is irrelevant.

Yes; what's most relevant is the courts' opinions in the matter, which
unfortunately so far we do not know.
Obviously no one like suddenly realize that they are
bound by GPL but everyone must keep this in mind
*before* choosing that path.

Of course: in particular, choosing to fight in court the GPL, or some
specific provision of it, including the specific one of interest (under
which condition is my oof.o a derived work of anything that is not part
of its precursor sources), will no doubt entail a large amount of odium
coming from large parts of the free software community. Even if a given
corporation's IP lawyers were certain that the "derived work from
dynamic linking" doctrive won't hold up in court, that corporation's
management still has a duty to the shareholders to consider whether the
PR costs of fighting that battle might not exceed the value to the
shareholders of doing that bit of dynamic linking. Personally, I'm very
curious to know how the case would go, but not curious enough to risk
spending my own money and attracting the odium on myself to make a test
case!-)

In practice, the issue is moot, since we _will_ all be submerged by
software patents anyway, compared to which these copyrights issues will
(I predict) soon appear as trifles.


Alex
 
J

Jorge Godoy

Peter Hansen said:
Now you tell me. :)

OK. You see you made some effort lifting those rocks agains me and you
didn't need that :) I just thought I should make that clear after I
read my own post.
It's probably the case in the majority of markets that one is
obligated to provide some kind of support for the products one sells.

And the license isn't a factor that redeems one from that obligation
here. That was my point. It doesn't matter what is written in GPL: all
parts of it that goes against the law for a software sold here to a
brazilian client are considered automatically invalid and disregarded in
court or somewhere else the problem is taken to.
I'm betting these laws have not yet been applied to the *freely
provided source code* that accompanies open source software, even if
the distribution of the software itself (not the source) is matched by
a big fat cheque from the customer. And I'll bet they won't be any
time soon.

There are several discussions on the validity of GPL here. Some say
that it is a valid license, other that it needs to be remodeled, and
other say that it isn't appliable at all.

I am subscribed to three or four mailing list with lots of lawyers
discussing that (IANAL, but I know a lot of them ;-)).



As a side note... Our government is going towards free (as in free
speech) software (one example of that is http://www.softwarelivre.gov.br
-- which is powered by Zope and uses Plone ;-)) so that might make
things easier should a conflict come true (but, then, even the
government can't go against the law -- but they have some power to
change it... ;-)).

There is an "approved" version of a translation of GPL (yes, if the
license isn't in Brazilian Portuguese it is also invalid) and some work
at the congress to make free software completely viable and end with the
uncertainty I talked above.

I hope it succeeds.


Be seeing you,
 
J

Jorge Godoy

Grant Edwards said:
Except they don't. (Pay that is.)

And I thought that just us down here didn't get paid for work and had to
go after the customer to receive... I see there's no safe place in the
world that protects us from the customer...

If they only knew what they wanted, it would save us a *lot* of time...
 
I

Ian Bicking

Istvan said:
No if you derive from GPL then you must release your program
as GPL and you may not release it with a "GPL compatible"
license.

If you derive the code, yes -- like, you take the GPL code and edit it.
At that point there's little way to distinguish your modifications
from the original code.

If the code is a separate entity, but used in the same program, then
it's not so clear. You can always release it under multiple licenses,
but that's usually only done if there is a question of GPL-compatibility
(e.g., Artistic License).

When you release code under the GPL you retain copyright to that code,
including a copyright to any changes or additions you make. You can
take that code and release it under any license, though you can only
relicense code you have the copyright to.

So if you use libreadline (or some GPL library) in your program, you
must abide by the *terms* of the GPL, which implies some licensing that
allows people to view and edit the source, since those rights are not
implied. If you use, say, a BSD-style license (w/o advertising clause,
to make it GPL-compatible), that's cool. If someone comes along and
takes your code and separates it from libreadline (reimplements the
functionality, just stubs it out, whatever), they would then only be
bound by the terms of the BSD license.
Otherwise it would be to easy to circumvent it, just get a
GPL program, add a comment, call it something else
and re-release it as BSD.

From the GPL FAQ:

Q: If a library is released under the GPL (not the LGPL),
does that mean that any program which uses it has to be under the GPL?
A: Yes, because the program as it is actually run includes the library.

Well, that doesn't seem right to me. But since dual licensing is common
and allowed under the GPL, putting your code under the BSD license is
equivalent to dual licensing. (Especially since anyone *can* make
modifications to a piece of BSD, and release it under the GPL.)

The GPL definitely does not require any transfer of copyright, so you
can look at it a bunch of different ways, but in the end the effect is
the same.
 
I

Ian Bicking

Grant said:
Experience.

Customers seem to have no problem with not getting source code,
but once you _do_ give them source code then you have to
support it. Ignoring customers when they ask questions about
the source code has always proven in past experience to be "not
an option."

Well, it sounds like an issue for your contract; i.e., an explicit
clause about not supporting code that has been modified in any way. Or
maybe make it explicit that a higher level of support contract is
required, or something of the sort. That's a sales issue. If the
contract has already been signed, I think that's okay -- that level of
support is never implied.

But sales issues are boring, we can only help with technical solutions.
A technical solution might be to make hashes of all the files you
release, and include something that checks those hashes; maybe when the
program is started, or in a support screen, or whatever. If they've
modified any files, put a big message up that they have modified the
product and there is no warrantee or support for the product in that
state. It's like a tamper-proof sticker on hardware, but easier on them
because they can put the sticker back if they want (i.e., undo their
modifications).

If they are sneaky they'd change the hashes. But that'd be more than
sneaky, they'd have to be assholes with an intent to defraud if they go
that far. And if you are dealing with customers of that sort, then
you're doomed.

And if they just want help making modifications, well gee, it should be
pretty darn easy to turn them down on that.
 
G

Grant Edwards

And I thought that just us down here didn't get paid for work and had to
go after the customer to receive...

It's not really that. The situation is more like:

Customer orders A.
Customer pays for A.
Customer needs support for A.
Customer gets support for A.

No problem, so far.

You give customer some GPL software B along with written
statement that free support is not provided for B.

Customer want's help with B.

Sales is _not_ going to let you tell Customer that you don't
provide support for B.
 
G

Grant Edwards

Well, it sounds like an issue for your contract; i.e., an explicit
clause about not supporting code that has been modified in any way.

Oh, it says that.
Or maybe make it explicit that a higher level of support
contract is required, or something of the sort.

It says that too.

That doesn't stop them from asking "just one question". Usually
forwaded through sales.

IMO, it's usually worthwile to answer the questions. It
generates customer loyalty. But, pretending that it deoesn't
cost time/effort to support GPL'd source code when you give it
to a customer is being delusional.
 
P

Peter Hansen

Jorge said:
It says you must provide some kind of guarantee and a certain level of
support, no matter if the source is or isn't included.

I really think it says that about the *product*, not its
source code. The source code is not being provided as
part of the sale, it is being made available separately.

It's not even necessary that it be possible to use that
source to rebuild the product without purchasing other
pieces of software, such as commercial compilers.

Grant was talking about the cost of supporting the
*source code* when its required that it be made available
because of GPL-type license terms, and I really would be
very surprised if Brazilian law had anything to say about
that.

I could be wrong. You're right about the rocks though:
sorry about that. :)

-Peter
 
C

Cliff Wells

Now you tell me. :)

It's probably the case in the majority of markets that one is
obligated to provide some kind of support for the products one
sells.

Certainly here in the U.S. there is little chance of supplying things
without warranty. That applies to almost anything, not just software.
Even if you state upfront that something is provided "as is", most
states provide additional protections to the customer. The extent of
the protection varies from state-to-state, so even if the state that you
are based in doesn't impose such restrictions on freedom from liability,
if the customer is in a different state, you may find yourself bound by
the guarantees provided in the customer's state of residence.

As far as protecting oneself against liability, the only real guarantee
of that is to simply not provide *anything*. Frankly I fail to see how
open-source versus closed-source matters at all in this area. If I
write a program in Visual Basic and the program fails due to some bug in
the programming language or libraries, I'm still going to be the one
liable to the customer (especially since it was my choice to use sub-par
tools). I suppose I might be able to sue Microsoft in return, but I
have doubts about how well that's going to fly in practical terms ;) In
fact, I'd forward that open source is superior in this respect since I
can either fix it myself or pay someone to fix it for me if I'm unable
(and I've done this in the last week, so I hereby invoke the voice of
experience <wink>).


Regards,
Cliff
 
C

Cliff Wells

It's not really that. The situation is more like:

Customer orders A.
Customer pays for A.
Customer needs support for A.
Customer gets support for A.

No problem, so far.

You give customer some GPL software B along with written
statement that free support is not provided for B.

Customer want's help with B.

Sales is _not_ going to let you tell Customer that you don't
provide support for B.

You *do* provide support for B. Just not *free* support. Win-win ;)

Somehow I find your company sales department's failure to abide by your
own company's written agreements to be a somewhat less than convincing
argument against open source <wink>.

Regards,
Cliff
 
G

Grant Edwards

You *do* provide support for B. Just not *free* support. Win-win ;)

We tried that. We even set up a system to take credit-card
numbers over the phone. It never got used.
Somehow I find your company sales department's failure to
abide by your own company's written agreements to be a
somewhat less than convincing argument against open source
<wink>.

I'm not arguing agains open source. I'm arguing against the
statement that releasing source code doesn't cost anything.
 
E

Erik Max Francis

Grant said:
I'm not arguing agains open source. I'm arguing against the
statement that releasing source code doesn't cost anything.

But it's only costing you something because you choose to let it.
Nothing compels you legally to provide support, so making the connection
between one and the other is a personal choice, not a requirement
regarding open source in and of itself.
 

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
474,209
Messages
2,571,088
Members
47,687
Latest member
IngridXxj

Latest Threads

Top