# How do I detect open-source licence violations by companies?

Let's say I have an open source project with a license that prohibits commercial uses. Then comes along a commercial product with striking similarities in functionality/hardware.

1. How would I go about inspecting the commercial product to see if they are using parts of my source code?
• I realize I could do an image dump, but is that really useful, or easily obfuscated?
2. Are there any simple tricks I could use, such as adding strange corner case behaviors, that would allow me to easily detect if anyone has copied the source verbatim, and are not overly obvious?

Bonus legal question: can I somehow subpoena the source code, if so what do I need to have to present 'reasonable doubt'?

• You might find more Q/A for this on stackoverflow.com. – J. Polfer May 12 '10 at 22:44
• First of all, you have to be the author of the open source project. Generally if you're just a user, you can't do much. You may be, it just wasn't clear to me from the wording in your question. – davr May 13 '10 at 4:25
• What country is this? since the laws differ quite a lot. – Johan May 13 '10 at 8:41

Perhaps try this: http://www.binaryanalysis.org/en/home

For the legal question, I would try emailing the Software Freedom Law Center: http://www.softwarefreedom.org/

Often running strings on the two binaries and comparing the results can yield telling results:

strings <filename>


From the strings man page:

strings - find the printable strings in a object, or other binary, file


The results may not be identical, but it may show key similarities between the files.

Here is a nice article by Multimedia Mike (ffmpeg/mplayer) about the second trick you mentioned (exploring corner cases). There are no GPL violations on YouTube side, but it is fun nevertheless.

How about a poker bluff inspired by Apple? (Their lawyers sends a lot of papermail, even if their cases are bogus :)

You simply write them a letter where you claim that they are doing copyright violation on your code, and then offer them a deal to settle "out of court".

Maybe mentioned that the case will be handed over to someone like the EFF within XX days if they don't replay.

And if you are lucky they will contact you and you can get some money out of this situation.