16 ms·
Reverse engineering of competitor’s software cost company big
- kornish 9y agoKey paragraph: > More specifically, defendant had argued on appeal that the lower court’s summary judgment on the breach of contract/reverse engineering claim was improper because the term “reverse engineering” in the license agreement was ambiguous. Plaintiff and defendant offered competing definitions for what they thought reverse engineering ought to mean. Defendant proposed a narrow definition – essentially, that reverse engineering must have as its objective the re-creation of source code. Plaintiff, however, offered a broader definition, encompassing other efforts to “analyze a product to learn the details of its design, construction, or production in order to produce a copy or improved version.” (spoiler: court sides with plaintiff) To what extent can a lawsuit be brought over a system that functions, for many inputs, in the same way as another, separate system? What's the difference between reverse engineering and plain old competition?
- sbov 9y agoTo me, plain old competition is analyzing the system with data that a regular user might use. It becomes more like reverse engineering the more you dig into, to the user, irrelevant technical details of the product.
- jnwatson 9y agoThe defendant acted as a regular user. They ran the SAS compiler and their compiler with different programs and looked for differences in the output.
- oconnor663 9y agoNo idea what the law actually says, but this seems like a job for the "obviousness" standard that we've also got in patent law (for better or worse). If you're poking at a product to figure out details about it that are "not obvious", and then you build a product with those same details, that's "reverse engineering". In this case it does sound like they were trying to figure out API conventions, and not real engineering details, but that's just my cursory reading.
- rayiner 9y agoYou can't, in general, bring a lawsuit based on "reverse engineering." This was a breach of contract lawsuit, where the contract prohibited "reverse engineering."
- mattnewton 9y agoBut, can I effectively threaten all similar competition by having a reverse engineering clause in my EULA?
- swsieber 9y agoThis, I believe, is why everybody is in an uproar over this decision. You put it very succinctly.
- rcthompson 9y agoNot unless they bought your product and agreed to your EULA.
- mattnewton 9y agoBut what if I’m a new social network - do I have to hire engineers who aren’t on Facebook if they have no reverse engineering in their EULA? I’m worrried about it being yet another legal tool to bludgeon small companies with.
- rcthompson 9y agoThat's a good point. For products that "everyone" uses, it seems to give the companies behind those products more power. And further empowering larger companies to go after smaller ones doesn't seem like a good change.
- abhi3 9y agoYour competition should read the EULA and if they were purchasing it with the intent of reverse engineering it then they should abort that purchase.
- AceJohnny2 9y agoIn California, is there any protection for reverse-engineering?
- glibgil 9y ago> As part of its efforts to develop the WPS, defendant obtained a license to use the “Learning Edition” provided by plaintiff This is a contract dispute plain and simple. It has nothing to do with California law and everything to do with civil procedure. You have a contract, and you claim and prove damages. If you want to reverse engineer software, don’t enter into a contract with the maker of that software
- user5994461 9y agoA contract cannot substitute itself to the law, unless the law permits it.
- AceJohnny2 9y agoIn California, the employer can state that I'm not allowed to later work for a competitor. However, non-competes are not enforceable in California, unlike Washington for example. Contract law has limits, and those limits differ on a state-by-state basis.
- DenisM 9y agoSo, basically poking your competitors software with a stick, being an effort to understand its inner workings, is reverse-engineering. When prohibited by EULA it becomes a breach of contract. It does seem overly broad, this line of reasoning left unchecked would imply no third-party replacement parts for any device, because you need to understand the working to make a part... On the other hand if I am creating some new technology, inhave now gained a very effective tool to fight the copy-cats. At least the ones who couldn’t setup a shell company for this exact purpose.
- phkahler 9y ago>> So, basically poking your competitors software with a stick, being an effort to understand its inner workings, is reverse-engineering. When prohibited by EULA it becomes a breach of contract. Correct. The problem with that is you might hire someone who has lots of experience with a product in order to develop a competing one. You have that person tell you how the new product needs to behave. This is essentially doing the same thing, but who is violating the "agreement"? At the time the employee learned about the product, they were a legitimate user with no intent of reverse engineering. They may or may not have personally accepted the EULA (it may have been installed by the IT folks). When they go to the new company, who becomes responsible to any alleged wrong doing? I guess I'm saying there is a grey area where things boil down to intent rather than action, and that makes me think it's wrong (on top of the more obvious issues). On the upside, IIRC there are countries where this activity would be legal and the enforcement of the EULA terms against it are unenforceable. IANAL, so find said country(s) and development practices to circumvent this problem on your own. I think it's unfortunate, but it's exactly the kind of stupid problem that pushed RMS to start the GNU project.
- CrossEye 9y agoI wonder if whatever is left of Netscape can sue Microsoft now over JScript...
- rhn_mk1 9y agoThis decision does not lie well with me. Of course, the competitor agreed not to reverse engineer the software - under the definition "attempting to produce a copy", they definitely did reverse engineer. But does that mean that re-implementing the same interface is reverse-engineering? That would be scary and terrible for competition. No software with a reverse-engineering clause could have a clone. Does Windows have one? If yes, Wine developers could not compare if a game works under Wine correctly. What about APIs? Is it forbidden for US citizens to create NVIDIA CUDA clones now? If someone found a way to reproduce some Photoshop image filter, is it forbidden to compare the resuls? MS Word-produced files? I really don't like where this is going. Thankfully, reverse engineering cannot be forbidden in the EU (unless I'm wrong). EDIT: I guess my main gripe is that if the owners of proprietary "standards" which achieved monopoly can effectively forbid any alternatives, cementing the monopolies.
- andegre 9y agoAlong these lines, would Google be in trouble for Google Sheets, since it can take an excel file and load it?
- deleted 9y ago[deleted]
- evv 9y agoIANAL, but it seems that yes Google could be in trouble there, assuming that the Excel EULA prohibits reverse engineering, and also assuming that Google did actually use Excel to compare the behavior of opening different files. It also depends if Microsoft had published the xls[x] spec, and under what license.
- siva7891 9y agoSo Instagram copied Snapchat features. Say Snapchat mentioned in its TOS that you should not use this product to copy the features under reverse engineering and it proved that Facebook employees did it. Does Snapchat has a legal claim?
- megablast 9y agoOnly if Instagram used the Snapchat app to create those features. If someone told Instagram about the feature, or they read about it online, and then implemented it, they are not reverse engineering it. And you would have to wonder how it would work for simple features, that can be communicated in a few sentences.
- valuearb 9y agoHmm, startup idea. Reverse engineer SAS software, without using SAS software. Just rely on public documentation of SAS functionality/APIs, and test with SAS code shared from customers.
- lucb1e 9y agoOr RE WPS' software after they went bankrupt. Sell it back to the founders of WPS for bonus points.
- dredmorbius 9y agoI'm not sure if Fruit of the Poisonous Tree, or a similar doctrine, applies here. FotPS generally appies to evidence rather than copyright or contract, but I seem to recall this argument being made. Years ago.... https://en.wikipedia.org/wiki/Fruit_of_the_poisonous_tree https://en.wikipedia.org/wiki/Fruit_of_the_poisonous_tree
- droopybuns 9y agoI was in a road race where my car stopped running. My competitor was able to drive across the finish line because his engine kept running. Later I had a second race where I defeated my opponent by driving with a full tank of gas. The victory was overturned when a judge ruled that my use of a full tank of gas to generate similar performance was ruled “reverse engineering.” I have a hard time understanding the idea that generating the same result without deriving how the other feature works is reasonably called “reverse engineering.”
- lucb1e 9y agoAt what point in your example did you agree with the competitor not to reverse engineer his winning method? I feel like this example doesn't really reflect what happened in this court case.
- droopybuns 9y agoIs comparing the output of two different systems “reverse engineering”? Is modifying your output to be in par with a competitor reverse engineering? My point is that the competition doesn’t know if SAS uses banana peels to generate their output- we only know that the the results are the same- and I don’t think that is a reasonable definition of reverse engineering. The algorithm has not been copied- only the resulting output. Trade secrets remain protected.
- ballenf 9y agoThe real lesson here is that they should have pirated the SAS software instead of licensing it. Then they would have been liable for at most a large fine instead of having their business shut down. If the license was tightly integrated with the software (meaning even a pirated copy would require acceptance before use) then just hire an outside consulting company to generate the output from the test code. It could have all been documented and left the company with clean hands. The simplicity of side stepping the license in this case highlights the absurdity of the ruling. Not saying SAS wouldn't still sue them, but they wouldn't have nearly as strong a case with damages less likely to be bankrupting.
- greglindahl 9y agoThis is generally what lawyers recommend: https://en.wikipedia.org/wiki/Clean_room_design https://en.wikipedia.org/wiki/Clean_room_design -- although this is generally done to avoid copyright complaints, not license complaints.
- philipkglass 9y agoBut per your link "Clean-room design (also known as the Chinese wall technique) is the method of copying a design by reverse engineering and then recreating it without infringing any of the copyrights associated with the original design." They did reverse engineer the code instead of infringing copyright. The problem is that it violated a license prohibition on reverse engineering. I'm not going to claim that the judges interpreted the law incorrectly, but I think that this legal result is overall bad for society. It means that a company can stifle competition even if potential competitors avoid violating copyright or patents.
- jnwatson 9y agoIf they had pirated the software, then they wouldn't violated a license prohibition since they wouldn't have agreed to it.
- Aeolun 9y agoI'm wondering how what they did is different from clean room design where the clean room is just intensely close to the non-clean room.
- dredmorbius 9y agoSAS Institute, one of the most valuable privately held compaies in the US, has been fighting against run-alike and data-compatability challengers for decades. This is particularly ironic as the company itself was founded based on mainframe storage and interface technologies -- the SAS program editor and interactive environment through the 1990s was based on the IBM TSO/ISPF environment. Earlier challenges included the BASS System, by Jeff Bass (a DOS run-alike in the 1980s), and a dataset reader/converter, DBMSCopy. The latter eventually included a program interpreter as well, I believe. My recollection is that DBMS/Copy's developer and SAS came to a mutual understanding. SAS's key asset is control over utility and access to a decades-old legacy of programs and data at enterprise and government sites, though it's lost ground to Python and R in tech and most especially academia. https://decisionstats.com/2009/08/28/software-history-bass-institute-part-1/ https://decisionstats.com/2009/08/28/software-history-bass-i... http://dss.princeton.edu/online_help/stats_packages/dbmscopy/dbms_stat.htm http://dss.princeton.edu/online_help/stats_packages/dbmscopy...
- forkandwait 9y agoI work as a SAS programmer for state government. I find it funny that anyone would set out to emulate the jumbled late 1960s hodge podge of yuck that is SAS syntax. (I use SAS because I like data analysis and my pension plan and governments don't do open source, not because I like SAS...)
- secant 9y agoWhat system could governments use to replace SAS if they were so minded?
- RSZC 9y agoUsed to work for federal healthcare contractor, primarily in SAS. File conversion was a pain, but working in Stata would generally yield runtimes roughly an order of magnitude faster.
- deleted 9y ago[deleted]
- joering2 9y agotl;dr: court agreed "reverse engineering" does not mean to dive into someone code for the PURPOSE of making your copy or new copy of similar software better, but it simply means what it states: "you cannot reverse engineer (for whatever reason), period"
- paxy 9y agoUnrelated - but being able to handle front page HN/Reddit traffic should really be a basic requirement for any (mostly static) website today.
- internetcases 9y agoYeah, sorry about that! My modest little blog is not used to the kind of traffic it's seeing today. Hope you were patient and hit reload.
- quickben 9y agoJust out of curiosity, what's the traffic like?
- internetcases 9y agoJust passed 10,000 uniques at about 17:20 CST
- WhitneyLand 9y agoHow long are these agreements valid for? If you use the learning edition once, are you bound by it for a lifetime with no way to end the agreement?
- c3534l 9y agoSo if I'm Burger King, it's illegal for me to eat a McDonalds hamburger to see why people like them?
- scrumper 9y agoNo. However this situation is different: it's more like your Big Mac came with a license saying you weren't allowed to reverse engineer it (either by taking it apart and seeing what it was made of - 'reverse assembly' (per the article); or repeatedly comparing your burger to it in a series of taste tests - what this court called reverse engineering).
- jo909 9y agoNo. It's illegal to make a contract with McDonald's where they serve you a burger only if you don't try to recreate the recipe and then you do it anyway. Well they claim you did anyway.
- natoliniak 9y agoWell, I suppose Mcdonald's doesn't make you sign a contract before you buy their food, although I wouldn't be surprised if soon there will be TOS printed on the receipts that make it illegal. But yes, that would mean that peeking in the kitchen to see how they prepare the food would somehow be an agreement violation...
- charbunny 9y agoI think that's a bit off. The key sticking point for me is that they didn't use the _prod_ software version, they used a specific _learning_ version. This is like getting someone from Burger King hired into McDonalds to get trained on how to make a burger for the sole purpose of bringing that knowledge back to Burger King.
- bluetwo 9y agoAnyone here have a client reverse engineer your work?
- marktangotango 9y agoI worked at a company who's flagship product was simply rebranded and sold by a competitor in another country. Their version didn't evolve or keep up with our improvements. By the time I worked there, about ten years had passed, and they were still a major competitor.
- throwaway2016a 9y agoSo I have a question... How if at all does this apply to API interfaces? For example, if someone makes an app that has a compatibility interface that works exactly like Amazon S3 while simultaneously competing with S3. I know several people on HN run services like that. Where the code is their own but the API interface is flat out copied from the competition.
- jnwatson 9y agoOnly if you had signed up with AWS and agreed not to reverse engineer and you used the actual output of the APIs to compare to your product. This is a contract dispute around the common sense term "reverse engineer", not a copyright or IP dispute.
- throwaway2016a 9y agoI think it is safe to say that most of the people in that situation did sign up to AWS and AWS like just about every SaaS has a non-copy clause. Though it only has reverse engineering clauses on Microsoft software (Windows running on EC2) and some specific appliances.
- gumby 9y agoThis is of course the very activity that Compaq engaged in to unlock the PC bios capability and ignite a huge revolution. This case is interesting and disturbing. As far as it goes, the plaintiff won only because 1> their license forbade using their product for reverse engineering and 2> the defendent tried to claim that reverse engineering would be a complete reconstruction of the original source code. A stretch, and it's understandable that they tried, but it's good they lost on that one. On 1> I suppose the court correctly stood by contract law. The dreadful thing about this is that such terms could be enforceable. I would hope that the doctrine that prevents car manufacturers from forbidding you to use third party parts in your car would protect this and it's a shame the plaintiff didn't try. Also since this ruling, reverse engineering printer cartridges have thankfully been validated by the supreme court. Sorry I don't remember the case that permits third party repair parts -- IIRC it was a lawsuit against Toyota and Volkswagen. Note that the car and tractor companies have recently tried fishing back with DMCA(!!!) claims.
- moomin 9y agoIs it just me or would this have prevented the rise of the PC?
- adenadel 9y agoCan anyone comment on how Octave developers test to see if they are compatible with MATLAB? It seems to me that Octave could run into this same issue.
- neya 9y agoProbably off-topic - One of the schools I studied in was a sell out for this trash of a company SAS. They shoved their analytics software down our throats, and I had a whole module where I was forced to use their shitty software. I vehemently refused to use it and did all my analyses on Jupyter notebooks w/ Python. Simply because the software sucked so bad to the point of being unusable. For starters, it ran ONLY on windows and to complete my assignments, I had to use bootcamp on my Mac just for this shitty software. It was not a cloud based interface and it seemed like it was built specifically for Windows. And to add to the pain, it would randomly crash, throw out irrelevant errors (uploaded too large of a data file? Here's an error stating something about the file extension) and really looked like it was developed in the 90's. I was blown away when I realized people were paying millions in just licenses for this crap. Over time, even the school realized everything was moving towards the cloud and started advocating the use of Jupyter more and more. I for one would seriously hope this company burns down to ashes. Simply because they're sitting on top of millions and yet can't afford to make usable software for the amounts they charge and yet, still have the audacity to shove it down at people's throats. Fuck SAS.
- blt 9y agoThe funny part is, SAS used to run on IBM mainframes, so most of the core computational libraries are highly portable. Probably just the GUI front end was tightly coupled to Windows.
- ConceptJunkie 9y agoThere is a whole industry of software that is the same. Look at BMC, which I'm familiar with. Or just about anything Oracle makes. Yes, their databases are fast and powerful, but dealing with a lot of Oracle software is like going back to the 1970s. As much as we like to rail on Microsoft (and it's well-deserved), companies like them and Apple, etc., have really made quantum leaps in usability that most enterprise software still hasn't made. Based on my experience, SAS isn't an egregious example, it's typical.
- guelo 9y agoThe real problem is that prohibiting reverse engineering is an allowable license clause. Imagine a hammer that was sold with a license that prohibited hammering a competitor's nails. After you sell me something you should not be allowed to place restrictions on its use.
- abhi3 9y agoYou are oversimplifying the situation. Two sufficiently sophisticated parties having more or less balanced bargaining power, as was the case in this situation, should be free to contract according to their will and good/bad judgment. Of course, if you are a retail consumer who had no bargaining power and agreed to a standard form contract without any legal counsel then different rules should apply to you and in such cases courts will apply the test of unconscionability before enforcing any clause.
- jeffdavis 9y agoPretty soon everything will be software-as-a-service, and can't be reverse engineered. They may even be able to detect attempts to reverse engineer and stop you. Software might mean the complete destruction of private property as a concept.
- grzm 9y ago> "Software might mean the complete destruction of private property as a concept." I can see an argument made for removal of the concept of intellectual property as something that's legally protected. It sounds like you're wanting to say something stronger. What's the step into the material world?
- jeffdavis 9y agoIf your washing machine and car are loaded with software, then the benefits and freedoms of ownership are basically non-existant.
- grzm 9y agoSure, I can see how an argument could be made there. There's a lot of material goods that don't have software. Real estate, houses, food, just glancing around the room there are many things that don't incorporate software. How do you see these no longer being considered private property?
- StillBored 9y agoWell, deed restrictions (and property taxes) make it so that pretty much anything you can imagine can be "restricted" as you voluntarily enter into the agreement upon "purchase" of the property... Its not much of a stretch to imagine common security/networking/etc type clauses in those restrictions as in many cases condo's sold in the US basically have similar situations where you agree to adhere to building wide decisions (on say which ISP services the building). Then the servicing company comes along and starts to behave like John Deere and starts prescribing what TV/pc/whatever they will inter-operate with.
- axus 9y agoLooks like the EFF has to update their Reverse Engineering FAQ: https://www.eff.org/issues/coders/reverse-engineering-faq#faq11 https://www.eff.org/issues/coders/reverse-engineering-faq#fa...
- djyaz1200 9y agoThis is one of of the biggest developments in the software industry ever because it incentivizes innovation (good for innovators, bad for copycats). It also fills part of the void left by a broken patent system. We all know many software companies are ripping off other companies ideas on a regular basis. In many cases it's big incumbents taking ideas from upstarts competing with them (example: Facebook via Instagram ripping off stories from Snap). This decision should allow more competition from innovative newcomers and higher prices in software generally. Right now software is priced artificially low because very few vendors have any pricing power... because competitors can just rip off what they are doing. If that's not as easy companies with innovative ideas protected by strong ToS should be able to compete more aggressively and price their products much higher. I believe you're going to see many companies put all their content behind an "agree" button. This shift should also make acquisition prices go WAY up since companies will have to be priced more by the opportunity/IP rather than their replacement cost. This is a big deal.
- mindcrime 9y agoWe all know many software companies are ripping off other companies ideas on a regular basis. "Ideas" in the abstract aren't protected, except by trade secret laws. Patents are, at least in theory, supposed to apply to something more concrete than a mere "idea". This decision should allow more competition from innovative newcomers What? No it won't, it'll inhibit innovation by putting more power in the hands of large incumbents who employ many lawyers and have large war chests to fund lawsuits. No startup is going to prevail in a lawsuit against Facebook unless a miracle happens, because they'll run out of money and close down before the case is ever settled. That is, if the "chilling effects" of this kind of ruling doesn't prevent them from ever getting started in the first place. This shift should also make acquisition prices go WAY up since companies will have to be priced more by the opportunity/IP rather than their replacement cost. This also works to inhibit innovation, as companies can lock out competitors via legal machinations, as opposed to needing to innovate continuously. This is a big deal. Maybe. It was a circuit court decision, so (in the US at least) to the extent that it establishes any precedent, it's only strictly applicable in the 4th circuit (for now).
- 9y ago
- qaq 9y agoSo would mod. of old school setup work OK? A consulting company signs up/buys a product and creates specs/ test cases. Company takes specs test cases and creates a product.
- cordite 9y agoHow do you replicate the experience of a framework or standard without experiencing it? Now, I am not talking about looking at the machine code and whatnot, but the public API or UI.
- Jesus_Jones 9y agoThis seems like a very bad decision. You can't make a c++ compiler that compiles the same things as Microsoft's c++ compiler? Software "licenses" that prohibit anything that a lawyer dreams of shouldn't be legal. An independent implementation of a program, where you merely used the original program to see how it worked when you used it should not be considered reverse engineering. Decisions like this only help large corporate America to preserve their monopolies.
- Jesus_Jones 9y agoThis decision makes me want to donate a large sum to an open source project to make a free clone of sas software. I would offer $1000 toward that. This is a terrible decision and if we can't defeat it in this legal case, we should defeat a company that practices this way by legal, free, and independent software. And let's be sure not to use any sas software with that ridiculous license clause.
- datalog19908 9y agoHow is this different from when AMD revere engineered x86 instruction set and made a processor that could execute that. I thought reverse engineering was specifically allowed legally.
- kazinator 9y agoIn developing the WPS, defendant did not try to decompile the Learning Edition, or otherwise “tear it down” or “look under the hood.” Instead, it would run SAS code through both the Learning Edition and the WPS, evaluate the outputs from both systems, and tweak the C++ code comprising the WPS to get the outputs to match. This is the same as getting Linux to behave like a Unix kernel, or GNU tools to behave like Unix tools, Wine to behave like Win32 DLL's and so on. Validating "does my machine produce the same output for the same inputs as this blackbox" is not reverse engineering. It's just engineering. Reverse engineering means taking it apart to look inside. Forward engineering means designing it and building it; reverse means the opposite: disassembling and inferring the design from the pieces and their relationships.
- placebo 9y agoThis just strengthens my cynicism on the general state of the law and the degree it generates justice. I'm hardly surprised anymore. Can anyone convince me that the judges in this case put more thought into this than the vast majority of the commenters here? Even when I try to play devil's advocate, it's hard to justify. The fact that you invented something, should not give you eternal rights to exclusively profit from it. Even the warped patent industry knows that. The laws of innovation should be a balancing act between incentive for the innovator and incentive to society, and this decision is way out of balance in detriment of society.
- deleted 9y ago[deleted]