Merged at 137c2c6eff67f4750d77e8e40af6683c412d3ed0 -----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Liming Gao Sent: 2020年7月31日 11:14 To: Leif Lindholm <l...@nuviainc.com> Cc: devel@edk2.groups.io; ler...@redhat.com; Andrew Fish <af...@apple.com>; Kinney, Michael D <michael.d.kin...@intel.com>; Zhang, Shenglei <shenglei.zh...@intel.com>; Chen, Christine <yuwei.c...@intel.com> Subject: Re: [edk2-devel] [PATCH 1/2] Revert "BaseTools/PatchCheck.py: Add LicenseCheck"
Reviewed-by: Liming Gao <liming....@intel.com> -----Original Message----- From: Leif Lindholm <l...@nuviainc.com> Sent: 2020年7月14日 19:25 To: Gao, Liming <liming....@intel.com> Cc: devel@edk2.groups.io; ler...@redhat.com; Andrew Fish <af...@apple.com>; Kinney, Michael D <michael.d.kin...@intel.com>; Zhang, Shenglei <shenglei.zh...@intel.com>; Chen, Yuwei <yuwei.c...@intel.com> Subject: Re: [edk2-devel] [PATCH 1/2] Revert "BaseTools/PatchCheck.py: Add LicenseCheck" Hi Liming, Thanks, this solves my concern. / Leif On Tue, Jul 14, 2020 at 02:28:59 +0000, Gao, Liming wrote: > Leif: > Shenglei is working on new patch to add license checker as open CI > plug-in (BZ 2833). This way allows to add the exception. So, the > autogen file can be handled. Based on current statement, only > BSD-2-Clause-Patent license will be allowed. Other license can be > added as the exception case if necessary. With new license checker > in open CI, I agree to revert this checker in > BaseTools/PatchCheck.py. > > Thanks > Liming > -----Original Message----- > From: Leif Lindholm <l...@nuviainc.com> > Sent: 2020年7月7日 23:57 > To: devel@edk2.groups.io; ler...@redhat.com > Cc: Andrew Fish <af...@apple.com>; Kinney, Michael D > <michael.d.kin...@intel.com>; Zhang, Shenglei > <shenglei.zh...@intel.com>; Chen, Yuwei <yuwei.c...@intel.com>; Gao, > Liming <liming....@intel.com> > Subject: Re: [edk2-devel] [PATCH 1/2] Revert "BaseTools/PatchCheck.py: Add > LicenseCheck" > > On Fri, Jul 03, 2020 at 18:20:26 +0200, Laszlo Ersek wrote: > > On 07/02/20 13:24, Leif Lindholm wrote: > > > This reverts commit a4cfb842fca9693a330cb5435284c1ee8bfbbace. > > > This commit suggests inclusion of non-edk2+license content without > > > > The expression "non-edk2+license" is a typo. > > > > I think you meant "non-BSD-2-Clause-Patent". > > Err, yes. Sorry. > > > > a contribution agreement is something the community has made a > > > decision on, which is incorrect. > > > > I'm OK with commit a4cfb842fca9 being reverted, as this solves the > > practical problem of adding generated files. > > > > Acked-by: Laszlo Ersek <ler...@redhat.com> > > > > That said, I *still* don't grasp the more general problem you refer to. > > > > Can we express it as follows (using commits 6b621f958123 and > > 6f21d772aa6b as reference): > > > > (1) Content under OvmfPkg/Include/IndustryStandard/Xen was > > introduced under the MIT license in commit 6b621f958123. That commit was > > marked with: > > > > > License: This patch adds many files under the MIT licence. > > > Contributed-under: TianoCore Contribution Agreement 1.0 > > > > and the header files also contained open-coded instances of the MIT > > license. (These would later be replaced with SPDX identifiers in > > commit > > 6f21d772aa6b.) > > > > As a result, these files effectively granted use and distribution > > rights under the MIT license, *plus* a patent grant (per TCA). > > Correct. > > > (2) If we did the same today (that is, add new MIT-licensed files, > > but no "Contributed-under: TCA" line on the commit message), then > > that would grant use and distribution rights under the "MIT > > license", and > > *no* patent grant. > > > > Is this the issue you're thinking of? > > Yes. > > > So are we basically looking to replace (for example): > > > > SPDX-License-Identifier: MIT > > > > with *something* like: > > > > SPDX-License-Identifier: MIT-Patent > > > > ? (Assuming the latter exists -- which it doesn't, at the moment?) > > It doesn't. > > For BSD3/BSD4, we can do what the BSD distros do and use (for example) > SPDX-License-Identifier: BSD-3-Clause AND BSD-2-Clause-Patent > > It is not clear to me if (for example) "MIT AND BSD-2-Clause-Patent" > is a valid expression. But what about "public domain"? Do we figure out a > jurisdiction in which public domain content can clearly have arbitrary > licenses applied to it and ask someone there to relicense it to something we > can accept? > > If we decide the explicit patent grant isn't important, why did we add > it in the first place? If we decide it is important, we need to > actively make a decision on whether we can ever sidestep it, and if so > under what circumstances. (e.g.: "we permit it for tools" - but then > the code generation aspect also needs to be covered) > > Regards, > > Leif > > > Thanks > > Laszlo > > > > > > > > Cc: Shenglei Zhang <shenglei.zh...@intel.com> > > > Cc: Yuwei Chen <yuwei.c...@intel.com> > > > Cc: Liming Gao <liming....@intel.com> > > > Signed-off-by: Leif Lindholm <l...@nuviainc.com> > > > --- > > > BaseTools/Scripts/PatchCheck.py | 50 > > > --------------------------------- > > > 1 file changed, 50 deletions(-) > > > > > > diff --git a/BaseTools/Scripts/PatchCheck.py > > > b/BaseTools/Scripts/PatchCheck.py index e38cf61f93da..6372f71592d3 > > > 100755 > > > --- a/BaseTools/Scripts/PatchCheck.py > > > +++ b/BaseTools/Scripts/PatchCheck.py > > > @@ -305,49 +305,12 @@ class GitDiffCheck: > > > self.line_num = 0 > > > self.state = START > > > self.new_bin = [] > > > - self.LicenseCheck(self.lines, self.count) > > > while self.line_num < self.count and self.format_ok: > > > line_num = self.line_num > > > self.run() > > > assert(self.line_num > line_num) > > > self.report_message_result() > > > > > > - def LicenseCheck(self, lines, count): > > > - self.ok = True > > > - self.startcheck = False > > > - self.license = True > > > - line_index = 0 > > > - for line in lines: > > > - if line.startswith('--- /dev/null'): > > > - nextline = lines[line_index + 1] > > > - added_file = > > > self.Readdedfileformat.search(nextline).group(1) > > > - added_file_extension = os.path.splitext(added_file)[1] > > > - if added_file_extension in self.file_extension_list: > > > - self.startcheck = True > > > - self.license = False > > > - if self.startcheck and self.license_format_preflix in line: > > > - if self.bsd2_patent in line or self.bsd3_patent in line: > > > - self.license = True > > > - else: > > > - for optional_license in self.license_optional_list: > > > - if optional_license in line: > > > - self.license = True > > > - self.warning(added_file) > > > - if line_index + 1 == count or lines[line_index + > > > 1].startswith('diff --') and self.startcheck: > > > - if not self.license: > > > - error_message = "Invalid License in: " + added_file > > > - self.error(error_message) > > > - self.startcheck = False > > > - self.license = True > > > - line_index = line_index + 1 > > > - > > > - def warning(self, *err): > > > - count = 0 > > > - for line in err: > > > - warning_format = 'Warning: License accepted but not BSD plus > > > patent license in' > > > - print(warning_format, line) > > > - count += 1 > > > - > > > def report_message_result(self): > > > if Verbose.level < Verbose.NORMAL: > > > return > > > @@ -534,19 +497,6 @@ class GitDiffCheck: > > > print(prefix, line) > > > count += 1 > > > > > > - license_format_preflix = 'SPDX-License-Identifier' > > > - > > > - bsd2_patent = 'BSD-2-Clause-Patent' > > > - > > > - bsd3_patent = 'BSD-3-Clause-Patent' > > > - > > > - license_optional_list = ['BSD-2-Clause', 'BSD-3-Clause', 'MIT', > > > 'Python-2.0', 'Zlib'] > > > - > > > - Readdedfileformat = re.compile(r'\+\+\+ b\/(.*)\n') > > > - > > > - file_extension_list = [".c", ".h", ".inf", ".dsc", ".dec", ".py", > > > ".bat", ".sh", ".uni", ".yaml", ".fdf", ".inc", "yml", ".asm", \ > > > - ".asm16", ".asl", ".vfr", ".s", ".S", ".aslc", > > > ".nasm", ".nasmb", ".idf", ".Vfr", ".H"] > > > - > > > class CheckOnePatch: > > > """Checks the contents of a git email formatted patch. > > > > > > > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#63543): https://edk2.groups.io/g/devel/message/63543 Mute This Topic: https://groups.io/mt/75255989/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-