Re: Free Software Clarification
I realized I didn't send this to the list like I meant to, but only to
the original poster. So here it is again:
Peter S Galbraith <GalbraithP@dfo-mpo.gc.ca> writes:
> I need clarification on `Free Redistribution' in DFSG
> A friend is considering releasing a useful package, but wants to keep
> exclusive rights eventual commercial distribution. He doesn't want someone
> to take the code, modify it, and then sell the result. He has no problems
> with distribution fees associated with packaging a group of software on CD.
> This is okay with DFSG, right?
> The DFSG say that the license may not restrict any party from *selling* or
> giving away the software as a *component* of an *aggregate* *software*
> *distribution* containing programs from several different sources. The Am
> Am I correct that the DFSG doesn't mean to allow people to sell
> modifications of SW obtained under the DFSG?
> Users may sell a CD with his package aggregated into it, but cannot modify
> and sell his package for other than redistribution fees. Is this DFSG-ok?
> What license should he use to achieve this?
I'm a bit confused by what your friend wants to do.
With any piece of DFSG free software comes the risk that someone will
take the code, put it on a CD and sell the CD for $1000. I think the
idea is that anyone who is stupid enough to pay $1000 for a CD
containing software which is available for the cost of phone time in
downloading deserves what they get. So what your friend appears to be
worried about is that someone will take what he's written and modify
it (so that the modified version isn't available on an ftp site
somewhere), then sell that modified version at $100 per copy.
Therefore, the license your friend chooses needs to make sure that
modified versions can be re-sold by those who receive them. That is,
that as soon as this unscrupulous entrepreneur sells his first copy,
whoever buys that copy must be able to take the software and (legally)
put both it and its source code up on the web.(*) There are a couple of
license that guarantee this.
He might look into releasing his software under the GPL. Seriously.
Just because he gives it to other people under the GPL license doesn't
mean that he can't later make a commercial product out of it; after
all, your friend didn't receive it under the GPL. The GPL has been
around for quite some time, and people generally know what they can
and can't do with it, so this should cut down a bit on the number of
unscrupulous people trying to abuse it.
Now, with the GPL comes the problem that if someone out there on the
internet makes modifications to the software that improve it, those
modifications can't be folded into some future commercial version of
the product without getting the explicit permission of the person who
made those modifications. (And if the person who made those
modifications disappears, your friend is out of luck) Without
permission, your friend can of course release code that he wrote
commercially, but including other people's modifications requires
getting their permission.
Your friend could also use something similar to the NPL, the license
under which Netscape released the Mozilla code - the basic idea is
something like the GPL (slightly less "infectious" - modified NPL
code is still covered by the NPL, but code that is linked in is not),
but with the stipulation that Netscape Inc. can take any NPL code and
release it commercially. Your friend would just replace the sections
of the NPL that say "Netscape Communications Inc." with his own name.
Now, if anyone makes a modification to his code, your friend can use
it in his eventual commercial product without getting the permission
of the author of the modifications.
This would be a DFSG free product; however, your friend should be
aware that he may receive a lot of flack from people about it. Many
people on the internet like giving flack, and the mention of any
future commercial potential can tick some people off. I'd ignore
them. I will also warn your friend though that some people may be
wary of making large modifications to his program if it's licensed
this way since they may not want their own work to be turned
commercial without their permission.
(*) Your friend may wonder why it's necessary to allow this
unscrupulous entrepreneur to sell his modifications even once. This
is so that the following situation can happen:
Suppose I run a business and find your friend's software mostly useful
in something I do, but I wish there were this small little change that
would make it much more useful to me. I don't happen to have time to
do the programming (I'm running my business), so I want to get another
programmer to do the modifications for me, and I'm willing to pay if
they do what I want, since the software would then be more useful to
me. Allowing people to sell the software once in this manner lets me
hire a programmer to do these modifications without the programmer
being in violation of the license. Furthermore, it allows some
programmer to look at the software, realize that my business would
benefit greatly from such-and-such modification and come to me with
the idea that I pay him for his time to make and test this
When you try to allow this situation only explicitly, with all sorts
of "if a programmer is contracted to produce modifications"..., but
try to disallow the commercial software vendor, you just end up with a
convoluted mess that encourages people to lie about what they're doing
and whether they made the modifications before or after being paid.
The best way to acheive this result is really to allow anyone who gets
the software to resell it and let economics take care of reducing the
price to the cost of making a CD.