JACL Licensing Case Study

FOSSBazaar is no longer being updated. The information on this site is preserved for your convenience but may be out of date. Please visit Linux Foundation's Open Compliance Program for current information and activities.

Wazi's picture
This case study, which originally appeared on Wazi, illustrates how OpenLogic addresses licensing issues that arise while certifying open source packages for inclusion in the Certified Library available on OpenLogic Exchange (OLEX). Enterprises considering using Jacl should note its license model and thoroughly evaluate potential liabilities before deploying it.

Project Description

The Jacl project provides a self-contained implementation of a Tcl (Tool Command Language) interpreter. It also facilitates communication between Java and Tcl interpreters. Jacl can be used to add scripting functionality to an existing Java application, or to take advantage of Java methods from Tcl procedures. An alternative to Jacl is Tcl Blend, which provides similar functionality in a Tcl extension.

License Issue

During the certification process for Jacl 1.4.1 in May 2008, OpenLogic discovered that versions of Jacl previous to 1.4 were licensed under a proprietary copyright statement. This statement is included as a text file in the distribution as the "Jacl License." The project website offered no additional information on the license. Examining the contents of additional distributions, OpenLogic found the copyright statement mentioned on the website and in the original distribution, and researchers also found a Sun license. The Sun license had no name or title, but launched immediately into terms and conditions. Using text comparison tools, OpenLogic researchers determined this Sun license was not one previously encountered. A close read of the license text revealed the following potentially restrictive clause regarding development: “[use is] expressly subject to Sun’s continuing ownership of the Software”. According to OpenLogic's definitions, a true open source license contains no restrictions, and thus an evaluation of a license that results in 'potentially restrictive' text is reason enough for a project to fail OpenLogic’s certification process. But there were two additional red flags:
  1. There are only two OSI-approved Sun open source licenses, and this license was not similar to either.
  2. Sun is a commercial entity.
The OpenLogic certification team searched Google with chunks of the license text looking for a match and scoured Sun's pages, but had no luck turning up the exact license text in any other location. An ordinary project would have failed certification at this point, but OpenLogic determined to take the research a bit further because Jacl 1.4.1 was a specific customer request. Returning to the distribution, OpenLogic's researchers scoured the directories for additional clues and found a file that included the following text: "Jacl 1.0 was released by the now defunct SunScript group at Sun Labs. Newer versions of Jacl have been developed by…" and following this text was a list of the project developers. This answered some of the questions about the genesis of the license, and Sun's history with the project and researchers contacted the project developers. Discussion with the developers clarified a number of points regarding the relationship between the licenses and, most importantly, OpenLogic was assured that lawyers from Sun, AMD and IBM — all with an interest in the project at various junctures via staff involvement — had reviewed the licensing and found it adequate.

Resolution

Satisfied that the project was indeed open source, OpenLogic kept the copyright notice and added the Sun license under the name Sun Microsystems Laboratories License. This combination was called the Jacl Software License. A note on the Jacl knowledgebase entry within OLEX explains the situation as follows: "Originally developed by Sun Microsystems in conjunction with developers affiliated with the University of California, Berkeley, Jacl uses both the Sun Microsystems Laboratories license, and a copyright, permission statement and warranty disclaimer added by the University. OpenLogic refers to this combination as the 'Jacl Software License'."