2

I have downloaded a project from CodeProject, which is bound by the CPOL. I've modified some its files to fix bugs, as well as adding files of my own for other features. I am planning to release my modifications under the MIT license. However, is it possible?

According to section 1

c) "Derivative Work" means a work based upon the Work or upon the Work and other pre-existing works.

d) "Executable Files" refer to the executables, binary files, configuration and any required data files included in the Work.

f) "Source Code" refers to the collection of source code and configuration files used to create the Executable Files.

h) "Work" refers to the collection of files distributed by the Publisher, including the Source Code, Executable Files, binaries, data files, documentation, whitepapers and the Articles.

According to section 5b

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.

Can I distribute the "Derivative Work" under a different license? And if yes, can I only license the files I modified or can I license the project as a whole?

Or does my new project have to be licensed under the CPOL?

Please note that I am modifying the project itself, and not linking it into another program, unlike in this question.

UPDATE: I've found a relevant question on Software Engineering Stack Exchange, however the answer "Contact the author or review the license with a lawyer" is not possible, as the author have abandoned this project for more than a decade (there have been prior questions about the license unanswered).

1 Answer 1

3

That question is rather hard to answer since there are few to no precedents about the CPOL. This is often the case for less common licenses.

The straightforward answer would be "No, you cannot". Simply because of the statement

You may not sublicense the Work.

I'm no lawyer. There might be another ways.

You can still publish additional code with a different license (that is non-derivative work). But not modificated existing code that contains original code. You could also licenseThis is mostly useless, because nobody will be able to use code modifications.

My advice is to contact the author and explain your concerns. They might even like your idea of giving the project a second life and support you by granting you a different license.

4
  • There are request to the author made by other users, including a guy trying to ask to author to re-release the work under the GPL a few years ago, however, this project is abandoned, and none of these requests are answered. Jan 28, 2021 at 13:06
  • I was about to accept your answer, however the CodeProject co-founder's statement seems to contradict this. See thread here Jan 28, 2021 at 13:07
  • Maybe I misread something in the thread but in my understanding this is exactly what I wrote. They state that "You need the original author's permission.". That's about what I said in my last paragraph. Jan 28, 2021 at 13:21
  • What I meant is Chris Maunder's comment here. He said that it does not work like Ms-PL or the GPL. Jan 28, 2021 at 13:54

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.