Documentation vs. Software (Re: Savannah rejects a project because it uses GPL)
Alfred M. Szmidt
ams at gnu.org
Thu Feb 16 19:22:46 UTC 2006
> > Now variable names we better forget and look at comments, they
> > are clearly documentation in every sense I can think of.
> I disagree strongly with this.
> The main difference between comments and documentation is really to
> whom they are directed. Comments are directed for the person who is
> editing the actual code, and documentation is for the person wishing
> to learn about it.
Those distrinctions are a bit fuzzy. Especially as many manuals
also include hacking-howtos, or information about the internal data
structures and workflows. (And with free software libraries, users
are even on the same language level, so things get even more
I think you are trying to put documentation and programs into one box.
One should always examine what kind of work one is handling before
licensing it. Sometimes it makes sense to use the modifed-BSD
license, sometimes the Lesser GPL, sometimes the GPL. Same applies
for `text', some `text' is better to be under the GPL, some is better
to be under the GFDL.
> But software is not only the source code with its comments, it
> need more things to work (even though one may say those things
> are not part of the software, as it is no program and thus not
> software by some definitions): one needs labels for some ui
> elements, catalogs with translations of those, if it is a gui
> also icons, contents of help- tags popping up, perhaps even
> some animations showing what the program does. Those form a
> integral part of the program, and being able to change the
> program logics but not those ui elements is annoying, as if
> forcing to separate them, as some variant may want to embed
> the icons or help texts within the source. Thus those things
> should clearly have all the freedoms attached to them the
> program code has.
> I don't know if it is that clear. I'd be ok if a recording of a
> song was verbatim only in a program.
Well, the need for freedoms for program source code is not clear
either. Many people distpute that.
How are the freedoms for program source code not clear? I should be
able to control what my machine does, what it does, and tell people
what it did.
Having to throw away some sound effects for some embedded device,
when it would still fit with some lossy compression in there is not
what I call freedom.
Verbatim != invariant. You are confusing the two things here I think.
What about the following piece of a manpage I once wrote, is it
still only parameters?
Yes, since the output is static. The output of a program isn't.
> So there is documentation within programs, and there are
> programs within documentation, and many things hard to
> distinguish. And many things shifting between those. Take a
> documentation of some interface, add some machine parsable
> tags to generate headers file from it, which freedoms do you
> Use, modify, copy. All of which the licenses from the FSF allow.
The free software licenses do. The FDL does not allow modification
in reasonable ways. (plus has some glitches with copying).
How doesn't it allow for it in a reasonable way? Last time I checked,
I could modify a document in anyway I choose.
I hope that the FDL is unsuitable for code has not to be discussed.
Nobody has even claimed that it is remotley suitable for source code.
Different works need different licenses.
> So there are many reasons to not make a distinguish between
> all those bits contained in an OS by some undefinable
> criterias wheather they cause the creation of something the
> CPU interprets (machine code) or to be interpreted by
> something interpreted by the CPU (scripts) one the one side,
> and things interpreted by something interpreted by the CPU
> (images, texts, ...).
> This is the eniterly wrong way to look at it. This message is
> just a stream of bits that get interpeted in one way or another.
> Does this mean that you should have any right to modify what I
> have written into saying something that I have not? Ofcourse not.
If you make me depend on this message, I want those rights. People
differ on what needs to be free, and I can accept different
opinions. But if functional works are restricted, that might be
legal, but I'll still call it immoral.
I think we agree here, I think. But documentation isn't functional.
> Does this mean that other rights apply? Obviously.
That is a reasoning I cannot uphold. Your message may not need the
freedom as much as some technical stuff (though more freedom is
still good), but that has almost nothing to do weather it is a
program or not.
How can more freedom to change what I wrote be good? Would you be ok
if you for example wrote "I Bernhard R. Link like dragons", and then
someone comes and changes this (the text is licensed under the GPL or
similar) to "I Bernhard R. Link hate freedom"? I don't think anyone
has such a right.
The criteria is that there is no need to mix it with something that
is mixed with something that might be mixed with code. Your bits
are by that license unsuitable for programs, thus they are
unsuitable for documention (be it programs, software, non of those
or whatever) shiped together with things dedicated to run a
computer. A (for me simple) criterion to decise what definitly
needs those freedom is simple: If it is sensible to include it in
an OS, it definitely needs those rights attached. (Either it is
unneeded cruft that does not belong there anyway, or it has the
possiblity to limit me in an immoral way).
Anything that is of a digital nature is sensible to include in an OS.
This does not mean that you, or anyone, should have the right to
change for example the GNU manifest to state something entierly
different, while still making it sound as if it is the GNU project who
> You are (correct me if I am wrong) basing your argument that if
> one cannot make clear distinction between data and data, then it
> all should be treated the same way. This really makes no
> sense... It is trivial to clearly see the difference between
> documentation, a program and a poem.
Sorry, this is neither trivial, nor easy. And I bluntly belief it
is not possible at all.
I find it quite easy: Computer runs program, human reads text. I
would like to see a single human who can actually run a program of
> I'd like to hear the definiton of `free' here. Since we are
> discussing the GFDL, I should note that the GFDL doesn't prohibit
> how you operate your computer. Neither does a copy of the GNU
> Manifesto which cannot be modifed.
The GFDL does not prohibit me to operate my computer. But stuff
only licensed under the GFDL and no free software license prohibit
me to help others to operate their computer.
How? You are allowed to read a GFDL document, modify it, and
redistribute it. How does it prohibit you from not helping others
operate their computer?
(Debian prohibits people from operating their computers by the
exclusion of documentation from `main' and forcing users to add the
`non-free' section just so that they can have the documentation for
Cheers (and I suggest you get a LP or a CD with Simon and Garfunkel
for good music :-)
More information about the Discussion