Policy to add "AUTHORS", copyright refers to "Blender Authors" instead of "Blender Foundation" #110784

Open
opened 2023-08-04 08:14:54 +02:00 by Campbell Barton · 4 comments

Motivation

Currently listing the "Blender Foundation" as copyright holder
implies the Blender foundation holds copyright to files which
may include work from many developers.

While keeping copyright on headers makes sense for isolated libraries,
Blender's own code may be refactored or moved between files in a way that
makes the per file copyright holders less meaningful.

Proposal

This proposal suggests to:

  • Replace the copyright holder Blender Foundation in headers with Blender Authors.
  • Add an AUTHORS file in the projects root directory,
    this list will contain all copyright holders, both individuals & organizations.
    The authors file for the Chromium project will be used as a template.
# This is the list of Blender authors for copyright purposes.
#
# This does not necessarily list everyone who has contributed code.
# To see the full list of contributors, see the revision history in source
# control.

# Names should be added to this file with this pattern:
#
# For individuals:
#   Name <email address>
#
# For organizations:
#   Organization <fnmatch pattern>
#
# See python fnmatch module documentation for more information.
#
# Please keep the list sorted.

# BEGIN individuals section.
Example Name <example@domain.com>
More Names <another@domain.com>
# Please DO NOT APPEND here. See comments at the top of the file.
# END individuals section.

# BEGIN organizations section.
Blender Foundation <*@blender.org>
Example Company <*@example.com>
# Please DO NOT APPEND here. See comments at the top of the file.
# END organizations section.

Notes

  • Anyone wishing to find the origin of source code needs to use version-control
    tools to track down the exact author for a given file/function.

  • Other copyright holders included in file headers will be left as-is.

  • scripts/addons & scripts/addons_contrib will not be included in this list.

Proposed Steps

  • Replace all copyright text referencing Blender Foundation with Blender Authors.
    See script: ./SPDX_blender_foundation_rename_to_authors_once.py in PR.

  • Add an AUTHORS file based on a modified output of tools/utils/credits_git_gen.py.

    We may want to remove authors who made very small changes (only a few lines added/removed for e.g.).
    The current authors file includes lines changed (clamped at 100).

  • Once added, manually maintain this file.

Open Topics

  • Criteria for including individuals in AUTHORS.

    • Suggest to exclude authors who have made very small changes (less than 10 lines changed for e.g.), the exact number is arbitrary and we could even include all if we wanted.
  • Criteria for including organizations in AUTHORS.

    • We could include all companies listed in the credits, although some of them were more sponsors for work than authors, so details need to be ironed out.

See pull request: !110783 which implements this change.

### Motivation Currently listing the "Blender Foundation" as copyright holder implies the Blender foundation holds copyright to files which may include work from many developers. While keeping copyright on headers makes sense for isolated libraries, Blender's own code may be refactored or moved between files in a way that makes the per file copyright holders less meaningful. ### Proposal This proposal suggests to: - Replace the copyright holder `Blender Foundation` in headers with `Blender Authors`. - Add an `AUTHORS` file in the projects root directory, this list will contain all copyright holders, both individuals & organizations. The authors file for the Chromium project will be used as a template. ``` # This is the list of Blender authors for copyright purposes. # # This does not necessarily list everyone who has contributed code. # To see the full list of contributors, see the revision history in source # control. # Names should be added to this file with this pattern: # # For individuals: # Name <email address> # # For organizations: # Organization <fnmatch pattern> # # See python fnmatch module documentation for more information. # # Please keep the list sorted. # BEGIN individuals section. Example Name <example@domain.com> More Names <another@domain.com> # Please DO NOT APPEND here. See comments at the top of the file. # END individuals section. # BEGIN organizations section. Blender Foundation <*@blender.org> Example Company <*@example.com> # Please DO NOT APPEND here. See comments at the top of the file. # END organizations section. ``` ### Notes - Anyone wishing to find the origin of source code needs to use version-control tools to track down the exact author for a given file/function. - Other copyright holders included in file headers will be left as-is. - `scripts/addons` & `scripts/addons_contrib` will not be included in this list. ### Proposed Steps - Replace all copyright text referencing `Blender Foundation` with `Blender Authors`. See script: `./SPDX_blender_foundation_rename_to_authors_once.py` in PR. - Add an `AUTHORS` file based on a modified output of `tools/utils/credits_git_gen.py`. We may want to remove authors who made very small changes (only a few lines added/removed for e.g.). The current authors file includes lines changed (clamped at 100). - Once added, manually maintain this file. ### Open Topics - Criteria for including individuals in `AUTHORS`. - Suggest to exclude authors who have made very small changes (less than 10 lines changed for e.g.), the exact number is arbitrary and we could even include all if we wanted. - Criteria for including organizations in `AUTHORS`. - We could include all companies listed in the credits, although some of them were more sponsors for work than authors, so details need to be ironed out. ---- See pull request: !110783 which implements this change.
Campbell Barton added the
Type
Design
label 2023-08-04 08:14:55 +02:00
Campbell Barton changed title from Policy for SPDX copyright identifier to Policy to add "AUTHORS", copyright belongs to "Blender Authors" instead of "Blender Foundation" 2023-08-04 08:24:38 +02:00
Campbell Barton changed title from Policy to add "AUTHORS", copyright belongs to "Blender Authors" instead of "Blender Foundation" to Policy to add "AUTHORS", copyright refers to "Blender Authors" instead of "Blender Foundation" 2023-08-04 08:24:57 +02:00
Campbell Barton added the
Module
Core
label 2023-08-04 08:49:46 +02:00

A discussed earlier elsewhere, I think we should have a disclaimer like this as found in AUTHORS files in some other projects:

# This is the list of Blender authors for copyright purposes.
#
# This does not necessarily list everyone who has contributed code.
# To see the full list of contributors, see the revision history in source
# control.

Criteria for including individuals in AUTHORS.

Suggest to exclude authors who have made very small changes (less than 10 lines changed for e.g.), the exact number is arbitrary and we could even include all if we wanted.

I would not bother to make this distinction, to keep it simple. Sometimes 10 lines changed could arguably have copyright, while sometimes 1000 lines of spelling fixes arguably do not. Sometimes there might be multiple smaller PRs that add up to a bigger change. Just seems easier if reviewers don't have to make decisions here.

Criteria for including organizations in AUTHORS.

We could include all companies listed in the credits, although some of them were more sponsors for work than authors, so details need to be ironed out.

Yes, we need to contact some of the contributors to check this.

A discussed earlier elsewhere, I think we should have a disclaimer like this as found in AUTHORS files in some other projects: ``` # This is the list of Blender authors for copyright purposes. # # This does not necessarily list everyone who has contributed code. # To see the full list of contributors, see the revision history in source # control. ``` > Criteria for including individuals in AUTHORS. > > Suggest to exclude authors who have made very small changes (less than 10 lines changed for e.g.), the exact number is arbitrary and we could even include all if we wanted. I would not bother to make this distinction, to keep it simple. Sometimes 10 lines changed could arguably have copyright, while sometimes 1000 lines of spelling fixes arguably do not. Sometimes there might be multiple smaller PRs that add up to a bigger change. Just seems easier if reviewers don't have to make decisions here. > Criteria for including organizations in AUTHORS. > > We could include all companies listed in the credits, although some of them were more sponsors for work than authors, so details need to be ironed out. Yes, we need to contact some of the contributors to check this.
Member

Looks like a good change to me. I wonder, how does this work with individuals that have contributed with different email addresses? Can someone be listed multiple times?

Looks like a good change to me. I wonder, how does this work with individuals that have contributed with different email addresses? Can someone be listed multiple times?
Member

We're free to do whatever we like, the chromium template we're following here seems to have no issue listing people twice, in either the individual and organisation sections, so I guess it's ok, but it's ultimately call for the admins to make. Don't think there is a right or wrong way here.

We're free to do whatever we like, the chromium template we're following here seems to have no issue listing people twice, in either the [individual](https://github.com/chromium/chromium/blob/main/AUTHORS#L1313) and [organisation](https://github.com/chromium/chromium/blob/main/AUTHORS#L1529) sections, so I guess it's ok, but it's ultimately call for the admins to make. Don't think there is a right or wrong way here.
Author
Owner

A discussed earlier elsewhere, I think we should have a disclaimer like this as found in AUTHORS files in some other projects:

# This is the list of Blender authors for copyright purposes.
#
# This does not necessarily list everyone who has contributed code.
# To see the full list of contributors, see the revision history in source
# control.

Done.

Criteria for including individuals in AUTHORS.

Suggest to exclude authors who have made very small changes (less than 10 lines changed for e.g.), the exact number is arbitrary and we could even include all if we wanted.

I would not bother to make this distinction, to keep it simple. Sometimes 10 lines changed could arguably have copyright, while sometimes 1000 lines of spelling fixes arguably do not. Sometimes there might be multiple smaller PRs that add up to a bigger change. Just seems easier if reviewers don't have to make decisions here.

Agree this is very arbitrary, although I wouldn't mind picking a very small threshold. e.g. skip authors with 4 lines or less changed.
Otherwise this might as well be a generated dump of the credits.


Looks like a good change to me. I wonder, how does this work with individuals that have contributed with different email addresses? Can someone be listed multiple times?

@JacquesLucke the current listing uses the most recent git-author, there are so many that I don't think it's practical to do anything too sophisticated here. There is at least one duplicated which needs to be manually resolved, otherwise I think we can manually correct this as needed.

> A discussed earlier elsewhere, I think we should have a disclaimer like this as found in AUTHORS files in some other projects: > > ``` > # This is the list of Blender authors for copyright purposes. > # > # This does not necessarily list everyone who has contributed code. > # To see the full list of contributors, see the revision history in source > # control. > ``` Done. > > Criteria for including individuals in AUTHORS. > > > > Suggest to exclude authors who have made very small changes (less than 10 lines changed for e.g.), the exact number is arbitrary and we could even include all if we wanted. > > I would not bother to make this distinction, to keep it simple. Sometimes 10 lines changed could arguably have copyright, while sometimes 1000 lines of spelling fixes arguably do not. Sometimes there might be multiple smaller PRs that add up to a bigger change. Just seems easier if reviewers don't have to make decisions here. Agree this is very arbitrary, although I wouldn't mind picking a very small threshold. e.g. skip authors with 4 lines or less changed. Otherwise this might as well be a generated dump of the credits. ---- > Looks like a good change to me. I wonder, how does this work with individuals that have contributed with different email addresses? Can someone be listed multiple times? @JacquesLucke the current listing uses the most recent git-author, there are so many that I don't think it's practical to do anything too sophisticated here. There is at least one duplicated which needs to be manually resolved, otherwise I think we can manually correct this as needed.
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#110784
No description provided.