From c54cb6b8628905359adc34beec2b453bbe9ae722 Mon Sep 17 00:00:00 2001 From: Reid Priedhorsky Date: Mon, 26 Aug 2024 15:08:59 -0600 Subject: [PATCH 1/6] update copyrights --- README.rst | 11 ++++++----- bin/ch-run.c | 2 -- bin/ch_core.c | 2 -- bin/ch_core.h | 4 +--- bin/ch_fuse.c | 2 -- bin/ch_fuse.h | 2 -- bin/ch_misc.c | 2 -- bin/ch_misc.h | 4 +--- doc/conf.py | 2 +- 9 files changed, 9 insertions(+), 22 deletions(-) diff --git a/README.rst b/README.rst index 0e6d8c311..c4212ea98 100644 --- a/README.rst +++ b/README.rst @@ -138,12 +138,13 @@ Other publications: Copyright and license --------------------- -Charliecloud is copyright © 2014–2023 Triad National Security, LLC and others. +Charliecloud is copyright © Charliecloud a Series of LF Projects, LLC and +others. -This software was produced under U.S. Government contract 89233218CNA000001 -for Los Alamos National Laboratory (LANL), which is operated by Triad National -Security, LLC for the U.S. Department of Energy/National Nuclear Security -Administration. +This software was produced in part under U.S. Government contract +89233218CNA000001 for Los Alamos National Laboratory (LANL), which is operated +by Triad National Security, LLC for the U.S. Department of Energy/National +Nuclear Security Administration. This is open source software (LA-CC 14-096); you can redistribute it and/or modify it under the terms of the Apache License, Version 2.0. A copy is diff --git a/bin/ch-run.c b/bin/ch-run.c index bf3c41934..deb975e9f 100644 --- a/bin/ch-run.c +++ b/bin/ch-run.c @@ -1,5 +1,3 @@ -/* Copyright © Triad National Security, LLC, and others. */ - /* Note: This program does not bother to free memory allocations, since they are modest and the program is short-lived. */ diff --git a/bin/ch_core.c b/bin/ch_core.c index 60dcd1097..9db3479ef 100644 --- a/bin/ch_core.c +++ b/bin/ch_core.c @@ -1,5 +1,3 @@ -/* Copyright © Triad National Security, LLC, and others. */ - #define _GNU_SOURCE #include "config.h" diff --git a/bin/ch_core.h b/bin/ch_core.h index f65cfc083..6871e54ce 100644 --- a/bin/ch_core.h +++ b/bin/ch_core.h @@ -1,6 +1,4 @@ -/* Copyright © Triad National Security, LLC, and others. - - This interface contains Charliecloud's core containerization features. */ +/* This interface contains Charliecloud's core containerization features. */ #define _GNU_SOURCE #include diff --git a/bin/ch_fuse.c b/bin/ch_fuse.c index 22ac1e5ca..06a313f5b 100644 --- a/bin/ch_fuse.c +++ b/bin/ch_fuse.c @@ -1,5 +1,3 @@ -/* Copyright © Triad National Security, LLC, and others. */ - /* Function prefixes: fuse_ libfuse; docs: https://libfuse.github.io/doxygen/globals.html diff --git a/bin/ch_fuse.h b/bin/ch_fuse.h index 5250ed85a..166e8723e 100644 --- a/bin/ch_fuse.h +++ b/bin/ch_fuse.h @@ -1,5 +1,3 @@ -/* Copyright © Triad National Security, LLC, and others. */ - #define _GNU_SOURCE /** Function prototypes **/ diff --git a/bin/ch_misc.c b/bin/ch_misc.c index 17e9b1ea0..5f0cad3c6 100644 --- a/bin/ch_misc.c +++ b/bin/ch_misc.c @@ -1,5 +1,3 @@ -/* Copyright © Triad National Security, LLC, and others. */ - #define _GNU_SOURCE #include #include diff --git a/bin/ch_misc.h b/bin/ch_misc.h index e2f5dcd47..9ca2a7e7f 100644 --- a/bin/ch_misc.h +++ b/bin/ch_misc.h @@ -1,6 +1,4 @@ -/* Copyright © Triad National Security, LLC, and others. - - This interface contains miscellaneous utility features. It is separate so +/* This interface contains miscellaneous utility features. It is separate so that peripheral Charliecloud C programs don't have to link in the extra libraries that ch_core requires. */ diff --git a/doc/conf.py b/doc/conf.py index 59588572b..bcb2557f6 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -65,7 +65,7 @@ # General information about the project. project = u'Charliecloud' -copyright = u'2014–2023, Triad National Security, LLC and others' +copyright = u'Charliecloud a Series of LF Projects, LLC and others. For web site terms of use, trademark policy and other project policies please see: https://lfprojects.org' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the From f0c4ab7258a8e78d629dba9d1d6c4ffe6358e299 Mon Sep 17 00:00:00 2001 From: Reid Priedhorsky Date: Mon, 26 Aug 2024 16:58:02 -0600 Subject: [PATCH 2/6] add technical charter to docs --- doc/Makefile.am | 2 + doc/index.rst | 1 + doc/tech-charter.rst | 250 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 253 insertions(+) create mode 100644 doc/tech-charter.rst diff --git a/doc/Makefile.am b/doc/Makefile.am index 13c2c80fc..884bd892b 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -43,6 +43,7 @@ man/README \ py_env.rst \ rd100-winner.png \ see_also.rst \ +tech-charter.rst \ tutorial.rst if ENABLE_MAN @@ -77,6 +78,7 @@ html/faq.html \ html/index.html \ html/install.html \ html/search.html \ +html/tech-charter.html \ html/tutorial.html endif diff --git a/doc/index.rst b/doc/index.rst index 895b5edb6..f6b7eda96 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -31,3 +31,4 @@ Overview faq best_practices dev + tech-charter diff --git a/doc/tech-charter.rst b/doc/tech-charter.rst new file mode 100644 index 000000000..d03060fe7 --- /dev/null +++ b/doc/tech-charter.rst @@ -0,0 +1,250 @@ +Technical charter +***************** + +Charliecloud is a member project of the `High Performance Software Foundation +`_, and transitively the `Linux Foundation +`_. + +.. Formatting notes. + + 1. The formal title is kludged as “centered” block, because it’s too long + to include in the sidebar and I couldn’t think of anything better. + + 2. The document contains no auto-numbered lists; rather, everything is a + normal paragraph with manual numbers. This is because both internal and + external references may refer to these paragraph numbers, so we don’t + want them changing without a deliberate decision. However, the notation + we use is interpreted by Sphinx as lists, with various unpleasant side + effects. To defeat this, put a non-breaking space after the paragraph + number (U+00A0 NO-BREAK SPACE, option-space on a Mac). + +.. centered:: Technical Charter (the “Charter”) for Charliecloud a Series of LF Projects, LLC + +.. centered:: Adopted August 16, 2024 + +This Charter sets forth the responsibilities and procedures for technical +contribution to, and oversight of, the Charliecloud open source project, which +has been established as Charliecloud a Series of LF Projects, LLC (the +“Project”). LF Projects, LLC (“LF Projects”) is a Delaware series limited +liability company. All contributors (including committers, maintainers, and +other technical positions) and other participants in the Project +(collectively, “Collaborators”) must comply with the terms of this Charter. + +.. contents:: + :depth: 2 + :local: + +Mission and scope of the Project +================================ + +(a) The mission of the Project is to enable running and management of +lightweight, fully unprivileged containers for HPC applications. + +(b) The scope of the Project includes collaborative development under the +Project License (as defined herein) supporting the mission, including +documentation, testing, integration and the creation of other artifacts that +aid the development, deployment, operation or adoption of the open source +project. + +(c) Participation is especially welcome by people who can contribute +perspectives not yet well represented in the Project, whether technical or +non-technical. + +Technical steering committee +============================ + +(a) The Technical Steering Committee (the “TSC”) is responsible for all +technical oversight of the open source Project. + +(b) The initial TSC members are: Lucas Caudill, Jordan Ogas, Megan Phinney, +Reid Priedhorsky, and Nicholas Sly. The TSC sets its own procedures for member +appointment and removal. Current members and procedures are documented in the +Project’s code repository. + +(c) Unless otherwise documented, project roles are: + + (i) Contributors are anyone that contributes code, documentation, or other + technical artifacts to the Project. + + (ii) Maintainers are Contributors who have the authority to merge changes + to (“commit”) technical artifacts to the Project’s code repository. + + (iii) Maintainers are appointed and removed by a majority of the entire + TSC. + +(d) Participation in the Project through becoming a Contributor and/or +Maintainer is open to anyone who abides by the terms of this Charter. + +(e) The TSC may elect a TSC Chair who presides over meetings of the TSC and +serves until their resignation or replacement by the TSC. + +(f) The TSC is responsible for all aspects of oversight relating to the +Project, which may include: + + (i) coordinating the technical direction of the Project; + + (ii) establishing requirements for the promotion of Contributors to + Maintainer status; + + (iii) creating, eliminating, amending, adjusting, and/or refining Project + roles; + + (iv) approving sub-project or system proposals (including, but not limited + to, incubation, deprecation, and changes to a sub-project’s scope); + + (v) approving and organizing sub-projects and removing or closing + sub-projects; + + (vi) creating sub-committees or working groups; + + (vii) appointing representatives to work with other projects or + organizations; + + (viii) establishing community norms, workflows, release procedures, and + security issue reporting policies; + + (ix) approving and implementing policies and processes for contributing; + + (x) coordinating with the series manager of the Project (as provided for in + the Series Agreement, the “Series Manager”) to resolve matters or concerns + that may arise as set forth in Section 7 of this Charter; + + (xi) discussing, seeking consensus, and where necessary, voting on + technical matters, including those that affect multiple projects; + + (xii) coordinating marketing, events, or communications regarding the + Project; and + + (xiii) establishing procedures for all oversight matters. + +TSC meetings and voting +======================= + +(a) The TSC will operate on consensus whenever practical. If a decision does +require a vote to move the Project forward, TSC members have one vote per +member. + +(b) TSC meeting quorum is a majority of members. If a quorum is not present, a +meeting may continue, but no decisions may be made. + +(c) Except as provided in §7(c) and §8(a), votes in a meeting require a +majority of TSC members present to pass. Electronic votes outside a meeting +require a majority of all members to pass. + +(d) In the event a matter cannot be resolved by the TSC, any member may refer +it to the Series Manager for assistance in reaching a resolution. + +(e) The TSC determines the rules and procedures for its meetings and Project discussions. + +Compliance with policies +======================== + +(a) This Charter is subject to the Series Agreement for the Project and the +Operating Agreement of LF Projects. Contributors will comply with the policies +of LF Projects as may be adopted and amended by LF Projects, including without +limitation the policies listed at https://lfprojects.org/policies/. + +(b) The TSC will adopt a code of conduct (“COC”) for the Project, subject to +approval by the Series Manager. In the event that a Project-specific COC has +not been approved, the LF Projects Code of Conduct listed at +https://lfprojects.org/policies will apply. All Contributors must follow the +COC. The TSC and/or Series Manager enforce the COC and may impose disciplinary +measures, including banning a person/organization from the Project and +reporting incidents to employers, professional societies, and other +supervisory bodies. + +(c) When amending or adopting any policy applicable to the Project, LF +Projects will publish such policy, as to be amended or adopted, on its web +site at least 30 days prior to such policy taking effect; provided, however, +that in the case of any amendment of the Trademark Policy or Terms of Use of +LF Projects, any such amendment is effective upon publication on LF Project’s +web site. + +(d) All Collaborators must allow open participation from any individual or +organization meeting the requirements for contributing under this Charter and +any policies adopted for all Collaborators by the TSC, regardless of +competitive interests. Put another way, the Project community must not seek to +exclude any participant based on any criteria, requirement, or reason other +than those that are reasonable and applied on a non-discriminatory basis to +all Collaborators in the Project community. + +(e) The Project will operate in a transparent, open, collaborative, inclusive, +and ethical manner at all times. The output of all Project discussions, +proposals, timelines, decisions, and status will made open and easily visible +to all, unless required by law or LF Projects policy or to protect individual +privacy and safety. Any potential violations of this requirement should be +reported immediately to the Series Manager. + +Community assets +================ + +(a) LF Projects will hold title to all trade or service marks used by the +Project (“Project Trademarks”), whether based on common law or registered +rights. Project Trademarks will be transferred and assigned to LF Projects to +hold on behalf of the Project. Any use of any Project Trademarks by +Collaborators in the Project will be in accordance with the license from LF +Projects and inure to the benefit of LF Projects. + +(b) The Project will, as permitted and in accordance with such license from LF +Projects, develop and own all Project code repositories and related +infrastructure, social media accounts, and domain names. + +(c) Under no circumstances will LF Projects be expected or required to +undertake any action on behalf of the Project that is inconsistent with the +tax-exempt status or purpose, as applicable, of the Joint Development +Foundation or LF Projects, LLC. + +General rules and operations +============================ + +(a) The Project will operate in a professional manner consistent with +maintaining a cohesive and effective community while also maintaining the +goodwill and esteem of LF Projects, Joint Development Foundation, and other +partner organizations in the open source community. + +(b) The Project will respect the rights of all trademark owners, including any +branding and trademark usage guidelines. + +Intellectual property policy +============================ + +(a) Contributors acknowledge that (i) the copyright in all new contributions +will be retained by the copyright holder as independent works of authorship +and (ii) no contributor or copyright holder will be required to assign +copyrights to the Project. + +(b) Except as described in Section 7(c), all contributions to the Project are +subject to: + + (i) All new inbound contributions of code and documentation to the Project + must be made using Apache License, Version 2.0 available at + http://www.apache.org/licenses/LICENSE-2.0 (the “Project License”). + + (ii) All new inbound contributions must also be accompanied by a Developer + Certificate of Origin (http://developercertificate.org) sign-off that binds + the authorized contributor and, if not self-employed, their employer to the + applicable license; + + (iii) All outbound contributions will be made available under the Project + License. + + (iv) The Project may seek to integrate and contribute back to other open + source projects (“Upstream Projects”). In such cases, the Project will + conform to all license requirements of the Upstream Projects, including + dependencies, leveraged by the Project. Upstream Project code contributions + not stored within the Project’s main code repository will comply with the + contribution process and license terms for the applicable Upstream Project. + +(c) The TSC may approve the use of alternative license(s) for inbound or +outbound contributions on an exception basis. License exceptions must be +approved by a two-thirds vote of the entire TSC. + +(d) Contributed files should contain license information, such as SPDX short +form identifiers, indicating the open source license(s) pertaining to the +file. + +Amendments +========== + +(a) This charter may be amended by two-thirds vote of the entire TSC and +approval by LF Projects. From dcf20104d4c3d343e3be95f9455b1bfecd05bb31 Mon Sep 17 00:00:00 2001 From: Reid Priedhorsky Date: Wed, 11 Sep 2024 15:48:08 -0600 Subject: [PATCH 3/6] fix per feedback --- NOTICE | 20 ++++ README.rst | 32 ++---- doc/Makefile.am | 2 - doc/conf.py | 2 +- doc/index.rst | 1 - doc/tech-charter.rst | 250 ------------------------------------------- 6 files changed, 28 insertions(+), 279 deletions(-) create mode 100644 NOTICE delete mode 100644 doc/tech-charter.rst diff --git a/NOTICE b/NOTICE new file mode 100644 index 000000000..fcb1a06ad --- /dev/null +++ b/NOTICE @@ -0,0 +1,20 @@ +Charliecloud is copyright © Triad National Security, LLC and others. + +This software was produced in part under U.S. Government contract +89233218CNA000001 for Los Alamos National Laboratory (LANL), which is operated +by Triad National Security, LLC for the U.S. Department of Energy/National +Nuclear Security Administration. + +The Government is granted for itself and others acting on its behalf a +nonexclusive, paid-up, irrevocable worldwide license in this material to +reproduce, prepare derivative works, distribute copies to the public, perform +publicly and display publicly, and to permit others to do so. + +Neither the government nor Triad National Security, LLC makes any warranty, +express or implied, or assumes any liability for use of this software. + +If software is modified to produce derivative works, such derivative works +should be clearly marked, so as not to confuse it with the version available +from LANL. + +LA-CC 14-096 diff --git a/README.rst b/README.rst index c4212ea98..33bd01e3a 100644 --- a/README.rst +++ b/README.rst @@ -135,33 +135,15 @@ Other publications: Supercomputing*. DOI: `10.1145/3624062.3624585 `_. -Copyright and license ---------------------- - -Charliecloud is copyright © Charliecloud a Series of LF Projects, LLC and -others. - -This software was produced in part under U.S. Government contract -89233218CNA000001 for Los Alamos National Laboratory (LANL), which is operated -by Triad National Security, LLC for the U.S. Department of Energy/National -Nuclear Security Administration. - -This is open source software (LA-CC 14-096); you can redistribute it and/or -modify it under the terms of the Apache License, Version 2.0. A copy is -included in file LICENSE. You may not use this software except in compliance -with the license. - -The Government is granted for itself and others acting on its behalf a -nonexclusive, paid-up, irrevocable worldwide license in this material to -reproduce, prepare derivative works, distribute copies to the public, perform -publicly and display publicly, and to permit others to do so. +License and intellectual property +--------------------------------- -Neither the government nor Triad National Security, LLC makes any warranty, -express or implied, or assumes any liability for use of this software. +Charliecloud is open source software; you can redistribute it and/or modify it +under the terms of the Apache License, Version 2.0. A copy is included in file +LICENSE. You may not use this software except in compliance with the license. -If software is modified to produce derivative works, such derivative works -should be clearly marked, so as not to confuse it with the version available -from LANL. +Copyrights and patents are retained by contributors. No copyright assignment +is required to contribute to Charliecloud. .. LocalWords: USENIX's CNA Meisam figshare diff --git a/doc/Makefile.am b/doc/Makefile.am index 884bd892b..13c2c80fc 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -43,7 +43,6 @@ man/README \ py_env.rst \ rd100-winner.png \ see_also.rst \ -tech-charter.rst \ tutorial.rst if ENABLE_MAN @@ -78,7 +77,6 @@ html/faq.html \ html/index.html \ html/install.html \ html/search.html \ -html/tech-charter.html \ html/tutorial.html endif diff --git a/doc/conf.py b/doc/conf.py index bcb2557f6..7a40c46b3 100644 --- a/doc/conf.py +++ b/doc/conf.py @@ -65,7 +65,7 @@ # General information about the project. project = u'Charliecloud' -copyright = u'Charliecloud a Series of LF Projects, LLC and others. For web site terms of use, trademark policy and other project policies please see: https://lfprojects.org' +copyright = u'Charliecloud a Series of LF Projects, LLC and others (web content and website). For web site terms of use, trademark policy and other project policies please see: https://lfprojects.org' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the diff --git a/doc/index.rst b/doc/index.rst index f6b7eda96..895b5edb6 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -31,4 +31,3 @@ Overview faq best_practices dev - tech-charter diff --git a/doc/tech-charter.rst b/doc/tech-charter.rst deleted file mode 100644 index d03060fe7..000000000 --- a/doc/tech-charter.rst +++ /dev/null @@ -1,250 +0,0 @@ -Technical charter -***************** - -Charliecloud is a member project of the `High Performance Software Foundation -`_, and transitively the `Linux Foundation -`_. - -.. Formatting notes. - - 1. The formal title is kludged as “centered” block, because it’s too long - to include in the sidebar and I couldn’t think of anything better. - - 2. The document contains no auto-numbered lists; rather, everything is a - normal paragraph with manual numbers. This is because both internal and - external references may refer to these paragraph numbers, so we don’t - want them changing without a deliberate decision. However, the notation - we use is interpreted by Sphinx as lists, with various unpleasant side - effects. To defeat this, put a non-breaking space after the paragraph - number (U+00A0 NO-BREAK SPACE, option-space on a Mac). - -.. centered:: Technical Charter (the “Charter”) for Charliecloud a Series of LF Projects, LLC - -.. centered:: Adopted August 16, 2024 - -This Charter sets forth the responsibilities and procedures for technical -contribution to, and oversight of, the Charliecloud open source project, which -has been established as Charliecloud a Series of LF Projects, LLC (the -“Project”). LF Projects, LLC (“LF Projects”) is a Delaware series limited -liability company. All contributors (including committers, maintainers, and -other technical positions) and other participants in the Project -(collectively, “Collaborators”) must comply with the terms of this Charter. - -.. contents:: - :depth: 2 - :local: - -Mission and scope of the Project -================================ - -(a) The mission of the Project is to enable running and management of -lightweight, fully unprivileged containers for HPC applications. - -(b) The scope of the Project includes collaborative development under the -Project License (as defined herein) supporting the mission, including -documentation, testing, integration and the creation of other artifacts that -aid the development, deployment, operation or adoption of the open source -project. - -(c) Participation is especially welcome by people who can contribute -perspectives not yet well represented in the Project, whether technical or -non-technical. - -Technical steering committee -============================ - -(a) The Technical Steering Committee (the “TSC”) is responsible for all -technical oversight of the open source Project. - -(b) The initial TSC members are: Lucas Caudill, Jordan Ogas, Megan Phinney, -Reid Priedhorsky, and Nicholas Sly. The TSC sets its own procedures for member -appointment and removal. Current members and procedures are documented in the -Project’s code repository. - -(c) Unless otherwise documented, project roles are: - - (i) Contributors are anyone that contributes code, documentation, or other - technical artifacts to the Project. - - (ii) Maintainers are Contributors who have the authority to merge changes - to (“commit”) technical artifacts to the Project’s code repository. - - (iii) Maintainers are appointed and removed by a majority of the entire - TSC. - -(d) Participation in the Project through becoming a Contributor and/or -Maintainer is open to anyone who abides by the terms of this Charter. - -(e) The TSC may elect a TSC Chair who presides over meetings of the TSC and -serves until their resignation or replacement by the TSC. - -(f) The TSC is responsible for all aspects of oversight relating to the -Project, which may include: - - (i) coordinating the technical direction of the Project; - - (ii) establishing requirements for the promotion of Contributors to - Maintainer status; - - (iii) creating, eliminating, amending, adjusting, and/or refining Project - roles; - - (iv) approving sub-project or system proposals (including, but not limited - to, incubation, deprecation, and changes to a sub-project’s scope); - - (v) approving and organizing sub-projects and removing or closing - sub-projects; - - (vi) creating sub-committees or working groups; - - (vii) appointing representatives to work with other projects or - organizations; - - (viii) establishing community norms, workflows, release procedures, and - security issue reporting policies; - - (ix) approving and implementing policies and processes for contributing; - - (x) coordinating with the series manager of the Project (as provided for in - the Series Agreement, the “Series Manager”) to resolve matters or concerns - that may arise as set forth in Section 7 of this Charter; - - (xi) discussing, seeking consensus, and where necessary, voting on - technical matters, including those that affect multiple projects; - - (xii) coordinating marketing, events, or communications regarding the - Project; and - - (xiii) establishing procedures for all oversight matters. - -TSC meetings and voting -======================= - -(a) The TSC will operate on consensus whenever practical. If a decision does -require a vote to move the Project forward, TSC members have one vote per -member. - -(b) TSC meeting quorum is a majority of members. If a quorum is not present, a -meeting may continue, but no decisions may be made. - -(c) Except as provided in §7(c) and §8(a), votes in a meeting require a -majority of TSC members present to pass. Electronic votes outside a meeting -require a majority of all members to pass. - -(d) In the event a matter cannot be resolved by the TSC, any member may refer -it to the Series Manager for assistance in reaching a resolution. - -(e) The TSC determines the rules and procedures for its meetings and Project discussions. - -Compliance with policies -======================== - -(a) This Charter is subject to the Series Agreement for the Project and the -Operating Agreement of LF Projects. Contributors will comply with the policies -of LF Projects as may be adopted and amended by LF Projects, including without -limitation the policies listed at https://lfprojects.org/policies/. - -(b) The TSC will adopt a code of conduct (“COC”) for the Project, subject to -approval by the Series Manager. In the event that a Project-specific COC has -not been approved, the LF Projects Code of Conduct listed at -https://lfprojects.org/policies will apply. All Contributors must follow the -COC. The TSC and/or Series Manager enforce the COC and may impose disciplinary -measures, including banning a person/organization from the Project and -reporting incidents to employers, professional societies, and other -supervisory bodies. - -(c) When amending or adopting any policy applicable to the Project, LF -Projects will publish such policy, as to be amended or adopted, on its web -site at least 30 days prior to such policy taking effect; provided, however, -that in the case of any amendment of the Trademark Policy or Terms of Use of -LF Projects, any such amendment is effective upon publication on LF Project’s -web site. - -(d) All Collaborators must allow open participation from any individual or -organization meeting the requirements for contributing under this Charter and -any policies adopted for all Collaborators by the TSC, regardless of -competitive interests. Put another way, the Project community must not seek to -exclude any participant based on any criteria, requirement, or reason other -than those that are reasonable and applied on a non-discriminatory basis to -all Collaborators in the Project community. - -(e) The Project will operate in a transparent, open, collaborative, inclusive, -and ethical manner at all times. The output of all Project discussions, -proposals, timelines, decisions, and status will made open and easily visible -to all, unless required by law or LF Projects policy or to protect individual -privacy and safety. Any potential violations of this requirement should be -reported immediately to the Series Manager. - -Community assets -================ - -(a) LF Projects will hold title to all trade or service marks used by the -Project (“Project Trademarks”), whether based on common law or registered -rights. Project Trademarks will be transferred and assigned to LF Projects to -hold on behalf of the Project. Any use of any Project Trademarks by -Collaborators in the Project will be in accordance with the license from LF -Projects and inure to the benefit of LF Projects. - -(b) The Project will, as permitted and in accordance with such license from LF -Projects, develop and own all Project code repositories and related -infrastructure, social media accounts, and domain names. - -(c) Under no circumstances will LF Projects be expected or required to -undertake any action on behalf of the Project that is inconsistent with the -tax-exempt status or purpose, as applicable, of the Joint Development -Foundation or LF Projects, LLC. - -General rules and operations -============================ - -(a) The Project will operate in a professional manner consistent with -maintaining a cohesive and effective community while also maintaining the -goodwill and esteem of LF Projects, Joint Development Foundation, and other -partner organizations in the open source community. - -(b) The Project will respect the rights of all trademark owners, including any -branding and trademark usage guidelines. - -Intellectual property policy -============================ - -(a) Contributors acknowledge that (i) the copyright in all new contributions -will be retained by the copyright holder as independent works of authorship -and (ii) no contributor or copyright holder will be required to assign -copyrights to the Project. - -(b) Except as described in Section 7(c), all contributions to the Project are -subject to: - - (i) All new inbound contributions of code and documentation to the Project - must be made using Apache License, Version 2.0 available at - http://www.apache.org/licenses/LICENSE-2.0 (the “Project License”). - - (ii) All new inbound contributions must also be accompanied by a Developer - Certificate of Origin (http://developercertificate.org) sign-off that binds - the authorized contributor and, if not self-employed, their employer to the - applicable license; - - (iii) All outbound contributions will be made available under the Project - License. - - (iv) The Project may seek to integrate and contribute back to other open - source projects (“Upstream Projects”). In such cases, the Project will - conform to all license requirements of the Upstream Projects, including - dependencies, leveraged by the Project. Upstream Project code contributions - not stored within the Project’s main code repository will comply with the - contribution process and license terms for the applicable Upstream Project. - -(c) The TSC may approve the use of alternative license(s) for inbound or -outbound contributions on an exception basis. License exceptions must be -approved by a two-thirds vote of the entire TSC. - -(d) Contributed files should contain license information, such as SPDX short -form identifiers, indicating the open source license(s) pertaining to the -file. - -Amendments -========== - -(a) This charter may be amended by two-thirds vote of the entire TSC and -approval by LF Projects. From 61554b35b91838557e768622beff09b0d0175efd Mon Sep 17 00:00:00 2001 From: Reid Priedhorsky Date: Wed, 11 Sep 2024 15:51:36 -0600 Subject: [PATCH 4/6] =?UTF-8?q?don=E2=80=99t=20mess=20with=20file=20copyri?= =?UTF-8?q?ght=20notices=20for=20now?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bin/ch-run.c | 2 ++ bin/ch_core.c | 2 ++ bin/ch_core.h | 4 +++- bin/ch_fuse.c | 2 ++ bin/ch_fuse.h | 2 ++ bin/ch_misc.c | 2 ++ 6 files changed, 13 insertions(+), 1 deletion(-) diff --git a/bin/ch-run.c b/bin/ch-run.c index deb975e9f..bf3c41934 100644 --- a/bin/ch-run.c +++ b/bin/ch-run.c @@ -1,3 +1,5 @@ +/* Copyright © Triad National Security, LLC, and others. */ + /* Note: This program does not bother to free memory allocations, since they are modest and the program is short-lived. */ diff --git a/bin/ch_core.c b/bin/ch_core.c index 9db3479ef..60dcd1097 100644 --- a/bin/ch_core.c +++ b/bin/ch_core.c @@ -1,3 +1,5 @@ +/* Copyright © Triad National Security, LLC, and others. */ + #define _GNU_SOURCE #include "config.h" diff --git a/bin/ch_core.h b/bin/ch_core.h index 6871e54ce..f65cfc083 100644 --- a/bin/ch_core.h +++ b/bin/ch_core.h @@ -1,4 +1,6 @@ -/* This interface contains Charliecloud's core containerization features. */ +/* Copyright © Triad National Security, LLC, and others. + + This interface contains Charliecloud's core containerization features. */ #define _GNU_SOURCE #include diff --git a/bin/ch_fuse.c b/bin/ch_fuse.c index 06a313f5b..22ac1e5ca 100644 --- a/bin/ch_fuse.c +++ b/bin/ch_fuse.c @@ -1,3 +1,5 @@ +/* Copyright © Triad National Security, LLC, and others. */ + /* Function prefixes: fuse_ libfuse; docs: https://libfuse.github.io/doxygen/globals.html diff --git a/bin/ch_fuse.h b/bin/ch_fuse.h index 166e8723e..5250ed85a 100644 --- a/bin/ch_fuse.h +++ b/bin/ch_fuse.h @@ -1,3 +1,5 @@ +/* Copyright © Triad National Security, LLC, and others. */ + #define _GNU_SOURCE /** Function prototypes **/ diff --git a/bin/ch_misc.c b/bin/ch_misc.c index 5f0cad3c6..17e9b1ea0 100644 --- a/bin/ch_misc.c +++ b/bin/ch_misc.c @@ -1,3 +1,5 @@ +/* Copyright © Triad National Security, LLC, and others. */ + #define _GNU_SOURCE #include #include From a615dfdcc74175b65a84c5da814a6abbfb0c53d6 Mon Sep 17 00:00:00 2001 From: Reid Priedhorsky Date: Wed, 11 Sep 2024 15:53:23 -0600 Subject: [PATCH 5/6] fix loc --- misc/loc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/misc/loc b/misc/loc index eed3ce947..1780eb364 100755 --- a/misc/loc +++ b/misc/loc @@ -127,6 +127,7 @@ patch plain text filter remove_matches TEXT_HAS_NO_COMMENTS_BUT_A_FILTER_IS_REQUIRED extension txt + filename NOTICE filename PERUSEME filename README filename VERSION @@ -257,6 +258,7 @@ countem "TEST SUITE & EXAMPLES" /tmp/loc.test # documentation find . -type f -a \( \ -path './doc/*.rst' \ + -o -path ./NOTICE \ -o -path ./README.rst \ -o -path ./doc/conf.py \ -o -path ./doc/make-deps-overview \ From f48db3f72e5511674ceb65719671771ae5b36eac Mon Sep 17 00:00:00 2001 From: Reid Priedhorsky Date: Mon, 16 Sep 2024 13:23:49 -0600 Subject: [PATCH 6/6] restore copyright notice in ch_misc.h too [skip ci] --- bin/ch_misc.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/bin/ch_misc.h b/bin/ch_misc.h index 9ca2a7e7f..e2f5dcd47 100644 --- a/bin/ch_misc.h +++ b/bin/ch_misc.h @@ -1,4 +1,6 @@ -/* This interface contains miscellaneous utility features. It is separate so +/* Copyright © Triad National Security, LLC, and others. + + This interface contains miscellaneous utility features. It is separate so that peripheral Charliecloud C programs don't have to link in the extra libraries that ch_core requires. */