Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Some open source licenses don't allow its usage in commercial products, but I bet some people/companies use it anyways.

Is it possible to prove that a closed source, commercial product illegally incorporates open source code? If so, how?

Example: Say Microsoft just gets the Linux kernel, slaps a new GUI on top of it and calls it "Windows 9." Would it be possible to prove they did this?

share|improve this question
up vote 4 down vote accepted

Under Unix, you can run the strings program to see if any strings from your code (error messages or string constants) show up. Or you can look at the symbol table (assuming that it hasn't been stripped) to see if any of your module or routine names appear. If you really want to be hard-core, you can track down a symbol (say a function name) and disassemble the executable at that point and see if the compiled code matches yours. It's not easy (unless there are some tools or techniques I don't know about, which is entirely possible), but it's not impossible.

share|improve this answer

Obviously, open source code is sometimes used in commercial products in violation of the license.

For example, here is a list someone linked to recently, of commercial products that violated the license on open source video projects.

Sometimes the offenders get found out, either by examination of their product, or by whistle-blowing, and lawsuits and backdowns result. Sometimes, no doubt, they get away with it.

But one thing to bear in mind: the bigger the company and the bigger the product, then the bigger the chance of it coming out, and the bigger the risks when it does. In your example, I reckon the chance would be close to absolute zero that Microsoft could rip off the Linux kernel to make Windows 9 without someone involved sounding the alarm. And the consequences would be disastrous.

Edit: In response to Joe Internet's comment, I was inferring from the tone of the question that NullUserException was talking about a situation where the usage was not in compliance with the GPL. In case he was misunderstanding this, of course the GPL is not an open source license which "[doesn't] allow its usage in commercial products." It would indeed be possible for Microsoft to release a Linux-based Windows 9 perfectly legally - although the requirement for them to make their source available would probably be quite unacceptable in their flagship OS product!

share|improve this answer
What alarm would there be to sound? There's nothing in the GPL that stops Microsoft from releasing their own Linux distro called Windows 9. They just need to follow the GPL. – Joe Internet Nov 30 '11 at 4:15

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.