GPL vs. T-License

Steven J. Searle

Web Master, TRON Web


I recently input T-Engine and T-License into the Google search engine, and I was surprised to come across some strange opinions concerning the T-Engine project and T-License, which governs the release of the source code for T-Kernel, the native kernel that runs directly on top of T-Engine. An article on Teacube at Linux Devices Web site incorrectly informed readers that "TRON suffers from dire fragmentation, because there's no onus for its users to contribute the extensions and customizations back to the community," while an opinion posted on a blog criticized the T-Engine project for not releasing T-Kernel under the General Public License (GPL) created by Richard M. Stallman of the Free Software Foundation. Both of these opinions are based on misunderstandings of the T-Engine project, which is actually a "single subproject" of the larger TRON Project that has been in existence for over 20 years now, and T-License, which is designed to protect the integrity of a real-time kernel that its designer wants to be used for the next 100 years.

The TRON Project, unlike the Free Software Foundation's GNU project, actually began as an "open architecture movement," not an "open source movement." The original TRON goal was to create an open, royalty free architecture for computerizing human society, not a replacement for a multiuser, multitask workstation operating system. Moreover, so that everyone could compete freely, the operating system specifications the project released were based on the concept of "weak standardization." The advantage of this approach to "open systems development" was that multiple vendors could create their own unique implementations of ITRON, from which T-Kernel is derived. The disadvantages were that minor variations in the implementations made it difficult to create a unified development environment, and that porting middleware from one implementation to the other became more and more difficult as middleware grew in size. It was to rectify these two shortcomings that the T-Engine project, which is a "middleware distribution movement," was launched.

T-Engine is an open hardware standard for constructing a family of development boards to be used in the creation of embedded systems for ubiquitous computing networks. Some features of these boards, such as the processor and the bus, can be decided by the manufacturer, but most of their features must follow the T-Engine specification standards. In order to allow the porting of middleware from one board to the other merely by recompiling, which is the main goal of the project, T-Kernel has to be a single implementation from a single source, which can only be modified through the consent of the copyright holder, i.e., Prof. Ken Sakamura. Accordingly, the former opinion above seems to have been written by someone who hasn't read the T-License agreement. The license agreement makes it very clear that changing or modifying the T-Kernel source code can only done by certain parties (i.e, A level members of the T-Engine Forum) that have been approved, and that those parties must notify and register their changes with the T-Engine Forum.

As for latter opinion, the author probably doesn't know that originator of the General Public License, Richard M. Stallman himself, said at the Takeda Award 2001 Forum that the GPL isn't needed for the type of systems that TRON is used in. By TRON, of course, he meant ITRON and embedded systems based on the various ITRON implementations. Moreover, he pointed out that his original goal in starting the GNU project was to create something to replace the UNIX operating system, which went from an open operating system to a closed, proprietary operating system when American Telephone and Telegraph Co. metamorphosed from a public monopoly into a private corporation. And he wasn't the only one to realize the need for an open source UNIX replacement. On the West Coast of the U.S., the very similar FreeBSD project was launched, although its distribution was based on a different type of license that allowed for the open source code to be incorporated into a proprietary product that could be sold for profit.

The TRON Project itself, perhaps as a result of influence from its sister open systems movements, has also released three open source operating systems: (1) ItIs, a µITRON3.0-specification kernel that was mainly intended for education and training, although it worked its way into many commercial products; (2) a µCTRON implementation, which eventually became popular in factory automation in China; and (3) TOPPERS/JSP, a µITRON4.0-specification kernel that is still available today and can be downloaded from the Web. None of these free, open source operating systems was/is based on a license agreement like the one used for T-Kernel, so people who want to do something with TRON without much in the way of license restrictions can use any of these toward that end. Personally, I've always thought it would be interesting to port the GNU software that runs on top of the Linux kernel to µCTRON, which like Linux is a multiuser, multitask operating system kernel, but that's another story for another day.

One of the most important things I have written on TRON Web appears in my introductory piece to MTRON. In it, I stated that "different societies use technologies differently, and they have different concerns accordingly." I wrote this with critics of TRON-based ubiquitous computing networks in mind, who erroneously believe that police states result from technology rather than warped sociopolitical philosophies and systems. With critics of T-License in mind, I suppose I should state that "different open systems projects use license agreements toward different ends, and thus those licenses have different provisions accordingly." In other words, the purpose of a license agreement is to ensure that the objectives of a particular open systems project will be met, and that all players will follow a set of prescribed rules to allow the project in question to attain those objectives. The T-Engine project, a branch of the TRON Project, has different objectives from GNU/Linux, and thus it has a different license agreement governing access to T-Kernel source code.