Subject: Re: JBoss aquired by Red Hat
From: simo <s@ssimo.org>
Date: Sun, 30 Apr 2006 08:47:12 -0400

On Sat, 2006-04-29 at 22:38 -0700, Thomas Lord wrote:
> While I'll reply to both of Simo's comments I would like to generally
> encourage people to throttle back on this thread and slow down its
> rate.  It is an FSB topic (imo), but there is also an easy failure mode
> where we spiral down into confusion.    I'm not saying to censor
> yourself -- just to be slow about posting because questions that occur
> in the heat of the moment often evaporate quickly, all by themselves.

If this thread is deemed to be OT we can just drop it, it makes little
sense anyway as I think you are rushing down the wrong side of the hill.

> That said:
> 
> simo wrote:
> > You own the copyright of those parts,[that you wrote] so you can distribute that
part of
> > the code under an NDA without any problem. The work you give to your
> > customer is wholly under the GPL, you just agree with him to not
> > distribute your own code to any third party. You can still distribute to
> > anyone the original work, your customer can distribute the work you gave
> > him _only_ under the GPL to anyone. It's only you that agreed to not
> > distribute the work.

Let's try again.
  
> You may not distribute your changes to a GPLed work to a third party
> except under the GPL which includes a requirement that you cause
> even your changes to be licensed to all third parties under the GPL.

And that is exactly what happens, if you dear to read my comments in
full you will find out that I stated more than once that the Customer
receives the software under the GPL.

In this case the GPL goes from Consultant to Customer while the NDA goes
the other way.
To simplify:

GPL: Consultant(A) -> Customer(B)
NDA: Consultant(A) <- Customer(B)

There is a very huge difference.

The GPL mandates that you, the distributor (or Consultant A in this
case), cannot add restrictions (eg NDA) to the GPL when distributing to
the Customer(B). And this is the case, you are not restricting the
customer, you are accepting restrictions on yourself _from_ the
customer.
This is an entirely different situation which the GPL has no interest
in, and is perfectly fine with. Because the Customer(B) receives the
program under the GPL, and the GPL only!
It is up to Customer(B) to decide whether he wants to redistribute the
software to third parties or keep it for himself.

> > The GPL is about protecting the party that receives the code, not the
> > party that distributes it (from this POV at least).
> >
> >   
> That is oversimplified but, even so... one issue with distribution under NDA
> is that you are failing (in multiple ways) to protect party's that 
> receive the
> code.

You have already stated this twice, but I am sorry I fail to se how that
can be true, you Consultant(A) distribute the software under the GPL.
If the Customer(B) decides to redistribute the work, he will do so under
the GPL as he has no other way to do so. So, any third party will
receive the code under the terms of the GPL, and nothing else.

In case one employer of Customer(B) distributes the program without
employee consent, he will be sued and employer will seek to find out how
to recover damages, but the code will not affect third parties. The only
way for Customer(B) to stop distribution of such code would be to,
forehand, buy the code copyrights out form Consultant(A) and never
distribute the combined work under the GPL but keep the modified code
internally.
In that case, and only in that case, the Customer(B) will also be able
to ask for a stop of the distribution downside because he never released
and licensed the owned part of the code under the GPL, so that any
distribution is simply unlawful.


Btw, in a case like this Consultant(A) should really obtain a time based
expiration clause on the NDA, or it will make more sense to just sell
for a higher price the complete copyright on the modifications to
Customer(B) without retaining any right on the code and forget it.
What use do you have of code you will never be able to redistribute
anyway?

Simo.