propose: `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

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".

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.

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

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

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.

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.

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

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

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

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

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

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

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

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

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.

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

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

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

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

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.

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

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 einschränkt." 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

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 ==========================

>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.

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/

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.

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

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/

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

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

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

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?
participants (19)
-
Adam Back
-
Alex Alten
-
Ben Laurie
-
Bill Stewart
-
bram
-
Bruce Schneier
-
Derek Atkins
-
Eric Young
-
Frank O'Dwyer
-
Matt Curtin
-
Michael Hohensee
-
Mok-Kong Shen
-
Perry E. Metzger
-
Richard Stallman
-
Richard Stallman
-
Rick Campbell
-
Sunder
-
Thomas Roessler
-
Werner Koch