From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 70DC521C91242 for ; Tue, 25 Jul 2017 03:04:36 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 41C5D4E33D; Tue, 25 Jul 2017 10:06:37 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 41C5D4E33D Authentication-Results: ext-mx09.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx09.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=lersek@redhat.com Received: from lacos-laptop-7.usersys.redhat.com (ovpn-116-22.phx2.redhat.com [10.3.116.22]) by smtp.corp.redhat.com (Postfix) with ESMTP id 1469D58829; Tue, 25 Jul 2017 10:06:35 +0000 (UTC) To: "Kinney, Michael D" , "Justen, Jordan L" , "edk2-devel@lists.01.org" Cc: Leif Lindholm , Andrew Fish References: <20170720054411.18928-1-michael.d.kinney@intel.com> <20170720054411.18928-8-michael.d.kinney@intel.com> <150053255036.1046.7072266056287610184@jljusten-skl> <150059121174.4016.1590734145039602530@jljusten-skl.jf.intel.com> From: Laszlo Ersek Message-ID: <09368faf-a3f9-ab73-00e7-0fe3d5868320@redhat.com> Date: Tue, 25 Jul 2017 12:06:35 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Tue, 25 Jul 2017 10:06:37 +0000 (UTC) Subject: Re: [Patch V3 7/8] edk2: Move License.txt file to root X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Jul 2017 10:04:36 -0000 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit On 07/21/17 01:39, Kinney, Michael D wrote: > Jordan, > > Thanks for the review. > > I think the multiple license topic may need more discussion. > Is the file organization you recommend documented somewhere? > Do you have a link? If a project uses a git submodule, is > the license from the submodule added to the parent project? > > For example, see OpenSSL email from earlier today: > > https://lists.01.org/pipermail/edk2-devel/2017-July/012471.html > > The edk2-non-osi repository is another example where we have > license files next to the content to which the license applies. > > My goal is to update edk2 to use the same consistent style when > multiple licenses are in use. > > I can drop the OvmfPkg changes for this series and we can continue > this discussion and also wait to hear from Laszlo on this topic. Personally I would prefer the smallest amount of license files scattered around OvmfPkg specifically and the tree generally. What does QEMU do? http://git.qemu.org/?p=qemu.git;a=blob;f=LICENSE http://git.qemu.org/?p=qemu.git;a=blob;f=disas/libvixl/LICENCE http://git.qemu.org/?p=qemu.git;a=blob;f=tcg/LICENSE I guess the idea is that the project root license defines the default license, and lists all known exceptions by pathname pattern. Plus, those subdirs contain their own license files. Finally, all files come with a license banner (matching the most specific license file towards the project root). Git submodules are not taken into account in the project root license. I think this is too complex. I don't feel strongly about this either way, but my preference would be (again) the lowest number of license files one has to look at. So perhaps one root license file with a default license, and pathname patterns that cumulatively cover all of the exceptions. Or one license file per package, with a default license for the package, plus pathname patterns, where the patterns cumulatively cover all of the exceptions within the package. Hm... Looks like this is already what "OvmfPkg/License.txt" does? Thanks Laszlo