Motion editor/Dynamics simulator
Integrated Development Platform
AIST RTC collection
RT-Components collection by AIST
Tokyo Opensource Robotics Association
Middleware for DAQ (Data Aquisition) by KEK
OpenRTM-aist consists of middleware libraries of various languages (C ++, Java, Python), tools such as RTCBuilder, RTSystemEditor, etc. We distributed them in open source format under:
- RT Component Development/Distribution
- Modification and redistribution of OpenRTM-aist based on LGPL
- Modification and redistribution of OpenRTM-aist based on an individual contract
LGPL(GNU Lesser General Public License) is a copyleft-type free software license released by the Free Software Foundation(FSF).
EPL(Eclipse Public License) is listed as one of "free software licenses" by FSF, it is a license form similar to CPL (partly LGPL) and promotes more commercial use.
These licenses can not be applied to (i) software that is distributed as a separate module or (ii) software that is not derived from the licensed program. Also, the EPL license contains a clause concerning patents, and the patent owned by the contributor does not affect the use of the software (the user is granted a patent license free of charge).For details of the LGPL license, please refer to
In the following, the Licenses and the constraints related to the examples of OpenRTM-aist products are explained.
RT Component Development/Distribution
The OpenRTM-ais license does not apply to individual RT components. Therefore, RT component creator can distribute/sell their products with any license .
The RT component is dynamically linked with libRTC.so (or RTC.DLL) of OpenRTM-aist, and the RT component itself can also be distributed as a shared object (or dynamic link library). Therefore, the RT component itself is not regarded as a derivative defined by the license, and it does not include the LGPL license.
If you create and distribute RT components, you can distribute or sell RT components under any license and you can freely choose to open or close source code.
Modification and redistribution of OpenRTM-aist based on LGPL
If using OpenRTM-aist published by AIST under the LGPL, AIST grants the users a license to execute, modify, redistribute, and use OpenRTM-aist free of charge. However, when redistributing in LGPL, it is requested that the redistributing software is done based on LGPL, including a condition in which ensures that anyone must be able to get the modified source code. Therefore, when modifying and selling OpenRTM-aist under LGPL, it is required to disclose the source code.
In many case embedded systems,it is difficult to apply software to a target without modifying the source code and it might not be good for the vendor to open the modified source code. It may be inconvenient for companies that want to commercialize the robot. In consideration of these cases, OpenRTM - aist is a dual license format so that it can take the form of licensing based on individual contract as described below.
Modification and redistribution of OpenRTM-aist based on an individual contract
As in the above cases, if you do not want to disclose the modified source code to prevent leakage of the technology in case of commercializing a robot system, you can select an individual license instead of LGPL or EPL.
It is possible to provide a non-LGPL/EPL license for you based on an individual contract when you want to modify/re-distribute OpenRTM-aist after the intellectual property division of AIST discuss with you individually. In that case, the condition like the fee for using the source code and the giving rights will be defined based on your usage, how much/what you modify the source code and your own intellectual property inclusion after discussion between you and the intellectual property division of AIST. However, since AIST is a nonprofit organization for industrial promotion, the fee might not be expensive.
There were individual contracts to license the redistribution and the source code disclosure for RtcLink(former RTSystem Editor), RtcTemplate (former RTC Builder) and OpenRTM-aist (Java version).