Re: CLtL2 copyright question



Kent M Pitman wrote:
D Herring <dherring@xxxxxxxxxxxxxxxxxxx> writes:

The general consensus seems to be that, barring an unexpected move by
ANSI, the Lisp spec's copyright is intractably lost.

I generally do not speak about this matter on comp.lang.lisp because
it is not a good forum for coherent discussion. Even just this
problem statement is full of vague wording and confusion.

:) It was very late when I wrote that post.


Too many may could claim ownership, but nobody in a position to
clarify things seems to care.

This is simply not so. I care a great deal about this matter. And I
don't doubt that others do. But speaking on the matter requires a great
deal of clarity to avoid a dangerous misstatement of various kinds, and
while I'm willing to shoot from the hip about language semantics, I'm a
lot more conservative about what I'm willing to say in a casual forum.

While many people such as yourself obviously do care, history bears witness that you don't have the power to fix this situation. That's not a judgment, just an observation.


The next best thing, CLtL2, seems to have a cleaner heritage.

As a matter of intellectual property ownership, perhaps. But it
doesn't match the CL spec in semantics. So the question becomes: why
do you need such a thing in the first place? What would it accomplish
to acquire, even if Steele were to offer it, rights to someone's
personal description of a language that isn't even the one you could
use. If you want a description of the language as it is, why not just
use the description there is? If you want to make a new language, why
not write your own spec that is more coherent still? I can better
understand the notion of wanting to start with a spec that's
conforming and to annotate it than I can understand this. And for
that, people usually start with the TeX spec of dpANS3R, although I
won't publicly (without a great deal of additional prep) comment on
the legality.

Last summer, I spent several days modifying the dpANS sources to use modern LaTeX notation (e.g. \newcommand instead of \def) and compile with hyperrefs under pdflatex. I made considerable progress, but eventually stopped after realizing it would be foolish for me to release this work publicly.

Common Lisp needs a publicly-modifiable specification for many reasons, of which here are a few examples.

- Paraphrasing Guy Steele's 1998 OOPSLA keynote, languages must grow over time. CL is like a potted plant that became root-bound years ago.

- While relatively few, the ANSI spec does have flaws.
http://www.cliki.net/Proposed%20ANSI%20Revisions%20and%20Clarifications

- Core details such as multithreading are not addressed by the specification.
http://www.cliki.net/Proposed%20Extensions%20To%20ANSI
http://cdr.eurolisp.org/

- Media formats change over time. CLHS is great for what it is, but it is not the best format for reading the spec cover-to-cover. And it was written before MathML allowed proper embedding of equations. ANSI's pdf is a sad joke. Where can one legally obtain a quality, freshly printed copy? A bookmarked/hyperlinked PDF? Something embedded in an IDE as a tag cloud? Something suitable for ebook readers?

- The annotated XML spec is a wonderful resource. Other languages have similar docs; why can't Lisp?

- R6RS


In short, it would be best if dpANS were in the public domain; but many don't think it will ever be[1], and nobody (myself included) is willing to prove them wrong by testing the waters. CLtL2 provided a useful foundation for dpANS, and it could do the same for a new specification. As Edi pointed out, there are already lists of differences between the two. We don't need a carbon copy; we just need something substantially the same to provide fertile ground.

[1] http://wiki.alu.org/Project_FreeSpec


Before I go bothering Guy Steele himself, does anyone around here know
what CLtL2's status is?

It's a published book with a copyright page. It is not a committee
product. It's Steele's private endeavor. See its second edition
preface (I think something like page xiv, though I'm working from
memory on that, so I might be off).

That was my understanding as well; I was just checking that I hadn't missed something obvious. I've gone ahead and contacted Steele; we'll see what he says.


On the matter of what should be done, though, I think that's
different. It's good for people to experiment, but I don't endorse
every experiment. I encourage experiments like Paul Graham's Arc, but
at this particular time it's hasn't sparked any personal interest in
me and I'm not out there rallying for it. I'm not on a quest against
it. It just hasn't grabbed me, and I don't feel obliged to support it
at this time. But I totally think that a marketplace of ideas is
good. Yet, if he came out saying "Everyone should rally around my
language because we need a replacement for CL", I'd be in a bind,
because it mixes two ideas: "there need to be a way to do something
different" and "i think my way is the right way".

I don't want to create a new language. CL is a good language and it embodies much expert experience. But it needs some way to adapt, some means of ownership for new generations.


I happen not to think that working from CLTL2 is a very good idea.
But that's for personal reasons related to me and is not a religious
position. I have opinions about and preferences for this or that Lisp
book, but that doesn't mean you should necessarily agree with me.

So I think it's fine to ask these questions, but I don't really
personally think an annotated CLTL2 will do anything but confuse the
market, even annotated. CLTL2 is _already_ annotated over CLTL, and
that _already_ confused the market. Reading about the language as diffs is not the answer. I personally would not start with CLTL2.

If CLtL2 were edited to elide the diffs and to provide a cohesive story.?. What would you recommend as starting point? I'm looking for a (not necessarily authoritative) specification that can be publicly studied and modified.


Kent Pitman? Daniel Weinreb? You frequent this list; your names
appear on the front cover; do you have any comments or insight?

I'm on the cover because I gave Steele permission to use the text of my
conditions proposal as a chapter.

And its a chapter I wish Stroustrup would have read more carefully.


I do have many other comments, but not that I'm prepared to make
off-the-cuff in this forum other than what I've said above. It's just
too hard to make casual statements on certain topics when I might be
quoted on for all eternity. One cannot speak one's hopes without
having someone quote you as "you promised..." later. One cannot speak
one's fears or concerns without being vilified. And I'm just not up
to all that risk when this is not a cause I'm not personally pushing
and I'm doing it as a favor. This is simply not a good brainstorming
forum for all purposes. In another forum, I might say more.

I'd suggested that I might be willing to prepare a talk on this for a
Lisp conference, since I could then see a bunch of people in person
and have the opportunity to discuss the issues and so there would be
some upside to me. And, at least then, I'd have motivation to do the
necessary prep. But the nearest one is a ways off, and that might not
suit your timeline. No, I'm not really looking to do it at one of
those monthly local user group meetings held in this or that town,
since the interactive community those present are just the local
people of one area, and there's still all the risk of being quoted and
misquoted with none of the benefit.

Would you be interested in ILC 2009?


I think this is an issue that matters, but that's why I prefer not to do
it in a haphazard way.

Thanks for your continued participation,
Daniel
.



Relevant Pages

  • Re: Most impressive examples of the LOOP macro
    ... Yet many CL programmers find it valuable that CL implementors spend ... I wonder if the programming community for your new language ... You sure don't sound like someone trying to improve Common Lisp. ... source code is often the best spec. ...
    (comp.lang.lisp)
  • Re: something to chat about, lisp and Mathematica for list processing.
    ... Otherwise, make your own forum, where you could be ... Lisp was one of the earliest programming languages I fell in love with, ... "Widely recognized as the world's most powerful list manipulation language, ... any kind of list processing task that can be done by one ...
    (sci.math.symbolic)
  • Re: How Common Lisp sucks
    ... I'm am almost a complete newbie at Lisp, ... language and the spec are old, ... implementations actually have full ANSI compliance. ... Make the goals of the language sexy and cool so you ...
    (comp.lang.lisp)
  • Re: ILC2005: McCarthy denounces Common Lisp, "Lisp", XML, and Rahul
    ... >> the language should be available to users. ... In the design of Common Lisp, I asked Dave Moon (one of the architects ... Now, there are good kinds of low-level, like the way that floats are ...
    (comp.lang.lisp)
  • Re: CollabRx seeks brilliant engineers for an excellent e-science adventure
    ... belief that lisp programmers are smarter/better. ... Java or PHP programmers. ... a type of language that attracts a personality that meets my perceptions ...
    (comp.lang.lisp)