GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Use static copyright years · Issue #126133 · python/cpython

Use static copyright years #126133

New issue
Copy link
New issue
Copy link
Closed
python/devguide
#1470
python/devguide#1470
Closed
Use static copyright years#126133
python/devguide
#1470
Copy link

Description

@hugovk
hugovk
opened on Oct 29, 2024
Issue body actions

Short version

Each January we update the PSF copyright years in the repo:

Copyright © 2001-2024 Python Software Foundation. All rights reserved.

2025 is approaching.

Can we get permission from the PSF to adopt a copyright that does not need updating every year?

I suggest something like one of the following:

Copyright © Python Software Foundation. All rights reserved.
Copyright © 2001 Python Software Foundation. All rights reserved.
Copyright © 2001-present Python Software Foundation. All rights reserved.

Longer version

Last year, we updated it in 15 places in 10 files:

  • 2024 Update copyright years to 2024. #113608

Sometimes we miss a few and have to update them later:

  • 2023 Update copyright years to 2023. #100848
    Update additional copyright years to 2023. #100859

  • 2022 Update copyright year to 2022. #30335

Or we miss something, merge the fix a year late, which needs refixing:

  • 2021 Bring Python into the new year. #24036
    Update README.rst #25514
    Fix copyright years in README.rst #31347
  • 2020 Bring Python into the next decade. #17801
  • 2019 Bump copyright years to 2019. #11404
  • 2018 advance copyright years to 2018 #5094
  • 2017 Update copyright PSF to 2001-2017 #3421

And sometimes we backport these to (some) older branches, but other years don't:

  • 2023 [3.11] Update copyright years to 2023. (gh-100848) #100849
    [3.10] Update copyright years to 2023. (gh-100848). #100850
    [3.9] Update copyright years to 2023. (gh-100848). #100851
    [3.8] Update copyright years to 2023. (gh-100848). #100852
    [3.7] Update copyright years to 2023. (gh-100848). #100853
  • 2022 [3.10] Update copyright year to 2022. (GH-30335) #30336
    [3.9] Update copyright year to 2022. (GH-30335) #30337
  • 2020 [3.8] Bring Python into the next decade. (GH-17801) #17802
    [3.7] Bring Python into the next decade. (GH-17801). #17803
    [3.6] Bring Python into the next decade. (GH-17801). #17804
    [2.7] Bring Python into the next decade. (GH-17801). #17805
  • 2021 [3.9] Bring Python into the new year. (GH-24036) #24045
    [3.8] Bring Python into the new year. (GH-24036) #24046
    [3.7] Bring Python into the new year. (GH-24036) #24047
    [3.7] Bring Python into the new year. (GH-24036) #24052
    [3.6] Bring Python into the new year (GH-24036) #24054
  • 2019 [3.7] Bump copyright years to 2019. (GH-11404). #11406
    [3.6] Bump copyright years to 2019. (GH-11404). #11407
    [2.7] Bump copyright years to 2019. (GH-11404). #11408
  • 2018 [3.6] advance copyright years to 2018 (GH-5094) #5104
    [2.7] advance copyright years to 2018 (GH-5094). #5105

Sometimes there's lots of duplicate PRs that end up closed and wasting everyone's time:

  • README: Use range of years for copyright #6723
  • Add 2018 #5069
  • Added 2017 to copyright years at the bottom #76
  • Update copyright years #62
  • Update Copyright dates in README #56
  • Update Python Software Foundation Copyright Year. #4

Not only is this tedious work, it is likely unnecessary. A lot of big projects have stopped updating copyright years: https://hynek.me/til/copyright-years/

For example:

Copyright (c) 2009 The Go Authors. All rights reserved.
Copyright (c) 2015 - present Microsoft Corporation
Copyright 2013 Netflix, Inc.
Copyright (c) Meta Platforms, Inc. and affiliates.
Copyright (c) Microsoft Corporation. All rights reserved.
Copyright (c) .NET Foundation and Contributors

These either have only have the first year, omit years altogether, or end with "present".

Can we do something similar?

Linked PRs

  • gh-126133: Only use start year in PSF copyright, remove end years #126236
Reacted by Zachary Ware, Nice Zombies, sobolevn, Wulian233, Xuanteng Huang, RUANG (James Roy), Sam Gross, Jukka Sartinen, Gregory P. Smith, Rajarishi Devarajan and 3 more

Activity

  1. Wulian233 commented on Oct 30, 2024

    @Wulian233
    Wulian233
    on Oct 30, 2024
    Contributor
    More actions

    +1
    I also suggestion deleting the years of PSF 2001-20xx in other files. This should always be up to date. Currently, files with these rows are searched (200x 201x) over nearly 10~20 years. I don't think they need to repeat the statement because it's already stipulated in the LICENSE. But that's a lot of files to change (edit ~20)

    example:
    https://github.com/python/cpython/tree/main/Lib/email/iterators.py

    2001-200x
    https://github.com/search?q=repo:python/cpython 2001-200&type=code

    2001-201x
    https://github.com/search?q=repo:python/cpython 2001-201&type=code

  2. gpshead commented on Oct 31, 2024

    @gpshead
    gpshead
    on Oct 31, 2024
    Member
    More actions

    IMNSHO lets just adopt this already. Do not update existing copyright dates in existing files.

    Ex: From other your examples above - Google's policy was always "never touch the year" with the year of file creation or copyright statement addition being the standard. As noted in https://opensource.google/documentation/reference/releasing/preparing#license-headers

  3. hugovk commented on Oct 31, 2024

    @hugovk
    hugovk
    on Oct 31, 2024
    MemberAuthor
    More actions

    Do you mean leave them as-is, and stop updating them each year?

    However, I expect we will still see many PRs from people who see "2001-2024" and want to help by updating to "2001-2025". It will be easy, though tedious, for us to close them, but at the expense of having wasted the time of contributors.

    Or to remove the end years?

    I think this is better, as I doubt we'll get PRs updating "2001" to "2001-2025". Here's a draft PR to illustrate: #126236.

  4. AA-Turner commented on Oct 31, 2024

    @AA-Turner
    AA-Turner
    on Oct 31, 2024
    Member
    More actions

    From that draft PR -- seeing the version with '2024' removed as the end year leads me to slightly prefer the 'YYYY - present' option, especially in lists of several prior copyright assignments. Hugo's option 1 (no year) would also render this moot, though is slightly less consistent.

    I would also suggest removing copyright comments from modules/files where the PSF is the only cited copyright holder, as this is simply duplicative information.

    A

  5. gpshead commented on Nov 1, 2024

    @gpshead
    gpshead
    on Nov 1, 2024
    Member
    More actions

    I would also suggest removing copyright comments from modules/files where the PSF is the only cited copyright holder, as this is simply duplicative information.

    I wouldn't remove entire copyright statements from anywhere.

    Hugo should reach out to the PSF (as copyright holder) for advice. Our goal is to simplify our life, have a policy to point to, and reduce toil.

    We should codify said advice in our dev guide and simply reply to anyone attempting to modify copyright statements with a link to that documentation.

    Reacted by Hugo van Kemenade
  6. hugovk commented on Nov 1, 2024

    @hugovk
    hugovk
    on Nov 1, 2024
    MemberAuthor
    More actions

    I've emailed PSF legal.

  7. hugovk commented on Nov 6, 2024

    @hugovk
    hugovk
    on Nov 6, 2024
    MemberAuthor
    More actions

    And the reply:


    The first thing to understand is that copyright notices are optional/informational. There was a time that copyright owners were required to include a notice in order for their copyrights to be protected; by international treaty, this requirement has been abolished. So the form of your copyright notices will not impact the rights of the copyright owner.

    Copyright notices can, however, still perform a useful informative role. According to the US copyright office, the elements of a valid copyright notice are:

    • The copyright symbol ©; the word “copyright”; or the abbreviation “copr.”;
    • The year of first publication of the work; and
    • The name of the copyright owner.

    Example: © 2024 John Doe

    For a work that's published only once, the year of first publication is a simple matter. A file in an open source project, on the other hand, is essentially an accretion of revisions or derivative works, each with different years of first publication. This is why you see multiple dates or date ranges in the corresponding copyright notices. For example, if a file was created in 2015 and revised in 2017, 2018, 2019, and 2022, you might render the copyright notice in one of the following ways:

    • © 2015, 2017-2019, 2022 John Doe
    • © 2015, 2017, 2018, 2019, 2022 John Doe

    It's probably fairly common in such cases to use "2015-2022" as the date range, although this provides somewhat less information about the dates of first publication of the various revisions, and arguably implies incorrectly that the file was revised in each of the years in the range.

    It doesn't make particular sense to update notices to add the present year at the end of the date range in every copyright notice, regardless of whether the corresponding file has been updated recently. But it's also not going to impact anyone's rights, nor is using "-present" instead.

    So I think both of the formats you propose that include the year would be fine. I would not recommend leaving out the year of first publication entirely, as it's one of the elements of a valid copyright notice.

    I'll also note that "Python Software Foundation" is probably not an accurate statement of the author(s) of PSF projects, since PSF does not (as far as I know) require copyright assignment. That said, it's also impractical and error-prone to include notices for all of the authors of a file. Some common alternatives are "FOO Project Contributors" or "The authors listed in CONTRIBUTORS." None of these are ideal, because they either don't actually name the authors, or they may become inaccurate as an author's contributions disappear over time.

    In short, there's no ideal solution, but thankfully notices aren't that important. Pick something reasonable and do your best to stick to it.

    Reacted by Stella, Christian Clauss, Agriya Khetarpal, 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) and Kristopher Hellsten
    Reacted by Gregory P. Smith, Christian Clauss, Pradyun Gedam, Agriya Khetarpal, 🇺🇦 Sviatoslav Sydorenko (Святослав Сидоренко) and Kristopher Hellsten
  8. hugovk commented on Nov 6, 2024

    @hugovk
    hugovk
    on Nov 6, 2024
    MemberAuthor
    More actions

    Therefore I propose #126236 as it is. (Left as draft to avoid pinging the CODEOWNERS.)

    We should codify said advice in our dev guide and simply reply to anyone attempting to modify copyright statements with a link to that documentation.

    Good idea. Let's do this after merge.

    Reacted by Gregory P. Smith and Christian Clauss
  9. hugovk
    added a commit that references this issue on Nov 12, 2024

    gh-126133: Only use start year in PSF copyright, remove end years (#1…

    91f4908
  10. hugovk commented on Nov 12, 2024

    @hugovk
    hugovk
    on Nov 12, 2024
    MemberAuthor
    More actions

    I've merged #126236 and opened python/devguide#1470.

  11. malemburg commented on Nov 12, 2024

    @malemburg
    malemburg
    on Nov 12, 2024
    Member
    More actions

    @hugovk: Before making such changes and releasing the distributions with these changes, please ask the PSF Board for approval. They are the only ones who have the authority to change license texts and possibly even PSF copyright notices (since they are being referred to in the PSF license). Thanks.

  12. eximious commented on Nov 12, 2024

    @eximious
    eximious
    on Nov 12, 2024
    More actions

    The PSF Legal list is monitored by PSF staff (including myself) and is the correct path for these kinds of issues. Topics that need full board involvement get sent up and ones that don't need full board involvement get decided there, either without or without legal counsel depending on the topic. In this particular instance, we did loop in counsel to make sure that the PSF is fulfilling our legal duty as copyright holders.

    Reacted by Gregory P. Smith and Hugo van Kemenade
    Reacted by Gregory P. Smith, Brett Cannon, Alyssa Coghlan and Hugo van Kemenade
  13. hugovk
    closed this as completedin devguide#1470on Nov 21, 2024
  14. Syeberman
    added a commit that references this issue on Nov 27, 2024

    Use static copyright years

    63bf483
  15. picnixz
    added a commit that references this issue on Dec 8, 2024

    pythongh-126133: Only use start year in PSF copyright, remove end yea…

    d4d543a
  16. mattip
    added a commit that references this issue on Jan 6, 2025

    remove end date of copyright in license

    5ce2e4a
  17. ebonnal
    added a commit that references this issue on Jan 12, 2025

    pythongh-126133: Only use start year in PSF copyright, remove end yea…

    fe5e620
  18. webknjaz commented on Jan 14, 2025

    @webknjaz
    webknjaz
    on Jan 14, 2025
    Member
    More actions

    Apparently, python.org still uses the current year: https://github.com/python/pythondotorg/pull/597/files#diff-008dcb3426febd767787b1521f1fe33086313b927ea37eaab86df5fa88a51698R53.
    So does pypi.org: pypi/warehouse#524 / https://github.com/pypi/warehouse/pull/898/files#diff-8fc59fb79d6d1c00f702c99239e388a627fc51137f813d9e2be1d078d0a50147R111 / https://github.com/pypi/warehouse/pull/898/files#diff-8fc59fb79d6d1c00f702c99239e388a627fc51137f813d9e2be1d078d0a50147R111.

    Should those be updated too?

  19. hugovk commented on Jan 14, 2025

    @hugovk
    hugovk
    on Jan 14, 2025
    MemberAuthor
    More actions

    I don't have merge rights for those, but you can open issues or PRs over there to ask their maintainers.

  20. hugovk
    marked Copyright date should be 2001-present #131753 as a duplicate of this issue on Mar 26, 2025
  21. bpedersen2
    added a commit that references this issue on Feb 24, 2026

    ALL: remove explicit copyright end date

    a20dc9c
  22. jkrueger1
    added a commit that references this issue on Mar 9, 2026

    ALL: remove explicit copyright end date

    b498bc3
  23. keewis
    added a commit that references this issue on Apr 28, 2026

    remove the end time

    3c6deb4
  24. keewis
    added a commit that references this issue on Jun 9, 2026

    fill in the copyright (#185)

    8c98ae1
  25. jkrueger1
    added a commit that references this issue on Sep 16, 2026

    ALL: remove explicit copyright end date

    3747098
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402503 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.