[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC PATCH] CODING_STYLE: Establish a policy with regards to copyright notices


  • To: Roger Pau Monné <roger.pau@xxxxxxxxxx>
  • From: Alejandro Vallejo <alejandro.garciavallejo@xxxxxxx>
  • Date: Wed, 28 Jan 2026 10:18:03 +0100
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=citrix.com smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0)
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=vWZVMK3R4Wim4A9uV1L1iUBS1DPXx4MwCMiLvSRu8D4=; b=JfuIQoH7GDs7FL3CrWqRLCO6XgiOEiI9ShA7AssvniZ7bvLh3at0e3CmtYmzPHG41REISvC/EQet1xxImN0SWNX4kbPQBT5DQiugao8LDHWaV5yR+MK1NUAFq3txWRj2GNB/P47l2RG2s86BBJPdPCB1VW/4Mv7gJ3Xdx6d5d4bF2hamQ/qachg41i9y1COGXUYj7EMfwY4H+4J4Xhz3Ws3r4+m9deN6vqR6LaetcCUWRo0KGChI5Pk3u5xv/+dkWJW6VZUIpbzwshKudLSke/sXTmBFkJl43f3kniunhjZyBMHl/z4O6T7pKnOkxzJ9jYlOf8ln05XCjE9ygvKQyg==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vg0ejhCWpUyiNltvTPcSEnZ0Zh7uRbpMv/2l1+rro7gXjiwvDNoyQbtyeKQcEk3zCANvgzxHLFXx16JD4TNfHIwX5BIhczQiE61vqZGgXg4Y7krxHQcf+bIijtP6nngKzijD83LM5wVVzQtZ5DqAdk3KGmQRsf8KnjSFEb8TWXnyPRnGHm2dBPFk1QMcAfuDwzgxgpqxJx3ZKqP1mdn/faTJz5tR+otT2PIBcIO12z9k3mloYNy7hXvYohBS/GIGCH7qSQyxGBT5pvjnEI5cZpd1s9C4ZJBrSCaISqhZSvvuPlEg4XHdEBEeksXguImjoYJ0wXrWhxfjDdegCe/58A==
  • Cc: <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, "Julien Grall" <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>
  • Delivery-date: Wed, 28 Jan 2026 09:18:38 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Hi,

On Wed Jan 28, 2026 at 9:10 AM CET, Roger Pau Monné wrote:
> On Tue, Jan 27, 2026 at 07:24:01PM +0100, Alejandro Vallejo wrote:
>> This patch modifies CODING_STYLE to severely discourage use of copyright
>> notices when their presence is not legally mandatory.
>> 
>> Copyright notices are redundant on commit, misleading from the time the file
>> receives contributions from anyone not represented by such notice, and 
>> actively
>> harmful for attribution by the time the original code is long gone. They are
>> plain wrong when added on code motion.... the list goes on.
>> 
>> All attribution worth keeping is version-controlled through Signed-off-by,
>> Co-authored and the like, DCO and the cumulative contents of git history.
>> License banners have already been superseded by the contents of licenses/ and
>> SPDX tags.
>> 
>> Other FOSS projects have already moved away from explicit copyright notices
>> where possible, and severely discourage their use when not.
>> 
>> Apache and LLVM take active issue with copyrighted contributions and Chromium
>> takes issues with copyrighted contributions not attributed to the project. 
>> Some
>> Linux subsystem maintainers already frown upon copyright notices too, even if
>> it hasn't reached the point of being a mandated requirement yet.
>> 
>> Signed-off-by: Alejandro Vallejo <alejandro.garciavallejo@xxxxxxx>
>> ---
>> The actual changes are almost verbatim from the LLVM guideline, but it's not
>> exact. Wording can be adjusted as needed. I care about the core of the 
>> proposal.
>> Saying "please, drop the notice" on contributions where it's clearly not a
>> legal requirement, or have the contributor state that it is a legal 
>> requirement
>> and why. For fairness sake for all contributors to the project.
>> 
>> I'd prefer taking the Apache approach for new contributions, but I want
>> some discussions to happen first.
>> 
>> Thoughts?
>> 
>> Relevant examples:
>> 
>>   - LLVM: They banned copyright notices, unless part of a vendored
>>     components.
>>     - Links:
>>       - 
>> https://llvm.org/docs/DeveloperPolicy.html#embedded-copyright-or-contributed-by-statements
>>     - Relevant quote:
>>         The LLVM project does not accept contributions that include
>>         in-source copyright notices except where such notices are
>>         part of a larger external project being added as a vendored
>>         dependency.
>> 
>>   - Apache: They banned optional copyright notices and relegated
>>             mandatory notices to a NOTICES file that also contains an
>>             Apache copyright notice. See links.
>>     - Links:
>>        - https://www.apache.org/legal/src-headers.html
>>        - https://infra.apache.org/licensing-howto.html#mod-notice
>>     - Relevant quote:
>>         If the source file is submitted with a copyright notice included
>>         in it, the copyright owner (or owner's agent) must either:
>>           * remove such notices, or
>>           * move them to the NOTICE file associated with each applicable
>>             project release, or
>>           * provide written permission for the ASF to make such removal
>>             or relocation of the notices.
>> 
>>   - btrfs: They are highly discouraged.
>>     - Links:
>>       - https://lore.kernel.org/20220909101521.GS32411@xxxxxxxxxxxxx/
>>       - 
>> https://lwn.net/ml/linux-fsdevel/20221026074145.2be5ca09@xxxxxxxxxxxxxxxxxx/
>>       - 
>> https://archive.kernel.org/oldwiki/btrfs.wiki.kernel.org/index.php/Developer's_FAQ.html#Copyright_notices_in_files.2C_SPDX
>>       - https://lwn.net/Articles/912355/
>>     - Relevant quote:
>>       Let's say it's OK for substantial amount of code. What if somebody
>>       moves existing code that he did not write to a new file and adds
>>       a copyright notice? We got stuck there, both sides have different
>>       answer. I see it at minimum as unfair to the original code authors
>>       if not completely wrong because it could appear as "stealing"
>>       ownership.
>> 
>> There's more cases of other projects taking similar stances.
>> ---
>>  CODING_STYLE | 18 ++++++++++++++++++
>>  1 file changed, 18 insertions(+)
>> 
>> diff --git a/CODING_STYLE b/CODING_STYLE
>> index aae5a47ac2..97f80245ed 100644
>> --- a/CODING_STYLE
>> +++ b/CODING_STYLE
>> @@ -24,6 +24,24 @@ license, e.g.:
>>  
>>  See LICENSES/ for a list of licenses and SPDX tags currently used.
>>  
>> +Copyright notices
>> +-----------------
>> +
>> +Copyright for the code in the Xen Project is held by the respective
>> +contributors. Because you (or your company) retain ownership of the code you
>> +contribute, you know it may only be used under the terms of the open source
>> +license you contributed it under: the license for your contributions cannot 
>> be
>> +changed in the future without your approval.
>
> The usage of such direct language here, by using you to refer to the
> reader / contributor, set a different tone from the rest of the
> document.  Maybe something like:
>
> "Copyright for the code in the Xen Project is held by the respective
> contributors.  The author of the code is the owner of it as stated in
> the DCO.  The project cannot retroactively change the copyright of
> contributions, unless explicitly accepted by all authors of the
> code."

Ack for the tone. The particulars of the wording might need tweaking even in
this version to constraint the scope of "contribution", "the code", and so on.

But yes, the difference in tone is a direct consequence of the paragraph being a
semi-verbatim copy of the LLVM policy. My intention was less about consistency
with the existing style guide and more about bringing the point accross.

>
>> +The Xen Project does not accept contributions that include in-source 
>> copyright
>> +notices except in the following cases:
>> +  * where a committed file already contains it.
>
> IMO we should also prevent expanding the existing list of copyright
> owners in the headers, and hence don't accept expanding the copyright
> notice of existing files in any way.  I don't think contributors to
> Xen have been expanding those headers in a long time, but would be
> good to have it written down.

Jan made the same appreciation. I agree.

>
>> +  * where a committed file is renamed.
>> +  * where such notices are on files from an external project being imported.
>
> "where such notices are on files imported from an external project."
>
> Seems easier to read to me, but I'm not a native speaker.

I agree too.

-----------------

I have the same question for you I asked Jan elsewhere.

There's 1 question in 2 forms I'd like to have an answer to from a core
maintainers.

Would you be willing to ack a change along these lines?
  1. to a Copyright Notice policy within CODING_STYLE.
  2. to the relegation of existing notices to a NOTICES file in the style of
     Apache. Apache in particular mandates the file not be touched unless
     absolutely required for legal reasons.

(1) can be done without (2) if (2) proves to be "risky" in whatever legal way
it could possibly be risky.

This is httpd's NOTICES file as of today.

        Apache HTTP Server
        Copyright 2026 The Apache Software Foundation.

        This product includes software developed at
        The Apache Software Foundation (https://www.apache.org/).

        Portions of this software were developed at the National Center
        for Supercomputing Applications (NCSA) at the University of
        Illinois at Urbana-Champaign.

        This software contains code derived from the RSA Data Security
        Inc. MD5 Message-Digest Algorithm, including various
        modifications by Spyglass Inc., Carnegie Mellon University, and
        Bell Communications Research, Inc (Bellcore).

        This software contains code derived from the PCRE library pcreposix.c
        source code, written by Philip Hazel, Copyright 1997-2004
        by the University of Cambridge, England.

Cheers,
Alejandro



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.