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. Either get explicit permission... by bihoy · · Score: 3, Insightful


    or call a lawyer well versed in technology and patent law.

  3. Consult your lawyer, of course! by Deagol · · Score: 3, Interesting
    That said, it probably isn't clear cut.

    I used to work for a small point-of-sale company. We had one programmer who's entire purpose in life was to do data conversions. If the competing company wouldn't open up their file format, he'd tear it apart in order to import our customer's existing data into our own system.

    Sometimes it was even simpler: tell the old software to dump a full report to text file, massage with your own tools, then re-import into the new app. :)

    I never heard of any legal scuffles as a result. And we'd often release (to customers) small utilities that would do the conversions.

    I mean, there's an entire class of software devoted to pulling data from various closed formats. Given the extensive lists of some (I can't recall any names right now), I find it hard to believe they "licensed" the right to read those file formats from every single company.

    On a related note, there are 2 apps that I'd love to see on Linux, but only have Windows versions. The first is the Unabridged Oxford English Dictionary 2nd Edition on CD-ROM, and the other is that huge CD-ROM collection from National Geographic that spans from 1888-2000 (or there abouts). Quite a project, to be sure, and I've always wondered myself if I'd catch hell if I ever figured out the DB structures and released the code to the OSS community.

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