Slashdot Mirror


More On Encryption Source Code Appeal

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. "

20 of 158 comments (clear)

  1. Good point.. by Danse · · 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.

    --
    It's not enough to bash in heads, you've got to bash in minds. - Captain Hammer
  2. This is very exciting by Kiwi · · Score: 2
    This is very exciting for me, since it allows me to make available the source to an application of cryptography I developed myself.

    - Sam

    --

    The secret to enjoying Slashdot is to realize that it should not be taken too seriously.

  3. Re:The nature of source code by piggy · · Score: 2

    From one point of view, all language acts (from speech to written and all forms of performance in between) are machines, "[built] out of nothing but logic and a set of syntactical rules." Language has a number of purposes; communication is but one. Creative writing can be thought of as functional in the sense that it strives to create thoughts or emotions in the audience or reader.

    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.

  4. Free speech qualities of source code by Aleatoric · · Score: 2

    The current ruling assigns freedom of speech to source code within a limited context, that of encryption scientists using it as a medium of communication in their field. While this is a step in the right direction, it leaves open many issues in the more general source code = free speech issue.

    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.

    --

    Nunc Tutus Exitus Computarus.

  5. Human Languages vs Computer Languages by Augusto · · Score: 2

    HL - Human Language
    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.

    --

    - sigs are for wimps.
    1. Re:Human Languages vs Computer Languages by Augusto · · Score: 2

      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").

      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 :), etc. But in the theoretical sense of a computer, it can be predicted, and it can be done mathematically. Not so with humans, since there are no theoretical humans. :)

      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.

      --

      - sigs are for wimps.
  6. Re:I don't get it by sethg · · Score: 2
    One of the key issues in the court's decision, as someone else here pointed out, is that ITAR is exercising prior restraint on free speech.

    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.

    --
    send all spam to theotherwhitemeat@ropine.com
  7. Interesting Irony by lee · · Score: 2

    According to one source the court published the descision on the web and included information that under current law is not for export. If the Supreme Court were silly enough to uphold current law, could the 9th court be prosecuted?

    --
    --- If you don't want to know the answer, don't ask the question.
  8. Source code is not a machine by geoGIF · · Score: 2

    A program and a computer are collectively a machine, but source code is just text. Look, I'll bet you I read more source code that I actually compile. I read source code to understand concepts, to learn new techniques, and to understand an algorithm. Source code conveys information to me. That's speech. Period. Now some will say, "Yeah, but you can also give source code to a computer and, ultimately, do something functional with it." Ok, fine. So what? Does that somehow obviate the fact that it's speech? How could it? You said that you don't think we should necessarily reduce the two to an equivalence (source code and speech). I agree with that, but people need to realize that that statement does NOT imply that Speech != Source Code, but rather Speech >= Source Code.

  9. Free Speech is an excellent way of protecting it by Grandpa_Spaz · · Score: 2

    >- Bryan Ischo said: "Even if source code is speech [snip], how does it relate to export laws? 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?" Actually, when you look at it from the abstract legal stand point, this is the strongest position to hold (at least within the US). By taking advantage of the strict anti-censure measures granted in the First Admendment, this will ensure future Comstock-like laws will either not be created or shot-down rapidly; basically, assume the Supreme Court case is one, nothing can be done to stop it short of another Supreme Court ruling or a constitutional admendment. Once the position is firmly establish that is free speech, NOTHING can be done to restrict it (remember, this precisely the reason we have such an invasive press and no one can do anything about it). Using any other method would apply some ability to restrict; basically this professor and his lawyer(s) wanted to get it established with as few restrains or hooks as possible. As for the government document bit, remember, by the same token, you may only freely print and disseminate what you own; the government owns those documents, not those who read them, and thus they may decide who can and cannot read them; that professor owns his crypto, he can decide who can read it... that is the whole principle, in fact. Free speech merely gives YOU, not the government, the right to decide who can read your work. Hope that clarified it a bit for you... -G.

  10. May Help Free Software by DonkPunch · · Score: 2

    BeBoxer pointed out rightly yesterday that "source code == protected speech" has the greatest implications for Free/Open Source developers.

    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.

    --

    Save the whales. Feed the hungry. Free the mallocs.
  11. Snake Oil Solutions by gandalf_grey · · Score: 2

    The essential problem in cryptography is the real and crying need for open standards and flexibility. Of the many articles that clear the air on this topic and related stuff, some can be found at http://www.counterpane.com from Bruce S. He calls all unknown and untested algorithms/methods snake oil, a smart and appropriate name.
    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 !!!

    --
    Mmmmmmm. Floor pie!
  12. I don't get it by Bryan+Ischo · · Score: 3

    Even if source code is speech (which I kinda doubt but I haven't formed any definitive opinions yet), how does it relate to export laws?

    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.

  13. References by afniv · · Score: 3
    I don't know of anything specific on the web. A brief search found the Defense Trade Controls website, although I don't think it is of much help.

    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:
    1. Isn't binary still a form of computer language?
    2. Revealing a source code of an encryption algorithm (a munition as you stated), regardless of how incomplete it is, would be similar to me allowing a drawing to be visible, regardless how incomplete it is.

    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"
    --
    ~afniv
    "Man könnte froh sein, wenn die Luft so rein wäre wie das Bier"
    Richard von Weizs
  14. Computer Languages to communicate ideas by Augusto · · Score: 3

    Not trying to be nitpicky (and I'm not really disagreeing with your post) but ...

    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 ?).

    --

    - sigs are for wimps.
  15. The nature of source code by nigiri · · Score: 3

    As a practial matter, I'm glad the court ruled the way it did (the dubious precident-setting status of the ninth curcuit not withstanding). I think the U.S. crypto regulations are stupid and reactionary, and any step towards getting rid of them is a good thing.

    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.

    --
    ---Joe Merlino gnupg public key ID: 1E91EBAF
  16. Nope by Gleef · · Score: 4

    First, this is the Federal Court of Appeals, not the Supreme Court. The government doesn't always listen to the Court of Appeals.

    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.

    --

    ----
    Open mind, insert foot.
  17. Important Point. . . by heller · · Score: 4

    No decision was overturned, it was upheld. That is, Bernstein had won a previous case and the court upheld that ruling in the 9th district court. Professor Junger is the one who lost his case here in the 6th district (http://samsara.law.cwru.edu).

    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

  18. Source code == free speech? by Scott+Madin · · 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/

    --

    Pancakes is the better part of valor.

  19. Source Code is Speech by geoGIF · · Score: 5

    While many are celebrating this ruling due to the crypto export implications, I think real victory is for the deeper issue: is source code speech? While the fight's not over, I'm very encouraged that the appelate court reaffirmed that source code is expressive and is a form of speech (at least within the narrow context of this case).

    The Junger case 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.