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

Reply via email to