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

I am working, with a co-author, on a data modeling toolbox that will someday be sold. Part of the functionality is the extremely common PCA, which we are doing in a more robust way. Thus, we need a PCA function that has the usual algorithm with some modifications. For non-commercial peer-review academic research, I could easily find PCA code that is already written, modify it to suit my needs and use it, citing the author in my research.

My co-author insists that in this commercial venture, it is entirely appropriate to do the same thing. We can take another author's copyrighted code (ex "Copyright (c) 1997 by blah blah blah", not necessarily a GNU license), modify it to suit our needs, and distribute it with the toolbox we are selling. He says that as long as we cite the original author, it's entirely acceptable.

I'm just as strenuously insisting this is not legal, but have been unable to find straightforward documentation. Can someone point me to unambiguous documentation of this?

share|improve this question

closed as off topic by Doc Brown, maple_shaft May 6 '13 at 19:23

Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.If this question can be reworded to fit the rules in the help center, please edit the question.

depends on the actual license if there is no clear license you don't have permission, (consult a lawyer) – ratchet freak May 6 '13 at 14:26
You should not ask for legal advice on Stack Exchange, or the Internet as a whole, for that matter. – Jonathan Rich May 6 '13 at 14:27
Though I agree with everyone here regarding the fact you need to talk to a lawyer, I will add you appear to be missing the term from your vocabulary this act is known by; when you use someone else's code or DLL or works of any sort in your system and distribute them as a part of your system, this is known as "redistributing". That is the key legal term to comb licenses and speak to a lawyer about, the reidistribution rights granted by any license or applicable laws. – Jimmy Hoffa May 6 '13 at 15:14
Thanks for all the obvious "contact a lawyer" comments (duhh) when I'm asking simply for where to find existing documentation of an extremely clear-cut issue (it's illegal to take someone else's intellectual property and sell it as my own, period). – Dr. Drew May 6 '13 at 16:24
@Dr.Drew it isn't clear cut. It depends on the license of the original material and what license you are releasing your software under. Is the IP copied as code? statically linked as a library? dynamically linked? It depends on where you live. IP (it isn't just copyrights that get involved) law in the US is different than in the EU. – user40980 May 6 '13 at 18:33

Contact the author of the code you intend to modify and ask for permission in writing to do what your partner wants. That won't cover you, but a strongly worded "don't modify my code" letter might convince your partner that this is a bad idea.

As the many comments have pointed out, asking for legal advice from a bunch of strangers who don't claim to be lawyers (let alone live in your country) is a bad idea.

If you're going to make anything more than beer money it will be very important to be able to prove that you have clear rights (either ownership or appropriate FOSS license) to everything.

Talk to a local lawyer

Spending money on a lawyer is cheaper than defending (or worse, losing) a lawsuit.

share|improve this answer
+1. But if the original author gives you permission in writing, it does cover you. – MarkJ May 6 '13 at 15:31
@MarkJ - probably, but that may depend on what country the OP is in. – Dan Pichelman May 6 '13 at 15:33
Sorry, but how does that depend on the country? Are you suggesting there's a country where a copyright holder can't grant permission to use their material? – MarkJ May 6 '13 at 16:36
@MarkJ: Sure. E.g., I believe that in the US, some encryption code is classified as a munition. – Brian May 6 '13 at 16:52
Ok, that's an interesting example, but the OP is not talking about an encryption algorithm as far as I can tell. OP has just asked for a reference to prove that they can't just adapt someone else's code. – MarkJ May 6 '13 at 17:26

You don't need to contact a lawyer for every question about law! Some issues are very straightforward.

You don't say where you live, which makes it hard to give an appropriate reference. Here's one for where I live: a UK government website on intellectual property law. Summary quote

You may need to get permission from a copyright owner if you wish to copy written work [including software] in any way, unless any exceptions apply [they don't in your case]

Search for a website from your own government for a reference for your own country.

Going beyond the question. You might want to ask a lawyer to write an agreement for the original author to sign, to be sure it will stand up in court, or just choose an unrestrictive open source license like MIT.

share|improve this answer

It's not the modification that's the problem -- modifications are of course your own work, and you own that part. The problem is the unmodified code, and the fact that you're basing your work on someone else's in the first place.

If your partner thinks it's okay to use someone else's work without permission, he doesn't understand what copyright means.

May you reprint a copyrighted book and sell it*, even with proper attribution? No.

May you re-record a copyrighted song and sell it*, even with proper attribution? No.

May you re-use copyrighted code and sell it*, even with proper attribution? No.

One has to wonder how your partner would feel about someone taking your code and selling it without permission.

*without permission of the author

share|improve this answer

I think that it entirely depends on what you define as modifying. If you change his code but leave most of the work intact, you're basing your copyrighted code on his copyrighted code.

If however you take his code and use it as inspiration for your code then your code is not based on his copyrighted code but on his (patented) implementation. Basically: write your own implementation of what the original author did. Shouldn't be hard because you can use his code as inspiration.

share|improve this answer
Thanks Pieter, this is actually useful. The modification I need to make is essentially a one-line call to my own code, inserted in the existing code. Hence, the resulting function would be 99% the other author's. I'll have to take this "inspiration" route, but the issue with my co-author will come up again, and I don't want to fight about this every time. Hence, my request for documentation that my stance is correct. – Dr. Drew May 6 '13 at 16:27
Adding a one-line call is not enough to go down the "inspiration route". – MarkJ May 6 '13 at 17:18

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