|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Choose a LicenseChoosing a license is a complex decision because of all the different issues you need to consider. Licenses can address both the rights and responsibilities of the original owner of source code, as well as those of contributing developers. Issues such as intellectual property rights, copyrights, allowances for creating derivative works, and internal use and redistribution requirements can be covered under the license, in addition to standard warranty, liability, and termination legalese. As an original owner of the source, it is helpful to have a clear idea of your own business model and long-term goals for your project, and understand the benefits and drawbacks of these licenses before you make your final decision. While the license is only part of a total product's equation, you'll need to understand how it fits into your strategy. If you are at all unsure of your choices and their implications, you should consult your lawyer. Available LicensesHere is the list of licenses for use with projects developing source code on java.net. Each includes a link to the full text of the license. When selecting a license for your project it is important to read and understand all of the terms included within the license. Open Source licenses
Free Software Foundation licensesCommunity Source licenses
Please note that if no license is specified, then the default license for source code found at the end of the web site Terms of Participation will be used. It is a BSD-style license. For documents such as user manuals, tutorials, course materials, marketing materials, and whitepapers you may also choose a license. Document licenses
Please note that if no license is specified then the default license for documents specified by the website Terms of Participation allows anyone to freely "use, reproduce, modify, distribute, transmit, display, perform, adapt, resell and publish" any document provided on the java.net website. Some licensing backgroundTo help you get up to speed on the basics of licensing and to understand some of the relevant issues, below is an excerpt from a forthcoming book. In addition here are several pointers to relevant web pages that discuss various licenses:
The following material is excerpted from the forthcoming book, Innovation Happens Elsewhere---How and Why a Company Should Participate in Open Source, by Ron Goldman and Richard P. Gabriel, Morgan Kaufmann Publishers, 2003. Licensing
LicensingA variety of licenses have been created to meet the different needs of open source projects---the original Berkeley Unix was released under the Berkeley Software Distribution (BSD) license, Linux and Emacs use the GNU General Public License (GPL), while Netscape created the Mozilla[TM] Public License (MPL) for its browser. Companies like IBM and Sun have written a variety of licenses including the Common Public License (CPL), Sun Industry Standards Source License (SISSL), and Sun Community Source License (SCSL). Over 40 different licenses have been certified as meeting the criteria for open source by the Open Source Initiative, a nonprofit corporation dedicated to managing and promoting the Open Source definition (http://www.opensource.org), and it is unknown how many additional licenses have been created for use by other open source projects. This large number of possible licenses creates confusion for people considering participating in an open source project. When choosing a license for your project it is best to use one of the few, well-known existing licenses rather than trying to create a new one. Which license is best for your project will depend on your reasons for choosing to do open source development. Many people equate open source with the various open source licenses, but the license is only a gate that people pass through. If people are not willing to agree to the terms of the license, then they don't pass through the gate. However for those people who do accept, the license doesn't specify how they will work together; it merely defines some very basic ground rules. What the license doesThe license grants outside developers certain rights that establish what they can and cannot do with the source code. The licenses we consider here grant the developer the right to use and modify the source code. Some licenses also include the right to use any Intellectual Property (IP), such as patents, that is required for the source code. Most licenses do not grant developers the right to take that IP and use it in a different application. Each license also requires developers to assume certain responsibilities. For example, some licenses require that any bug fixes a developer makes to the source code must be contributed back to the original author. Another common requirement is that any IP used in the source code that a developer contributes must be made available to other developers who use that code. A major difference between licenses is what, if anything, the developer must do in order to redistribute executable binaries built from modified versions of the source code. Many open source licenses require that the modified source code also be made available, at no or nominal cost, to anyone who wants to see it---this being the whole point of open source. Some of the licenses created by Sun---SCSL and SISSL---include compatibility requirements in the license. Some licenses allow the source code to be incorporated into a larger work that is not subject to the terms of the license, though the original source code that is included still is; other licenses consider any additions to just be extensions of the original program and, as such, subject to all of the license terms. This is a key factor if you plan on combining open source code with proprietary code. Finally all of the licenses deal with various legal matters: warranty (there is none), liability (it's limited), termination of the license (if you violate any of its terms), dealing with brands and trademarks (they are not included with the license) and several other boilerplate issues that are also to be found in typical licenses accompanying commercial software (e.g. clauses about governing law, dispute resolution, U.S. Government use, international use, and severability). What the license does not doIt is just as important to realize what the license does not do. The license describes certain boundary conditions, but does not speak about how developers will actually work together. It is up to other documents or traditions to describe the process of contributing code, making a new release, and deciding what to do when disagreements arise. The license may not automatically apply to changes contributed by outside developers. Many open source projects require anyone wishing to contribute code to first sign a contributor's agreement before their code will be accepted. This agreement often includes an assignment of the copyright on all contributed code to the project. One other matter that most licenses do not touch on is how to ensure that modifications to the source code maintain compatibility with established standards. One way this can be done is to require that any distributed code pass a compatibility test in order to be granted the right to use a logo or brand. If there is an established brand then this can be enough of a carrot for developers to keep things compatible. Most often, compatibility is maintained because the community values it and will not accept code contributions that deviate from the standard---anyone who wants to create an incompatible version is thus forced to fork the code and start a new project. * * * Choosing a licenseWhen choosing a license for your project it is best to use one of the few, well known existing licenses rather than trying to create a new one. Even a short, clearly written new license will be an additional hurdle that will decrease outside participation---and most new licenses tend to be neither short, nor clear. The goals of your project will determine which license is most appropriate for you. Where possible we suggest using a Berkeley Software Distribution (BSD) style license since it is the simplest license and has the fewest restrictions, which makes it easy to share your code with other projects. Be sure to read the full text of any license you are considering and to consult a lawyer before making your decision. Here are some questions that will help you to pick which open source license to use:
Note: you also need to decide on what a developer must agree to in order to contribute source code to your project. If you are thinking of joining an existing open source project, then a license has already been selected by the project. You need to consider if you can achieve your business goals under that license. If you are planning to combine the open source code with proprietary code, then GPL would not work, but any of the other licenses, including LGPL, would be ok. * * * Summary of licenses
Notes:
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|