More On Encryption Source Code Appeal 158
ill-logic writes "Here's an article at News.com that gives some more detailed info on the appeals court ruling overturning a case involving a programmer posting source code for his crypto program on the net. The judge ruled that his code is protected under the first amendment. At least there is one non-programmer out there that knows there are benefits in programmers swapping code. "
Re:I don't get it (Score:1)
Re:The nature of source code (Score:1)
> about the whole code == speech thing.
You used a C conditional operator in that sentence
(I'm not trying to make too much of a point, I just found it amusing)
Re:Source code == free speech? (Score:1)
There is, after all, a difference between sharing ideas about things which are potentially damaging to you with your enemies, and outfitting your enemies with guns. The thought that really underlies proprietary software and crypto regulations in the USA is "we're the only ones who can do this," which is blatantly false, and nieve as well. Sharing thoughts, ideas, and sometimes even implementations is what has changed us from a society of relatively weak technology to a society of high technology in little over 100 years.
Re:I don't get it (Score:1)
...phil
Re:I don't get it (Score:1)
...phil
Perfectly clear (Score:1)
regulations - plural subject
operate, vest and lack - plural predicates
What's the problem?
If you are talking about "burdens" note that it is embedded in the phrase "scheme that burdens" which is perfectly legitimate.
Actually, that's good news for us (Score:1)
If the only way to export encryption-enabled software is via source, then the only encryption-enabled software that can be export is Open Source.
Which means Apache, for instance, can finally build SSL right in, but IIS cannot.
What about precompiled OpenSource? (Score:1)
Re:Human Languages vs Computer Languages (Score:1)
The only inherit limit to predicting a human response to normal speech is the due to quantum uncertainity. _Theoretically_ we could predict a human response that would be 99.99999999999999% accurate if we just knew enough about the system (brain chemistry, neural structure, etc...) (ie. "given all variables").
Likewise, our ability to predict a computers response to speech is also bound by this same uncertainity. Maybe the RAM flipped a bit, a drive sector demagnetized, transistor wouldn't switch, or some other little unexpected, highly unlikely quantum disturbance, and suddenly the computer is no longer predictable. Sure it doesn't happen often, but it's basically the same problem as with humans.
We you get right down to it, a human is a machine, just like a computer. A computer is an incredibly simple machine, and so we can almost always predict its response. A human brain is such a complex, chaotic system that predictions of its response is far more unreliable than that of a computer. Regardless, a computer language, like a human language, is often manipulative, but never deterministic.
Re:Why is this moderated down ??? (Score:1)
I was wondering this myself....
Re:Speech vs. Source (Score:1)
That's what I was looking for. I didn't really consider that portion of the opinion I guess. Thanks for pointing it out.
Re:What about precompiled OpenSource? (Score:1)
Just ship the source to Taiwan to be compiled, assembled into the iso image and mass produced. Then outsource foreign distribution overseas. Even without crypto, that could make business sense
Re:Actually, that's good news for us (Score:1)
Re:source code is a recipe (Score:1)
Re:source code is a recipe (Score:1)
Re:Actually, that's good news for us (Score:1)
Re:pseudo code (Score:1)
Actually, from reading the opinion (http://www.epic.org/crypto/export_controls/berns
As for code being speech or functional, there's a decent point made in the opinion: Second, and more importantly, the government's argument, distilled to its essence, suggests that even one drop of "direct functionality" overwhelms any constitutional protections that expression might otherwise enjoy. This cannot be so.
(Search for the words "draft card" to find why it cannot be so.)
The majority decision has really well written arguments as to why "we reject the notion that the admixture of functionality necessarily puts expression beyond the protections of the Constitution."
I highly recommend that everyone read it.
-Virgil
--
Re:Speech vs. Source (Score:1)
Discussed in the opinion:
The distinction urged on us by the government would prove too much in this era of rapidly evolving computer capabilities. The fact that computers will soon be able to respond directly to spoken commands, for example, should not confer on the government the unfettered power to impose prior restraints on speech in an effort to control its "functional " aspects.
-Virgil
--
Re:Actually, that's good news for us (Score:1)
Re:Actually, that's good news for us (Score:1)
Compiled/assembled code, no.
Dumb laws (Score:1)
Re:Does this bug anyone else? -- whee, I'll bite! (Score:1)
** Martin
Re:Never would have thought (Score:1)
But, this puts the burden of proof on the government, not the authors.
** Martin
More Details (Score:1)
Oh well.. (Score:1)
In Engligh, that means that the Appeal court now orders the district court to implement this decision, and nothing happens until they do.
Why do I get the feeling that the DOJ is going to stay this decision before the appeal court has a chance to "make it so"?
Sigh, oh sigh.
- Sam
Never would have thought (Score:1)
I never would have thought that the encryption export laws would be removed this way. Remarkable that the system of checks and balances actually worked for once.
I wonder when/if the drug and/or prostitution/sodomy laws, etc. will ever be declared unconstitutional, since they seem to infringe on certain liberties.
Ben
Not just "a programmer"...he's well-known (Score:1)
worded, it sounded like the programmer
is just some Joe Random guy...
Not so. Daniel J. Bernstein has written
quite a bit of Open Source software. If
you don't recognize the name, you might
recognize one of his most popular
works: Qmail.
-Creon
Re:Computer Languages to communicate ideas (Score:1)
IANAL, but from reading the opinion [epic.org] of the court online, it seems that the question is essentially whether or not source code is considered "expression" under the Constitution (and thus entitled to full 1st Amendment protections) or if it is to be considered "conduct" (from what I could tell this seems to mean something which has expressive properties but is mainly functional in nature, and thus entitled to a lesser 1st Amendment protection).
Two of the three appellate judges (Fletcher and Bright)in this case decided that source code, since it was designed to be read by humans, and often used to communicate ideas, should be considered "expression". The dissenting member (Nelson) of the panel considered it to be "conduct", since he believed its primary purpose was to be run through a compiler to generate machine code.
A brief excerpt (from Fletcher):
We emphasize the narrowness of our First Amendment holding. We do not hold that all software is expressive. Much of it surely is not. Nor need we resolve whether the challenged regulations constitute content-based restrictions, subject to the strictest constitutional scrutiny, or whether they are, instead, content-neutral restrictions meriting less exacting scrutiny. We hold merely that because the prepublication licensing regime challenged here applies directly to scientific expression, vests boundless discretion in government officials, and lacks adequate procedural safeguards, it constitutes an impermissible prior restraint on speech.
However, the fight may not be over yet. Bright states:
I join Judge Fletcher's opinion. I do so because the speech aspects of encryption source code represent communication between computer programmers. I do, however, recognize the validity of Judge Nelson's view that encryption source code also has the functional purpose of controlling computers and in that regard does not command protection under the First Amendment. The importance of this case suggests that it may be appropriate for review by the United States Supreme Court.
So the Supreme Court may end up reviewing this one. Especially since in a similar case (Junger vs government) a different district court had ruled the opposite of in this case. In fact, the dissenting judge in this case cites the Junger ruling in his commentary.
Re:Never would have thought (Score:1)
This isn't about liberties; it's about money. Not allowing crypto to be exported would have caused this country grievous economic harm, billions of dollars' worth. It was just a matter of finding the right loophole to wiggle through.
Drugs and prostitution would probably be at least decriminalized (as opposed to legalized), too, if doing so would make them more profitable enterprises. It won't, so they'll be remaining illegal and criminal.
Re:Does this bug anyone else? (Score:1)
Re:The nature of source code (Score:1)
A few years ago, I wrote some code to "read" english-language descriptions of property deeds and then used the description to draw plat maps in AutoCAD. As natural language tools get more sophisticated, you'll be able to program all sorts of tasks in your native tongue (perhaps even by speaking the recipie). Then where will you draw the line between speech and programming?
I hope you called your lawyer first (Score:1)
I don't even know if the plaintiff in the case has been allowed to post his code, due to the the appeal. Additionally, the decision may only apply to him at this point. No "laws" have been overturned. You'd better remove that link, call your lawyer, and wait for more details to emerge before posting this for the whole world to see.
(Don't say I didn't warn you, when the G-men come bustin' down your door... :)
Intent and restrictions (Score:1)
One must believe that restrictions placed on 'encryption source code' are in place to prevent the communication of ideas behind the encryption (to the outside world) as much as they are in place to prevent the dissemination of encryption tools to the world at large.
By restricting communication of encryption ideas the US gains (supposedly) protection from the implementation of those very ideas.
The intent of the government (to prevent the spread of encryption theory by preventing export of source code) could be used to show the validity of the argument that Source Code communicates ideas.
Re:Source code == free speech? (Score:1)
I agree, but does it make it okay to publish or otherwise make available to foreign nations the blueprints to build a laser to blind spy satellites or distrupt communications satellites? This after all is entitled to similar free speech.
I do not necessarily agree with banning encryption, but simply claiming "free speech" is not the answer and now opens up or at least questions some larger issues.
~afniv
"Man könnte froh sein, wenn die Luft so rein wäre wie das Bier"
Not true. (Score:1)
~afniv
"Man könnte froh sein, wenn die Luft so rein wäre wie das Bier"
I agree. (Score:1)
According to ITARS (International Traffic in Arms Regulations), I cannot reveal certain technologies whether in written, illustrative, and which ever means. I go to jail if caught. This is for technology that would be not very difficult to get in the U.S and does not have to be top secret or classified information.
So, is the First Amendment being violated? After-all, I most likely would be in a foreign country when sharing the information.
So the question begs to be answered, if the U.S. cannot restrict source code based on the First Amendment, how can it be illegal for me to allow a foreigner to see a schematic of my high technology unclassified work?
I also agree that encryption should not be banned from exports. I see the benefits of my secure communications and the worldwide growth of the Internet commerce more important. But at what sacrifice?
I do find it difficult to work with ITARS expecially when working with foreign partners, but I also recognize the danger of divulging information that could later bomb me at home.
~afniv
"Man könnte froh sein, wenn die Luft so rein wäre wie das Bier"
Re:Crypto could be done like anti-bigomy laws. (Score:1)
Polygamy is not even a religous issue in the lawbooks, even though the previous poster used that argument. There is absolutely no constitional basid for anti-polygamy laws.
Regarding you argument against polygamy being a religious right: your counter agrument of human sacrifice is irrelevant. Human sacrifice involves the intentional harming of another human life. While some of us may rhetorically feel otherwise, marriages (regardless of the numbers of people invovled) do not. The analogy does not hold.
Regardless of whether or not a church sanctioned it or not, a triganamous marriage is simply illegal in many (all?) states.
Additionaly, the point was not about what was legal but how it (it being crypto distribution) could be suppressed.
Re:I don't get it (Score:1)
Others have already approached this point from the property angle (the gov't owns the plans, so they get to choose who's allowed to see them), but there's another direction which has been ignored: Prior restraint.
That phrase comes up repeatedly in the articles on this decision. Now, IANAL, so I may not be understanding the term correctly, but it would appear that the ban on crypto was found unconstitutional because it prohibits "speech" on certain topics without consideration of the actual content.
In the example of high-grade military lasers, the crypto ban would be the equivalent of a law stating that, because lasers have military purposes, you can't tell anyone how to make a laser - it doesn't matter what you have to say about lasers, there's a "prior restraint" in place, so it's not allowed.
But, again, IANAL. Legalese being what it is, "prior restraint" may well mean something completely different.
Re:Crypto could be done like anti-bigomy laws. (Score:1)
A better argument would be the ban on same sex marriage, which regardless of your moral opinion, obviously does limit certain people's marriage rights wrt others.
--
Re:References (Score:1)
My understanding of the case was that the professor had won the right to publish encryption source code in a scientific article. (That is, that the law prevented him from his right of scientific expression.) It doesn't generally apply to computer code which isn't being used for illustrative purposes.
So this might apply to binary code, if a bunch of hex was published in a scientific journal. It also might apply to a download which accompanies such an article, but it certainly doesn't remove cryptography restrictions, or technology export laws (esp. with govt. contracts, which probably have additional wording).
--
Re:I don't get it (Score:1)
Actually, when the NY Times published the "Pentagon Papers" during the Vietnam War, the Supreme Court did rule that publishing these stolen classified documents was within the NY Times' free press rights. (I don't know if "exporting" came up - it certainly would now days with the Internet.)
--
Re:No, machine code isn't a language (Score:1)
Free speech is meant to safeguard communication between people
Agreed, but even tough many argue that code is for communicating with others, I have yet to see a valid argument against the fact that computer languages are mainly for easier human->computer communication ! (And no, I'm not including pseudocode here, that's another argument)
Anyways, the anonymous response is better than mine, make sure you read it.
Natural Language interpretation ... (Score:1)
In addition, and I'll say it again, the main purpose of a computer language is allow humans to build a machine (or set of instructions) for a computer to execute. That's not the main purpose of natural languages, even if the computer understands you (which will require Star Trek levels of AI), the main purpose of natural languages is and will forever be to communicate with humans.
Re:Feh! (Score:1)
CS - 101
Compiling has nothing to do with wheter a program is a "machine" or not, just like an algorithm has nothing to do wheter it runs on a computer as you know it today or a DNA strand. Again (see my post above) programs translate to state machines. The types of machines we're talking about here have nothing to do with hardware nor 1's or 0's.
Re:A program by itself is a machine (Score:1)
2)It would be nice if you made your arguments with maybe some references or technical detail.
BTW - A Turing machine is not a machine ???
Why is this moderated down ??? (Score:1)
Re:A program by itself is a machine (Score:1)
You're limiting your scope to a physical "machine" (calculator, etc) to a running program , but the description of a machine is a machine according to CS theory. If not, then how come a finate state automaton is a machine, have you ever seen one of those built (you have in way, but you know what I mean)?.
Don't tell me you never had an exam like this
Build a finate state machine that functions as the coin return mechanism of a soda machine ?
Obviously you didn't build a soda machine nor a circuit, but you wrote the machine either in a little diagram or pseudocode or a regular expression, right ? That's the type of machine we're talking about here.
:) (Score:1)
BTW I love that signature "Free the Mallocs" , he hehe
Isn't machine code another "computer language" ? (Score:1)
Just asking since it seems rulings are favoring "source code" distribution but not "binary" distribution. Seems to me these 2 things are the same if you look at them from a different point of view. Hey, I know a couple of people that still program at the machine level !
Deterministic State Machine (Score:1)
Exactly how I feel, can't programs be looked upon as a sort of deterministic (finate?) state machine ?
And the main purpose of a program (and a computer language) is to build such machine so that the computer can execute said code. The other uses for programs are secondary; sample code, er
Anyways, I'm against the stupid crypto laws, but I don't see the code / free speech thing clearly yet. I'm wondering if many of us are agreeing to it because it might be the one argument to defeat these archaic restrictions imposed by the goverment.
Re:source code is a recipe (Score:1)
No, I have to disagree. The main purpose of a computer language (hence source code) is to allow a human to give a set of instructions or build a machine/program to be executed by a computer (whatever a computer is). Having it compiled and converted to binary is implementation dependent, and obviously what happens today, but not really the "main purpose".
You could build a braind dead piece of hardware that read ascii text of some language (let's say BASIC, to keep it simple) and use that language as it's machine code. It'd be stupid, but possible.
As far as the "recipe" angle, I don't know what that buys you. You could call a program a recipe (a set of steps to
Re:A program by itself is a machine (Score:1)
Source code isn't a machine. It is a series of instructions. A machine does some thing.
A series of instructions do something, if not, what are the instructions for ????
Source ( or any executable instructions) doesn't do any thing per say it tells the machine (computer) what to do.
I'll say it yet again
See my previous definition of machine, or read up on compiler and or automata theory for the proper definition of a machine (ie state machines, etc)
BTW - I'm really getting more and more convinced that we need to start voting "aye" for that CS certification
A program by itself is a machine (Score:1)
Thanks (Score:1)
Re:Actually, that's good news for us (Score:1)
If one wanted to get around the "source code only" restriction, I would think it would be easy. One could have a small stub of source code included with the otherwise binary-only software. For RPM, you have one of the scripts cal gcc while you are installing. For IIS, you could even include a small compiler in its' install routine (with that much bloat, who'd notice?) that does essentially the same.
What is source code?
Jason Dufair
"Those who know don't have the words to tell
I'll make it easier :) (Score:1)
the export administration regulations {
operate as a prepublication licensing scheme that burdens scientific expression,
vest boundless discretion in government officials,
and lack adequate procedural safeguards,"
}
Kaa
Legal equivalence doesn't have to make sense (Score:1)
For example, one quite famous case from last century said that underground oil deposits are a wild animal. Don't ask.
Kaa
Re:The nature of source code (Score:1)
A person is not a machine, and I won't believe otherwise until someone proves to me what the nature of conciousness, and self-awareness are. The corresponidences between machine languages and human languages are not direct, nor is it sufficiently precise to say that a poem "compiles" on a person.
But more importantly, there is a difference between the intent involved in creating a program vs. speaking or writing. Programs serve only one function: to give instructions to machines. Human utterances my serve to give instructions, but they may also be used to do a lot of other things.
It is possible to draw analogies between programs and poems, but they're not the same thing. I think you're confusing analogies with equivalences.
Re:Source code is not a machine (Score:1)
Code == Speech ? (Score:1)
Someone mentionned that the primary goal of code is a language to talk to the machine, not to exchange ideas. I think this is a valid point, but in the case we care, the crypto law created a particular circumstance where one was unable to communicate an idea (crypto algorithm) via source code. So for that particular case, the code was *really* used as a way to communicate an idea to others. If this guy is able to phone somebody else and describe the algorithm, why should it be prohibited that he sends a page of source code instead. Source code here is clearly used as a way of communicating something to others, not giving instructions to the machine.
my 2 cents.
Re:Source code == free speech? (Score:1)
Very interesting point you have here. I had to spend a while thinking about it. But I believe I would be correct in saying that distribution of such technologies would show mallicious intent to commit treason (hand em high boys).
While distribution of encryption code, expecially if the rest of the world has just as good of code, shows no mallicious intent to hurt your government other than just to give it a really good rasberry
Also if you were to distribute such technologies most likly unless your just a super genius of amazing magnatude, either you would be working at the University in which there would already be a system in place telling you what you can and cannot do with the information you learned. Its called a Non disclosure agreement ladies and gentlemen.. and nomatter how much we hate them, they don't violate our freedom of speach. Or you are working at some laboritory funded by the government, in which you are going around your employers back and giving out secrets. (once again.. hang em high)
No, machine code isn't a language (Score:1)
C, Java, Perl, and even FORTRAN are meant to be read by other people. As such it could be considered a form of expression. Free speech is meant to safeguard communication between people. Compiled machine code is not meant to be read by people but only by a machine. Therefore, it isn't a language as far as free speech is concerned.
Re:Actually, that's good news for us (Score:1)
It was a rhetorical question.
Basically, you can compile out binaries to assembly and ship that + an assembler as part of your program installer.
Hence, non-opensource encryption code can be shipped under the "free speech" precedent.
--
Re:Actually, that's good news for us (Score:1)
Wouldn't assembly language be "source"?
--
Re:I don't get it (Score:1)
I think there are some important differences here.
A document describing top-secret military plans would be disclosing proprietary govt information. You would either have to be a person with top-secret access to get it, or you would have to get such a person to get it for you. Either way, they would be violating laws against stealing govt documents.
On the other hand, a program that you've either written from scratch or based on code/algorithms in the public domain would not involve such theft.
I do agree, though, that "free speech" is a wacky way to approach these laws.
--
Re:References (Score:1)
Re:Not true. (Score:1)
Other anti-liberty laws (Score:1)
Re:I don't get it (Score:1)
No, it's ok (Score:1)
/* Shamelessly stealing slashdot schtick
Onward to the Supreme Court! (Score:1)
Thad
We should for the purpose of the 1st amendment (Score:1)
What was stopping you before? (Score:1)
Re:The source is the key (Score:1)
It is true that artists sometimes use screws or
C code in their works. So someone will have to decide whether a bunch of metal and screws (or a bunch of C statements) is a piece of art (thus protected), a form of scientific communication (thus protected too) or a machine (restricted.)
I understand this court decision as meaning "source code used as a form of scientific communication is free speech."
Next time, someone will be charged because even though it was source code, it was not intended for scientific communication. (Nor it was a piece of art...)
The source is the key (Score:1)
executables will be exported in assembly with no
comments and assembled overseas. It would be
as much obfuscated as possible so that it in
essence will be equivalent to compiled code.
If the Government claims this is not valid, then
all sources will have to be subject to a panel of
experts which will decide whether the source code
was really intended for humans or not.
Of course, this will create a mess even bigger
than the one we have now. So I guess, unless
the Government changes their ideas about crypto
stuff, this court decission will have no real
impact.
source code is a recipe (Score:1)
Besides, the better analogy is to math formulas and jargon, which were already previously covered by the 1st ammendment.
Re:Actually, that's good news for us (Score:1)
Yes, but not machine code. Not assembled assembly. Not object files. Just the human readable stuff that can't be directly executed by a computer.
Let's get real (Score:1)
BY THE WAY, does anyone know that Hitler quotation (preferably in german) which goes something like Ein furher, Ein whatever (One everything) which people have compared to something Gates said? you know what I'm talking about... Just put it up! I need it for a paper i'm doing. Thanks
Re:Actually, that's good news for us (Score:1)
Re:Does this bug anyone else? (Score:1)
Good point.. (Score:2)
It's rather obvious that our legal system is whacked when it can cost the average person their entire life savings and more just to protect their rights. The simple fear of the cost can make people give up their rights. Even if you know you're right and can prove it in court, it can be dragged out until you run out of money and credit and you lose because you can't pay for a lawyer to do the paperwork properly. Most average people don't have much savings. If they lose, they lose big. It's wrong. It should be changed. But it won't be. It benefits the right people just the way it is.
This is very exciting (Score:2)
- Sam
Re:The nature of source code (Score:2)
All writing also has a meta-context which tells about the time in which it was written and the author who wrote it. You can tell what century (and sometimes what decade) just from the sentence construction and the vocabulary of the artifact; sometimes you can even tell the nationality of the author. Source code is no different, although you need to look at different aspects: commenting, structure, variable names, use of different language constructs.
I believe that there is an equivalence; language is language, thought is thought, and if the machine that a poem "compiles" on is a person and a perl script "compiles" on a Linux box (although both are interpreted languages in very much the same way), well, a machine is a machine.
While I wouldn't send a postcard to my mom written in Ada, I also wouldn't type a program in Italian. And, frankly, both can be used to communicate algorithms or recipes or driving directions or what the weather is like.
Free speech qualities of source code (Score:2)
In the dissenting opinion in this case, as well as several respondents here, it has been stated that source code, in and of itself, constitutes a mechanism, or machine, with the inherent capability of performing the task for which it was written. In rebuttal, I will provide the following argument:
Source code, in and of itself, can do nothing, regardless of the format it is in (electronic, written in a book, or tatooed on your arm).
That source code is the clear and explicit instructions for the performance of some task is non-arguable, however the most ingenious 'C' source code, stored on a floppy, sitting on your desk, does nothing but gather dust.
In order for source code to perform the task for which it was written, it requires the additional resource that interprets those instructions to produce the effect described by the source. This additional resource *must* always be present in some form. If not, the source then becomes nothing more that a fairly rigorous description of some task.
The argument has been presented that the deterministic nature of source code provides the mechanical aspect of it's nature, in that as the instructions are unambiguous, they would be interpreted identically by any device designed to execute code. While this is true, it does not abrogate the need for the execution device, without which, source code becomes merely words.
The free speech concept enters in when we consider that we can communicate, in equally unambiguous terms, the entire functionality of a given program, using any human language. Or if you wish, we can create a program listing of sorts using prepositional logic, that would be just as deterministic and unambiguous as any specified programming language, and yet there would be little argument that such descriptions would fall under the umbrella of free speech.
In other words, the argument against source code as free speech boils down to the assertion that since no further human interpretation or modification is necessary to allow this task to execute on some device, that it automatically loses its free speech privelege as a result.
Since a sufficiently rigorous human language description of a process is effectively equal to a source code description of the same process, either both must be considered free speech, or neither. The act of translating the human language process into a source language process does not remove the freedom from the speech.
Human Languages vs Computer Languages (Score:2)
CL - Computer Language
CLs are deterministic, HLs are not.
ex: "Give me that thing over there."
CLs can be decomposed into a state machine, HLs cannot (or if they can, it's an unsolved problem)
ex: "I love you"
Creative writing can be thought of as functional in the sense that it strives to create thoughts or emotions in the audience or reader.
But the emotions and thoughts to be created can not be predicted even if the audience is defined as a set of variables, machines have predictable outputs that's why they are programmed (given all variables).
I just don't see how a human language fits the "Automata Theory" definition of a machine.
Re:Human Languages vs Computer Languages (Score:2)
I would say it's a much more difficult problem even if you knew "all the variables". I would even argue that this problem is NP complete and thus has no "solution" (like many other problem). Of course, for me to say that would require a mathematical proof, that I don't dare try
Likewise, our ability to predict a computers response to speech is also bound by this same uncertainity. Maybe the RAM flipped a bit, a drive sector demagnetized, transistor wouldn't switch, or some other little unexpected, highly unlikely quantum disturbance, and suddenly the computer is no longer predictable. Sure it doesn't happen often, but it's basically the same problem as with humans.
No, when I said computers before I meant computers in the general term, not computers as we know them know. A computer could be anything, made out of silicon, a biological machine (DNA strands ! Has been done
Regardless, a computer language, like a human language, is often manipulative, but never deterministic.
Ouch ! This statement is waaaay wrong in some many ways it's not even funny. You're confusing concepts here. Computer languages are deterministic by definition, the failures that you talk about have nothing to do with determinism(if a then b) or non-determinism (if a it is be b or c), those are implementation details irrelevant to this type of discussion at this level. For more information on this refer to a book like "The Dragon Book" (Compilers, Principles, Techniques, and Tools - by Aho, Sethi and Ullman) or any Automata Theory book available in your school.
Re:I don't get it (Score:2)
If you use your Web site to pass top-secret military plans to the Russians, or libel somebody, or violate copyrights, then you can be sued or prosecuted. The First Amendment doesn't give you a blanket immunity for this kind of thing.
However, the government can't require you to pass all of your Web pages through a government censor to make sure that they contain nothing classified, libelous, or copyright-violating.
That's prior restraint. If a law involves prior restraint on expression, the courts tend to look on it with great suspicion.
Interesting Irony (Score:2)
Source code is not a machine (Score:2)
Free Speech is an excellent way of protecting it (Score:2)
May Help Free Software (Score:2)
Possible scenario -- Mozilla with 128-bit encryption is allowed to be distributed in source code form worldwide. Binary-only browsers are subject to the current restrictions.
Other possibilities -- American companies specializing in crypto software or using strong-crypto technology choose to release source code because it's the only way they can export their products. They can still restrict modification, redistribution, etc. so it's not really Free Software, but maybe it will lead to that.
As others have mentioned, the ruling itself is fairly narrow in scope. Still, it will be interesting to see where this goes.
Snake Oil Solutions (Score:2)
This judgement just goes to prove that most people if intelligently provided the facts go to make the appropriate decision. The US crypto laws are simply ridiculous. You cant download software, but you can print the source code, ship it across, scan it back and compile, I mean this is going just too far. Someone better do something about this pretty soon, the Supreme Court seems the most aware !!!
I don't get it (Score:3)
A document describing top-secret military plans is speech too, but I'm not allowed to give it to a foreign party (and probably not allowed to pass it around within the U.S. too). So how is source code, given that it is free speech, any different from this?
BTW, this is not to say that I am for export restrictions on encryption software. Far from it. I am totally opposed to these laws and I am even registered as an "arms dealer" on that page that lets you ftp encryption software to a source outside the US and then be listed as a known arms dealer, in protest of the laws.
BUT, I think that ruling that source code is free speech and therefore restricting its export is a violation of the 1st amendment is not a good way to go about repealing these laws. The result is good, but the means are completely backwards.
References (Score:3)
My experience with ITARS is brief. I work at an advanced tehcnology company this is also a defense contractor, but my project is a government contracted sensor for scientific research. There are some foreign partners involved and as a result, I was warned to be careful of what drawings are hanging on the walls and what types of information I discussed during their visits. Similarly, my data is examined before I can forward it to certain countries even when the destination is to a co-worker. Nothing I do is close to being classified.
You may have touched on what I find confusing. You say that transporting a binary is still illegal. Two comments:
You are correct that it is important to have all the information. However, IANAL, so I don't understand the immediate legal consequences, which is why I bring up (or rather Bryan Ischo brought up) the concern in this thread of the general "free speech" interpretation. This seems to me to fly in the face of all other export restrictions regarding information.
~afniv
"Man könnte froh sein, wenn die Luft so rein wäre wie das Bier"
Computer Languages to communicate ideas (Score:3)
You can use a computer language to communicate ideas (ie code examples, explaining an algorithm, exam question, etc) but that's not their main purpose. In other words , computer languages can be used to communicate ideas but their main purpose is to instruct a computer (hence "computer" language).
This is probably what they meant by "functional aspect". It's sad that they use this for the stupid crypto laws, but I'm not sure computer languages are free speech. If they are free speech (which I'm not really against,but confused) then other things like hardware diagrams, mathematical formulas, plans for a house, etc should also be considered free speech (they probably are ?).
The nature of source code (Score:3)
However, I have to wonder about the whole code == speech thing. I mean, okay, on the one hand, you're talking about a *language*, in which you can express ideas (heck, people write poetry in Perl), but on the other hand, a program is essentially a machine.
I have to think that the process of creating software occupies some middle ground between expression and construction. You're building a machine, but you're building it out of nothing but logic and a set of syntactical rules.
I believe that code should have the same protection as speech, but I don't think that we should necessarily reduce the two to an equivalence.
Nope (Score:4)
Second, this ruling only protects the transmission of encryption source code, not binaries. Any restrictions on binaries are just as much in force today as they were before the ruling. It does, however, mean you can put source code up on your web or FTP site and expect not to be hassled for it. If you are hassled for it, you can expect to have an easier legal battle with this precident in hand.
Important Point. . . (Score:4)
The difference is fairly important because 2 courts making the same ruling adds some credence. This will surely go to the Supreme Court next, where I believe Bernstein will win again.
** Martin
Source code == free speech? (Score:4)
Gah. After several attempts to get the user login to work in lynx, I have given up.
Anyway, I wanted to respond to the questions people have been posting as to whether source code ought to be considered protected, expressive speech.
In short, yes. If you read the opinion, or even the first paragraph of it, you'll see that the primary point it makes is that the export restrictions constitute a prior restraint on scientific expression. This is a crucial point, that not many people seem to have remarked on, and I'm very happy that the court saw how important it is. I've been involved in the scientific community most of my life (my parents are both marine biologists at a major oceanographic research institution), so I have a particular interest in this aspect. Free exchange of scientific ideas is, as anyone who understands the issues will tell you, absolutely essential to scientific progress. We like to talk about how wonderful our culture of openness and sharing of source code and ideas is, and I'm not saying it isn't, but you know what? We didn't come up with it. We borrowed it from the tradition, which has existed as long as anyone has done scientific or mathematical research, of publishing one's results in peer-reviewed journals, of sharing one's information, and of helping other people doing similar projects. Collaboration and sharing of knowledge is one of the most important principles of scientific research, just as it is of the free software community.
Scott Madin, cookieless.
http://www.student.carleton.edu/M/madins/ [carleton.edu]
Source Code is Speech (Score:5)
The Junger case [slashdot.org] was similar. It involved a law professor who wanted to post crypto source code for his "Computers and the Law" class. A lower court (going against the ruling of the lower court in this case), sided with the government and dismissed the expressive nature of source code due to its functional aspect. They basically said source code wasn't speech. This was, IMHO, a bad bad ruling. I really find it offensive that the court would assert that a language such as C that I spend a large portion of my time reading and writing (often just for fun), isn't speech. I use computer languages to communicate ideas. That's speech. The judge (Gwinn) in the Junger case just didn't "get it." I've read this ruling, and it's obvious that at least some of the judges (or more likely, their aids) do "get it."
Let's just hope that if this goes to the Supreme Court, they're as enlightened.