Hi, Here is the SeaTunnel automatically generates LICENSE design, as follows: Background
As we all know, the SeaTunnel is a high-performance Data Integration Platform that supports efficient data transformation and transfer between heterogeneous data sources. Therefore, it is inevitable to introduce many third-party dependencies. Therefore, there is also a problem, which is, with more and more third-party components, it will be a very labor-intensive process to manually maintain LICENSE. At the same time, newbies need to learn this LICENSE mechanism, which also increases the entry threshold for newbies. Therefore, this document will introduce a way to automatically generate the LICENSE file. Requirement After preliminary research, some basic requirements have been sorted out: 1. It needs to be implemented in a scripting language to facilitate understanding and maintenance; 2. It can be integrated with the existing Maven build process; 3. It should support Github Action to trigger automatically. Plan Version v1.0 The easiest way is to generate a temporary THIRD-PARTY.txt through Maven’s license-maven-plugin plugin. Then through the Python script, the LICENSE file is automatically parsed and created. [image: image.png] Version v2.0 Further through Maven’s exec-maven-plugin plug-in, it supports one-click triggering by using Maven. [image: image.png] Version v3.0 Going a step further, we can integrate with Github Action. When a new PR is created, if the dependency changes, Github Action automatically modifies the LICENSE, and creates a commit to submit it to the new PR. In this way, when contributing new plug-ins, users do not need to understand the LICENSE mechanism, all of which are automatically modified, which greatly reduces the threshold for newbies. [image: image.png] Conclusion Currently I have created the #1210 <https://github.com/apache/incubator-seatunnel/pull/1210> PR, which has completed versions v1.0 and v2.0, we need to discuss whether v3.0 needs to be implemented at this stage. And then we can implement v3.0 in a follow-up PR if necessary. Any comments are welcome, thank you very much. Regards, Benedict Jin
