Implications of Reverse Engineering

Copyright is just for publications I do believe. Intellectual property is different and you are not allowed to reverse engineer someone’s Intellectual property if they don’t want you to.

That said, it appears that a lot of these different formats can be loaded in a text editor. I’m not sure that alternate layouts or symbol usage in a text file could be actually considered to be a ‘file format’ for this reason. Slightly differing layouts may not be convered by legal protections due to the lack of obfuscation.

If a file is obfuscated or otherwise encoded/encrypted is clear that the manufacturer etc does not permit you to access or reverse engineer the contents.

As a precursor to such operations it would be prudent to simply contact the owner of the intellectual property and ask permission. You may be surprised by the results.

The flip side of this is that allowing access to a file format used by their particular software actually leads to awareness of their software and as such is free advertising which will actually benefit them in the longrun, if they are a more costly package provider.

Just my 2p.

[I actually downloaded a Kicad FP from Ultralibrarian and for some reason it came with an Allegro folder. I could not actually get Kicad 5.1.10 to see the contents].

Nope. You totally can as long as it wasn’t done by using their own trade secrets to do it.

But isnt that what an obfuscated and encrypted file is? Trade secrets?

You’ve gone to the effort of hiding your working and someone comes along and reverse engineers that… they are stealing your trade secrets.

The term itself ‘reverse engineering’ literally lives neatly inside the domain of ‘shady practise’. Its a form of plagiarism.

I assume that it is pretty unlikely that one will find a trade secret in such a file format. E.g. if you invent a super smart algorithm you would not save the description of the algorithm into a data file. Reverse engineering the application itself would be definitely problematic.

It depends on the local legislation. Here in Finland, probably following closely some EU thing, reverse engineering for compatibility purposes is explicitly allowed and it can’t be forbidden. The purpose of this is of course to prevent dangerous vendor lockdowns, monopolies etc. There’s nothing shady or plagiarism about it. It’s practical and necessary for free market and free competition.

2 Likes

Yeah I get what youre saying here but, you know, the style of the contents of the file are just a small component of the bigger workings and the layouts and choices design choices made within the file are an integral part of the larger workings. This is what I refer to as a trade secret here. There is IP in the design choices themselves. They would always win in court so its a tread carefully type of affair.

Because this is all a grey area it is simply prudent to be careful when it comes to big companies and their property and their expensive lawyers :smiley:

There may be aspects to what you are saying that are true but I will explicitly stick my neck out and say that stealing someones work is not legal in your or any country.
What you describe as a propagator of the free market actually only serves to destroy small business in favour of those with large cash reserves, assets and quick turnarounds as they expressly deprive the small and weak of their hard worked IP. No mate, sorry :smiley:

Of course, the term reverse engineering airs a certain bad reputation. There are many legitimate moments where and when Reverse Engineering is a useful thing to do but this is a per-case basis and de-obfuscating, de-encrypting before the actual RE is where the bad stuff lives. The fact that one has had to do that at all is the indicator. If you are simply working through a format of ASCII printed in a text file or something that is clearly and easily readable then the indicator is that the creator doesnt mind you seeing the contents. RE away to your heart’s content, so to speak.

That’s your moral opinion and you’re entitled to it, but it doesn’t describe what’s happening with file formats. Technically you’re right: stealing isn’t legal, but legislators, Open Source world and I believe most of the commercial world disagree with you about what’s stealing.

Yeah I was just editing my post to deal with this when you posted. The key comes down to whether the Creator has taken steps to prevent someone looking at the file or not. If they have then you are probably breaking the law and even if you are technically not breaking the law you are still in a position of complete liability which can land you in some serious financial sheet.

Im trying not to take this from a moral standpoint but rather, what would hold up in court or not if it came to it and how I would feel if an online community etc was breaking the hell out of my IP and using it for themselves. I’d be pretty pissed.

Of course I cant talk for these companies on whether they are happy for people to do it or not. Try Reverse Engineering Autodesk file formats and see if youve got any money left at the end of the year. They make license money from their IP in file formats etc so they would take you for all you were worth.

Why would OrCAD creators support the breaking open of their files so that someone can use their clever stuff in some free software they just picked up?

The bottom line is that you really need to simply obtain permission. Any amount of guesswork on the idea is really asking for trouble :smiley:

Its the kind of grey subject where we could discuss the ideas all day and never agree on anything. Just be careful man!

This kind of blanket statement is simply not true. There is much more nuance to it, but calling reverse engineering “shady” and implying it is criminal is FUD. Specific legal protections exist in many jurisdictions to allow for reverse engineering for the purposes of interoperability. There is much more detail to this topic than can be covered on this forum, and certainly are situations you can get into that expose you to legal risk, but it makes me sad to see people spreading around the idea that reverse engineering file formats is some kind of shady underground prospect.

For more information on this topic, the EFF has a good writeup at https://www.eff.org/issues/coders/reverse-engineering-faq

5 Likes

Yeah I actually tend to agree. To me it is simply a technical term but the truth is that the term is usually used to indicate a shady area of practise and hence it has gotten its reputation. I live in UK where everything is bureaucratic beyond belief so when people here use the term most likely people will think the negative first. Here it is extremely likely you will get sued if you reverse engineer something belonging to someone else without permission, hence why I present my argument this way. If you live in China or Sri Lanka your standpoint will be completely opposite as IP and patents etc tend not to hold very strongly or exist at all. Really what Im arguing is semantics of English and how the term has come to be used and understood here in UK. It is this way because if you analyse the phrase it totally implies that you are working out how to do something that doesnt belong to you in the way someone else has worked to create. If it belonged to you, you wouldnt need to be ‘Reverse Engineering’ it in the first place. We only tend to hear the phrase used in the UK with reference to the russians RE US satellite tech, or the Chinese RE practically everything and flooding the market with cheap copies or the US Gov RE Alien technology :rofl: so you can see why I come forward with the angle in which I see things are (not necessarily how I believe in them).

Again, unless one has obtained specific permission or the Creator has expressly stated their support you actually must assume that its denied (from a UK standpoint). People get sued here for the most ridiculous crap so something like this is like walking across a minefield.

A simple change of language actually serves to protect. “I reverse engineered it so I could work out how to make the file work in the other program” Vs “I converted the file format”. The latter completely drops the notion that you bust open someones work. Anyway, I’m not talking specifically about file formats but everything IP. With relation to file formats many companies do license out their formats (remember a format is everything to do with the file…not just the .xxx file extension) and so you’d be in very hot water indeed, depending on where you lived in the world.

In the UK it does depend a lot of whether you are making money out of it or not, as theyre all about money and not much else over here. So if a company thinks that your honest intentioned file conversion cost them money, they are going to recover that from you.
From a UK standpoint, its not fair for someone from a less bureaucratic and less Sue-y country to imply that its not shady at all because they are actually quite likely to go off thinking that they wont get sued!

Anyway, yes Im arguing a wide debate about IP in general, I suppose.

Anyway, to play Devil’s Advocate; in this specific situation having not obtained express permission to convert formats etc before a judge I would simply present that such services as UltraLibrarian offer all of these formats so I would assume that I am free to convert between them. I’d like to think that argument would hold up in my defense :smiley:

You are conflating different terms here. The point of patents is to secure protection against people copying your work by making it not secret. Patents and file formats is a whole different can of worms with different legal things going on, but in general is not relevant to reverse engineering.

You can’t make generalizations about “everything IP”. There is not one answer about what is allowed and what isn’t.

2 Likes

Well yeah, thats why Ive written a whole essay on the subject and didnt just drop those two lines :wink:

Please dont assume Ive never reverse engineered anything :rofl:

I just want you all to be safe.

Of course everyone should be aware of the local specifics. The language you are using makes it sound like reverse engineering for the purposes of interoperability is the same as (just as bad as) people reverse-engineering your product in order to clone it and make money on it, and at least in some jurisdictions that is not true.

Also: I think people should be opposing and working to change a mindset that viewing this as “shady” is OK. Just like the “right to repair” movement is starting to make progress, this is a case where changing the discourse can be an important step in changing the law. There should be nothing shady about taking steps that ensure you can continue accessing your data even if a proprietary program is no longer supported. People who help continue the narrative that this is somehow an evil/criminal act are doing themselves no favors in the long term.

3 Likes

Take this situation:

A company bought an expensive (EUR50.000+) piece of specialized software that was tied to a specific PC motherboard.

10+ years later that motherboard broke, and the company who made the software had either went bust, or was bought by another company and the product discontinued.

In the end they spend several thousands of euro’s to reverse engineer the thing just to be able to run the software they bought.

As far as I know it’s pretty simple here in the Netherlands. If you buy a piece of hardware or software you own it, and you can do whatever you want with it. Including reverse-engineering or re-selling the original software. (Selling copies is not legal). It does not matter what companies write in their EULA. They can’t take those rights away from you.

Also,
There is a lot of lobbying going on lately for the “right to repair” stuff.
Big companies have been abusing their power over individual customers for far too long.

Recently a heating element for my oven broke. Now I have a choice:

  1. Throw the thing in the garbage.
  2. Buy a fitting replacement part for EUR 86
  3. Buy a similar part from Aliexpress for EUR 6 and make it fit myself.
1 Like

And they will say no. You are under some grand delusion here the answer will be anything else.

As long as I reverse engineer the format using what is publicly available knowledge, it is 100% legal. If I gain access to private internal OrCad documentation without authorization, then it becomes a trade secret issue.

If I take orcad schematics that I generated, OR somebody else freely distributes, and then manually disentangle into a parser, it is legal. If I reference a publically available OrCad document describing their internal database structure, it is 100% legal to use that knowledge. Now if that OrCad document had actual “parsing code”, it would become a copyright violation if I copied it. But such code does not exist and is not a concern.

There is no grey area. I am well versed in this area because I am actively involved in a lawsuit in federal court over trade secrets right now, boy the legal sparing gets tiring.

We have now thrown this thread into a disgusting tangent.

3 Likes

I would like to go much further.
Proprietary file formats are an ugly way of vendor lock in. To keep with KiCad. The art, and the value is in the designed PCB.

If it were up to me I would simply forbid proprietary file formats. The minimum that should be available (to anyone who buys a particular program) is a full description of the file format and a library to read and write that file format for all commercial programs.

Lack of inter-operability effectively blocks almost any kind of competition between different software programs.

Big companies have a lot of lobbying power, while “consumers” are rarely able to gather any kind of power and are defenseless against what those companies push them though their throat.

3 Likes

Nice breakdown, but isnt that effectively what I said with “The key comes down to whether the Creator has taken steps to prevent someone looking at the file or not”. Ok, a bit vague, I know.

The grey area comes between the differences in legality through different countries. As has been said, there’s no 'one-fits-all" :slight_smile:

Anyway, Im not actually trying to push my ideas or some agenda. Just a bit of healthy debate. Its nice to see opinions on the subject and such public airing is exactly whats needed, I think.

I presume your legal entanglement features the rules of the US. I also believe that some amount of reverse engineering is pretty essential, situation dependent. From a personal standpoint I’d probably be incredibly cautious performing such operations on a public stage with large business involved, being in the UK. Most people are kinda hiding behind the “Well everyone else is doing it” tenet and I think that only goes so far.

But yeah sorry, never meant to get so far in but everyone seemed to be enjoying putting forward their views; its been great, tbh. One of the best things about it has been learning about the way these things are handled in different countries and, I suppose, exposing the negative and Lawsuit cultures in countries like mine that are supposedly on the forefront of markets and tech etc. The exposure being, really, that here, massive profits in the hands of the few seems to take presidence over the needs and successes of the many; which is typical of UK. Following this, it was interesting to find that, in Finland, for example, such views have been changed in favour of supporting the many, which can only be a good thing.

@hermit, would you mind detouching the messages from number 28 onwards to a new thread?

1 Like

Id second that, but start at 31 and copy 28-30 to insert those also in the new thread, if that makes sense.

Your comments in #31 are a nice way to wrap up the support for such an idea. I really like what you say there.