Licenses

Authors

When uploading an article you need to be aware of the risks and
legal issues involved. We live in a litigious world so you need to protect
yourself against those seeking damages against you for problems that may (or may
not) have been caused by your article. Just saying "The code is free for use" is
no longer enough. What does "free" mean? Are there any restrictions? What
happens if your code breaks my system and costs me money?

Below are a list of licenses that we at CodeProject
support for article contributions. The main points to think about are:

What restrictions do I want to impose on my content?

How much do I wish to protect myself and my readers (licenses go both ways)

Please review the licenses below when deciding which license to attach to your article.

Those downloading files and using Articles

Always ensure that the License attached to an article is suitable for your uses. If in doubt
contact the author directly to seek clarification from the author.

The Licenses

The following is a rough guide to the current licenses supported on
CodeProject. Please read them carefully by following the
links to the license pages themselves because some categorisations (such as whether downloads can be
used commercially, or whether extensions must be release to the public) depends on the situtation.
This is merely a guide: it's up to you to read the actual license carefully before using downloads
licensed by each license or assigned a license to a download you submit.

A Microsoft open license and a free software license . Allows for distribution of derived code so long as the modified source files are included and retain the Ms-RL.

Provides copyright protection: TrueCan be used in commercial applications: TrueBug fixes / extensions must be released to the public domain: FalseProvides an explicit patent license: TrueCan be used in proprietary (closed source) applications: TrueIs a viral licence: FalseSupported by CodeProject: True

Source Code and Executable Files can be used in commercial applications;

Source Code and Executable Files can be redistributed; and

Source Code can be modified to create derivative works.

No claim of suitability, guarantee, or any warranty whatsoever is provided. The software is provided "as-is".

Provides copyright protection: TrueCan be used in commercial applications: TrueBug fixes / extensions must be released to the public domain: FalseProvides an explicit patent license: TrueCan be used in proprietary (closed source) applications: TrueIs a viral licence: FalseSupported by CodeProject: True

Based on the Mozilla Public License (MPL) that makes it more applicable for use outside the Mozilla Foundation.

Provides copyright protection: TrueCan be used in commercial applications: TrueBug fixes / extensions must be released to the public domain: TrueProvides an explicit patent license: TrueCan be used in proprietary (closed source) applications: TrueIs a viral licence: FalseSupported by CodeProject: True

Used by Microsoft. Compiled derived code can be distributed, for both commercial and non-commercial use. If the source code is to be redistributed then a complete copy of this license must be included in the redistribution.

Provides copyright protection: TrueCan be used in commercial applications: TrueBug fixes / extensions must be released to the public domain: FalseProvides an explicit patent license: TrueCan be used in proprietary (closed source) applications: TrueIs a viral licence: FalseSupported by CodeProject: True

Used by Mozilla and Firefox, among others. The patent clauses are not acceptable to some.

Provides copyright protection: TrueCan be used in commercial applications: TrueBug fixes / extensions must be released to the public domain: TrueProvides an explicit patent license: TrueCan be used in proprietary (closed source) applications: TrueIs a viral licence: FalseSupported by CodeProject: True

Derived from the IBM Public License and influenced by the Mozilla Public License, and used by some Microsoft projects on SourceForge.

Provides copyright protection: TrueCan be used in commercial applications: TrueBug fixes / extensions must be released to the public domain: TrueProvides an explicit patent license: TrueCan be used in proprietary (closed source) applications: TrueIs a viral licence: FalseSupported by CodeProject: True

A newer version of the Common Public License that is in some cases more acceptable to business.

Provides copyright protection: TrueCan be used in commercial applications: TrueBug fixes / extensions must be released to the public domain: TrueProvides an explicit patent license: TrueCan be used in proprietary (closed source) applications: TrueIs a viral licence: FalseSupported by CodeProject: True

A very old license with essentially no restrictions on the use of the code. It also provides very little in the way of protection for authors or users. It is the same as the BSD license without the 'no endorsement' clause.

Provides copyright protection: TrueCan be used in commercial applications: TrueBug fixes / extensions must be released to the public domain: FalseProvides an explicit patent license: FalseCan be used in proprietary (closed source) applications: TrueIs a viral licence: FalseSupported by CodeProject: True

A very old license with essentially no restrictions on the use of the code. It also provides very little in the way of protection for authors or users. It is the same as the MIT license except that it includes a clause preventing the use of the author's name for endorsement.

Provides copyright protection: TrueCan be used in commercial applications: TrueBug fixes / extensions must be released to the public domain: FalseProvides an explicit patent license: FalseCan be used in proprietary (closed source) applications: TrueIs a viral licence: FalseSupported by CodeProject: True

Slightly more restrictive (but still very open) version of the BSD or MIT license that adds patent clauses. Read carefully.

Provides copyright protection: TrueCan be used in commercial applications: TrueBug fixes / extensions must be released to the public domain: FalseProvides an explicit patent license: TrueCan be used in proprietary (closed source) applications: TrueIs a viral licence: FalseSupported by CodeProject: True

Provides copyright protection: TrueCan be used in commercial applications: TrueBug fixes / extensions must be released to the public domain: FalseProvides an explicit patent license: FalseCan be used in proprietary (closed source) applications: FalseIs a viral licence: TrueSupported by CodeProject: False

A license with an emphasis on freedom of use and re-use, with a few restrictions.

Provides copyright protection: TrueCan be used in commercial applications: TrueBug fixes / extensions must be released to the public domain: FalseProvides an explicit patent license: FalseCan be used in proprietary (closed source) applications: TrueIs a viral licence: FalseSupported by CodeProject: True

Not a license, but a dedication to the public domain. All rights are given up and anyone can do anything they wish with the code. Please note this is not a license and provides no guarantees for the user and no indemnities for the author.

Provides copyright protection: FalseCan be used in commercial applications: TrueBug fixes / extensions must be released to the public domain: FalseProvides an explicit patent license: FalseCan be used in proprietary (closed source) applications: TrueIs a viral licence: FalseSupported by CodeProject: True

This license lets others distribute, remix, tweak, and build upon your work,
even commercially, as long as they credit you for the original creation. It is recommended that this license not be used for software.

Provides copyright protection: TrueCan be used in commercial applications: TrueBug fixes / extensions must be released to the public domain: FalseProvides an explicit patent license: FalseCan be used in proprietary (closed source) applications: FalseIs a viral licence: TrueSupported by CodeProject: False

A license that requires a link be visible on works that use this license. "Share alike" is what it sounds like; you can share this work as long as that work has a license similar to this one. It is recommended that this license not be used for software.

Provides copyright protection: TrueCan be used in commercial applications: TrueBug fixes / extensions must be released to the public domain: FalseProvides an explicit patent license: FalseCan be used in proprietary (closed source) applications: FalseIs a viral licence: TrueSupported by CodeProject: True

A license which specifies that if you remix, transform, or build upon the material, you may not distribute the modified material. It is recommended that this license not be used for software.

Provides copyright protection: TrueCan be used in commercial applications: TrueBug fixes / extensions must be released to the public domain: FalseProvides an explicit patent license: FalseCan be used in proprietary (closed source) applications: FalseIs a viral licence: TrueSupported by CodeProject: True

A derivative of the GPL that was intended to allow non-GPL code to work with, and call GPL code. The author of this license asks that you only use this license if you are licensing functionality already commonly available.

Provides copyright protection: TrueCan be used in commercial applications: TrueBug fixes / extensions must be released to the public domain: TrueProvides an explicit patent license: FalseCan be used in proprietary (closed source) applications: TrueIs a viral licence: TrueSupported by CodeProject: True

Example usage in your code

(Replace 'Foobar' with the name of your product)

This file is part of Foobar.

Foobar is free software: you can redistribute it and/or modifyit under the terms of the GNU Lesser Public License as published bythe Free Software Foundation, either version 3 of the License, or(at your option) any later version.

Foobar is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU Lesser Public License for more details.

You should have received a copy of the GNU Lesser Public Licensealong with Foobar. If not, see <http://www.gnu.org/licenses/>.

A common but misunderstood license. This allows developers to freely use the software as long as they use the same (or an even less restrictive) license for parts of the program that they wrote themselves. Viral in nature. Read carefully and make sure you understand the implications of using this license. Unacceptable to many.

You can write commercial software using software licensed with the GPL, but you cannot write proprietary software (meaning software for which the code is not freely available). You can sell GPL code, even if it's already being given away, or you can sell services attached to the code such as support contracts.

Any software written using GPL'd code must itself be licensed using the GPL (or less restrictive license) meaning it cannot be proprietary. This means that developers writing commercial software may not be able to use GPL code if they do not wish to provide the code.

One important note (thanks to René Pfeiffer): The GPL doesn't require you to publish the source to the world. Only the recipient of the software needs to have the source. If you have a customer, write GPLed software for a specific purpose and only give the binary to this customer, then only this customer must have access to the source code, not everybody and not the public; just the recipient of the (binary) code. This is in full agreement to the GPL. The main advantage is to play with open cards and not create a "blackmail" situation.

At the Code Project we prefer that developers allow other developers to use their freely given code in whatever way they wish - commercial, proprietary, or free for anyone. Our preference is that our authors do not use a GPL-like license.

Provides copyright protection: TrueCan be used in commercial applications: TrueBug fixes / extensions must be released to the public domain: TrueProvides an explicit patent license: FalseCan be used in proprietary (closed source) applications: FalseIs a viral licence: TrueSupported by CodeProject: True

Example usage in your code

(Replace 'Foobar' with the name of your product)

This file is part of Foobar.

Foobar is free software: you can redistribute it and/or modifyit under the terms of the GNU General Public License as published bythe Free Software Foundation, either version 3 of the License, or(at your option) any later version.

Foobar is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.

You should have received a copy of the GNU General Public Licensealong with Foobar. If not, see <http://www.gnu.org/licenses/>.