 Hi everyone! Thank you for joining this session today. I'm Ayumi Watanabe, OSS Management Consultant. I'm based in Tokyo, Japan. Today, Michael's speaker and I will talk about our open source project, open source license simple viewer. We call this OLSV in short. For executive summary, I will start with this one simple question. Do you have difficulties in your license compliance work in your team or in your company? License compliance work means, for example, identify open source components in your source code, find the license, read the license, understand the license, and do the mandatory work depending on the license you choose and use case you choose. So this license compliance work is sometimes very difficult, even if you were the IP expert or a lawyer. To solve these difficulties, we released this open source license simple viewer. This is a support tool for engineers. And above all, this tool is open source, so everyone can download and use it. Today in this session, we will talk about the background, issues that we try to solve, how to use the tool, and how to contribute to this project. We will be very happy if this tool can be of any help to you. This is today's agenda. It starts with our self introduction, the background things about open source license simple viewer, then the background technology, user case in Toyota, and our future plans. At first, let me introduce Michael's speakers. We have Endo-san, Tanaka-san, Shirai-san here. We will speak by turns today. And you can download open source license simple viewer from our GitHub repo right now. The URL is here. In this session later, I will do a demo of this tool. If you were... Oh, sorry. If you will have downloaded it, the demo will be like a hands-on session. Please prepare for that. So I pass the button to Endo-san, please. Thank you, Watanabe-san. This is Endo from Toyota. The OSS license is the intention of the engineer who developed the OSS. So when we use OSS, we have to grasp of the contents of the OSS license well and comply with the license terms. On the other hand, the number of OSS license is huge and some license have complicated conditions. Also, each use case calls for different things that users have to do. It's not easy for non-legal engineer to understand their complex situations. That's why engineer needs tools that make it easy for engineers to understand OSS licenses. Next, please. In this slide, I'd like to talk about issues at Toyota. Toyota has already established a mechanism for embedded OSS into vehicles and we are ready for open chain certification. However, there are people in the company who use OSS for several use cases such as research and development and e-house systems. So I heard that there was a limit to establishing a mechanism for individual companies to handle all of use cases. So we decided to cooperate with Hitachi Group for making OSS license management tools. Next, please. Thank you, Yata-san. After that, we decided to develop our open source compliance support tool together. At first, we decided to use Hitachi's logical decomposition of open source license as a base technology. Shirai-san will explain about this later and we Hitachi Solutions team was in charge of architecture and development. Toyota team was in charge of design and they were our sponsor. So next, I will speak about what is open source license simple viewer. Open source license simple viewer is a simple Excel based tool as open source license reference for engineers. It has a list of open source licenses, use cases, conditions, and notices. With this tool, you can know what you should do or need to do depends on the license and the use case you choose. Think is better than hearing. I will show you a demo later. Before we go into demo, I will explain the structure of this. Actually, this open source license simple viewer is just a viewer. It's just showing you the background technology, background data. This amazing background data is Hitachi's logical decomposition of open source license. This logical decomposition of open source license is name of an architecture of data. So you can create your own logical decomposition data or you can use Hitachi's sample data. So let's move on to the demo. In this demo, I will show you how to set up this open source license simple viewer and how to use it. Before using this, you need to prepare. As I mentioned before, you need to prepare two things. The first one is open source license simple viewer itself. This open source license simple viewer is now available in our GitHub repository. This is our GitHub repository. The ULS is this. And in this repository, this open source license simple viewer.xlsm, this file is the tool itself. Please download this to your local. I downloaded the file to here. And another thing you needed to prepare before is the logical decomposition data. It will be imported to the open source license simple viewer. As this logical decomposition data, you can use Hitachi's sample data. And of course, you can create your own data. In this demo, I will use Hitachi's sample data. Hitachi's sample data is now available on Hitachi's GitHub repo. The ULS is this. And this Hitachi's data in this open source repository, they call it open source license open data. The name is different, but this is the same data that we call logical decomposition data. And the logical decomposition data itself is in the data directory. You can see these four JSON files. These files are the logical decomposition data Hitachi's sample. Please download all of those JSON files to your local. I downloaded them to this folder here. So this is all that you need to before using this open source license simple viewer. So let's see how it works. Once you open the open source license simple viewer, at first you see the license. This open source license simple viewer is released under MYT license. And in this file, you can see some seeds. We have manual seed written in English and viewer seed, manual seed written in Japanese, Japanese viewer, and setting. Before using this file, you need to import data. You need to import logical decomposition data into open source license simple viewer. The import work will start with this button. You see two buttons in the setting file, but these two buttons behavior are the same, so you can use whichever you want. Push this button and select the folder that you downloaded the logical decomposition data. I downloaded those data into this data folder, so I select this and OK. Then the import task will start. The import task takes a few minutes, so now I cancel this and I will use another file in this demo. In this file, I have already done the import task, so it is ready to use. After importing the logical decomposition data, some seeds appeared. I will explain these seeds. For example, the licensee seed. In this seed, we have a list of open source licensee seeds. For example, Ruby license, GPL1, GPL2, everything. In this licensee seed, now we have about 700 licenses. In this action seed, this is a list of use cases. For example, we use the object code or redistributes the binary. It is the use case of open source components. As you see, this Hitachi sample data is now only available in Japanese. For this demo, I translated something into English, but other things is now still only in Japanese. In conditioned seeds, we have a list of tasks to do. For example, retain copyright notice, conditions, and disclaimer, or something. That is a list of to do tasks. In notices seed, there are some checklists about disclaimers. Open source licensee simple viewer use those data in these four sheets. This open source licensee simple viewer show you those data by filtering depends on the license or use cases about your choice. So I will show you how it works. Let's go to the viewer seed. So in viewer seed, at first, I choose the license. Push the select button, you can see the list of licenses. This licensee this came from here a licensee sheet. You can choose one from the pull down list, or you can type in the name of the license. For example, in this demo, I will type the MIT license and OK. And then I will choose the use case, select the button, and you can see the list of use cases. This use cases also came from actions seed. In this selection, this open source licensee simple viewer doesn't show you the whole list of actions. It filtered some actions depending on the license you choose here. So it means this list means the list of use cases that allowed under the license you choose. So I will choose one use case. For example, this will distribute the binary and push. Now I choose license and use case, so show. Then these conditions appeared and disclaimers appeared. This means if you use MIT license and the use case is redistributed to the binary, so you need to this condition retain copyright notice and the conditions and disclaimers. And under that use case, the disclaimers are this and this. It is very simple reference, license reference for you. I will show you another example. So for now, I will choose so BSD license and BSD 3 close license and OK. And then I select the use case. So I choose this the same before, restributes the binary and OK and show. So this conditional change, it means these conditions are regarding your choice of license and use cases. So in this example, BSD 3 close and the use case is restributed to the binary, so you need to do condition, refer these copyrights notice and blah blah blah and the disclaimers are here. And I will show you another example. For example, GPL new general GPL. We have GPL 1, GPL 2 and everything. So I will choose GPL 2 and OK. And I will choose the use case, for example, redistribute binary and OK and show. So now you see this comment area. This comment area, you can preset some comments to every license. For example, I preset this comment in here. License seeds and GPL general public license version 2 and comment is contact your IPX pods. So if you preset this comment here, then you select this license, so this comment will be appeared. So it can use for warning or to for notice to someone about the license. And GPL version 2 is very complicated license. So conditions is also very complicated, but in this open source license simple viewer, this is very simple to know what you need to do under this license and the conditions. So now we have one, two, three, four parts of conditions. They were combined with M. So this means you need to choose this and this and this and this. And also now we see three parts of conditions that are combined with or. It means you need to choose this or this or this. So you can choose which one, whichever you can do under the license. And in this case, disclaimer is this and this and this. So the checklist is very long. It means GPL version 2 is very complicated. But with this open source license simple viewer, if you choose license and use case, so you can see very simple conditions that you need to do and the disclaimers you need to be careful. So this is how this tool work. To sum up, open source license simple viewer is the reference of open source license for your compliance work. With this open source license simple viewer, you can know what you should do or need to do depends on the license you choose and use case that you choose. That's about it. So let's go back to presentation. From here, I pass the button to Shirai-san. He will explain the idea of the logical decomposition. Shirai-san, please go ahead. Hello, this is Shirai from Hitachi. I'm an architect of in-house system of open source license management. I'd like to introduce a technology we call logical decomposition of OSS license. To make it easy to understand open source license, we decompose license. Now it means the basic idea is license is a set of clauses and each clauses consists of actions and obligations. Action means you can do something. Now this is the license allow you to do that. Obligation means then you must do something. Now license require you to do that. You must do that. We decompose every license into this simple form. This helps us to understand licenses. So here is our situation. These days, our software uses a huge amount of open source software, hundreds, thousands or more. Even if our software uses just one open source software, but typically open source software depends on other open source software and it also depends on other open source software. So these transitive dependencies result a huge group of open source software and each open source software has its own license. For example, ZPL, MIT and VSD and so on. Each license has different license text, even for similar actions and obligations. Now this is one of the examples. This is obligations for license redistribution. These are three licenses. They have different text, but their obligation is almost same, so you have to distribute license. This variation makes it hard to share common understanding among developers, legal staff, procurement, quality assurance and other staff. So the root course is that we don't have common vocabulary among licenses. So our solution is to make common vocabulary to represent these actions and obligations. So it will make it easy to understand the license. So let's dive into the detail. So this is a detailed data model to manage license. So here's the license. As I said, license consists of closets and also each clause consists of actions and obligations. The blue box means vocabulary. So we define some vocabulary for action. For example, use, distribute, modify and so on. And we also define obligation for vocabulary for obligation. And we categorize obligation into three groups. So the first one is you must do something before you do the action. So typical case is you need to get written permission to do something before you do something. The second one is you must do something after you do the action. So this is mainly usual case. And the third one is you must not do that. Typically, a license requires to comply with all of obligation. So we use and to represent that. Some license provide us choice to take one obligation from obligation group. So to represent the group, we use OR. So let's see that concrete example of their sample data for ZPL 2.0. ZPL 2.0 consists of set of closets. So I take one of them. We call the number five clause here. So this clause consists of two action vocabularies. So unfortunately, our sample is written in Japanese, but I explain English. The first one is distribute object code. And the second vocabulary is distribute executable form. So these are very similar. So what the action says is distribute binary. So this means ZPL 2.0 allows us to distribute binary. But at the same time, ZPL 2.0 requires us to do some obligation. So there are six vocabularies in this case. So the first one is you must provide copyright notice. And the second one is you must provide a license copy. And the third one is you must apply same license if you make combined work. For example, static link or dynamic link from your software to ZPL 2.0 OSS. And the first one is you must publish source code. But ZPL 2.0 provides us three choices. The first choice is provide source code along with the binary, this binary. And the second choice is provide source code based on written offer. And the third choice makes source code downloadable. So this is a kind of logic tree. So to formalize open source software into this form, make it easy to understand for human. And also it make it enable to process license data for tools. So the one of the application is our in-house license management system. And the other application is this OSS license simple viewer. So let's see another example. So here is our PSD3 clause and also MIT license. So these two license have different license text. But the content is very similar. Actually in this clause it's all exactly same. Let's see action. So here are two action vocabulary. The first one is distribute binary. And the second one is distribute modified binary. So let's see a PSD3 clause and MIT have exactly the same action vocabulary. So you can easily understand these two license allow us same thing. And let's see obligation part. So it's same. There are same vocabulary appear here. So you must provide license notice and term of condition and notices the same. Or let's see the two point of it's a little bit different but similar obligation vocabulary appear here. So you can easily recognize these are similar almost same. So this you make better understanding. So we publish this sample data in our Hitachi GitHub repository. And you are here. So we name it OSS license open data. It's open data. And we apply license. Common community data license agreement permits 1.0. This is good license for open data. And this license is established Linux foundation. So we appreciate for the effort. As of today, this sample data includes over 700 licenses. So most likely you will see a license you are using. Now we are happy to contribute to the development of open source software. Not only software itself, but also efficient compliance works. Let me take a button to the Tanaka Thank you, Shirai-san. I'm Mi-yu Tanaka from Toyota IP Division. I'm a guest in building and OSS usage and contribution process of Toyota. Thank you to the tools developed by Hitachi Groups, deep understanding of OSS and system development capabilities. Our engineers are now more familiar with OSS licenses. We customize this tool and authority to our intranet. Engineers use this tool before consulting with IP Division. This tool is also useful for engineers to try at OSS. I'd like to talk about future issues and the spellier IP Division maintains this tool. However, many IP members do not have technical knowledge about databases such as JSON. Therefore, we think that the creating maintenance manuals is important. We also want to integrate this tool in our internal workflow. By doing so, I believe that engineers will be able to use our OSS in relief. That's all for my part, but Tanaka-san, please continue to the presentation. Thank you, Tanaka-san. This is our last slide. I will talk about our future plans. At first, we are planning to localize this tool and attach its sample political decomposition data into other languages. Our open-source licensing for viewer itself is now available in Japanese and English, but unfortunately, Hitachi's sample data is now available only in Japanese. So, we hope this open-source licensing for viewer would be used in all over the world. So, we would like to ask people who are interested in our activity to join our project and contribute to the translation work. And after that, we would like to do some functional enhancement, but this is just under discussion. So, everyone, thank you for listening to the very end. And again, we hope our activity would be of any help to every engineer. We are really happy to answer your questions via chat, email, anything. Please feel free to contact us anyway. That's all for today. Thank you very much for listening to this session. Thank you. Bye.