Special Feature 2

About T-License

T-Engine Forum


T-License is the license agreement for utilizing the T-Kernel source code that has been released by the T-Engine Forum. It is possible to download and utilize the source code by concluding this agreement. Since T-Kernel is based on the premise of utilization in embedded systems, the license conditions also consist of ones appropriate to individuals concerned with embedded systems utilizing this source code. With license conditions of source programs that have been made public, the General Public License (GPL) applied to Linux and the like is known, but T-License is very different from the GPL. With the GPL, because the objective is to move forward with remodeling and function augmentation of the original program by obtaining the cooperation of a large number of developers, it is set up so that in a case where a developer has made changes, he will disclose the changed source code. On the other hand, with T-Kernel, which has made as its premise embedded systems, a developer comes to utilize it after tuning the standardized operating system to match the characteristics of a system, and as the part that has been tuned is equivalent to the hardware and software know-how of each company, the GPL license condition that says you must disclose the source code of that part is not suitable. Also, T-Kernel makes a guarantee in regard to the copyright so that there will be no intellectual property rights problems concerning the original source code, and with the original T-Kernel compatibility is maintained so that lots of middleware can be distributed using this as a platform. Therefore, it is important that users download and utilize the T-Kernel original, and for that reason we have made it a condition in T-License that the user will definitely download the original, and we have forbidden redistribution. On this point also, T-License is different from the form of other open source code licenses, such as the GPL.

The basic thinking of T-License is like this, but we will explain the details a little more. As the detailed T-License document is displayed from the T-Kernel utilization application page (http://www.t-engine.org/T-Kernel/tkernel.html) when you walk through the procedure, please refer to this.

Copyright and Industrial Property Rights

Mr. Ken Sakamura owns the copyright to the T-Kernel source code, and the T-Engine Forum carries out the distribution of this. We guarantee that the T-Kernel source code distributed from the T-Engine Forum does not include the copyrights of third parties. In the case of the GPL, instances of third party source code getting mixed in without knowing it have occurred and problems have arisen, but so that there will be no instances of that kind, aiming to guarantee the copyright is the way of thinking of T-License. Even in cases where there are modifications as a result of porting to new types of T-Engines or modifications of the source code as a result of the correction of minor bugs and the like, because we have decided to add it to the distribution after dealing with it so that copyright problems won't arise, you can put you mind at ease and utilize it. Even in regard to industrial property rights, we are dealing with it so that as far as possible there won't be any problems, but because it is impossible to do a complete survey of the enormous number of patents that are in the world, we do not make up to a "guarantee."

Figure 1. T-Kernel utilization procedure

What Can System Developers Do?

Please take a look at Fig. 1. What we call a system developer is a person who develops embedded products in hardware who makes as his objective the utilization of the T-Kernel source code. In short, this is something about firms that develop manufactured products (of course, even individuals are fine, and even cases where selling is not the purpose are included). You can freely make changes on the basis of the source code, embed that in products, and market those products. Being embedded in execution format (binary code) in an embedded product is necessary, but license expenses are gratis no matter how many embedded products you have sold. Furthermore, under T-License, it is not possible to redistribute the source code or distribute remodeled source code. As for redistribution, both putting the source code on a server and making it so that a third party can take it and creating duplicates and distributing them to many unspecified or specified persons are forbidden.

Obligation to Register and Obligation to Indicate

In cases where one will utilize it in the manner mentioned above, it is necessary to have you register as a user from the T-Engine Forum's distribution page. We will have you apply for registration by consenting to the contents of T-License (when we have received your consent and that is registered, the T-License agreement is established) and filling in some necessary items. When the application is received and registration is finished, an ID and password necessary in downloading will be communicated to you via e-mail. Having you indicate to the effect that you have utilized T-Kernel source code in an embedded product that you developed by utilizing T-Kernel source code is also an obligation. As to the definite method of indicating, it appears on the T-Engine Forum's distribution page, so please follow that.

Figure 2. Distribution of a T-Kernel modification

Cases Where One Wants to Turn an Improved Version into a Product

It is conceivable that a software company would like to market as a commercial product an improved version source code that has been fine tuned to a specific application or to a specific CPU on the basis of the T-Kernel source code. With T-License, it is possible to distribute changed version software of this type under the following conditions (the party is called a distributor of modification). It is demanded that the distributor of modification be an A member of the T-Engine Forum, who will register for us with the forum. Furthermore, in registering, a registration fee becomes necessary. The condition of being an A member is not just being an A member at the point in time of registering as a distributor of modification, but it is necessary to be an A member during the period in which the party is carrying out the distribution of the changed version. Also, as to the changed version software product, we will have you communicate to the forum an outline of the product and its name. This product, of course, is for compensation, and it can be marketed. Fig. 2 shows a case in which someone utilizes the software product of a distributor of modification and develops an embedded product. It is a little complicated, but we have made it a requirement that the company that will develop the embedded product (the system developer) also register with the T-Engine Forum and make out the T-License Agreement with us. Accordingly, as to the form of it, this is a situation in which the system developer has downloaded T-Kernel, the software is provided to the system developer from the distributor of modification as a patch for the T-Kernel original, and when the system developer applies the patch, it becomes the tuned T-Kernel that is the objective.

There are two reasons as to why we have adopted a somewhat complicated method of this sort. First is the point that in cases of the kind where we will make various types of notices concerning T-Kernel from the T-Engine Forum, there will be no omission of notification, because all of the users are registered. The other one is to make it so that changed versions do not separate from the parent-to-child relationship in the manner of a changed version (grandchild) of a changed version (child) from the original T-Kernel. This is because as T-Kernel has been created as a platform of the type that makes possible the distribution of middleware, guaranteeing the distribution of middleware ends up becoming impossible when source code is separated from the parent in the manner of a grandchild and its child.

Because there are also cases where it will be felt that the system developer applying the patch is trouble, we have made it so that the distributor of modification can act as an agent so that this trouble can be omitted. There is one more meaning to agent; when adopting the means of an agent, it is possible for the distributor of modification to do things in a way that he does not disclose the tuned source code to the developer. The distributor of modification can preserve his know-how, and there is the possibility the system developer can utilize the object software at a lower cost if he thinks the source code is unnecessary.

* * *

We have described above the basic way of thinking in T-License. In regard to questions of the type how do you interpret a case like this, we have prepared a FAQ on the T-Kernel distribution page, so please refer to that.


The above article on T-Engine appeared on pages 20-21 in Vol. 86 of TRONWARE . It was translated and loaded onto this Web page with the permission of Personal Media Corporation.

Copyright © 2004 Personal Media Corporation

Copyright © 2004 Sakamura Laboratory, University Museum, University of Tokyo