Eloquently written, but I disagree with several points (suprise! :-)
FDL licensed documentation isn't non-free software, it isn't even free software. It is documentation.
Here we differ. There are just different definitions of what software means. But this does not change the fact that freedom matters. There are of course different forms of freedom needed for different things.
So that one has a starting point on how you base your reasoning: How do you define software?
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. Comments describe the code operation, documentation describes the whole program's operation with no/little knowledge of thei nternals of the program. Comments are exactly `comments', small reminders for the programmer to know why something is written in this particular way. Think of it as small notes in the margin of a book.
When one writes comments, on almost always has no intention for anyone other than the `initiated' to read them, and are scattered all over the place often using cryptic notations and what not.
Now, there are types of `comments' which are meant for use in documentation, the most notable example I can think of is doc-strings in Lisp, where you document what the function does in the body of it, so it can be extracted into say a manual, or read by the end user.
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.
Or at least not those forms of pseudocode in the documentation that are more speech than pseudocode (Good finding any criterium for separating). And then there are not only compilers, but interpreters, where you may have restrictions on the size. You might want to remove all comments (and all invariant secions those documentation contained, as we all know, documentation does not need the same freedoms, *cough*) to put it on some bootfloppy. Well, all comments except that one descriping the boot parameters people may need there. So do I have to rewrite that comment under a free license?
Since a comment isn't documentation, no. :-)
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.
Let's look from the other side. Common (well, still quite common, call me a bit old fashioned if you like) forms to write documentation are systems hardly to distinguish from programing languages by people grown up with "ms word". While I personally seldom write in postscript due to its lack for German umlauts, I regulary use groff or LateX, with non-trivial formatting "programs" in them, sometimes separated in a good semantic mark-up style, sometimes tightly interwoven with the actual texts. Do those formatting/text-processing programs within the documentation's source need different freedoms than other programs?
I wouldn't call troff/latex files for `program source. They all spit out a static file, one could compare it to a file with values in it, that you give to a program, which then spits out a fractal image. Is the file with the values, just numbers, source code? Or even a program? Of course not. A LaTeX/groff file is more akin to a very long parameter list (this is stretching it a bit, but that is what it kinda is)
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 need?
Use, modify, copy. All of which the licenses from the FSF allow.
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. Yet, all the `bits' I used can be understood by an interpeter if I reorder them enough. Does this mean that what I have written is a program? No. Does this mean that other rights apply? Obviously.
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.
Although many people today believe the documentation is not part of the software.
If you would have written `part of the program distribution image', then I'd agree. But since I think that documentation is clearly not software, I cannot agree.
But I think this is mostly caused by the bad habit of propietary program distribution without source, as I tried to describe above that source and documentation are some entity, and if you are a mere consumer without the potential to construct, program and documentation tend to be seen as seperate entitites.
I don't know, most old systems came with both source code and a truck of manuals.
But even if you prefer to not call anything that is documentation software, all the things stored on computers to make them operate and to make humans able to operate them, should be free.
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.
Programs, should obviously be free (software, just to be clear what freedoms I mean), since they actually change the operation of the computer.
Nor is FDL-licensed documentation removed, it is _moved_ to the non-free section. Which is part of Debian, desite whatever claims people will make.
Well, here we come back to names and definitions. The Debian project are many people, which non-free stuff is clearly not part.
Sorry, but `non-free' is part of the Debian project.
Debian GNU/Linux (main) is 100% free software, yes. But Debian as a whole is not, and not even Debian GNU/Linux as a whole. Since non-free is part of the Debian project.
But Debian does not promise those will be free, but that it will create a 100% free operating system, which it really tries.
I'd like to know what `free' means in your vocubalary. You have switched between `free software' and `free', it seems to me that they are the say for you.
On the other hand it is just practical to keep the Debian promise and the Debian distribution pure.
This is simply a false claim, and is easy to disprove: ftp.debian.org/.../non-free. Debian has repatedly broken this promise.
There is no pressure to knowlingly include or keep non-free stuff, so people do not easily get caught, finding themselves depending on stuff they do not have allowance to use the way they want. (Didn't that ututo-e distributed by ftp.gnu.org not contain some non-free graphic card drivers some time ago?)
I think you really should stop trying get on the moral high ground, Debian has consitently distributed non-free software since I started using it which was in the `bo' era. That you then try to accuse someone for a something which is a simple error, or misjudgment, is simply saddening. We all make them, Debian on the other hand _explicitly_ allows non-free software in its distribution (that you, and other Debian developer, simply try to redefine what constitues the system just to justify the inclusion of non-free software is far worse than by error including non-free software).
Cheers.