// COMPLETE THREAD

propose: `cypherpunks license' (Re: Wanted: Twofish source code)

33 expanded posts ยท every known parent and child

NODE e723d7e4propose: `cypherpunks license' (Re: Wanted: Twofish source code)
Eric Young writes:
> On Mon, 28 Sep 1998, Adam Shostack wrote:
> > | If one is interested to encourage people to include crypto in their
> > | applications, GNU style licenses are a step in the wrong direction.
> > 
> > I wholeheartedly agree.  Theres a number of packages out there I'd
> > love to be able to use in products I'm building.  Code re-use,
> > customers not having to worry about what libraries we're using, and
> > convincing management to free some of the stuff we're doing, are all
> > good arguments in favor.  The contamination bits of the GPL utterly
> > prevent us from doing this.  BSD, PD, or Artistic licenses are far
> > preferable.
> 
> :-) A certain person I work closely with likes to call it a virus.
> Once a package is infected by some GPL code, it takes over the whole package
> (according to the licence).

That concisely says what is wrong with GPL for the purposes of crypto
deployment to head off government key grabbing attempts.  It is a
license virus.  A license virus with this aim: to propogate the
license allowing free access to source code, and (the killer for
crypto deployment!!) propogating the provision that anyone has the
ability to re-sell any source code based on GNU source code.

The negative implications of GPL don't hit you until you are involved
in actually trying to create some commercial software.  Try it, and
you quickly realise that all that GNU software is useless for the
commercial people's purposes.

Consider: GNU says that all of their source must be GNUed if any of
the code you use is.  So now they have a GNU license on their
software, and the other provision of the license means that anyone is
allowed to take the software they are selling and re-sell it!  It is
indeed no wonder that their lawyers have fits.

(There is a difference between GNU and GNU Library.  GNU library allows
you to use a library without infecting your entire software.  GNU
library is sort of usable.)

I used to be quite pro-GNU until I tried this exercise (writing
commercial crypto software for software companies) and ended up
re-writing huge tracts of stuff just to remove the GNU license virus.
This extra expense, hassle, etc likely kills many commercial crypto
projects, and the whole aim of the game is to encourage commercial
people to add crypto to their software.  This aim often conflicts with
RMS/FSF's aims.


I have from time to time proposed the idea of a `cypherpunks license'
which embodies cypherpunk goals, as distinct from RMS's particular
concept of `free source', noble tho' this aim is, it conflicts with
the crypto deployment aim, which for many of us takes precedence. (GNU
source is actually highly restricted source -- but it guarantess that
you can get it, and stops other people preventing you from getting
source for derived works).

All stuff I have written (non-commercially) so far has been PD.
(Actually I don't even dignify it with a `this is PD' note -- I
personally have zip respect for copyright, patents, licenses).

However, perhaps one could do one better than PD: restrict use to
propogate cypherpunk goals.  eg. 

- You may not use this code in software which provides government back
doors.

And perhaps, as a condition of the license the software should display
some anti-GACK slogan :-), or a URL for a site with lots of
documentation on key grabbing attempts, clipper I - IV, ECHELON, etc.

And perhaps:

- secret service agencies can not use this software / or must pay
exorbitant license fees

> I've seen some people in the GNU camp argue that the BSD type licence gets
> ugly because of all the 'includes code from xyz' type messages, but my
> experiance is that comercial people can overcome this, but not the GPL.

Agree, same experience here.

> I changed from the GPL quite some time ago, primarily because I was
> getting sick of email from people wanting to use a library of mine
> but their legal people were going into spasms because of the full
> implications of the GPL.

I was saying to Werner in email that SSLeay is probably the most
widely used crypto package in both commercial and non-commercial
software.  I suggested that if you had used GPL, the commercial use
would have been greatly hindered.  You backed this up above.

btw. I consider this discussion is highly topical for coderpunks --
the license put on software hugely impacts it's value, and coderpunks
was originally intended (by it's proposers) to provide a lower noise
environment for cypherpunks interested in code.  

Of late it appears to me that coderpunks has almost lost interest in
it's cypherpunk origins -- few to none of the comments relate to
creating crypto code to further a political aim.  `cypherpunks write
code ...' for a reason, and I suspect some coderpunks have lost sight
of that reason, or perhaps many have joined more recently and never
had sight of it, crypto coding being just a job to them.

In all it might seem even that coderpunks has had a negative impact on
the amount of crypto coding happening -- it ciphoned off coders who
had been active on cypherpunks into a low volume, apolitical mailing
list where nothing much happens, and propsed projects quickly die.

The role of the coderpunks retro-moderators, though well meaning of
course, I think has not helped either, in that even questions about
export (surely relevant for usefulness of code) are flagged as
off-topic.

Adam
NODE da49af6dRe: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
It might be best not to develop encryption software in the US.  You
might enjoy working on encryption, but if export control makes it is
hard for the whole world-wide free software community to take
advantage of your work, it would be better to work on something else
not subject to export control, and leave encryption to people outside
the US.  There are plenty of people in other countries interested in
working on encryption.

The GNU replacements for PGP and SSH are being written outside the US,
by people who are not US citizens.  We will import them to the US, but
we will never need to export them.
NODE 7c1de3c0Re: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
The big issue I see with GPL and Crypto software is that with the GPL
    you cannot add any redistribution restrictions.  The problem is that
    due to the United States export rules, I cannot export Crypto
    software, 

That is true.

	      which means I must legally put a restriction on any Crypto
    code I write.

In general, the fact that action A is illegal does not mean you must
include a requirement in your distribution terms not to do A.  Such a
requirement is superfluous, because A is illegal no matter what you
say about it.  For example, if you distribute email software, you
don't need to state the requirements not to use it for fraud or
harrassment.  They are illegal anyway.

It might be a good idea to include, in crypto software, a notice
informing users that US law forbids export of the software, as a
warning lest they do so unaware that export control covers it; but
this need not have the form of a binding requirement.  It could just
be "for your information".
NODE be02db98Re: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
>> The big issue I see with GPL and Crypto software is that with the GPL
>> you cannot add any redistribution restrictions.  The problem is that
...
>Ahh, but it's not *you* who's putting the restrictions on your software,
>but the U.S. government.  As far as I know (not that I'm a lawyer, or
>anything) the U.S. govt. doesn't care what your license says --if it's
>strong crypto, it's not supposed to be exported. 

Depends on how you write your restrictions - I've seen products that
range from "We the copyright holder refuse to let you export it and we'll
only sell it to Real Americans with Real US Pedigree Papers who agree
that the Real Yankee Government owns their rights to everything
and agree not to think about letting any Furriners see it" to
"By the way, the US government may not let you export it from the
territory they so unreasonably claim, so you might want to check
with a lawyer if that sort of thing bothers you."


				Thanks! 
					Bill
Bill Stewart, bill.stewart@pobox.com
PGP Fingerprint D454 E202 CBC8 40BF  3C85 B884 0ABE 4639
NODE ace7bc12Re: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
d) As far as I can work out, someone who wants to free part of a
    product, but not all of it, can't practically do so under GPL.

I'm not really sure what that means, but I have a feeling that there
is a misunderstanding at the root of it.  Could you describe the scenario
more clearly, so I could tell for certain?
NODE 53811c98Re: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
A couple of people responded to this

    It isn't surprising that people who want to write non-free software
    are disappointed that the GNU project won't help them.  What is
    amazing is that they feel this is unfair.

by expressing doubt that anyone really thinks so.
I think the person who wrote this text

    I used to be quite pro-GNU until I tried this exercise (writing
    commercial crypto software for software companies) and ended up
    re-writing huge tracts of stuff just to remove the GNU license virus.

made that feeling quite clear through his use of name-calling.  He did
not content himself with saying, "I had to rewrite huge tracts of
stuff because its authors did not give permission to use it in a
proprietary program," because that straightforward and accurate
description would have shown why his resentment was unjustified.
NODE 0be5eea5Re: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
Richard Stallman writes:
> A couple of people responded to this
> 
>     It isn't surprising that people who want to write non-free software
>     are disappointed that the GNU project won't help them.  What is
>     amazing is that they feel this is unfair.
> 
> by expressing doubt that anyone really thinks so.

Well I don't think it's unfair, and it's my post you quoted as an
example!  Anyone who writes something is clearly free to put anything
they like in their licenses.  This was not the point being made.

As there seems to be some confusion, let me try to summarise why
several people have said they prefer BSD license (or indeed LGPL) to
GNU GPL _in the particular case of crypto code_:

Cypherpunks are interested to deploy crypto code with out backdoors
(`cypherpunks write code' and all that).  Consider for a moment that
this is your primary aim.

It is useful to build upon on other cypherpunks code.  (Having to code
everything from scratch is going to take you a long time..., let's see
we'll start with re-writing a bignum library from scratch).

You would like your code to be widely deployed, and some companies are
good at distributing code.  If you could get them to include crypto in
their applications that would be a lot of crypto out there.

So when someone writes crypto code form this perspective the BSD
license better achieves their aim.  This is not an insult to the FSF's
aims.  The BSD license (for example) is in some ways more free than
the GNU license: it allows free distribution, but is less strict in
propagating this to derived works.  This lesser strictness is useful
for crypto deployment because it allows commercial derivative works
(what you have termed proprietary) software.  Cypherpunks want to
encourage these also, though they would prefer that source be
available so that people can check for quality, correctness, and for
backdoors.


The comments on having to re-write GNU code which several people made
(in the context of crypto software) are not saying that it is "unfair
that GNU contributers don't do free work for the cypherpunk cause",
what it is saying is this:

If your aim is to maximise crypto deployment, use BSD or some other
relatively free distribution license other than GNU, so that we can
more rapidly write and deploy crypto software to undermine the power
of the state.

Adam
NODE 4813c946Re: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
Richard Stallman wrote:
> It isn't surprising that people who want to write non-free software
> are disappointed that the GNU project won't help them.  What is
> amazing is that they feel this is unfair.  They have no intention of
> letting me use their source code in my programs--so why should they be
> entitled to use my source code in their programs?  These people seem
> to think that their selfishness entitles them to special treatment.

a) Who ever said this was unfair?

b) Several of the people who are complaining are about the GPL are not
people who want to use GPLed software, but people who want to release
their software under a free licence and think GPL isn't the right one.

c) In my experience GPL stops many companies from even considering using
code. A less restrictive licence gets it through the door, and they
later come to understand the benefit of freeing the source, even though
they are not obliged to. OK, so sometimes we lose under this scheme, but
sometimes we gain. 

d) As far as I can work out, someone who wants to free part of a
product, but not all of it, can't practically do so under GPL.

Cheers,

Ben.

-- 
Ben Laurie            |Phone: +44 (181) 735 0686| Apache Group member
Freelance Consultant  |Fax:   +44 (181) 735 0689|http://www.apache.org/
and Technical Director|Email: ben@algroup.co.uk |
A.L. Digital Ltd,     |Apache-SSL author     http://www.apache-ssl.org/
London, England.      |"Apache: TDG" http://www.ora.com/catalog/apache/

WE'RE RECRUITING! http://www.aldigital.co.uk/
NODE 58280997Re: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
Richard and others,

Please stop.  This thread does not belong on the 
coderpunks mailing list.  If you want to argue
about BXA vs GPL please take it elsewhere.

- Alex

--

Alex Alten

Alten@Home.Com
Alten@TriStrata.Com

P.O. Box 11406
Pleasanton, CA  94588  USA
(925) 417-0159
NODE 287db85cRe: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
On Thu, Oct 01, 1998 at 10:26:39AM +0100, Ben Laurie wrote:

> d) As far as I can work out, someone who wants to free part of a
> product, but not all of it, can't practically do so under GPL.

Wrong.  As long as it's your own code you are talking about, you can
release it under whatever license you want -  e.g., you can give
away binary code as part of a proprietary application, and you can
give away binary and source code stand-alone under GLP, LGPL, BSD
license, Artistic License, whatever.

tlr
-- 
Thomas Roessler  74a353cc0b19  dg1ktr  http://home.pages.de/~roessler/
     2048/CE6AC6C1  4E 04 F0 BC 72 FF 14 23 44 85 D1 A1 3B B0 73 C1
NODE af1bc68eRe: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
All stuff I have written (non-commercially) so far has been PD.
    (Actually I don't even dignify it with a `this is PD' note -- I
    personally have zip respect for copyright, patents, licenses).

Legally, what this means is that your software is copyrighted, and any
redistribution of it is illegal.  That counterintuitive consequence is
the due to a treaty, the Berne Convention, that was designed to cater
to copyright owners.

    However, perhaps one could do one better than PD: restrict use to
    propogate cypherpunk goals.  eg. 

    - You may not use this code in software which provides government back
    doors.

    - secret service agencies can not use this software / or must pay
    exorbitant license fees

My information is that such criteria are not legally enforcible under
copyright law in many countries.  You should probably check with a
copyright lawyer before trying such a thing.

In addition, a program with a restriction like this is not free
software, so people would probably work on a free replacement for it.
I don't want government back doors in any software I use, but this
kind of restriction is the wrong way to avoid them.  The right way is
through the GNU GPL, which would enable people to check the source
code of a modified version for anything suspicious.
NODE d546f12fRe: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
I designed the GNU GPL to insist that you must make your code free
software, if you include GPL-covered code in it.  I did this for a
reason: to encourage people to make software free.  It does this by
providing code that is available only for writing free software, not
for writing proprietary software.

The GNU GPL works well to promote free software (see
http://www.gnu.org/philosophy/pragmatic.html).  It also permits
commercial use of the code.  What it does not permit is using the code
in a proprietary program.  I won't use proprietary software, I want to
have free software for every job.  So I have no reason to help you
write any proprietary software.  If you want code you can use in a
proprietary program, you are out of luck.

It isn't surprising that people who want to write non-free software
are disappointed that the GNU project won't help them.  What is
amazing is that they feel this is unfair.  They have no intention of
letting me use their source code in my programs--so why should they be
entitled to use my source code in their programs?  These people seem
to think that their selfishness entitles them to special treatment.

The GPL is my way of offering a certain kind of cooperation to anyone
else who is willing to cooperate in the same way.


For an explanation of the difference between commercial and
proprietary, see http://www.gnu.org/philosophy/categories.html and
http://www.gnu.org/philosophy/selling.html
NODE 24e34e17Re: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
--Boundary..3997.1071713807.multipart/signed
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

    Date: Wed, 30 Sep 1998 10:21:42 -0600
    From: Richard Stallman <rms@santafe.edu>
    
    It isn't surprising that people who want to write non-free software
    are disappointed that the GNU project won't help them.  What is
    amazing is that they feel this is unfair.  They have no intention of
    letting me use their source code in my programs--so why should they be
    entitled to use my source code in their programs?  These people seem
    to think that their selfishness entitles them to special treatment.

This is faulty logic.  I may wish to write some code for free, that
is, have the intention of letting you use my source code in your
programs, and to write other code for profit.  If I want to write
something for free, I'd like it to be free for any purpose, including
commercial purposes, thus the GPL is inappropriate.

I would vastly prefer that people simply place their code in the
public domain explicitly.

			Rick


--Boundary..3997.1071713807.multipart/signed
Content-Type: application/octet-stream; name="pgp00000.pgp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="pgp00000.pgp"
Content-Description: "PGP signature"

LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tClZlcnNpb246IDIuNi4zaWEK
Q29tbWVudDogUHJvY2Vzc2VkIGJ5IE1haWxjcnlwdCAzLjQsIGFuIEVtYWNz
L1BHUCBpbnRlcmZhY2UKCmlRQ1ZBd1VCTmhpbjNoSWU5MVViOERjRkFRR0RM
UVFBajRtQnVYUHlXUUNMMWFiWmZSL1dEcHdmdXdVaFZoRWgKMGdSMGlKaFJF
b2ZualpHdWN0YThHaUhvYjNEWGlRZ1JWMzJoM2ZsZDNteWQraWNZTXRBNkJH
YVI2ZmZ4aUQvKwpYYzZRWnhyejhnMWNCdFJtQU5adVpreUt5QmpHZkRxYXd5
YWFKd243Zm0rbHBKaWFnT2I4WVlwUXNQWkFIdzhaCjJRVDZqTWQ0SG1BPQo9
VTIvMAotLS0tLUVORCBQR1AgTUVTU0FHRS0tLS0tCg==
--Boundary..3997.1071713807.multipart/signed--
NODE 69255bb8Re: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
Rick Campbell wrote:

> I would vastly prefer that people simply place their code in the
> public domain explicitly.

I think it all depends upon the free will of the authors of the codes
to determine under exactly what conditions other people may share their
intellectual properties without paying money. The one may impose
some non-monetary conditions in the hope of achieving some
non-monetary effects in exchange of the work that has been done, while
the other impose no conditions at all. There can be no norm 
in that. After all, it is their codes and the potential users of
the codes may also have different views on that without unanimity.

M. K. Shen
NODE 717ad447Re: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
My take on the licensing flame war:

I live in both Richard Stallman's world (the Open Source community)
and in the Cypherpunk crypto community.

The two have different goals. RMS is mistaken about appropriate
licensing for crypto code written by cypherpunks because he thinks the
goals are the same, when they are not.

The Open Source community seeks maximum spread of free software.
The Cypherpunk community seeks maximum spread of the use of non-GAKed
cryptography.

Some members of the Cypherpunk community are happy to have source
hoarders and such profit in any and all ways from the use of their
code *IF* it will spread the use of cryptography in the world. They
are willing to let anyone -- Microsoft, RMS, or anyone else -- use
their work, even in ways that do not further the objectives of the
Open Source community, provided it means more non-GAKed cryptography
is in use by more people.

The Open Source community obviously has different goals. It is seeking 
free software, not the wide spread of cryptography.

RMS is mistaking his goals for those of the cypherpunk
community. Their goals are not diametrically opposed, but they are not 
identical either, and so the sorts of licenses they may want to use
for the software they create are not necessarily the same.

EAY noted that he stopped distributing under GPL because *he*, the
author, wanted more people to be stealing his code, thus spreading
cryptography further. It wasn't a question of random people bitching
that the GPL didn't let them write proprietary software -- it was THE
AUTHOR OF THE CODE who wanted people to be able to write proprietary
software, because he felt that the goal of spreading crypto was more
important to him than the software freedom issue.

I am in no way saying RMS should stop using the GPL, or attempting to
say what sort of license is better for a particular author, but it
should be recognised that there are people who are happy having their
crypto routines stolen and incorporated into proprietary software --
who are, in fact, elated when this happens, because it means more
people will be using cryptographic software -- and that they might not
find the GPL to be ideal for their goal.

Perry
NODE 59ec5a99Re: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
Clear and coherent summary, and accurate.  Thanks.

At 11:39 AM 10/5/98 -0400, Perry E. Metzger wrote:
>
>My take on the licensing flame war:
>
>I live in both Richard Stallman's world (the Open Source community)
>and in the Cypherpunk crypto community.
>
>The two have different goals. RMS is mistaken about appropriate
>licensing for crypto code written by cypherpunks because he thinks the
>goals are the same, when they are not.
>
>The Open Source community seeks maximum spread of free software.
>The Cypherpunk community seeks maximum spread of the use of non-GAKed
>cryptography.
>
>Some members of the Cypherpunk community are happy to have source
>hoarders and such profit in any and all ways from the use of their
>code *IF* it will spread the use of cryptography in the world. They
>are willing to let anyone -- Microsoft, RMS, or anyone else -- use
>their work, even in ways that do not further the objectives of the
>Open Source community, provided it means more non-GAKed cryptography
>is in use by more people.
>
>The Open Source community obviously has different goals. It is seeking 
>free software, not the wide spread of cryptography.
>
>RMS is mistaking his goals for those of the cypherpunk
>community. Their goals are not diametrically opposed, but they are not 
>identical either, and so the sorts of licenses they may want to use
>for the software they create are not necessarily the same.
>
>EAY noted that he stopped distributing under GPL because *he*, the
>author, wanted more people to be stealing his code, thus spreading
>cryptography further. It wasn't a question of random people bitching
>that the GPL didn't let them write proprietary software -- it was THE
>AUTHOR OF THE CODE who wanted people to be able to write proprietary
>software, because he felt that the goal of spreading crypto was more
>important to him than the software freedom issue.
>
>I am in no way saying RMS should stop using the GPL, or attempting to
>say what sort of license is better for a particular author, but it
>should be recognised that there are people who are happy having their
>crypto routines stolen and incorporated into proprietary software --
>who are, in fact, elated when this happens, because it means more
>people will be using cryptographic software -- and that they might not
>find the GPL to be ideal for their goal.
>
>Perry
> 
**********************************************************************
Bruce Schneier, President, Counterpane Systems     Phone: 612-823-1098
101 E Minnehaha Parkway, Minneapolis, MN  55419      Fax: 612-823-1590
           Free crypto newsletter.  See:  http://www.counterpane.com
NODE 5e2402b6Re: propose: `cypherpunks license'
Werner Koch wrote:
> 
> Mok-Kong Shen <mok-kong.shen@stud.uni-muenchen.de> writes:
> 
> > I think it all depends upon the free will of the authors of the codes
> > to determine under exactly what conditions other people may share their
> > intellectual properties without paying money. The one may impose
> > some non-monetary conditions in the hope of achieving some
> > non-monetary effects in exchange of the work that has been done, while
> 
> Please read the GPL before talking about it!
> 
> The GPL covers freedom and not price.

I suppose you misunderstood me. Did I say price? I expressed that 
the context is one for free of charge (without paying money).

M. K. Shen
NODE 8c1d4fd4Re: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
Matt Curtin wrote:
> Richard Stallman <rms@santafe.edu> writes:
> 
> > I beg your pardon, but this is no mistake.  I'm well aware of the
> > people who argue for donating code to companies "so it will be more
> > widely used."
> 
> This is really an interesting, and subtle, point.  The goals might
> well be different, but I suspect they're more complementary than most
> of us immediately realize.

Agreed. For example, having SSLeay (say) used in some proprietary
program or other would achieve very little in the way of "cypherpunk
goals" (unless perhaps the company voluntarily published improvements
and bug fixes for SSLeay). Having it used in Mozilla is a different
matter, however. Ultimately what is needed is not good free crypto
(which already exists, pretty much) but good free *applications* that
use crypto, with available source that can be examined for good practice
and backdoors, and that can be fixed when they are broken.  

But that's not to say that there is no point in trying to harness the
resources of proprietary software makers. One of way of looking at this
is that there is a limited number of people who know about this stuff,
and some of them work on proprietary software. Let's assume that it's
worth getting those people involved. Well, GPLing your code pretty much
ensures that they won't work on it. On the other hand, a very liberal
licence like BSD will mean that many of them won't or can't share their
results. The Mozilla licence looks to me like a good compromise in terms
of getting skilled people involved and maximising the return of
improvements. Additional licence terms like "no GAK" or whatever would
just turn some % of people off the code and would be superfluous
anyway--there's no need for the licence to demand "no GAK" if it demands
the source, and there's no point in demanding it otherwise.

Cheers,
Frank O'Dwyer.
NODE 84079e7eRe: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
I may wish to write some code for free, that
    is, have the intention of letting you use my source code in your
    programs, and to write other code for profit.

Please separate the issues of freedom and price.  I think you are
lumping them together.  A number of people these days write free
software for profit; there are companies whose business is based on
developing free software, and all the software they develop is free.
See http://www.gnu.org/philosophy/selling.html for more about these
issues.

    I would vastly prefer that people simply place their code in the
    public domain explicitly.

If you want to use our code in non-free software, and leave your users
(who would then be our users also) no freedom, it is understandable
that you would ask for this.  But if we care about their freedom, as
well as about your freedom, it is natural that we would say no.

I've heard many people say that the X11 license is "more free" than
the GNU GPL.  Implicit in that is an assumption that you should
measure the freedom where the program leaves the hands of the original
developer.  But that doesn't measure the *users'* freedom.

If you measure the freedom where the program reaches the end user, you
find that the GPL results in more freedom for the users, because it
protects the users' freedom.  The X11 and BSD licenses have failed to
do that.  A large fraction of the users of X11 are running proprietary
modified versions; for them, X11 has very little freedom.  The same
was true of BSD--most of its users were running the proprietary
systems SunOS 4 and Ultrix.  (Maybe that is still true.)

See http://www.gnu.org/philosophy/x.html for more explanation.

But if you do decide to use a non-copyleft free license, please don't
use the BSD license.  Please use the X11 license, or some other that
is free of special problems.  See
http://www.gnu.org/philosophy/bsd.html for an explanation.
NODE a22008c5Re: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
On Wed, Oct 07, 1998 at 06:26:16AM -0400, Rick Campbell wrote:

> Public Domain status denotes more freedom than GPL.  It allows all of
> the freedom of GPL and in addition, it allows the freedom of making
> proprietary modifications.

Making proprietary changes to GPLed software for your own use seems
to be fine with the GPL.  The problem occurs if you are giving away
changed versions of software: While GPL will force you to give your
distributed software's users the same freedom you enjoyed yourself
when creating the software, PD won't preserve that freedom.

Thus, GPL is the license model which most consequently follows the
freedom for end users thread of thinking.

tlr
-- 
Thomas Roessler  74a353cc0b19  dg1ktr  http://home.pages.de/~roessler/
     2048/CE6AC6C1  4E 04 F0 BC 72 FF 14 23 44 85 D1 A1 3B B0 73 C1
NODE 914acac3Re: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
--Boundary..3997.1071713808.multipart/signed
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

    Date: Wed, 7 Oct 1998 20:06:17 +0200
    From: Thomas Roessler <roessler@guug.de>
    
    On Wed, Oct 07, 1998 at 06:26:16AM -0400, Rick Campbell wrote:
    
    > Public Domain status denotes more freedom than GPL.  It allows all of
    > the freedom of GPL and in addition, it allows the freedom of making
    > proprietary modifications.
    
    Making proprietary changes to GPLed software for your own use seems
    to be fine with the GPL.  The problem occurs if you are giving away
    changed versions of software: While GPL will force you to give your
    distributed software's users the same freedom you enjoyed yourself
    when creating the software, PD won't preserve that freedom.
    
    Thus, GPL is the license model which most consequently follows the
    freedom for end users thread of thinking.

I see, so GPL offers you additional freedoms, like the freedom to be
forced into a particular action.  Cool :-)

Really, the end user of Public Domain software has more freedom than
the end user of GPLed software.  They have every freedom allowed by
GPL, plus the freedom to make derivative works (which might not have
the same level of freedom) that are proscribed by the GPL.  It really
makes no sense to me for someone to argue that when your actions are
restricted you are more free.

When I read RMS' arguments in favor of GPL, I can't help but note a
certain ``nah nah na nah nah'' childish quality to them. ``Well, if
you won't let me use yours, then I won't let you use mine'' is the
root of the arguments.  I don't think that there's anything wrong with
wanting an arrangment like that, I just think that it's ridiculous to
try to twist that into telling people that by restricting them you're
really helping them.  You're not, period.

			Rick


--Boundary..3997.1071713808.multipart/signed
Content-Type: application/octet-stream; name="pgp00002.pgp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="pgp00002.pgp"
Content-Description: "PGP signature"

LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tClZlcnNpb246IDIuNi4zaWEK
Q29tbWVudDogUHJvY2Vzc2VkIGJ5IE1haWxjcnlwdCAzLjQsIGFuIEVtYWNz
L1BHUCBpbnRlcmZhY2UKCmlRQ1ZBd1VCTmh5UTV4SWU5MVViOERjRkFRR2tz
d1A5R1gwS2tJWTdCYUsxelo3Q3FFcUw5RXVmRmwxdVZBc2EKWm5Fd0s3R1VQ
c1BHQXZNSWtKNGdSbys4aXo1Umxyc0VFSGJhdkpFVmNjL3ZTSlhNSjI2VmFV
YkQyUUlldFYvNQpwTUpVVDJ4WGNldlFPQkRaVEpxU2dsZ2hhSjRkUWRoOWZC
NnhtcUlocU13RjlwMGNQUGNHVEcxZEVXNHVLV1JFCjRSRS8rc0Ztdnp3PQo9
d2JFTQotLS0tLUVORCBQR1AgTUVTU0FHRS0tLS0tCg==
--Boundary..3997.1071713808.multipart/signed--
NODE 94e84eebRe: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
--Boundary..3997.1071713808.multipart/signed
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

    Date: Tue, 6 Oct 1998 17:05:42 -0600
    From: Richard Stallman <rms@santafe.edu>
    
    If you want to use our code in non-free software, and leave your users
    (who would then be our users also) no freedom, it is understandable
    that you would ask for this.

No, I simply don't want to discriminate against users who are writing
proprietary software, i. e. I don't want to restrict the freedom of
those users in the way that GPL does.

Public Domain status denotes more freedom than GPL.  It allows all of
the freedom of GPL and in addition, it allows the freedom of making
proprietary modifications.

The results of the proprietary step may be less free than GPL, but the
code placed in the Public Domain is still more free than the code
released under the terms of the GPL.

			Rick


--Boundary..3997.1071713808.multipart/signed
Content-Type: application/octet-stream; name="pgp00001.pgp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="pgp00001.pgp"
Content-Description: "PGP signature"

LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tClZlcnNpb246IDIuNi4zaWEK
Q29tbWVudDogUHJvY2Vzc2VkIGJ5IE1haWxjcnlwdCAzLjQsIGFuIEVtYWNz
L1BHUCBpbnRlcmZhY2UKCmlRQ1ZBd1VCTmh0QnhoSWU5MVViOERjRkFRSGpK
Z1A3QkRRQUJWdkt5czhsM1JXNXFmcDRES0Vnai9mZGxzQysKZzFvaXdkdkJ4
NDJIeUVESy81TUtQaDFKNGRBREo0K1BOUEFyQTMyQVRaakpVNWpGTHhxS2Rh
bVpiSDZmYm5lagp5cDVzVCttbzF1Z0pzaHB1dGEzbWZGSkVkMjd3UURQNmxo
K2hJWVVLL2lTOTkzRllZUDNMYW9DbGErWG9pa0U0Ckp2dFM3Y0swTE5FPQo9
Tys2SAotLS0tLUVORCBQR1AgTUVTU0FHRS0tLS0tCg==
--Boundary..3997.1071713808.multipart/signed--
NODE 77c5100cRe: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
Public Domain status denotes more freedom than GPL.  It allows all of
    the freedom of GPL and in addition, it allows the freedom of making
    proprietary modifications.

Public domain gives person P the ability to make modified versions and
give users no freedom in using them.  The result is that people in
general have less freedom.

This might seem like a paradox: you give people "more freedom", but
they end up with less.  How can that be?  It has to do with stretching
the word "freedom" to include the ability to control other people.
That kind of "freedom" tends to leave other people with less freedom.
What happened with the X Window System illustrates this unambiguously
(see http://www.gnu.org/philosophy/x.html).

One way to avoid the paradox is to distinguish between freedom and
power.  Freedom is being able to decide your own activities and
choices that affect mainly you.  When someone can decide other
people's activities, or choices that affect mainly others, that is
power, not freedom.

With this definition, the paradox goes away.  Copyright is a power,
not a freedom.  Copyleft, by blocking this power, protects freedom.
The GNU GPL guarantees basic freedom for all users, which otherwise
they will tend to lose.
NODE fb42d45fRe: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
--Boundary..3997.1071713808.multipart/signed
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

    Date: Thu, 8 Oct 1998 20:25:25 -0400
    From: Richard Stallman <rms@gnu.org>
    
        Public Domain status denotes more freedom than GPL.  It allows all of
        the freedom of GPL and in addition, it allows the freedom of making
        proprietary modifications.
    
    Public domain gives person P the ability to make modified versions and
    give users no freedom in using them.  The result is that people in
    general have less freedom.

Your presentation confuses two different pieces of software.

It is only the derivative work which has less freedom associated with
it.  It remains the case that the person releasing their software to
the Public Domain has given the users of the software that is released
into the Public Domain more freedom to do as they will with that
software.

By releasing into the Public Domain, the author gives up the power to
control other people's activities and allows them to make different,
derived, software which might not have the same level of freedom.
However, such activities do not detract from the freedom that remains
associated with the software that was released into the Public Domain
-- freedom that is taken away by the GPL.

And while some derivative works may be proprietary, it's not uncommon
for other derivations to remain in the Public Domain.  CMU Common Lisp
is an example that comes to mind.  Whether or not Lucid, Allegro, or
any other proprietary system ever made use of any CMU Common Lisp code
has not detracted from the code released into the Public Domain.  This
code continues to be maintained, enhanced, ported to new platforms,
etc.

			Rick


--Boundary..3997.1071713808.multipart/signed
Content-Type: application/octet-stream; name="pgp00003.pgp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="pgp00003.pgp"
Content-Description: "PGP signature"

LS0tLS1CRUdJTiBQR1AgTUVTU0FHRS0tLS0tClZlcnNpb246IDIuNi4zaWEK
Q29tbWVudDogUHJvY2Vzc2VkIGJ5IE1haWxjcnlwdCAzLjQsIGFuIEVtYWNz
L1BHUCBpbnRlcmZhY2UKCmlRQ1ZBd1VCTmgxMExCSWU5MVViOERjRkFRSEtD
QVFBdUVLUEYvVHYwK3lIU2NzTC9jeWFua2V2M0pXR2IyaXgKMUlPd05rbjhl
a3o4R2IydFhtRHV2RXZIbW5ONEJjczJLaHo2YmdhS0JRL2hXa3NQQlZVcStY
NmZ3QWVzTWptdAplN2FtMmxOS1M2V1JCMzF2UEdkVUFRb08xTUoxNzNlVmpR
S1hvRVByNzB0Qlc1dGQvY0JHUnE3YmFoMXAzRVpKCkk0OGtKMkk1ZC9JPQo9
TEdKbQotLS0tLUVORCBQR1AgTUVTU0FHRS0tLS0tCg==
--Boundary..3997.1071713808.multipart/signed--
NODE 2724ad21Re: propose: `cypherpunks license'
Richard Stallman <rms@gnu.org> writes:

> This might seem like a paradox: you give people "more freedom", but
> they end up with less.  How can that be?  It has to do with stretching
> the word "freedom" to include the ability to control other people.
> That kind of "freedom" tends to leave other people with less freedom.

   "Die Freiheit des Einzelnen endet dort,
    wo sie die Freiheit der Anderen einschrnkt."
                                      Rosa Luxemburg

   The freedom of an individual ends, as it (the freedom)
   limits the freedom of the others.


[This was one of the former Eastern Germany liberty movements' slogans
 -  and not a communists one]


  Werner
NODE ceec6c9fRe: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
Richard Stallman wrote:

> Public domain gives person P the ability to make modified versions and
> give users no freedom in using them.  The result is that people in
> general have less freedom.

Untrue.  Person P may make proprietary versions of the program, however,
the program's users may simply chose to not use them and instead take
the original public domain program, write their own modifications as needed
and do what they will with them.  In fact, they may even develop a function
clone of Person P's program and put it back in the Public Domain if they
so chose.  

How does this restrict anyone?  Oh, they can't code you say?  Well, too bad,
if they want to use other people's code, let them learn.  If one choses to
learn to code, one frees himself.

Nobody is forcing those users to use Person P's code any more than
anyone is being forced to use Windoze 98.

Cypherpunks Write Code is something I believe in, and practice.   For
example, someone today needed to modify several bytes in a binary file
that got corrupted in transit.  Not having any sort of hex editor he asked
if I knew what I could use.  I told him to try gdb or adb and such, but
he wasn't able to, so I wrote the bit of code following this message.

Now, I could make this trivial bit of code proprietary and charge money for
it, but others could simply spend some time and write their own.  I could
make it GPL, and thus let everyone use it, but nobody would be able to
copy this code and incorporate it in their code if they didn't want to 
make their code GPL'ed.  So instead, I am making this available as
public domain.  Do what you like with it.  Hell, if you'd like go ahead
and modify it and GPL it, do so, but that won't stop anyone wishing to make
commercial versions of it from finding this original bit of code rather
than the GPL.  Nor will it stop anyone who just wants to use the code.

So what's the point?  As long as public domain software exists and can
be tracked down and use, it frees everyone.  GPL on the other hand does
not.  Sure, it frees the users, but limits the authors.

Of course the GPL has one advantage that you forgot to mention (or that
I haven't noticed.)  Should Microsoft decide to grab Linux and produce
Microsoft Linux (with or without the GNU utilities) they'd have to
produce their sources.

 --- twiddler.c ----->8 cut here 8<-------------------------------------



#include <stdio.h>
#include <errno.h>

int main(int argc, char *argv[])
{
 FILE *myfile;
 long loc;
 unsigned char val[2];
 char *endptr;

 if (argc!=4)
   {
    printf("%s filename address value\n all values preceded by 0x are hex,\n \
 0 are octal, else decimal.\n address is 32 bit, value is 8 bit\n",argv[0]);
    exit(0);
   }

 errno=0;
 myfile=fopen(argv[1],"rb+");

 if (!myfile || errno) {fprintf(stderr,"Unable to open file:%s\n",argv[1]);
exit(1);}
 loc=strtol(argv[2],&endptr,0);
 val[0]=(unsigned char) strtol(argv[3],&endptr,0);

 fprintf(stderr,"write %d to file %s at %ld\n",val[0],argv[1],loc);

 fseek(myfile,loc,0); if (errno) {fprintf(stderr,"Unable to seek to %ld in file
%s\n",loc,argv[1]); exit(2);}
 fwrite(val,1,1,myfile); if (errno) {fprintf(stderr,"Unable to write %d to file
%s at %ld\n",val[0],argv[1],loc); exit(3);}
 fflush(myfile); if (errno) {fprintf(stderr,"Unable to flush file\n");
exit(4);}
 fclose(myfile); if (errno) {fprintf(stderr,"Got error on closing file\n");
exit(5);}

 return 0;
}




-- 

=====================================Kaos=Keraunos=Kybernetos==============
.+.^.+.|       Sunder       |Prying open my 3rd eye.  So good to see |./|\.
..\|/..|sunder@sundernet.com|you once again. I thought you were      |/\|/\
<--*-->| ------------------ |hiding, and you thought that I had run  |\/|\/
../|\..| "A toast to Odin,  |away chasing the tail of dogma. I opened|.\|/.
.+.v.+.|God of screwdrivers"|my eye and there we were....            |.....
======================= http://www.sundernet.com ==========================
NODE 4cd2ebb8Re: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
Rick Campbell wrote:

> Public Domain status denotes more freedom than GPL.  It allows all of
> the freedom of GPL and in addition, it allows the freedom of making
> proprietary modifications.

Logically this is (trivially) true, since PD imposes no conditions
while GPL imposes some. One possibility I can imagine is that those
who favour GPL and presumably also the ideas behind it could be
a bit more motivated to achieve a better quality of the software 
(including maintenance) than those who put software in the PD.
Of course this is just speculation and I have no way of knowing the 
reality.

M. K. Shen
NODE ac47a522Re: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
>The two have different goals. RMS is mistaken about appropriate
    >licensing for crypto code written by cypherpunks because he thinks the
    >goals are the same, when they are not.

I beg your pardon, but this is no mistake.  I'm well aware of the
people who argue for donating code to companies "so it will be more
widely used."  Proprietary software developers have been seeking for
years to convince free software developers to think this way, and not
just in the field of encryption.  This is what the X Consortium used
to say (see http://www.gnu.org/philosophy/x.html).

If you care about freedom, there's no reason why you can't care about
users' freedom to share and change software, and their freedom to use
encryption, at the same time.  You can work to spread use of
encryption and to spread users' freedom, at the same time, by
developing free encryption software.
NODE d6704a49Re: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
Richard Stallman <rms@santafe.edu> writes:

> I beg your pardon, but this is no mistake.  I'm well aware of the
> people who argue for donating code to companies "so it will be more
> widely used."

This is really an interesting, and subtle, point.  The goals might
well be different, but I suspect they're more complementary than most
of us immediately realize.

Specifically, I'm unconvinced that letting people "steal" our code
really advances the cypherpunk goal of good crypto everywhere (GCE...a
new TLA?).  Proprietary implementations, or proprietary builds of free
or public domain might well claim to be high quality implementations
of well trusted algorithms.

But without access to the source, how do we know?

What if someone makes an RPM of PGP, for example, with a "feature" to
fire your keys off to Big Brother for "backup" and/or "safe keeping"?

-- 
Matt Curtin cmcurtin@interhack.net http://www.interhack.net/people/cmcurtin/
NODE ce050e26Re: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
On Wed, 30 Sep 1998, Richard Stallman wrote:
> It isn't surprising that people who want to write non-free software
> are disappointed that the GNU project won't help them.  What is
> amazing is that they feel this is unfair.  They have no intention of
> letting me use their source code in my programs--so why should they be
> entitled to use my source code in their programs?  These people seem
> to think that their selfishness entitles them to special treatment.

:-) I always find this amusing myself.  If people have written code, they are,
by virtue of the fact they have actually done the work, able to enforce their
particular views on the world via their licence, be it a GNU, BSD, Netscape or
other form.  The problem sometimes occurs when people put their code out under
a licence they do not fully understand, and does not capture their intent.
I personally have a policy that if I ever change the licence conditions in any
of my code, the last version with the old licence will always be available for
those who don't like the new licence.  This way if my opinions on how the
software can be used changes, people don't have to suffer through my
'conversion to a new faith' :-).  The will only have access to the old stuff
under the licence they like.
 
> The GPL is my way of offering a certain kind of cooperation to anyone
> else who is willing to cooperate in the same way.

And the problem that some of us have with the GPL, in that it does take a
rather strong stance on this issue, making it incompatable with other people
who are not that passionate.

eric
NODE 810686e5Re: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
On Wed, 30 Sep 1998, Richard Stallman wrote:

> It isn't surprising that people who want to write non-free software
> are disappointed that the GNU project won't help them.  What is
> amazing is that they feel this is unfair.  They have no intention of
> letting me use their source code in my programs--so why should they be
> entitled to use my source code in their programs?  These people seem
> to think that their selfishness entitles them to special treatment.

I've never heard anyone say it's unfair, I've just heard people claim that
there's benefit they could be getting which is prohibited by it. This
generally translates into benefit which is denied their clients as well,
in addition to people who interact with their clients. I for one don't
much care if code I write makes someone money in addition to doing some
good, I just want it to be beneficial.

Basic physical necessities, as well as business mechanisms, unfortunately
make it impossible for all code I write to be distributed without some
mechanism by which I could make money off of it. That doesn't mean my code
is evil, just that I'm not independently wealthy.

(Incidentally, the code I'm working on right now will probably wind up
being free, with a considerably looser license than GPL.)

-Bram
NODE f61d6f83Re: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
The big issue I see with GPL and Crypto software is that with the GPL
you cannot add any redistribution restrictions.  The problem is that
due to the United States export rules, I cannot export Crypto
software, which means I must legally put a restriction on any Crypto
code I write.  But, this is a "further restriction" as far as the
GPL is concerned.  This, in turn, means I cannot use the GPL for
Crypto software.

-derek
-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       warlord@MIT.EDU                        PGP key available
NODE d2c6e30eRe: propose: `cypherpunks license' (Re: Wanted: Twofish source code)
Ahh, but it's not *you* who's putting the restrictions on your software,
but the U.S. government.  As far as I know (not that I'm a lawyer, or
anything) the U.S. govt. doesn't care what your license says --if it's
strong crypto, it's not supposed to be exported. 

The license is probably irrelevant, as far as import/export is
concerned.

Derek Atkins wrote:
> 
> The big issue I see with GPL and Crypto software is that with the GPL
> you cannot add any redistribution restrictions.  The problem is that
> due to the United States export rules, I cannot export Crypto
> software, which means I must legally put a restriction on any Crypto
> code I write.  But, this is a "further restriction" as far as the
> GPL is concerned.  This, in turn, means I cannot use the GPL for
> Crypto software.
> 
> -derek
> --
>        Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
>        Member, MIT Student Information Processing Board  (SIPB)
>        URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
>        warlord@MIT.EDU                        PGP key available