• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..12-Apr-2021-

LICENSEH A D12-Mar-200917.6 KiB341281

Makefile.inH A D19-Mar-20173.1 KiB9345

READMEH A D12-Mar-200919.7 KiB514392

config.guessH A D15-Oct-202043.2 KiB1,4811,288

config.subH A D15-Oct-202035.3 KiB1,8021,661

configure.acH A D11-Mar-202114 KiB363321

install-shH A D11-May-201914.8 KiB509329

redchild.cH A D30-Jul-20142.6 KiB8339

reddeb.cH A D30-Jul-20143.3 KiB12575

redfront.1H A D06-Jan-20109 KiB325324

redfront.cH A D19-Mar-201713.9 KiB565430

redfront.hH A D19-Mar-20173.6 KiB15488

redfront.lspH A D13-Mar-20091 KiB3433

redline.cH A D07-Aug-201417.5 KiB701526

redparent.cH A D26-Mar-20158.4 KiB354261

redsig.cH A D30-Jul-20145.9 KiB205152

redstrings.cH A D05-Dec-20093.3 KiB13583

README

1At present this code seems to link to GNU libreadline. This is a library
2that the Free Software Foundation have chosen to place under the full
3GPL and not the LGPL. At present readline is under GPL version 2 and so
4this code, if one ever distributes a binary it may be necessary to count
5this code as under GPL 2.
6
7The following transcript shows a Stallman view on the matter, and the "Why
8you shouldn't use the Lesser GPL for your next library makes readline
9the pin-up poster child for something subject to the full restrictions
10of the GPL rather than LGPL.
11
12==================================================================
13From rms@gnu.ai.mit.edu Mon Oct 19 00:06:25 1992
14Return-Path: <rms@gnu.ai.mit.edu>
15Received: from mole.gnu.ai.mit.edu ([128.52.46.33]) by ma2s2.mathematik.uni-karlsruhe.de (4.1/SMI-4.0)
16id AA23967; Mon, 19 Oct 92 00:06:23 +0100
17Received: by mole.gnu.ai.mit.edu (5.65/4.0)
18id <AA25733@mole.gnu.ai.mit.edu>; Sun, 18 Oct 92 18:59:05 -0400
19Date: Sun, 18 Oct 92 18:59:05 -0400
20From: rms@gnu.ai.mit.edu (Richard Stallman)
21Message-Id: <9210182259.AA25733@mole.gnu.ai.mit.edu>
22To: haible@ma2s2.mathematik.uni-karlsruhe.de
23Subject: Common Lisp and Readline
24Status: RO
25
26I hate to have to play this role with a fellow hacker, but...
27
28If you don't change to using the GPL, then you'll have to stop using
29readline.  Readline's terms say that the whole program has to be under
30the GPL, and just having the user do the link doesn't change this.  If
31the program is designed to run with readline as a part, then readline
32is a part of it.
33
34An ordinary user can decide to link readline with a program and run
35it.  That's different--this user is not doing distribution, and thus
36the GPL does not restrict what he can do.
37
38From haible Fri Oct 30 18:54:38 1992
39Return-Path: <haible>
40Received: by ma2s2.mathematik.uni-karlsruhe.de (4.1/SMI-4.0)
41id AA28745; Fri, 30 Oct 92 18:54:37 +0100
42Date: Fri, 30 Oct 92 18:54:37 +0100
43From: haible (Bruno Haible)
44Message-Id: <9210301754.AA28745@ma2s2.mathematik.uni-karlsruhe.de>
45To: haible@ma2s2.mathematik.uni-karlsruhe.de, rms@gnu.ai.mit.edu
46Subject: Re: Common Lisp and Readline
47Status: RO
48
49
50> I hate to have to play this role with a fellow hacker, but...
51
52I'm sorry too, as I am very indebted to the GNU project.
53
54> Readline's terms say that the whole program has to be under
55> the GPL, and just having the user do the link doesn't change this.
56
57I don't agree. My lisp.a is not a "work based on libreadline.a". What I
58distribute is a "mere aggregation" of lisp.a and libreadline.a - the latter
59with source.
60
61> If the program is designed to run with readline as a part, then readline
62> is a part of it.
63
64I could provide a libnoreadline.a and let the user choose to link lisp.a
65with either GNU's libreadline.a or my libnoreadline.a . Would that convince
66you that lisp.a "can be reasonably considered independent and separate work" ?
67
68Bruno Haible
69
70From rms@gnu.ai.mit.edu Fri Oct 30 22:19:16 1992
71Return-Path: <rms@gnu.ai.mit.edu>
72Received: from mole.gnu.ai.mit.edu ([128.52.46.33]) by ma2s2.mathematik.uni-karlsruhe.de (4.1/SMI-4.0)
73id AA28939; Fri, 30 Oct 92 22:19:14 +0100
74Received: by mole.gnu.ai.mit.edu (5.65/4.0)
75id <AA04907@mole.gnu.ai.mit.edu>; Fri, 30 Oct 92 16:09:54 -0500
76Date: Fri, 30 Oct 92 16:09:54 -0500
77From: rms@gnu.ai.mit.edu (Richard Stallman)
78Message-Id: <9210302109.AA04907@mole.gnu.ai.mit.edu>
79To: haible@ma2s2.mathematik.uni-karlsruhe.de
80In-Reply-To: <9210301754.AA28745@ma2s2.mathematik.uni-karlsruhe.de> (haible@ma2s2.mathematik.uni-karlsruhe.de)
81Subject: Common Lisp and Readline
82Status: RO
83
84    > Readline's terms say that the whole program has to be under
85    > the GPL, and just having the user do the link doesn't change this.
86
87    I don't agree. My lisp.a is not a "work based on libreadline.a". What I
88    distribute is a "mere aggregation" of lisp.a and libreadline.a - the latter
89    with source.
90
91    I could provide a libnoreadline.a and let the user choose to link lisp.a
92    with either GNU's libreadline.a or my libnoreadline.a . Would that convince
93    you that lisp.a "can be reasonably considered independent and separate work" ?
94
95No, and I doubt it would convince a judge either.
96
97I'll have to insist that you stop using readline unless you make the
98program free.
99
100
101From haible Sat Oct 31 01:08:00 1992
102Return-Path: <haible>
103Received: by ma2s2.mathematik.uni-karlsruhe.de (4.1/SMI-4.0)
104id AA29062; Sat, 31 Oct 92 01:08:00 +0100
105Date: Sat, 31 Oct 92 01:08:00 +0100
106From: haible (Bruno Haible)
107Message-Id: <9210310008.AA29062@ma2s2.mathematik.uni-karlsruhe.de>
108To: haible@ma2s2.mathematik.uni-karlsruhe.de, rms@gnu.ai.mit.edu
109Subject: Re: Common Lisp and Readline
110Status: RO
111
112
113> I'll have to insist that you stop using readline unless you make the
114> program free.
115
116I built a libnoreadline.a that can be linked together with lisp.a,
117replacing libreadline.a .
118
119I will reorganize the distribution into 2 independent parts:
120* clisp.lzh       containing lisp.a and libnoreadline.a,
121* readline.tar.Z  containing libreadline.a and its source.
122
123The first one is enough to build a CLISP executable. It contains
124no GNU parts.
125
126> I doubt it would convince a judge either.
127
128The only thing CLISP will have to do with the readline library
129is that *THE USER* *MAY OPTIONALLY* link CLISP with the readline library.
130
131No judge will admit that this gives you the right to determine the copyright
132of CLISP.
133
134>From your own words:
135> An ordinary user can decide to link readline with a program and run
136> it.  That's different--this user is not doing distribution, and thus
137> the GPL does not restrict what he can do.
138
139
140If you still insist on me being wrong, then please tell me what part
141of the GNU GPL I am breaking. Or update the GNU GPL.
142
143Bruno Haible
144
145From haible Sat Oct 31 01:08:26 1992
146Return-Path: <haible>
147Received: by ma2s2.mathematik.uni-karlsruhe.de (4.1/SMI-4.0)
148id AA29068; Sat, 31 Oct 92 01:08:25 +0100
149Date: Sat, 31 Oct 92 01:08:25 +0100
150From: haible (Bruno Haible)
151Message-Id: <9210310008.AA29068@ma2s2.mathematik.uni-karlsruhe.de>
152To: haible@ma2s2.mathematik.uni-karlsruhe.de, rms@gnu.ai.mit.edu
153Subject: Readline & GPL
154Status: RO
155
156
157If someone was to turn the readline library into a shared library
158(a library that is needed at runtime by the executable, but not
159contained in the executable):
160Would that mean that any executable that uses a readline
161shared lib would have to be accompanied with full source? Or would it, in the
162contrary, mean that such an executable may use the readline lib without
163"containing" it and without being affected by such copyright issues?
164
165Bruno Haible
166
167From rms@gnu.ai.mit.edu Sat Oct 31 01:11:59 1992
168Return-Path: <rms@gnu.ai.mit.edu>
169Received: from mole.gnu.ai.mit.edu ([128.52.46.33]) by ma2s2.mathematik.uni-karlsruhe.de (4.1/SMI-4.0)
170id AA29075; Sat, 31 Oct 92 01:11:56 +0100
171Received: by mole.gnu.ai.mit.edu (5.65/4.0)
172id <AA06772@mole.gnu.ai.mit.edu>; Fri, 30 Oct 92 19:02:38 -0500
173Date: Fri, 30 Oct 92 19:02:38 -0500
174From: rms@gnu.ai.mit.edu (Richard Stallman)
175Message-Id: <9210310002.AA06772@mole.gnu.ai.mit.edu>
176To: haible@ma2s2.mathematik.uni-karlsruhe.de
177In-Reply-To: <9210310008.AA29068@ma2s2.mathematik.uni-karlsruhe.de> (haible@ma2s2.mathematik.uni-karlsruhe.de)
178Subject: Readline & GPL
179Status: RO
180
181    If someone was to turn the readline library into a shared library
182    (a library that is needed at runtime by the executable, but not
183    contained in the executable):
184    Would that mean that any executable that uses a readline
185    shared lib would have to be accompanied with full source?
186
187Yes.
188
189From rms@gnu.ai.mit.edu Sat Oct 31 01:29:01 1992
190Return-Path: <rms@gnu.ai.mit.edu>
191Received: from mole.gnu.ai.mit.edu ([128.52.46.33]) by ma2s2.mathematik.uni-karlsruhe.de (4.1/SMI-4.0)
192id AA29083; Sat, 31 Oct 92 01:28:59 +0100
193Received: by mole.gnu.ai.mit.edu (5.65/4.0)
194id <AA06922@mole.gnu.ai.mit.edu>; Fri, 30 Oct 92 19:19:36 -0500
195Date: Fri, 30 Oct 92 19:19:36 -0500
196From: rms@gnu.ai.mit.edu (Richard Stallman)
197Message-Id: <9210310019.AA06922@mole.gnu.ai.mit.edu>
198To: haible@ma2s2.mathematik.uni-karlsruhe.de
199In-Reply-To: <9210310008.AA29062@ma2s2.mathematik.uni-karlsruhe.de> (haible@ma2s2.mathematik.uni-karlsruhe.de)
200Subject: Common Lisp and Readline
201Status: RO
202
203    I built a libnoreadline.a that can be linked together with lisp.a,
204    replacing libreadline.a .
205
206    I will reorganize the distribution into 2 independent parts:
207    * clisp.lzh       containing lisp.a and libnoreadline.a,
208    * readline.tar.Z  containing libreadline.a and its source.
209
210    The first one is enough to build a CLISP executable. It contains
211    no GNU parts.
212
213True.  If that were the whole situation--if readline did not exist--
214then I would have no grounds to object.
215
216However, the sum total of what you are doing is still tantamount to
217distributing one program which contains readline but is not under the
218GPL.
219
220This is a problem I cannot ignore.  If you can get away with this then
221any company can get away with it.  The result would be to negate for
222practical purposes the GPL's requirement that improvements be free.
223And that would deprive GNU software of a major source of improvements.
224
225Is that what you want?
226
227
228
229From rms@gnu.ai.mit.edu Fri Nov  6 11:02:40 1992
230Return-Path: <rms@gnu.ai.mit.edu>
231Received: from mole.gnu.ai.mit.edu ([128.52.46.33]) by ma2s2.mathematik.uni-karlsruhe.de (4.1/SMI-4.0)
232id AA13962; Fri, 6 Nov 92 11:02:36 +0100
233Received: by mole.gnu.ai.mit.edu (5.65/4.0)
234id <AA09628@mole.gnu.ai.mit.edu>; Fri, 6 Nov 92 04:52:01 -0500
235Date: Fri, 6 Nov 92 04:52:01 -0500
236From: rms@gnu.ai.mit.edu (Richard Stallman)
237Message-Id: <9211060952.AA09628@mole.gnu.ai.mit.edu>
238To: haible@ma2s2.mathematik.uni-karlsruhe.de
239In-Reply-To: <9210310008.AA29062@ma2s2.mathematik.uni-karlsruhe.de> (haible@ma2s2.mathematik.uni-karlsruhe.de)
240Subject: Common Lisp and Readline
241Status: RO
242
243If you do succeed in circumventing the GPL for readline, you would be
244blazing a path for every commercial company that wants to do it.
245Would you really like that result?
246
247Wouldn't it be best to eliminate this dispute by using the GPL for
248Common Lisp?  Totally aside from readline, the Lisp system would be
249more useful that way.  For example, maybe it could be a useful part of
250GNU.
251
252
253
254From haible Fri Nov  6 16:13:07 1992
255Return-Path: <haible>
256Received: by ma2s2.mathematik.uni-karlsruhe.de (4.1/SMI-4.0)
257id AA14116; Fri, 6 Nov 92 16:13:06 +0100
258Date: Fri, 6 Nov 92 16:13:06 +0100
259From: haible (Bruno Haible)
260Message-Id: <9211061513.AA14116@ma2s2.mathematik.uni-karlsruhe.de>
261To: haible@ma2s2.mathematik.uni-karlsruhe.de, rms@gnu.ai.mit.edu
262Subject: Common Lisp, Readline and GPL
263Status: RO
264
265
266
267>     I will reorganize the distribution into 2 independent parts:
268>     * clisp.lzh       containing lisp.a and libnoreadline.a,
269>     * readline.tar.Z  containing libreadline.a and its source.
270>
271>     The first one is enough to build a CLISP executable. It contains
272>     no GNU parts.
273>
274> However, the sum total of what you are doing is still tantamount to
275> distributing one program which contains readline but is not under the
276> GPL.
277
278Not totally. The sum of what I AND THE USER are doing is tantamount to
279building a program which contains readline but is not under the GPL.
280But
281  * the user isn't distributing anything,
282  * I am not responsible for the user's deeds,
283  * I am not distributing "one program", so GPL doesn't apply to me either.
284
285
286> If that were the whole situation--if readline did not exist--
287> then I would have no grounds to object.
288
289So the only reason why you may object is that my lisp.a has an INTERFACE
290that allows it to be linked to libreadline.a . As far as I know, only
291the readline CODE is copyrighted, not its INTERFACE. (Would you object
292because my libnoreadline.a has a similar interface?)
293
294
295> This is a problem I cannot ignore.  If you can get away with this then
296> any company can get away with it.
297> ...
298> And that would deprive GNU software of a major source of improvements.
299> Is that what you want?
300
301No, of course! But I would like to see the problem analyzed in depth.
302
303Problem 1: If someone (like me) lets the user do the final link phase.
304
305Problem 2: If the final link phase is done by the OS automatically at run time
306           (shared libraries).
307
308You should update GPL for these cases.
309
310
311> If you do succeed in circumventing the GPL for readline, you would be
312> blazing a path for every commercial company that wants to do it.
313
314But the problems remain there even if I put CLISP under GPL.
315
316
317From haible Fri Nov  6 16:13:19 1992
318Return-Path: <haible>
319Received: by ma2s2.mathematik.uni-karlsruhe.de (4.1/SMI-4.0)
320id AA14123; Fri, 6 Nov 92 16:13:18 +0100
321Date: Fri, 6 Nov 92 16:13:18 +0100
322From: haible (Bruno Haible)
323Message-Id: <9211061513.AA14123@ma2s2.mathematik.uni-karlsruhe.de>
324To: haible@ma2s2.mathematik.uni-karlsruhe.de, rms@gnu.ai.mit.edu
325Subject: Common Lisp, Readline and GPL
326Status: RO
327
328
329> Wouldn't it be best to eliminate this dispute by using the GPL for
330> Common Lisp?
331
332Would be best for me, true.
333
334> Totally aside from readline, the Lisp system would be
335> more useful that way.
336
337This and the following are convincing me:
338
339* Up to 1991 the decision whether using GPL or not, was simply a matter of
340  philosophy or copyright policy.
341  The success of Linux, however, demonstrates how a speed and quality of
342  development was achieved which would have been impossible without access
343  for everyone to the source of everything.
344
345* Finding co-developers for other Lisp packages or testers for other
346  hardware/OS platforms might be easier if I release full source.
347
348So be prepared to seeing CLISP's source before Christmas.
349
350Yours,
351          B. Haible
352
353From rms@gnu.ai.mit.edu Fri Nov  6 21:31:33 1992
354Return-Path: <rms@gnu.ai.mit.edu>
355Received: from mole.gnu.ai.mit.edu ([128.52.46.33]) by ma2s2.mathematik.uni-karlsruhe.de (4.1/SMI-4.0)
356id AA15204; Fri, 6 Nov 92 21:31:28 +0100
357Received: by mole.gnu.ai.mit.edu (5.65/4.0)
358id <AA10933@mole.gnu.ai.mit.edu>; Fri, 6 Nov 92 15:20:48 -0500
359Date: Fri, 6 Nov 92 15:20:48 -0500
360From: rms@gnu.ai.mit.edu (Richard Stallman)
361Message-Id: <9211062020.AA10933@mole.gnu.ai.mit.edu>
362To: haible@ma2s2.mathematik.uni-karlsruhe.de
363Cc: rms@gnu.ai.mit.edu
364In-Reply-To: <9211061513.AA14116@ma2s2.mathematik.uni-karlsruhe.de> (haible@ma2s2.mathematik.uni-karlsruhe.de)
365Subject: Common Lisp, Readline and GPL
366Status: RO
367
368      * the user isn't distributing anything,
369      * I am not responsible for the user's deeds,
370      * I am not distributing "one program", so GPL doesn't apply to me either.
371
372The FSF position would be that this is still one program, which has
373only been disguised as two.  The reason it is still one program is
374that the one part clearly shows the intention for incorporation of the
375other part.
376
377
378I say this based on discussions I had with our lawyer long ago.  The
379issue first arose when NeXT proposed to distribute a modified GCC in
380two parts and let the user link them.  Jobs asked me whether this was
381lawful.  It seemed to me at the time that it was, following reasoning
382like what you are using; but since the result was very undesirable for
383free software, I said I would have to ask the lawyer.
384
385What the lawyer said surprised me; he said that judges would consider
386such schemes to be "subterfuges" and would be very harsh toward
387them.  He said a judge would ask whether it is "really" one program,
388rather than how it is labeled.
389
390So I went back to Jobs and said we believed his plan was not allowed
391by the GPL.
392
393The direct result of this is that we now have an Objective C front
394end.  They had wanted to distribute the Objective C parser as a
395separate proprietary package to link with the GCC back end, but since
396I didn't agree this was allowed, they made it free.
397
398
399So I don't think the GPL actually requires a correction for this.
400But perhaps it would be a good idea to add a note explaining this.
401
402
403From haible Sun Nov  8 16:31:52 1992
404Return-Path: <haible>
405Received: by ma2s2.mathematik.uni-karlsruhe.de (4.1/SMI-4.0)
406id AA18675; Sun, 8 Nov 92 16:31:51 +0100
407Date: Sun, 8 Nov 92 16:31:51 +0100
408From: haible (Bruno Haible)
409Message-Id: <9211081531.AA18675@ma2s2.mathematik.uni-karlsruhe.de>
410To: haible@ma2s2.mathematik.uni-karlsruhe.de, rms@gnu.ai.mit.edu
411Subject: Re: Common Lisp, Readline and GPL
412Status: RO
413
414
415Thanks you for the explanation of the lawyers' point of view.
416
417> What the lawyer said surprised me; he said that judges would consider
418> such schemes to be "subterfuges" and would be very harsh toward
419> them.  He said a judge would ask whether it is "really" one program,
420> rather than how it is labeled.
421
422I accept this.
423
424> They had wanted to distribute the Objective C parser as a
425> separate proprietary package to link with the GCC back end, but since
426> I didn't agree this was allowed, they made it free.
427
428The situation for CLISP is a bit different: CLISP was running without the
429readline library for over one year before I began using readline() in
430September 1992. That was also the reason why I was able to build a drop-in
431replacement (libnoreadline.a) within only one hour.
432
433The readline library is not an essential or integral part of CLISP - it makes
434the user interface nicer, and that's all.
435
436
437From rms@gnu.ai.mit.edu Mon Oct 11 18:57:43 1993
438Return-Path: <rms@gnu.ai.mit.edu>
439Received: from mole.gnu.ai.mit.edu by ma2s2.mathematik.uni-karlsruhe.de (4.1/SMI-4.0)
440id AA06403; Mon, 11 Oct 93 18:57:38 +0100
441Received: by mole.gnu.ai.mit.edu (5.65/4.0)
442id <AA09632@mole.gnu.ai.mit.edu>; Mon, 11 Oct 93 13:56:03 -0400
443Date: Mon, 11 Oct 93 13:56:03 -0400
444From: rms@gnu.ai.mit.edu (Richard Stallman)
445Message-Id: <9310111756.AA09632@mole.gnu.ai.mit.edu>
446To: haible@ma2s2.mathematik.uni-karlsruhe.de
447In-Reply-To: <9310111623.AA06248@ma2s2.mathematik.uni-karlsruhe.de> (haible@ma2s2.mathematik.uni-karlsruhe.de)
448Subject: Re: compiling with gcc without linking with libggc.a
449Status: RO
450
451    But libgmp.a should remain under GPL.
452
453I'm interested in hearing why you think so.
454Someone else is arguing that it should be under the LGPL;
455I haven't made up my mind yet.
456
457From haible Tue Oct 12 13:28:37 1993
458Return-Path: <haible>
459Received: by ma2s2.mathematik.uni-karlsruhe.de (4.1/SMI-4.0)
460id AA07494; Tue, 12 Oct 93 13:28:36 +0100
461Date: Tue, 12 Oct 93 13:28:36 +0100
462From: haible (Bruno Haible)
463Message-Id: <9310121228.AA07494@ma2s2.mathematik.uni-karlsruhe.de>
464To: rms@gnu.ai.mit.edu
465Subject: Re: libgmp.a
466Status: RO
467
468>     But libgmp.a should remain under GPL.
469> I'm interested in hearing why you think so.
470
471Because one can build a multi-precision calculator (like `bc') as a wrapper
472to libgmp.a. Capability of handling arbitrary size numbers is still an
473essential advantage (and marketing issue) for computer algebra systems and
474Lisp implementations.
475
476I had to put CLISP under GPL because libreadline.a was something I wanted
477to use and I didn't want to write myself. libgmp.a is similar in this
478respect, and it may therefore help putting some new packages under GPL.
479
480Building libgmp.a was just too hard work. Other people shouldn't get it for
481free.
482
483Bruno Haible
484
485From rms@gnu.ai.mit.edu Tue Oct 12 18:28:27 1993
486Return-Path: <rms@gnu.ai.mit.edu>
487Received: from mole.gnu.ai.mit.edu by ma2s2.mathematik.uni-karlsruhe.de (4.1/SMI-4.0)
488id AA08120; Tue, 12 Oct 93 18:28:25 +0100
489Received: by mole.gnu.ai.mit.edu (5.65/4.0)
490id <AA14488@mole.gnu.ai.mit.edu>; Tue, 12 Oct 93 13:26:57 -0400
491Date: Tue, 12 Oct 93 13:26:57 -0400
492From: rms@gnu.ai.mit.edu (Richard Stallman)
493Message-Id: <9310121726.AA14488@mole.gnu.ai.mit.edu>
494To: haible@ma2s2.mathematik.uni-karlsruhe.de
495In-Reply-To: <9310121228.AA07494@ma2s2.mathematik.uni-karlsruhe.de> (haible@ma2s2.mathematik.uni-karlsruhe.de)
496Subject: Re: libgmp.a
497Status: RO
498
499Thanks for reminding me about this example.
500I agree it is a strong argument.
501
502=============================================================================
503
504
505
506Note that there is a BSD-licensed "editline" that would not impose this problem
507and that the "termed" code in CSL has the same intent, so it would be possible
508to avoid this awkwardness. As things are the GPL constraints mean that
509binaries of redfront may not be freely redistributed - they HAVE to have
510their source code travel with them.
511
512
513                           Arthur Norman.   June 2008
514