Slashdot Mirror


Is Code Protected by Free Speech?

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.

17 of 98 comments (clear)

  1. lord, how long will this go on... by Anonymous Coward · · Score: 2

    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

  2. What about virii? by Jeff+Licquia · · Score: 2

    Virii (viruses?) are legal to write, no question. What's illegal is spreading them and causing damage.

  3. It's not so much speech... by Millennium · · Score: 3

    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.

  4. One thing... by Millennium · · Score: 3

    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.

  5. Let's look at some parallels by Bruce+Perens · · Score: 3
    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

  6. The Nature of Code... by trims · · Score: 2

    "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

    --
    There are always four sides to every story: your side, their side, the truth, and what really happened.
  7. lord, how long will this go on... by dirty · · Score: 2

    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.

    --

    -matt
  8. Code is speech by Royster · · Score: 2

    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.

    --
    I have discovered a truly marvelous sig, unfortunately the sig limit is too small to contain i
  9. The Nature of Code... by Anonymous+Shepherd · · Score: 2

    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

    --

    -AS
    *Pikachu*
  10. Security issues by Anonymous+Shepherd · · Score: 3

    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

    --

    -AS
    *Pikachu*
  11. Very interesting point... by Anonymous+Shepherd · · Score: 3

    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

    --

    -AS
    *Pikachu*
  12. Security issues by Anonymous+Shepherd · · Score: 3

    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

    --

    -AS
    *Pikachu*
  13. Disseminating "unfree" speech to many people. by SeanNi · · Score: 2

    (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

    --
    It's a fine line between trolling and karma-whoring... and I think I just crossed it.
    - Sean
  14. Code, Speech, Source Code, Machine Code by SeanNi · · Score: 2

    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

    --
    It's a fine line between trolling and karma-whoring... and I think I just crossed it.
    - Sean
  15. Code is speech, but not "free" speech. by brad.hill · · Score: 2
    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".

  16. It's not so much speech... by wendygjr · · Score: 2

    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.

    --
    What is an illusion?
  17. Is sound protected? by mrfusty · · Score: 2

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

    --
    -------------------------------------------------- -----
    In the wonderful world of cats, Mr. Fus