Sunday, October 25, 2009

Distributing Tomcat





























Chapter 1 -
Apache and Jakarta Tomcat
byVivek Chopra, Ben Galbraithet al.
Wrox Press 2003































Distributing Tomcat



Tomcat is open source software, and as such is free and freely distributable. However, if you have much experience in dealing with open source software, you're probably aware that the terms of distribution can vary from project to project.


Most open source software is released with an accompanying license that states what may and may not be done to the software. There are at least forty different open source licenses out there, each of which has slightly different terms.


Providing a primer on all of the various open source licenses is beyond the scope of this chapter, but the license governing Tomcat will be discussed here and compared with a few of the more popular open source licenses.


Tomcat is distributed under the Apache License, which can be read from the $CATALINA_HOME/LICENSE file. The key points of this license state that:




  • The Apache License must be included with any redistributions of Tomcat's sourcecode or binaries




  • Any documentation included with a redistribution must give a nod to the ASF




  • Products derived from the Tomcat sourcecode can't use the terms "The Jakarta Project", "Apache", or "Apache Software Foundation" to endorse or promote their software without prior written permission from the ASF




  • Tomcat has no warranty of any kind




However, through omission, the license contains these additional implicit permissions:




  • Tomcat can be used by any entity, commercial or non-commercial, for free without limitation




  • Those who make modifications to Tomcat and distribute their modified version do not have to include the sourcecode of their modifications




  • Those who make modifications to Tomcat do not have to donate their modifications back to the ASF




Thus, you're free to deploy Tomcat in your company in any way you see fit. It can be your production web server or your test servlet container used by your developers. You can also redistribute Tomcat with any commercial application that you may be selling, provided that you include the license and give credit to the ASF. You can even use the Tomcat sourcecode as the foundation for your own commercial product




Comparison with Other Licenses


Among the previously mentioned rather large group of other open source licenses, there are two licenses which are particularly popular at the present time: the GNU General Public License (GPL) and the GNU Lesser General Public License (LGPL). Let's take a look at how each of these licenses compare to the Apache License.




GPL


The GNU Project created and actively evangelizes the GPL. The GNU Project is somewhat similar to the ASF, with the exception that the GNU Project would like all of the non-free (that is, closed source or proprietary) software in the world to become free; the ASF has no (stated) desire to do this and simply wants to provide free software.



What Does It Mean to Be Free?

Free software can mean one of two entirely different things: software that doesn't cost anything, and software that can be freely copied, distributed, and modified by anyone (thus the sourcecode is included or available); such software can be distributed either for free or for a fee. A simpler way to explain the difference between these two types of free is "free as in free beer" and "free as in free speech". The GNU Project's goal is to create free software of the latter category. All uses of the phrase "free software" in the remainder of this section will use this definition.


The differences between the Apache License and the GPL thus mirror the distinct philosophies of the two organizations. Specifically, the GPL has these key differences from the Apache License:




  • No non-free software may contain GPL-licensed products or use GPL-licensed sourcecode. If non-free software is found to contain GPL-licensed binaries or code, it must remove such elements or become free software itself.




  • All modifications made to GPL-licensed products must be released as free software if the modifications are also publicly released.




These two differences have huge implications for commercial enterprises. If Tomcat were licensed under the GPL, any product that contained Tomcat would also have to be free software.


Furthermore, while the Apache License permits an organization to make modifications to Tomcat and sell it under a different name as a closed source product, the GPL would not allow any such act to occur; the new derived product would also have to be released as free software.







LGPL


The LGPL is similar to the GPL, with one major difference: non-free software may contain LGPL-licensed products. The LGPL license is intended primarily for software libraries that are themselves free software but whose authors want them to be available for use by companies who produce non-free software.


If Tomcat were licensed under the LGPL, it could be embedded in non-free software, but Tomcat could not itself be modified and released as a non-free software product.




For more information on the GPL and LGPL licenses, see http://www.gnu.org/.






Other Licenses


Understanding and comparing open source licenses can be a rather complex task. The explanations above are an attempt to simplify the issues. For more detailed information on these and other licenses, there are two specific resources that can help you:




  • The Open Source Initiative (OSI) maintains a database of open source licenses. Visit them at http://www.opensource.org/.




  • The GNU Project, mentioned above, has an extensive comparison of open source licenses with the GPL license. See it at http://www.gnu.org/licenses/license-list.html.























No comments:

Post a Comment