Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
Check out the new SourceForge HTML5 internet speed test! No Flash necessary and runs on all devices. ×
Links

Is Code Protected by Free Speech? 98

Ryandav writes "An excellent article for discussion has been put up on ars technica reguarding how we look at code, whether or not code is a form of speech, and therefore protected under those same laws. " Thats the debate isn't it? Upon it hangs encryption law, software patents, and much more.
This discussion has been archived. No new comments can be posted.

Is Code Protected by Free Speech?

Comments Filter:
  • by Anonymous Coward
    The original essay got it right. The Supreme Court ruling refered to falsely yelling fire in a crowded theater.

    In addition, the details of the case should shock the people who keep misquoting it. It was an analogy used to describe the "heinous" crimes of two "anarchists" who were arrested for passing out pamphlets outside of a Boston(?) naval base during WW-I. The "seditious" content was asking why US servicemen were being asked to die to defend the British aristocracy -- and the government held the position that all of its soldiers were drolling idiots who would mutiny if they saw such shocking material.

    (It should also be noted that Germany under the Kaiser wasn't perfect, but most modern Americans (and Britons!) would feel far more at home there than Britain at the same time.)

    This makes the arguments for cryptographic export controls even more bizarre. Someone is falsely yelling fire here... and it's not the cypherpunks.
  • by Anonymous Coward
    This whole "first amedment" movement has driven me crazy for a while now. When the bill or rights were written, there was a word available called "expression." This word was not used. The word that -was- used was "speech." Speech is words that come out of your mouth. Speech is not pornography. Speech is not software code. Speech is not shooting pictures of people. Speech is words that come out of a mouth. We all know what speech is, but for some reason we want to think that the first amendment was saying something else. "Congress shall make no law ... abridging the freedom of speech, or of the press" Where, in that can one possibly read in "porn?" SPEECH. Words from your mouth. To say code is "expressing freedom of speech" means that we can't prosecute people who write viruses...cause after all, its the people who -executed- the virus that did the damage, not the writer.
    Another point. Freedom of SPEECH, not freedom of HEARING. If code is speech, then what these people are asking for it to be able to hear it, regardless if the speaker wanted them to. Problem is, first amendment doesn't cover hearing, it covers speech.
    People need to make a living. Some of them do this by writing code, while others make hamburgers. We don't live in a society where everything is free, why pretend we do? That society, the communist's dream utopia, only exists in star trek
  • Give an example of speech that does not convey information, and is still meaningful.

    Well, there is the famously desirable attribute of art, "purposiveness without purpose." Carefully crafted with no obvious job beyond being carefully crafted, in other words (I think...). "Jaberwocky," is, of course, a good example.

    Music and the visual arts are full of meaningful things that don't convey information. It's hard to do with language because language is arguably supposed to convey information. "Jabberwocky" is a deliberate stunt that is perhaps an exception to the rule.

    On the other hand, Shakespeare, Chaucer, and, say, Danielle Steel have all produced, using language, works that are in some way meaningful, but you couldn't really call them informative -- they're ficiton, after all. "Esmerelda stared into Greg's deep, soulful eyes," could be informative, but if it never happened, what then?

    If you'd reply to that question that the language is expressing what the author imagined, then I have to fall back on "Jabberwocky" and ask what you think of it. Does it convey information after all? Is it meaningful?

  • I don't think source code is any more a form of speech than a recipe for a cake, a set of instructions to make a bomb, or a to-do list to get one through a day.

    Is this supposed to be sarcasm? I've always thought recipes were free speech!!!

    ---

  • I think I can give more support to the argument against computer code being a "device".

    A computer language, as you rightly said, is a formal language for specifying computational processes/algorithms. And in this connection, it must be pointed out that algorithms exist independently of the existence of computers to execute them.

    The point is that if I have, say, RSA coded in Lisp, it is merely incidental that there exists a machine that can carry out the algorithm the program describes. This because Lisp could very well exist without there existing a machine that could execute Lisp programs.

    I didn't choose Lisp for no reason. It is an historical fact that there existed Lisp programs before there was a Lisp implementation! McCarthy designed Lisp as a formalism for describing recursion equations, and wrote a Lisp interpreter in Lisp; one of his coworkers then decided to hand-translate it into assembly, and thus was the first Lisp interpreter born.

    Of course, I could go on into the ages-old algorithms for finding remainders and such.

    The point is, a computer program is meaningful even in the absence of a physical device to interpret it. The people who invent them have a some semantics in mind when they do it, which do not necessarily depend on there existing a machine to carry out some actions.

    ---

  • Your analysis has some flaws. The things you list above, even if they are considered speech, would not be protected speech, since they violate copyright. You have the right to say anything you want in a book - you do not have to write to copy somebody else's book.

    Rebroadcasting DSS signals would be a copyright violation, regardless of whether it is speech or not, so it's not a relevant example.
  • Can a crime be committed with source code? Possibly. I don't see how. . .

    Copyright, patents etc.

  • i have used C in a philosophy class when it more
    elegantly expressed my thought than english.

    also, i have a friend with whom our conversation is usually a hybrid of c and english.
  • On the one hand, This is generally our only shot at protecting code and such from government and the like, other than getting Al Gore to learn Linux and C++ and then getting him in the white house (not bloody likely).

    Also, encryption doesn't have any big lobby like firearms do with the NRA, I mean sure we have tiny organisations like the EFF, but we don't have people like Heston, The original Ben Hur, or the likes of someone in power who accutally has a freaking clue. The main problem is that Programmers don't go into Politics, and that Politicians don't go into Programming. One doesn't understand the other. I'm sure if we did a poll on people in congress giving them a quiz on the factual information of encryption, at least 99% would fail.

    Of course, that being our curse, the Supreme court probaly doesn't have much of a clue either, heck, the majority of the people in the USA don't have a clue, just look at what they are fed on TV everyday, the only people who get real news have the internet. Instead of something about Monica Lewinsky or the latest Dumb Macro Virus.

    That being said, I think that the real issue is how do we get people like Justices and Politicians to learn about and understand the issues we are talking about, can we? Is it possible? Or are they simply (and us too) doomed for them to wallow in ignorance?

    -shanoyu
  • But did they *win* ?
  • I'm not a lawyer so someone please tell me why the debate isn't "Do people have the right to have secrets and other private matters?" That seems to me a more reasonable assertion that "code is speech". Code might be speech (valid arguments for) but it might just be a device (valid arguments against). Doesn't anyone else feel that the real question should be whether or not we have the right to keep certain things to ourselves? After all, that's what the US government is saying: "We are in control, you aren't allowed to have anything that you keep from us." A rather odd idea when you consider what democracy is supposed to be about...

    Of course, I'm not from the US but since a lot of software is, this is a hassle for everyone.
  • Virii (viruses?) are legal to write, no question. What's illegal is spreading them and causing damage.
  • When I first clicked on the link, I thought it would pertain to writing virii (or viruses or virus'), backdoors, or other controversal software, since that's another "original" use of code I could think of that could be protected (not necessarily should, just could. <tim><
  • Remember, even with real speech, there are certain limits. So even if free speech extended to code, destructive behaviour is not protected.

    Also keep in mind that the debate is more about whether programming languages are "devices just like circuitry, not a form of speech".

    tim
  • Computer code has been in use for several decades now. Over that time period, unspoken rules have evolved that determine how we exchange code, and what form of communication that falls under. For too long, commercial programmers have dominated the scene -- not open-source or educational uses of code (only in these genres would code count as speech). I guess my point is that it is impossible for everyone to consider code free speech. Many of us agree (including myself) that code should be considered free speech -- that's what the GPL is for. However, the precedent was set long ago that code will only be considered free speech if its author wants it to be. The bottom line is that the author determines this by choosing a license. However, this means that the government should not be able to restrict encryption code. They are not the author, and they have no right to in effect force the author to put a more restrictive license on that code if the author chooses to think of their own code as free speech.
  • by Millennium ( 2451 ) on Saturday April 10, 1999 @12:53PM (#1940489) Homepage
    Doesn't matter. It's already been decided by the Supreme Court that expression counts as speech. To give an example: flag-burning. It can be done without speaking a single word, yet the Supreme Court has decided that it is still protected by the First Amendment. Therefore, it doesn't matter if code is speech or expression, it'd still be protected.

    Now, here's the argument against it: people claim that source code is a device, not speech. Certainly this is true of compiled code; it does something. But I'd love to see you boot a Linux kernel using only the course, without compiling it first. It does not work. Why? Because source code is nothing more than instructions for the compiler to create the device, not unlike a recipe. Therefore I'd say it's a form of expression, and consequently is protected.

    But what do I know; I'm not one of the technologically clueless lawmakers out there today.
  • by Millennium ( 2451 ) on Saturday April 10, 1999 @09:38PM (#1940490) Homepage
    I notice people saying how you can't shout "Fire!" in a crowded theater when there is no fire and such things, pointing to those as how free speech could be limited. This is not really true. THere are absolutely no limits of speech in this country, nor should there be. However, if you commit a crime with that speech, the first amendment will not save you The "Fire!" example is a case of disturbing the peace; you have the right to free speech but you do not have the right to commit a crime with that speech. The same goes for selling state secrets. It is not a crime to speak, but it is a crime (not to mention a breach of contract) to tell those things to unauthorized persons.

    Can a crime be committed with source code? Possibly. I don't see how, but it's possible. And if such, it could still be prosecuted even if software were protected by the first amendment.
  • Code is not simply more precise than ordinary English. Code is precise enough, and written in such a way, that the virtual device it describes can be constructed without any person besides the writer ever reading it -- and that is the crucial difference between English instructions and code. If I give someone a piece of code, I am giving someone instructions to build a virtual device, but if that person has a compiler, I am also giving them the virtual device itself.

    ElpDragon.

  • Is art free speech? I think it's been generally held as such. Paintings, sculpture, and, most relevant to us, performance. A play is a set of written directions for a person or persons to carry out to instantiate a performance of art. Is the written play art, or only the performance? Can one generalize and state that all plays are art, regardless of whether they are performed or not?

    Certainly programs can be contrived that output an artwork. However, programs are themselves art, in the same way that a play is. You might object that programs are merely industrial design, but why then is art afforded a protection that is denied its more practical sibling, and who is to distinguish the two?

    Bruce Perens

  • Actually the way Phil Z. exported (and continues to export)
    the source to PGP 5.0 is even more bizarre.

    They take the raw source code, typeset it in a particularly OCR friendly font,
    and publish it as a book.

    At the other end (Europe) they fed said book into a scanner.
    After many hours of turning pages proofreading, and sucking on paper cuts :)
    bingo... perfectly legally exported crypto code.

    Harsh latency huh?


    Yup. The insanity that is the US legal system,
    while it will not allow you to export source code electronically,
    will allow, nay defend the right to export it if you stick on a dead tree.

    IIRC this method was successfully defended in the
    US Supreme Court.

    Confirmation of my deluded rant can be obtained at
    http://www.pgpi.com/project/scanning.shtml [pgpi.com]
  • Source code is not functional. In order to be "functional" something must be done to it. A specific process must be applied, namely compiling or interpreting. Much in the same way that a recipe for a cake does not become a cake until someone puts the flour, sugar, eggs, etc together and puts them into the oven and waits an hour. If you don't have the compiler or interpreter on your system then you simply have a non functional text file.

    However, as many people here noted, even if source code is deemed speech it still may not be safe. It does however put the burden for providing a real reason for controlling it on the government. That is, while not all speech is protected, when free speech is violated it becomes the government's duty to produce evidence of clear and present danger in the speech.

    Clearly this is just a start, but it's a necessary one. Once the courts deem it as speech and protected then it becomes the government's job to give the courts reason to remove that protection. And that, we know, is hard to do.

    ** Martin
  • What's the difference between saying:
    Take 6 and add it to your first quantity.

    Multiply the result by 5.
    If the result is greater than 200, then you're done; otherwise, repeat.
    and:
    while (x < 200) x = 5*(x + 6);
    It's my understanding that the first is free speech (IIRC, this is how Phillip Zimmerman managed to legally export encryption to Australia).

    Given that the two mean exactly the same thing, why is the second not considered free speech? It just seems to me that to say the source code is not free speech is silly - a programming language could always be invented (call it "Structured English") that could satisfy requirements of what is "Speech".

    On a side note: I've always thought of printed music as a very simple programming language -- giving the performer instructions of how to complete the task of making some sounds similar to how the composer intended.

    --
    Mark Fassler
    fassler at frii dot com

    ps - if there's an " & l t ; " up there in the source, it should be a "less than" sign...
  • I never liked the 1st Amendment analogy either, but
    I have observed in the past that since the gubmint
    implicitly considers encryption to be "munitions",
    that its possession and use would be more strongly
    defended on 2nd Amendment grounds; the right of self-
    defense is not abrogated or precluded on the basis
    of the tool one uses.
  • I'm writing a thesis, so I'll try to make this short. :)

    There are essentially two ways of expressing an idea: formal and informal language.

    Formal language is mathematical notation, computer code, or any other extremely well defined, syntactically precise expression of an idea. An expression in formal language is intended to precisely express an idea or set of relationships in a way that is both rigorous and unambiguous. A C program, Maxwell's equations, and the axioms of set theory are all examples of formal language.

    In some fields of human endeavor, I can get away without using formal language to convey an idea -- the study of French literature or poetry, for instance. In other areas, such as number theory or cryptography I have no choice but to use formal language to express formal ideas about which I must make very specific, technical claims.

    I can talk about encryption in an informal way, but the only way I can say exactly what the blowfish cipher is doing is by providing an algorithmic description of its operation. Such a description is absolutely necessary, because any informal description could lead to multiple interpretations of its operation, which could in turn lead to differing analyses of its cryptographic strength.

    Therefor, I cannot talk about cryptography (in the sense of a conversation between experts, or a conversation between teacher and student) without resorting to formal language if my ideas are to be understood clearly. Source code or an algorithmic description _by_itself_ may not be speech, but speech on the subject of mathematics, science, or computer science _is_not_possible_ without formal language.

    Unless the government seeks to ban education in the field of cryptography, number theory, or the foundations of mathematics and computer science, I must be able to freely publish formal and informal descriptions of my work. Simply because someone could translate those descriptions into a functioning cryptographic system, for instance, doesn't change the necessity of this type of exchange if education and informed discussion are to take place.

    Rich
  • "Source Code" is an extremely difficult thing to pin down. Which of these should be considered code?

    1. A sequence of binary digits
    2. A bunch of numbers (decimal, hex, and octal) intersperced with short alphanumberic acronyms (JRST, PUSH, MUL)
    3. Some quasi-english junk (STORE ADDR 1000 BACK INTO PREV REG)
    4. An algorithm expressed in mathematical symbols
    5. A high-level functional description ( if (!code) then abend; )
    6. A competely nonsensical symbolic phrase

    OK, here's what they are:

    1. Machine code
    2. Assembly code
    3. COBOL
    4. Matlab or Mathematic code
    5. C, C++, LISP, FORTRAN or other high-level langiage
    6. C-INTERCAL

    It makes no rational sense to argue for freedom of speech of any of the above categories, and not all of the above. The problem with Source Code is that it is completely unlike any other form of communication. For those of you familiar with Snow Crash, Source Code is a Namshrub - that is, it not only describes what to do, but also does it. As such, it is completely different than instructions to make a bomb, or a recipe to make a cake.

    Free Speech as invisioned by the Constitution was for a single purpose: to insure that political debate was unhindered. Over the last two centuries, the US has widened what is considered "political" speech. That's why art, cartoons, plays, flag burning, etc. are now grouped in with the original writing/speaking.

    Source Code, however, has no political asperations. It's sole purpose is to enable a computer to perform some task. Wait! I can hear people cry. Bomb-making (or cake-making) instructions have no political intentions either (that is of course debatable, but let's assume it's true for this argument). They are nontheless covered, since it is impossible to readily distinuish (in legal concept, that is) between them and forms of expression that are most definately covered (instructions for staging a rally, a HOW-TO guide for voting, etc.).

    Thus, in my eyes, Source Code does not count as Free Speech. From a political perspective, there is absolutely no damage to the political viability of the system if Source Code is not Free Speech. Period.

    This does NOT mean I agree with the current methods of regulating Code with the existing Trademark, patent, and copyright laws. Source Code is so unlike any other form of expression that it deserves a completely NEW set of regulations that are tailored to it's uniqueness. The same applies to the Internet. The current attempts to apply the TV/radio model of regulation to the Internet mirror the problems of applying current IP laws to Source Code. Both are taking a completely unsuitable set of standards and attempting to force-fit them. A square peg in a round hole if I may.

    The same applies to attempts to label Source Code as Free Speech. It isn't. It's something completely new, and should be treated as such.

    -Erik

  • English, Spanish, French, you can speak any language and it's free. Why not C? Maybe not C++...
  • Why can you call someone speaking 'free speech', while a programmer expressing his/her thoughts on a computer (be it in notepad, vc++, delphi etc.) is not??? Code is simply a programmers thoughts of how to get something done, and how to get there. Street map anyone???

    Nahh seriously, I write software (duh!) and usually am happy to give away app (99% of the time with source code) . I get soooo frustrated with the fucking export laws. Someone should burn the Wassenaar Agreement - because anybody can circumvent them and just download PGP International...... or maybe dozeCrypt II [get.to] :)

    Just my 2 cents (hey I want my wiiiiisssssh!!!!) Damn penguin-of-the-lake!
    - NeuralAbyss

    ~^~~~^~~~^~~~^~~~^~~~~^^^~~~~~~~~~~~~~~~
    Real programmers don't comment their code.

  • It comes down to copyright law. Regardless of whether source code is speech or not copyright law still applies to the software. You can choice how you want your "speech" used. Pattents and encryption laws would fall out the window as unconstitutional, however. First ammendment only applies to the government, not private citizens. Your boss will still be able to tell you what to do with software written on company time, you can still protect your source code if you wish. The only difference will be that the government won't be able to tell you what to do. IMHO, this is a very good thing.
  • Freedom of speech is probally the one thing this country has done right. At the time the constitution was written things like pornography and flag burning were not even imagined. The supreme court has decided, and in my mind correctly, that expression also falls under free speech. You may not agree with pornagraphy, but that doesn't mean that it's wrong. Most bathing suits today would be considered pornagraphic by the standards of 100 years ago. Different people have different tastes and those tastes must be protected provided they are not harmful. Kiddie porn is illegal for a good reason, it is psychologically harmful to children. Obscene material is also not protected. Writing a virus is probally simmilar to yelling "Fire!" in a crowded movie theatre. Sure it's speech, but it is not protected. Viruses might be speech, but they are not protected.

    I personally believe that the greatest symbol of the ideals of the founders of this country is not the american flag but the american flag burning. Almost no other country would tollerate such a desicration of its national symbol, but a burning flag shows that the rights of an individual to express him/herself are more important than the rights of the nation.

    Your comments about making a living aren't relevant if I understand the situation correctly. Books are also considered speech, but you can't copy a book. Copyright law applys to speech, atleast in written form. It can also apply to pictures, and software. Actually I think you can even copyright a speech that you make, I'm not certain on that however.

    Also, with regards to hearing, I think freedom of hearing is implied. When you make a speech you can't prosecute people for listening to what you said.
  • by ja ( 14684 )


    /* This is not a device, so it must be speech
    * If you uncomment what appears to be code
    * it still wont run ..

    puts(NULL);
    puts("fsck the system!");

    */
  • xmp, pre, and & control chars should be added to
    the list of "Allowed HTML..."

    You should be able to place examples and html like characters in an xmp or pre tag.

  • The watch analogy used by the poster over on Ars is flawed. An actual device is not the same as the instructions necessary to build a devise. Code is a series of istructions to build a virtual device that is sufficiently precise so that the virtual device can be built without ambiguity from the instructions. Code is no less speech just because it is more precise than ordinary English language.

    Its illegal to give a bomb to someone, but it is not illegal to give someone the instructions to make a bomb. The courts have already held that these instructions are protected speech. I don't see any difference between plain English instructions to make a device and code.

    Code is also a matter of expression. There are choices made when writing code so that a functionally equivalent device may be made from source files that are very different. Often the choices made are to make the flow of the algorithm clear or to make the execution faster or even to make the algorithm obscure.

    But even if code is speech, that dosn't mean that there can be no penalties for exercising the right to speech. Shouting "fire" in a crowded theatre is the canonical example of non-protected speech. Certain speech to a foreign national could carry the penalty of espionage. Thus, the Government is probably wihin its rights to restrict this type of speech. I believe the standard that they have to meet is "compelling state interest". The fact that encryption technology is widely available overseas is probably a valid argument against "compelling state interest". The courts will be considering these issues. It is good that the constitution gives the power to review government actions to the judiciary. The system is working as it was intended.
  • To prove that code is "free speech":

    Record yourself speaking the code, complete with "open paren", "open brace", "comma", etc.

    Put this on an audio file and create a link to it on your web site.
  • Heehe, I like your thinking and arguments, especially on treating source code as a new form of expression to be regulated and protected under trademark patent and IP laws.

    AS
  • by Anonymous Shepherd ( 17338 ) on Saturday April 10, 1999 @12:55PM (#1940508) Homepage
    I don't think source code is any more a form of speech than a recipe for a cake, a set of instructions to make a bomb, or a to-do list to get one through a day.

    That being said, I also don't think the government is in the right to restrict the dissemination of source as pertaining to encryption, which seems to be the issue that incited this case.

    I don't think the government would restrict or care to restrict anyone from posting source or code on how to compress data, filter images, sort lists, etc. The government specifically thinks that encryption is some sort of weapon, and one that should not be allowed outside our borders, much like techniques to purify uranium or to increase the efficiacy of a fusion/fission thermonuclear device.

    Similarly, it would seem that, in a hypothetical case, they would limit the ability of encryption and security experts to travel, again for national security reasons.

    The argument that source code is a form of speech and protected as such is an appeal to the dissemination of ideas and thought as a universal right, and that telling/showing someone how to encrypt data securely is perhaps akin to telling/showing someone how to keep their houses secured. I'm not sure that the government would make such an issue if it were an abstract, publication, or essay, with source fragments and descriptive passages, describing encryption and security.

    However I also feel that even if that were the case, an issue of detail and intent, I believe that the government is only hurting our country and our electronic future by being so protectionist about security and encryption. I can understand if it were an issue on thermonuclear warheads, as the device and its usages are all destructive and damaging, but not if it were information about the safe handling, usage, and construction of nuclear powerplants.

    In the same way I don't see that encryption and related issues can be treated as weapons, but as tools. If this were source on viruses and ilk, it would be a much nastier issue, but security and encryption as such, while applicable to non-friendly or dangerous intent, is in of itself not something that is a threat to the security of the US. Financial transactions, industrial communication, even governmental transactions all benefit from a wider dissemination of encryption and security. It would be a case of protection from hostile intent, rather than attack from hostile parties, that security and encryption seems to deal with.

    My 2 cents

    AS
  • by Anonymous Shepherd ( 17338 ) on Saturday April 10, 1999 @01:34PM (#1940509) Homepage
    For some cases I would agree wholeheartedly that programming is an art; a well designed VLSI chip, and elegant algorithmic solution, a concise and effecient snippet of code involve artistic talent and effort, as such. But I would not classify that the finished output, the program, the chip, the code, as art.

    The intention of art is not in its application, whereas in computer code the application is inherent in the design and implementation, and thus engineering. A painting, like code, is commissioned and paid for, but the value of a painting is the painting itself, whereas the code in of itself does not have any value except perhaps in aesthetic appreciation by fellow programmers.

    There are some disciplines in which the boundary is shady, like architecture or aircraft or consumer appliances, in which the appearance plays as fundamental role as the application. Code however doesn't seem to fall under this umbrella.

    Perhaps if you were to distribute and send encryption or security code as a tribute and example of excellent code, it would pass under free speech, but working and real code would rarely qualify I think.

    AS
  • by Anonymous Shepherd ( 17338 ) on Saturday April 10, 1999 @02:04PM (#1940510) Homepage
    Well, then so should source code for encryption be protected; but despite that, the government 'issue' against encryption seems archaic, backwards, and harmful to our own economy and society.

    AS
  • I can see two relitively distinct points in this.

    One one side, one could say that to be art something must be intended to be art. When a painter paints a painting, even if it's done under commision, the only goal is to produce art.

    On the other side, one could say that to be art something must simply be seen as artistic by a segment of the population. This definiton would include code, because I know when I look at a preticularly elegent piece of code I regard it as being as artistic as anything else I've seen. I'm a segment of the population.

    Both definitons have their problems.

    Definition one excludes what I'm writing right now, because while someone may view it as artistic, it is in no way intended to be so (There are probably better examples, but it's late and I'm tired)

    Definition two is too inclusive. You could argue that there will be people in the world who will find anything artistic, there is probably some lunatic somewhere who would consider a murder art. That lunatic is a segment of society.

    We have to draw lines somewhere, the question is where. I honestly don't know, although in my opinion code can be art, but isn't by definition. I also believe that code can be other forms of speach. For example, in the suit which brought this whole editorial about, the code was (in my opinion) as much a form of speach as the lectures the prof. gave to his class. I can see that there are cases in which posting that information on a world wide information service would be government regulatable (under the current laws, which I've yet to decide if I support or not, I'm not well informed enough to make a decision on the topic). So while I think the code was a form of speach, I think the government was right (under the laws still) to restrict his speach. The safety of the state has always been reason enough to regulate speach.

    The above are my thoughts at nearly 2am, they might not even resemble the ramblings of a sane man, I hope they make sence to other people.
    -Ted
  • (Preamble: this is somewhat off-topic... just a thought or 2 that popped into my head unbidden while reading the above post.)

    However if sombody dropped ten million copies of the plans over NYC by airplane, it's dubious if the courts would uphold prosecuting anybody but those involved in the air drop.

    ...and then what?

    Or, let me put it another way... suppose that someone writes a virus -- similar to the Melissa virus of a couple of weeks ago. Except that instead of containing a list of porn sites (IIRC, that is the "document" that Melissa was carried on), it contained a number of forbidden-to-export cryptography algorithms (in C or something). And let us suppose further that it infected many more machines than the original Melissa actually did -- many of which were outside North America.

    Granted, the original perpetrator would probably be caught, and incarcerated, but then what? Once those algorithms were knowingly "out there," would the US gov't insist on maintaining its ridiculous stance on cryptography exportation?

    This is perhaps more pertinent than the "10 million leaflets over NYC" situation -- very few people would have the prerequisite knowledge to do anything with the nuclear weapon instructions. But it would be much easier to propogate those cryptography algorithms around (already outside the US and hence at this stage perfectly legal) until they reached someone (or more than one) who would have a use for them...

    Like I said, then what?

    Anyway... just some food for thought...

    (Ass-covering P.S.: Note that I'm not suggesting anybody actually do this -- just a hypothetical what-if :-)
    --
    - Sean
  • Source code is not functional. In order to be "functional" something must be done to it. A specific process must be applied, namely compiling or interpreting. Much in the same way that a recipe for a cake does not become a cake until someone puts the flour, sugar, eggs, etc together and puts them into the oven and waits an hour. If you don't have the compiler or interpreter on your system then you simply have a non functional text file.

    Ummm... I, for one, have never quite understood the distinction between source code and machine code.

    Yes, yes, I know the difference! And yes, I know what a compiler is, yada yada yada. But where do we draw the line?

    Why only at the point of it being directly executable? Let me clarify:

    printf( "hello, world\n" ); -- Source code.
    (defun foo (x y) if((< x y) bar(x y))) -- Source code.
    mov ax,ah -- Source code
    53 2a 16 b9 a4 ff f0 00 -- Oops! Machine code!

    And why the distinction? As far as I'm concerned, machine code is simply another form of source code, with the sole exception that it can be executed as-is. I sometimes work on machines that don't have a monitor, as we know it. They have a 4x6 key numeric/functional keypad, a Z-80 microprocessor and a 6-character LED display. In that case, there is no such thing as "source code" -- it simply doesn't make sense. The machine code/executable is the source code -- and I (or anyone who also works with it) is just as able to read it directly as they are able to read ANSI C.

    Given this environment, the simple fact that "source code" cannot be executed directly means little in the overall definition -- as far as I'm concerned, machine code has just as much claim to the name.

    And IMHO, this all renders the argument that source code is not a device because it is necessary to translate it into one (ie: compile it) moot.

    Note that I'm not arguing here one way or another as to whether or not it is a device, it is speech, it is/should be free of restriction, and so on. I'm simply arguing that that particular argument makes no sense.
    --
    - Sean
  • If source code is speech, ALL information is speech.

    Some examples:

    A political tirade against an incumbant
    A political tirade against an incumbant on TV
    A TV signal
    A radio signal
    A cable signal
    A scrambled cable signal
    A descrambled (previously scrambled) cable signal
    A DSS signal
    A screen play
    A movie
    Rembering a movie that was on a DSS signal you received.
    A re-enactment of a movie that was on a DSS signal you received.
    A copy of a DSS signal you received
    A supermarket shopping list
    Bomb making instructions
    A newspaper article
    A book
    Source code
    Source code to an encryption method (is that story about exporting PGP overseas via book and then OCR'ing it true?)
    A physical law (F=ma)
    A logical truism (if a=b && b==c, a==c)
    A method to rasterize (LERP) a line
    Bresenham's algorithm
    An API to rasterize a line
    An API to fill a polygon
    The GLIDE API and SDK
    A VHDL/Verilog description of an ASIC
    A PCADs file describing a PCB layout
    A poem
    A piece of music
    An mp3 (I can read an mp3's data to you, it just takes a long time)
    CDDA Redbook audio on a CD
    ISO data on a CD
    Data on a hard drive
    Microsoft Word

    The fact that people are JUST starting to realize this is more evidence that people are hopelessly brainwashed re: IP/copyrights.

    Where is the line? If the PGP story is true, is the line at a book? Or is it closer to smoke signals? Maybe the other direction... closer to ultra-broadband? Make up your fucking minds already, because I'm tired of all the bullshit.

    Wake up, before the information age passes you by.
    There are more advantages to free exchange of all types of information than anybody realizes.

    For once there is a resource on this planet that is truly inexhaustible, and what do we do? Make up copyrights to make them look like a material resource. Silly humans. 100 years from now our descendants will look back on the sorry state of contemporary IP/copyright law and laugh and laugh and laugh.

    "There is an unlimited supply"
    "We are an edition"
    - Sex Pistols _The_Great_Rock_and_Roll_Swindle_
  • You misunderstand my point.

    I can read you a copyrighted book. That's speech.
    I can read you a representation of a DSS signal in "human speakable format". That's also speech.

    According to the first amendment, those are fine.

    Now you say, "aha, but you are copying information, and that's the part that is illegal, because of copyright law". Fine. Your DSS receiver copies information constantly to decode it. Sooner or later it ends up either in a RAMDAC, where the information is "copied" to your monitor, or a analog video DA, where its "copied" to your PC. I guess I can't watch it at all. Thats illegal.

    How about if I "remember" the movie I just saw? Is that copying it? Am I not allowed to think about what I just saw? Can I tell others about the movie i just saw? Can I write a review? A parody? OH yah I forgot, we have another lame hack that covers that - "fair use". Swell. Yet another kludge.

    How about the information that is "copied" from my retina's receptors to my visual core?

    Don't like those examples? How about this one:

    The EM spectrum (light) from your CRT is constantly being radiated. If I point it up, say to the moon, and somebody else splits the light with a refractor, has it bounce around a few times, then send it back, say a few minutes later, is that copying?

    Copyright law is one hack piled upon another. And another. IP is even worse. Time to scrap the whole thing, because our increasing cabilities to replicate and transmit information is going to make Moore's law look like the understatement of the millenium.

    Better rething the whole system before its too late.
  • I think this article misses a huge point. Code can be defined as pure expression on par with verbal communication and that still won't protect encryption code from regulation.

    It has long been upheld that the government, despite the blanket nature of the First Amendment, does have the right to regulate and forbid certain kinds of speech. They do so quite often where national security or public safety would be at issue if the "speech" were allowed to continue AND when the restrictions can be done in a manner that reasonably accomodates the spirit of freedom.

    You can circulate instructions for a generic bomb because it's knowledge that is in the public domain. It would require a witch hunt of astounding proportions to remove that knowledge from the public domain, so even if it is threatening, the government can't forbid it without intruding unreasonably into freedom and public life.

    By the same token, you can't circulate instructions for our most advanced nuclear weapons because these are a closely kept secret and the regulation of that speech can be closely targeted and still have it's desired effect. However if sombody dropped ten million copies of the plans over NYC by airplane, it's dubious if the courts would uphold prosecuting anybody but those involved in the air drop.

    Specifically on the matter of strong encryption, I think that this is the case that needs to be made. Since laws can do nothing to revoke access to knowledge about strong cryptographic algorythms already in widespread circulation in the international public domain, continuing to prosecute people for "saying" this stuff is absurd.

    On virii, supercomputer code for nuclear blast simulations and the like, it may well be the case that the government can recognize the code as speech and still have quite good reasons to throw your ass in jail for publishing it. That is the case THEY should be making, not some bogus garbage about code being a "device".

  • I think that, given the pseudo-philosophical bent of the article, what he is doing here is referring to an old argument from the philosophy of language. Wittgenstein basically argued that there cannot be a language that only one person can speak. It begins with the supposition that a person assigns signs to sensations, wher these are taken to be private to the person. He then argues that this supposition cannot be sustained because because no standards for the correct or incorrect application of the same sign to a recurrence of the same sensation are possible. Basically, all this means is that a language that only has subjective meaning (that is subjective in the strict philosophical sense of the word - if it only has subjective meaning the signs only suceed in referring to a sensation when the assigner of the sign uses them) is not a language because it fails one of the necessary conditions of languagehood - its signs cannot communicate meaning to others. Thus, something doesn't count as speech if it only makes sense to the speaker and only could, in principle, ever make sense to the speaker.
    All of this, seems beside the point, however. Obviously code is written in a language. And obviously utterances of a language count as speech (as do its written utterances as the signs of the written language convey the same meaning as the signs of the spoken language). So what? The question is do we have an unchecked right to communicate all ideas. Do we have a right (moral or legal) to communicate the ideas embodied in all pieces of code?
  • Actually, that's the sort of problem that a lot of people raise. It should be considered language, though because: A) its signs will refer to non-privileged things in the world. Which is just to say that they don't refer to things that are only accessible subjectively to the assigner of the signs (like sensations). B) since it is a mathematical theory its propositions will have to relate to each other using rules of logic, and are thus accessible to anyone who understands those rules (at least in principle). It may be the case that no one ever succeeds in decoding the paper, if it is at least theoretically possible to do so, it will count as a language. I suppose, then, that a government could ban or otherwise stop the distribution of the paper. Which still brings us back to the simpler question of whether or not the government has the right to restrict the free flow of ideas.
    Source code is in essence simply something that instantiates an idea. It's the idea that the government is regulating by regulating the source code that realizes it. I mean, any number of different lines of code can be used to output the same function. A program can be written to perform exactly the same function in several languages. So it's not the source code that is important it's the ideas that they implement. Can the government restrict your right to share your idea? If it's ok to tell someone in english how to implement an encryption program, how does it differ to give them the source code. It really only differs in levels of abstraction. The english is not sufficiently precise to implement the encryption program, so it has to be translated into a program that is then translated into machine language. But the english, the C (or C++ or Pascal or COBOL) all perform the same communicative function. They all describe encryption (the idea).
  • Of course it's silly to talk about whether or not code is speech. It most decidedly must be speech. I had intended to make this point, but you've made it much more precisely. It is only by clouding the point that code is speech that the government can pawn off on us the idea that:
    1) code can be made illegal to export
    2) that the ideas expressed by code can be made illegal to share
    It's the height of stupidity not to see that the moral and legal bases for checks on the sharing of code are ridiculous. It's just the coldwar psyche of governments that pushes this sort of stuff on us. The free exchange of information just isn't in the national interest. With enough of it, we would see how silly nations are, and that just isn't in the national self-interest. Unrestricted individual liberty (of which truly free speech - which does not exist in the good ol' U.S. of A - is the most important part) recognizes the individual as the most important political unit, but democracy recognizes society collectively as the most important political unit. The free exchange of ideas is ultimately undemocratic, uncommunist, and un-everyothersortofpoliticalideology.
  • Wait a second! It appears to me that Erik does not grasp the First Amendment correctly. The establishment of free speech was *not* merely to ensure that political speech was unhindered; it was to recognize the *natural* right *to* free speech. To argue that the "right" of free speech was *established* is to argue that the so-called "right" is ONLY a privilege. He goes on to say that 'the US has widened what is considered"political" speech.' Wrong end of the telescope again. More correctly, the Supreme Court has carved out certain exceptions to the ABSOLUTE right of free speech. The right to free speech existed *before* any laws were made about it. Thus his argument that the First Amendment is 'invisioned' [sic] to protect political speech is simply incorrect, and thus any further argument based on that notion is also incorrect.

    From *my* perspective, source code, being an expression of an idea, *IS* free speech and the government has to meet a very high standard in order to restrict it in any way. Now, in a sense, I do agree that Source Code is unlike other types of expression in that it is both a machine and an expression at the same time. However, that it is a machine puts it squarely under the domain of the Patent office. We don't need another pile of regulations.

  • Is art free speech? Sure - but what if a painting hung in a gallery also depicts, in sufficient detail, military defence plans or other legitimate technological secrets (if any)?

    Is a play, either in written form or the performance thereof, free expression? Naturally - but one must question the extent of this protection when you read OR hear something like:

    "BRUTUS: Whew! I sure hope everyone sitting in this audience goes out an kills someone tonight! Someone kill that guy - you, in the blue sweater!"

    Whether or not program code is subject to free expression or free speech protection (I personally think it ought to be) is irrelevant: it is subject, like all protected free speech, to those reasonable restrictions that are already in place. You cannot cloak illegality or a -clear- attempt to compromise state security under the rubric of free speech.

    Now - don't get me wrong - US export laws concerning cryptographic technology are NOT reasonable or legitimate restrictions when placed in the context of intellectual and technological freedom: the issue is not the form of the communication, but the content of that communication. Cryptographic technology ought not be subject - as content - to security regulations, but arguing the case in terms of the form of that communication side-steps the issue.

    I.
  • Free software has nothing to do with free speech (except using "free" to mean nearly the same thing): free speech is a right protected by constitutional law; free software is a category of software.

    What everyone else here is talking about is whether source code can be considered a human-to-human communication that is protected under U.S. law. Mostly re. the export of encryption programs (BTW, everyone, who says that free speech law protects the right to say things to people in other countries? Also, free speech doesn't protect you if you learn military secrets and repeat them). What you are talking about is the right to freely copy, use, and modify software.

    Even if you consider source code to be speech, it would still fall under copyright law, so whether you're free to "say" it or not has no bearing on whether everyone can freely copy it and use it for other things.
  • "the \"fire in crowded theater\" analogy covers destructive virii quite nicely"

    Not really, as the damage caused by such utterances is all due to the reactions of humans who hear it. A virus can cause damage without ever being detected by humans. However, it does nicely cover the whole area of those email messages that yell "Virus!".

    example:
    Topic:Fw: Good Morning
    Body:This is an urgent warning from the National Institute of Virus Control.

    If you receive an email with the topic "Fw: Good Morning" do not, repeat: do not open it! It will install a virus on your computer, destroy all of your data, mark you for an IRS audit, and render you impotent!

    As we cannot reach everyone on the internet, please forward this to all of your friends ASAP. You will be doing them, and your country, a great favour. God bless America!
  • It would have been legal if the source code was printed on a piece of paper (e.g., PGP source code was legally exported out of the US in book form). So the current law appears to be that it is legal to distribute if it is printed on paper, but not if it is distributed electronically. Eventually, the courts will rule that electronic speech is protected just as much as paper speech.

    Also, the courts will just add more confusion if they try to distinguish between natural language speech and source code. The division is not clear-cut. What about pseudocode? What about incomplete source code intermixed with comments describing what is left to be done? Given the paranoia about encryption, the courts will probably make a mess of it at first, but at the end of the argument (maybe a long, long way away), if something is encoded in bits, there is no good test to distinguish it from natural language speech.

    That said, dangerous speech has always been held to be illegal, so maybe that could be an argument that will be used here.

  • : I don't think source code is any more a form of speech than a recipe
    : for a cake, a set of instructions to make a bomb, or a to-do list to
    : get one through a day.

    And those are all protected under free speech.
  • I'll think this through. A program is a set of instructions. In binary form, it is a set of instructions only for the computer. But, in source form, it is a set of instructions for both the computer and other programmers. If this source can give instructions to people, and a method of giving instructions to someone is a form of speech, than source code is a form of speech. We all agree that communication in any form, writing, talking, sending little encrypted messages, etc. are forms of speech protected under the law. How then, is this any different?
  • If all else fails, then publish your psuedo code and algorithm instead of code.

  • To say in a blanket statement that all code is expression of some sort is correct and yet incorrct. Yes the action the code is designed to make/take (all depends on your view point) can indeed prove to be a form of expression, but do we consider calculators and the code that causes them to calculate human expression? Or is it the "calculated" input on the part of the user that brings about the desired output the actual expression as opposed to the code that allowed it all to happen? This is what it is all about isn't it? Human expression? Code can be writen in such a way as to be able to be considered expression, especially if it renders a consistent desired output. However, the question still remains, can plain simple code of any type be considered expression? I feel it is not, unless it is writen in such a manner as to express the inner soul of the programmer.

    And we have now gotten to the philosophical question, is all we think say and do an expression and if so is my driving down a residential street at 100 MPH a form of expression? and if so is the ticket I receive a form of impingement on the right to free expression? Where is the line drawn and does there need to be a line drawn to delineate? Ah it's too late to think beyond terms of code. I need some coffee or some sleep I'll leave it to you to decide.
  • Clearly folks, code is a "circuit". It is a plan, a concept that works. It is not communication. After all, your code just gets translated to 1's and 0's at some point for the real effect.

    But, now for the kicker. Certain companies are trying to sheild technical designs with copyrights of sound. One of the phone companies (GE? AT&T?) is trying to copyright the sound of a modem dialing in and Harley Davidson is trying to copyright the sound of their special engines. The claimed result? That no one can use those sounds. The actual result? No one can make a machine that makes those sounds.

    This means effectively that no one can use that particular modem string and protocol and no one can make an engine using the same concept as a Harley Davidson machine.

    I particualarly _like_ patents and controls as long as we don't go to far down the slippery slope. If you invent something, release it quick under a free license so that everyone can use it.

    But, also, remember that when you code Linux so that IBM can use it to build an incredibly powerful cluster in days, so can any terrorist throughout the known world... without having MS's piracy patrol trying to shut them down. It's the old "fire" in a crowded theater debate.

    The problem with code is that it's instantly transferrable and doesn't deteriorate. You can hide the plans to a missile in a desert compound, but when you post code that _anyone_ in the world can freely copy, you might as well be posting the instructions for how to build a missile. The computer technology for weapons creation is just as important.
    -------------------------------------- -----------------
  • Lets ammend the Constitution to add to the Freedom of Speech and be done with it. Who cares if it's speech or not, shouldn't everyone be able to express themselves as they wish?
  • I agree that we don't want physical devices to be categorized as free speech. But I think it's
    also undesirable to say "no source code is free speech". Suppose I put code in a textbook I'm writing, because it helps the reader learn. I was doing some Perl hacking last week and found the source code examples in the O'Reilly book invaluable. In that context, the source code looks to me a lot like the English text surrounding it.

    But suppose that we do decide that source code should not be called free speech. What about pseudocode that isn't compilable/interpretable/runnable on any known computer/virtual machine/etc.? Should that be protected? Suppose not. Then what about instructions for how to do something written in plain English (or pick your favorite natural language), like a recipe for brownies?

    Where do we draw the line? Are all things that describe how to do things not free speech? Should we say that if a computer can interpret it it isn't free speech and otherwise it is? What if some such list of instructions is not now but is someday interpretable by a computer? Does its status change from free speech to not?

    This is a very thorny issue, IMHO.
  • First, I apologize for the pseudo-english in the topic. Translation:

    "The point is not whether or not code is speech, the point is whether or not the internet is export."

    The question of whether or not code == speech is really being debated for no reason. Personally, I think the answer is yes. Here's why:

    Anything that communicates something can be considered under free-speech laws. But there are zillions of things that are restricted, that could be considered communication. Why? Because they violate a value held higher than free speech. For example, you can't express yourself in the manner of shooting someone, because we value personal safety more than free speech. So the question is not whether or not code is speech, the question is whether or not "Communication for the purpose of strong-encryption" is against the law in the same way that "communication for the purpose of prosititution" is. And, unfortunately, if the government says that it's against the law, then the government is right (for all intents and purposes).

    Whether or not it should be against the law, is a much more interesting question in my mind, and has nothing to do with free speech. It is the fact that by placing this information on a web page, the professor provided outside countries with access to the information. This is what's considered illegal, and what should be debated.

    I'm not real knowledgable on the topic of export (I'd sure like to learn more, though), but it seems to me that any country with computer geeks in it is going to come up with strong-encryption on their own eventually. I don't think (from a political point of view) it's worth the trouble of trying to convict sympathetic university professors to extend the exclusivity of the information.

"When the going gets weird, the weird turn pro..." -- Hunter S. Thompson

Working...