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

40 comments

  1. Whenever . . . by Anonymous Coward · · Score: 0
    . . . you didn't SIGN a LEGALLY BINDING agreement saying that you wouldn't. IOW, not in most cases.

    ~~~

  2. The Legal Issue Isn't The Patent... by Ieshan · · Score: 0, Offtopic

    It's whether or not it's legal for a software firm to market only to a specific operating system.

    Reasoning states that it's completely illegal for a software firm to only sell to a single operating system manufacturer without giving their code to other operating-systems so that they can produce a workable solution.

    Picture this: Hot-Dog Bob buys Ketchup from Heinz. Heinz refuses to sell ketchup to ANY other stand, because they like the way Bob does business. Is this legal, to deprive all the other Hot-Dog stands of a widely used condiment on the basis that they like the way bob does business? (without even adressing the concerns of the other hot-dog owners in general?)

    I don't really think so. Software is as basic a part of computing as the operating system is, and being that way, the company should be required to allow distribution of their specific application across a multitude of platforms. After all, that's all software really does: a function, a thing. A tomato-taste.

    1. Re:The Legal Issue Isn't The Patent... by highcaffeine · · Score: 1

      Please don't take this personally, but the analogy is not only incorrect, but absurd. Yes, it would be perfectly legal for Heinz to only do business with Hot-Dog Bob if they like his hot dog stand better than any others. Would Heinz be shooting themselves in the foot by not providing wider dissemination of their product? Of course.

      But that doesn't change the fact that they are allowed to do so. Heinz cannot be forced to sell their ketchup to Hamburger Fred if they decide they don't want to. They don't need any reason other than not wanting to. Why do you think you see computer stores that advertise "Sony/Apple/etc. Authorized Dealer"? It's because those are the stores that the respective company chose they wanted to sell to. Conversely, I cannot just open up a little hole in the wall computer store and force Sony to sell to me.

      The only analogy that could make sense for the purpose of your argument would be comparing software distribution to the utility monopolies. Dominion Virginia Power can, unlike Heinz, be forced to sell their electricity to Hamburger Fred's corporate office, presuming he lives in their service area, signs up for an account, has a credit history that passes the minimum requirements and adheres to all the rules of paying on time, not reselling the power without prior license/consent/approval/whatever. But, the difference here is that DVP can only be told to do so because they are Hamburger Fred's one and only option for connecting to the public power grid.

      Ketchup, and software, are nothing like that. There is no "natural monopoly" on software. There may be some unnatural obstacles such as patents and illegally aggressive business practices by other companies, but just because ACME Corp. sells a word processor does not prevent JimBob Inc. from selling theirs as well.

      Consider the following situation. XYZ Inc. sells graphics software for the Mac OS platform. They're a small company but make a great product that graphic designers and artists on Macs dig. But, they don't have the resources to target multiple platforms right now.

      Well, sucks for people not using Macs that may want to use that program. Oh well, there's nothing stopping another company, or even an open source project, from making a similar product for other platforms, except time and money.

      So, you say, "Well, I don't have the time or the money, but I really want that software." Well, XYZ Inc. may want you to have the software, too, but they don't have the time or money to do so.

      Basically, your position boils down to that you aren't really interested enough in that software to either do it yourself, buy in to the necessary platform or make it financially viable for the company to add the resources to get it to you. You would rather legislate to them that they must cater to your whims of platform, regardless of how thin it will spread their resources.

      In fact, in your second paragraph you even go so far as to state that XYZ Inc., if they don't have the resources to provide a Windows version of their software, should "[give] their code to other operating-systems so that they can produce a workable solution." Does that mean that if XYZ Inc. can't afford anything but a Mac version they should just hand over their code to Microsoft (for a Windows port), Palm (a Palm and Be port), IBM (AIX, z/OS, etc.), Sun, HP, SGI, RedHat (or any other Linux distributor -- or should it be Linus, the copyright holder, or FSF the license's creator) and the other dozens of companies and individuals that create or maintain operating systems?

      Where do you draw the line with operating systems? What if the current owner of a PDP-11 says they want a port of the software, however infeasible? Is XYZ Inc. forced to either devote their own resources to it or hand the code over to AT&T? What about Mac OS 5? It's a deprecated operating system, but there may be someone out there that still uses it. XYZ Inc. makes a Mac version, but it will almost certainly not work on such an old version. Who are they then forced to hand the code to for the Mac OS 5 port? I'd be willing to bet my next several paychecks that Apple would laugh at the idea.

      What about software that doesn't, and simply never will, run on other platforms? I may really want 12" tape reader control software for the embedded operating system in my cell phone, but it's not going to happen. No matter how much I really want to use my old tapes to backup the phone numbers, it is ridiculous to assert that ABC Inc. (fictional company; I don't actually own a 12" tape reader or control software for one) that made the software for the tape reader should be forced to port their software to my cell phone or hand over all their code so that someone else can do it. If they don't want to do so, then it should be their decision.

      The real world doesn't work that way. And in a free market society, it should never have to, because we have the choice to either make it financially worth the company's while, find another company with a similar product who does cater to our needs or to try and do it ourselves. But we should not be able to dictate their platform to them through any means other than as consumers who may or may not purchase/use the software. It's a different matter when the platform choice is part of contract development between businesses, but then just about all the rules are different.

      Practically no software company could survive if things worked the way you suggested, and we would all be the worse for it.

  3. Search? by Score0,+Overrated · · Score: 1

    Are we walking into a case of patent infringement

    Have you searched?

  4. You're Kidding, Right? by V.+Mole · · Score: 1

    Of course it's legal for a firm to market software that runs on only one platform. You can't require a company to make products for all available markets and users. You can't, in fact, require a business to do business with anyone. What you can do is require that a company not treat equivalent buyers in different ways: if you offer a discount for orders of ketchup by the case, then you have to give all the purchasers the discount. But even that is fuzzy, as defining "equivalent buyers" is pretty much up to the company.

    I can't believe that got modded up

  5. many already doing this by topside420 · · Score: 1

    Although I am not sure on the legality of the issue, it is common practice to reverse engineer file formats. What concerns me is the act being viewed as stealing raw data from a file. So what I would think that it would be legal to reverse engineer the format, but not steal the data within those files. This would allow you to create your own files based on your data and have the same file format.

  6. Here's your answer by Anonymous Coward · · Score: 1, Troll

    **Insert "I Am Not A Lawyer" header**

    **Insert open source statement, explaining everything should be free as in beer**

    **Insert obligatory anti-Microsoft statement**

    **Insert funny sig**

    1. Re:Here's your answer by el_chicano · · Score: 2
      **Insert "I Am Not A Lawyer" header**

      **Insert open source statement, explaining everything should be free as in beer**

      **Insert obligatory anti-Microsoft statement**

      **Insert funny sig**


      Nice try. Next time use your Slashdot login and you will get an "interesting" or "insightful" instead of "troll"...
      --
      A man who wants nothing is invincible
  7. 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 sigwinch · · Score: 2
      File formats are not patentable...
      Not true. Remember LZW/GIF, with the patent held for many years by Unisys.
      --

      --
      Kuro5hin.org: where the good times never end. ;-)

    2. Re:Reverse engineering by IpalindromeI · · Score: 1

      I think the patent was actually on the compression scheme involved, not the file format. You can use uncompressed GIFs where the patent issue doesn't arise. Thus using the same format, but not the specific, and patented, LZW compression.

      --

      --
      Promoting critical thinking since 1994.
    3. 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.
    4. Re:Reverse engineering by AnalogBoy · · Score: 2

      Ya know, anywhere else, this would have been the end of the matter. But here, most people will just seek the opinion of 10 16 year olds who begin their posts with "IANAL, but.." then say the collective grey matter would outweigh your professional statement.

      I have to admire you. You haven't given up on slashdot like I have. Either that, or your FUD filter is broken.

      Only reason I mention this is i love it when a statement is made by someone completely in the know, and then is more or less ignored.. Kind of like "NO! NO! It makes sense, but it's not what I want to hear! NO!" response.

    5. Re:Reverse engineering by ninewands · · Score: 2

      Remember LZW/GIF, with the patent held for many years by Unisys.

      Actually, the Unisys patent was on the LZW compression algorithm that produced the data stored in the file. The GIF file format itself was developed and owned by CompuServe, and it was NOT patented.

      I would submit that if one developed a different algorithm (NOT a reverse-engineered implementation of LZW) that produced the same output data stream LZW compression does and wrote the data out to a GIF formatted file, you would have nothing to fear from Unisys because all their patent covers is the LZW algorithm.

    6. Re:Reverse engineering by ninewands · · Score: 2

      I'd like to see some case law upholding a patent on a data file format rather than on the algorithm that produced the data stored therein.

  8. Either get explicit permission... by bihoy · · Score: 3, Insightful


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

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

    1. Re:Consult your lawyer, of course! by zfalcon · · Score: 1

      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.

      I have the 100+ years of National Geographic on DVD-ROM, and all the pages are just .jpg files. Searching is a different matter, though.

    2. Re:Consult your lawyer, of course! by Spoing · · Score: 2
      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.

      Hmmm. [punches in 'geographic' on freshmeat.net. Clicks on first link.] Do you mean something like this?

      1. http://cpl.net/~driesz/magview
      --
      A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
    3. Re:Consult your lawyer, of course! by Deagol · · Score: 1
      D'oh!

      Thanks for the link. I've never seen the NG CD series in person, just pondered whether to invest in them. Good to see something like this available.

    4. Re:Consult your lawyer, of course! by URSpider · · Score: 1
      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.

      A few years ago, a friend of mine wrote a Linux/Unix app to access a CD-ROM encyclopedia. He had bought a copy of the CD, but it only came with DOS software. Then he released the app as open source, figuring the dictionary folks would be thrilled that he was opening up an entirely new market for their software -- this was in the days before CD-R's, and you would have had to buy the package to use the disc.

      A few months later, he got a cease-and-desist letter in the mail from the dictionary company's lawyer. Seems they viewed this software as a violation of their license agreement. Whether it was or not is anyone's guess. Not having the money for a legal fight, he withdrew the software.

      The moral of this story: Be prepared to pay through the nose for the privilege of being right.

  10. Black box by nzelnick · · Score: 2, Insightful

    As long as you can prove that you're working from pure deduction, you should be fine.

    Check out this Cringely piece on reverse engineering.

    nz

  11. Not really by Anonymous Coward · · Score: 0

    Heinz would, in fact, have some legal standing if they had to rewrite the "ketchup code" for each of the other vendors.
    So it's really not the same at all.

  12. Not really by itwerx · · Score: 1

    Heinz would, in fact, have some legal standing if they had to rewrite the "ketchup code" for each of the other vendors.
    So it's really not the same at all.

    (And how the heck can I delete an accidental post anyway? That AC above is me and I need/want the karma points! :)

    Adding a bit more as I wait for 2 minutes...

    As for legality, the DMCA would have us believe it's not legal at all, however, I believe that depends on the manner of reverse-engineering. The code itself is apparently off-limits, but I wouldn't think the file-format couldn't be poked and prodded to the same end.
    IANAL, ITALITH (Is There A Lawyer In The House) who can refute this?

  13. 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.
  14. License problems by archnerd · · Score: 1

    Many licenses forbid you to reverse engineer software. I'm not sure how they get away with or enforce this. Anyway, if that's not in there, you can use the reverse engineered code up to whatever amount is permitted by the fair use doctrine. As for patents, I seriously doubt they bothered but you ought to check just in case.

    1. Re:License problems by Anonymous Coward · · Score: 0

      IANAL, so take this with a grain of salt.

      Contract the work out to people younger than 18. They are "infants" under the law and are not bound by any contract that they might enter into. Have them buy the software in boxes. Since reverse-engineering is permitted under copyright, they are doing something completely legal. Have them publish the format openly and you're free to use it even if, God forbid, it turns out that prohibiting reverse engineering is permissible in software licenses.

  15. DMCA by fliplap · · Score: 1
    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.


    Now, the problem you MIGHT, run into, is if they decide to change this format with a small "bug fix" patch. They could provide to conversion utility for current users. This patch could simply apply trivial encryption to the files and you would be (legally) powerless to reverse engineer or "crack" it.


    Just another reason the DMCA goes way beyond its bounds.

    1. Re:DMCA by sconeu · · Score: 2

      Ah, but the cracking of encryption is only illegal when used to control access to a copyrighted work, without permission of the copyright holder.

      Since it would be their own data they'd be cracking, it wouldn't be a DMCA violation. Or are you suggesting that "all their data are belong to MicroCal"?

      --
      General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
    2. 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.

  16. Wrong question. by Anonymous Coward · · Score: 0

    The question should be:

    "When is it illegal to reverse engineer (software)?"

    Or perhaps "Why is it illegal to reverse engineer (software)?"

    Not that this will keep bastards from attempting to thwart you with lawyers, paper and ink.

  17. MacLink made a career out of it! by JThaddeus · · Score: 1

    I see nothing wrong in reverse engineering a file format. I've written such tools before. It's done all the time, even by the big guys. Microsoft reads WordPerfect and visa-versa. Used to be Lotus 1-2-3 and Excel could swap files. And look at Sun's StarOffice--reads and writes MS Office file formats. When I was working at NASA, the most popular piece of software we had for Macs and PCs on our Network was MacLink for converting popular Mac formats (like MacWord) to PC formats (like WordStar and WordPerfect; a time before Windows).

    --
    "Love is a familiar; Love is a devil: there is no evil angel but Love." --William Shakespeare ('Love's Labors Lost')
  18. 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

  19. just do it by mikeb55121 · · Score: 1

    "Just Do It" as nike says it wont really matter and it wont hurt if you dont tell them c'mon now who hasnt copied a micro$oft product and just look at it my way since micro$oft is counted as a monopoly and since monopolies are illegal in the united states micro$oft is really just an illegal company whit no soul or no consideration for the free use of human knowledge which should be free for us all to use.

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

  21. Re:Whenever . . . CmdrVile need to DIE. by Anonymous+Coed · · Score: 1

    But c'mon, tell us what you really think.

  22. Reverse engineering is legal in the US by alcibiades · · Score: 1

    That's why we have the patent system. Duh.

  23. my 2 cents by SigmundK · · Score: 1

    in my opinion, this isn't at all an immoral thing to do. just rewrite the file interaction stuff. in my opinion, this would be more difficult than immoral, because the compiler takes away the comments.

  24. Engineering Firms Do it all the time by LWolenczak · · Score: 2

    Engineering firms that do Human-Machine Interfaces do tons of reverse engineering.... If the goverment, the bsa, and other groups were to keep egineering firms from reverse engineering stuff... there would be no advacnes in plant control technology, plus in order to improve the systems, everything would have to get replaced, from the programable logic controler in some cases, to the network wireing, and up. Hell, some sapp wouldnt have his nice ORDT software if it wasen't for some acts of reverse engineering.