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?"
~~~
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.
Are we walking into a case of patent infringement
Have you searched?
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
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.
**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**
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.
... dumb, but normal ...
... 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.
... 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.
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
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
utter rubbish
or call a lawyer well versed in technology and patent law.
CmdrTaco, you are a complete ass... This "SLASHDOT" is in the doldrums.
Taco, you are a far cry from a Linus Torvalds or an Alan Cox, who can work WITH people and their community to make things BETTER; you make this place suck worse. You suck. You wield your stick of power, you and your fag editors.
John-fucking-Romero selling a car on Ebay? Indiana Jones 4? ANIME? You want anime? Take an episode of King of the Hill , cut the frame rate to 5 FPS, use thick black marker around the characters, incorporate lots of flashing lights, and come up with retarded character names like "Super Duper Atomic Man With Utmost Respect For Scallop". There you go, anime.
You don't have to be a KRESKIN to see that IT IS OVER. There is something, as Jeff K would say, SI BETTAR.
Oh yeah, CmdrTaco, remember when you linked to http://www.somethingawful.com/ , and you knew that Lowtax (who is a real person unlike Fag Rub Mold-aaaah) was having server trouble, and he made any slashdot referred hits go to goatse.cx? Remember that? Remember how you were a baby a FUCKING DELETED the story? You cry baby fucking tool bitch. Lowtax is god, you are a bitch. I hope your faggy cmdrtaco.net pictures end up on CLIFF YABLONSKI, and I hate you too you scum sucking mold queen
I would never presume to make Slashdot a 'freshmeat.net' or a 'sourceforge.net', that is to announce every picayune release of every little open-source project, but there have been some gross oversights here - particularly in light of the fact the very site and community relies on various core technologies and the distributions that in turn support those applications. My gripes are no longer relevant, as several releases of important things have gone unnoticed and honorable maintainers of the unsaid projects don't get recognized by the site that proclaims to be "news for nerds." What a crock.
I have also attempted to post using precedent. Doesn't help. What was front page worthy a week, month or year ago isn't again because I'm not an editor - even if the context and circumstance is the same. Bill Gates could die, and I'll bet anything I would never get the post, even if I knew a day in advance. Death, dark, painful, death to you who hold the scepter of power.
You betrayed your community, you are a lucky bitch like Bill Gates, right place, right time. I hope to the powers that be you quit being the "leader" of this dirty unreadable mess you call slashcode and hand the scepter of power to someone who can RESPECT his community.
And a tip for you; you elitist jerk: Tell people why, besides blind stupidity or bias, you reject stories! You can't - that would be like seeing the M$ source code, it would be a laughing stock to actually reveal your twisted half-assed reasoning.
No wonder the Taco Snotting FAQs and all sorts of shit comes out on here, and all the crap flooding and trolling. YOU FAILED as a leader, you betrayed your community and you suck. I love slashdot for the others that come here, and the news ends up being better than shit (not hard to do in a world full of mega-omnipediaplex corporations that spew forth garbage 'news'), but the editors here are biased, unfair and categorically suck; I hope you all re-evaluate how lucky you are to have jobs, you suck at interviews, you suck at content and community management. You are not the "portal for nerds," the Yahoo for nerds if you will. You are a petty band of garbage vendors who have duped a larger company into giving you jobs so they can spray ads in our faces.
Give this project to a real person who has sex with people and doesn't fuck blow up dolls of anime characters and plays video games and "hack" Perl for a living. God damn loser. And pick up a book on Perl idioms. And your fucking arcade thing is so fucking gay, why would you want to stand and play a fucking game? Fucking retard.
DIE.
Reading Slashdot with a threshold to prevent reading stupid stuff is like putting a shit filter on your ass. The problem is, some of the worst SHIT comes from the editors.
I think that the anti-Microsoft sentiment is simply due to their having been so successful selling a lot of crap. -Woz
ALARM! ALARM! He's packing! - Lee Hong's Chink from Hitman Codename 47
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.
Method of processing duck feet
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
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.
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?
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:
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.
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.
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.
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')
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
"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.
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.
But c'mon, tell us what you really think.
That's why we have the patent system. Duh.
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.
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.