본문 바로가기
카테고리 없음

Licenses

반응형

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 The Code Project support for article contributions. The main points to think about are:

  1. What restrictions do I want to impose on my code?
  2. 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 Code 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 The Code Project. Please read them carefully by following the links to the license pages themselves because some categorisations (such as whether code 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 code licensed by each license or assigned a license to code you submit.

The Code Project Open License (CPOL)

The main points subject to the terms of the License are:

  • 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: True
Can be used in commercial applications:
True
Bug fixes / extensions must be released to the public domain:
False
Provides an explicit patent license:
True
Can be used in proprietary (closed source) applications:
True
Is a viral licence:
False

The Common Development and Distribution License (CDDL)

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

Provides copyright protection: True
Can be used in commercial applications:
True
Bug fixes / extensions must be released to the public domain:
True
Provides an explicit patent license:
True
Can be used in proprietary (closed source) applications:
True
Is a viral licence:
False

The Microsoft Public License (Ms-PL)

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: True
Can be used in commercial applications:
True
Bug fixes / extensions must be released to the public domain:
False
Provides an explicit patent license:
True
Can be used in proprietary (closed source) applications:
True
Is a viral licence:
False

The Mozilla Public License 1.1 (MPL 1.1)

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

Provides copyright protection: True
Can be used in commercial applications:
True
Bug fixes / extensions must be released to the public domain:
True
Provides an explicit patent license:
True
Can be used in proprietary (closed source) applications:
True
Is a viral licence:
False

The Common Public License Version 1.0 (CPL)

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

Provides copyright protection: True
Can be used in commercial applications:
True
Bug fixes / extensions must be released to the public domain:
True
Provides an explicit patent license:
True
Can be used in proprietary (closed source) applications:
True
Is a viral licence:
False

The Eclipse Public License 1.0

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

Provides copyright protection: True
Can be used in commercial applications:
True
Bug fixes / extensions must be released to the public domain:
True
Provides an explicit patent license:
True
Can be used in proprietary (closed source) applications:
True
Is a viral licence:
False

The MIT License

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: True
Can be used in commercial applications:
True
Bug fixes / extensions must be released to the public domain:
False
Provides an explicit patent license:
False
Can be used in proprietary (closed source) applications:
True
Is a viral licence:
False

The BSD License

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: True
Can be used in commercial applications:
True
Bug fixes / extensions must be released to the public domain:
False
Provides an explicit patent license:
False
Can be used in proprietary (closed source) applications:
True
Is a viral licence:
False

The Apache License, Version 2.0

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

Provides copyright protection: True
Can be used in commercial applications:
True
Bug fixes / extensions must be released to the public domain:
False
Provides an explicit patent license:
True
Can be used in proprietary (closed source) applications:
True
Is a viral licence:
False

The Creative Commons Attribution-ShareAlike 2.5 License

A license that requires a link be visible on works that use this license. "Share alike" is what it sounds, you can share this work as long as that work has a license similar to this one.

Provides copyright protection: True
Can be used in commercial applications:
True
Bug fixes / extensions must be released to the public domain:
False
Provides an explicit patent license:
False
Can be used in proprietary (closed source) applications:
False
Is a viral licence:
True

The zlib/libpng License

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

Provides copyright protection: True
Can be used in commercial applications:
True
Bug fixes / extensions must be released to the public domain:
False
Provides an explicit patent license:
False
Can be used in proprietary (closed source) applications:
True
Is a viral licence:
False

A Public Domain dedication

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: False
Can be used in commercial applications:
True
Bug fixes / extensions must be released to the public domain:
False
Provides an explicit patent license:
False
Can be used in proprietary (closed source) applications:
True
Is a viral licence:
False

The GNU Lesser General Public License

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: True
Can be used in commercial applications:
True
Bug fixes / extensions must be released to the public domain:
True
Provides an explicit patent license:
False
Can be used in proprietary (closed source) applications:
True
Is a viral licence:
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 modify
it under the terms of the GNU Lesser Public License as published by
the 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 of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser Public License for more details.

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

The GNU General Public License (GPL)

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 though 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 many developers writing commercial software will not be able to use GPL code.

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: True
Can be used in commercial applications:
True
Bug fixes / extensions must be released to the public domain:
True
Provides an explicit patent license:
False
Can be used in proprietary (closed source) applications:
False
Is a viral licence:
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 modify
it under the terms of the GNU General Public License as published by
the 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 of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

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

 

반응형