10

I'm considering using a project from http://www.codeproject.com that uses the CPOL license. Section 5e says:

"You may distribute the Executable Files and Source Code only under the terms of this License, and You must include a copy of, or the Uniform Resource Identifier for, this License with every copy of the Executable Files or Source Code You distribute and ensure that anyone receiving such Executable Files and Source Code agrees that the terms of this License apply to such Executable Files and/or Source Code. You may not offer or impose any terms on the Work that alter or restrict the terms of this License or the recipients' exercise of the rights granted hereunder. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties. You may not distribute the Executable Files or Source Code with any technological measures that control access or use of the Work in a manner inconsistent with the terms of this License."

Is not clear to me if I should include their source code with my executable or not. Or even worse, if I should make my own source code available such as with GPL license.

The reason why is not clear to me is because I'm not sure if by compiling their source code together with mine I'm "distributing" either their "Source Code" or "Executable Files"?

1
  • I am not a lawyer, but the license does not say that you are required to distribute any source code. That distinction is found primarily in the GPL, a copyleft license. If the author wanted copyleft characteristics, they would almost certainly have used the GPL, not the CPOL. Jul 5, 2011 at 17:23

2 Answers 2

6

Legally, compiling is like stapling. If you staple a copy of a DVD of your wedding to a copy of a DVD of The Phantom Menace, it is legally both your wedding and The Phantom Menace. If you deliver the two DVD's stapled together, you are distributing The Phantom Menace.

Compiling cannot produce a derivative work because a compiler is not creative. Legally, only a creative process can produce a work (with a few exceptions created specifically by statute, none relevant here).

However, if your source code contains protectable expression from the other work, then your source code is a derivative work. When you compile it, it's still a derivative work. I have read the license twice, and I see no place that it requires you to distribute the source code of derivative works like the GPL does.

Oddly, and for absolutely no reason (it's not legally necessary) the license requires you to get your users to agree to the terms of the license. That's awkward.

6
  • Interestingly enough the co-founder of codeproject seems to think otherwise: codeproject.com/suggestions.aspx?msg=4614773#xx4614773xx Oct 26, 2016 at 8:08
  • 1
    @TimPohlmann People not intimately familiar with IP law frequently get it wrong, largely because the law no longer makes sense. This isn't because the people who created it were fools, it's because it originated a long time ago and only slightly evolved over time. For example, when the laws on derivative works were written, translation was considered fundamentally a creative process because, at the time, it was. Now, machines can do translation without any creative input, but the law has not caught up. That's just one example. You can't reason what the laws are or should be, they're weird. Oct 26, 2016 at 8:32
  • So what you're saying is that COPL is not actually doing what the codeproject co-founder intended it to because he misunderstood the law? That would make sense...still a weird situation. Oct 26, 2016 at 8:35
  • @TimPohlmann If you read what he says literally, he's quite correct. Maybe you're thinking he said something he didn't say. "If you're redistributing the code then you need to include license information and a link to the original code" I agree, and that applies whatever form you distribute the code in, including compiled. "but if you're building an executable from the source code then no, you don't." Right, since that's not distributing anything. Only if you read him to be talking about distributing executables does he contradict what I'm saying and become, IMO, wrong. Oct 26, 2016 at 8:39
  • 1
    @TimPohlmann I think you're probably right, but it's hard to be sure. I'm just saying we don't necessarily conflict. This is all pretty well-established law though, it's just not understood by very many people. Oct 26, 2016 at 8:51
2

You don´t have to include source code, but you have to provide a link to the CPOL and let the users agree to it in your terms and conditions. Also see CPOL section 5.e:

... You must include a copy of, or the Uniform Resource Identifier for, this License with every copy of the Executable Files or Source Code You distribute and ensure that anyone receiving such Executable Files and Source Code agrees that the terms of this License apply to such Executable Files and/or Source Code. ...

Code project has summarized the most important facts about their licences here: CodeProject´s License Information.

It mentions inter alia the following points:

  • Can be used in commercial applications: True
  • Can be used in proprietary (closed source) applications: True
  • Bug fixes / extensions must be released to the public domain: False
  • Is a viral licence: False
1
  • But when he uses the project, does he have to include the source code? You did not address that specific question in your answer.
    – Jay Elston
    Nov 13, 2015 at 14:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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