Slashdot Mirror


When is it Legal to Reverse Engineer Software?

A not-so Anonymous Coward asks: "I'm the lead developer of SciGraphica, an open source application for scientific graphics that runs under Linux, and is based on Microcal Origin, the commercial application for Windows. When we contacted this company, they let us know that a port for Linux or other operating systems was not in their plans, and that they were not willing to make their proprietary file format available. However, we realized that it is in fact easy to reverse engineer to create a filter that would allow our program to read Origin files. Are we walking into a case of patent infringement, or this is a legitimate solution? If this is problematic, is there a way to allow people to legally have access to the filter?"

6 of 40 comments (clear)

  1. Reverse engineering by ninewands · · Score: 5, Informative

    I'm the lead developer of SciGraphica, an open source application for scientific graphics that runs under Linux, and is based on Microcal Origin, the commercial application for Windows. When we contacted this company, they let us know that a port for Linux or other operating systems was not in their plans, and that they were not willing to make their proprietary file format available.

    Normal ... dumb, but normal ...

    However, we realized that it is in fact easy to reverse engineer to create a filter that would allow our program to read Origin files. Are we walking into a case of patent infringement, or this is a legitimate solution?

    File formats are not patentable nor are they copyrightable. If they were there would be no interoperability between word processors and WordPerfect would still be the standard for WP software because MS couldn't have wedged into the market without being able to interoperate. Yes, reverse-engineering the file format is perfectly legitimate. Do you think Star Division licensed the MS Office file formats from Microsoft?

    If this is problematic, is there a way to allow people to legally have access to the filter?

    Filter? What filter ... just write your program to use the Origin files as their native file format ... and don't be surprised if the company changes the format to break interoperability ... it's been done before.

    As for giving others access to the "filter" you DID say this was an Open Source app, right? Just GPL whatever solution you create and then give it away. However, make sure that the ONLY thing you examine is the data files ... don't go poking around in the binary with a debugger or hex editor. The file format may not be protectable but the code itself damn sure IS.

    1. Re:Reverse engineering by youngsd · · Score: 3, Informative

      File formats are not patentable nor are they copyrightable.

      Whoa, there. Where did you get that from? File formats certainly are patentable -- the fact that particular companies have not patented particular file formats says nothing about the patentability of file formats in general.

      The Supreme Court has ruled that anything made by man is patentable subject matter. As long as the file format is a new one, and not a completely trivial change to an existing file format, then it should be patentable.

      And yes, I am an attorney (a recovering patent attorney).

      -Steve

      --
      Democracy is a poor substitute for liberty.
  2. Microsoft patents ASF... stops reverse engineering by Anonymous Coward · · Score: 3, Informative
    File formats are not patentable nor are they copyrightable.

    Microsoft claims they are - they patented the ASF file format, and forced the author of VirtualDub to remove ASF reading support from his program. See http://www.advogato.org/article/101.html.

    A quote:

    Today I received a polite phone call from a fellow at Microsoft who works in the Windows Media group. He informed me that Microsoft has intellectual property rights on the ASF format and told me that, although I had reverse engineered it, the implementation was still illegal since it infringed on Microsoft patents.
  3. How you should proceed by Walter+Bell · · Score: 3, Informative
    Disclaimer: I am a lawyer in the state of Vermont but this is not real legal advice. If you don't pay me for a consultation, I can't be liable for anything you read here.

    That said, this is a classic case for what we call a compulsory license. Because your vendor does not offer software on a particular platform and you can demonstrate a legitimate need to reverse engineer their software just to make your software work, you should be free and clear. Off the top of my head, your right to do this is protected by the Federal case law created in State of Illinois vs. Netscape Communications Corporation, Horowitz vs. Franklin, and Digital Equipment Corporation vs. IBM. These cases are definitely worth citing when you visit your lawyer (or get sued).

    ~wally

  4. In Europe, if it is for interoperability by Schoinobates+Volans · · Score: 2, Informative

    In Europe, it is, among others, legal as soon as it is for debugging or interoperability purposes, and the only means to do so. Here's the law that says it.

  5. Re:DMCA by schon · · Score: 2, Informative

    The Digital Millienium Copyright Act, while not applying to file formats or reverse engineering, DO apply to encryption. Now, you can go ahead and create and distribute your filter without a problem.

    *BZZT* Nope, wrong. Encryption has nothing to do with it.

    To quote the DMCA:
    (2) No person shall manufacture, import, offer to the public, provide, or otherwise traffic in any technology, product, service, device, component, or part thereof, that--
    ``(A) is primarily designed or produced for the purpose of circumventing a technological measure that effectively controls access to a work protected under this title;
    ``(B) has only limited commercially significant purpose or use other than to circumvent a technological measure that effectively controls access to a work protected under this title;


    Since the contents of the file format are copyrighted material, the file format itself "effectively prohibits access" to the work. Writing a filter that's sole purpose is to read this file format is indeed a violation of the DMCA.

    Now a common misconception is that you can use the following section as an excuse:

    (f ) Reverse Engineering.--(1) Notwithstanding the provisions of subsection (a)(1)(A), a person who has lawfully obtained the right to use a copy of a computer program may circumvent a technological measure that effectively controls access to a particular portion of that program for the sole purpose of identifying and analyzing those elements of the program that are necessary to achieve interoperability

    But you'd be wrong - because this only allows you to reverse engineer the program - it says nothing about the file formats used by the program.