Skip to content
This repository has been archived by the owner on Oct 2, 2024. It is now read-only.

update copyright for HPSF #1916

Merged
merged 6 commits into from
Sep 16, 2024
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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.
reidpr marked this conversation as resolved.
Show resolved Hide resolved

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.
reidpr marked this conversation as resolved.
Show resolved Hide resolved

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
Expand Down
2 changes: 0 additions & 2 deletions bin/ch-run.c
Original file line number Diff line number Diff line change
@@ -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. */

Expand Down
2 changes: 0 additions & 2 deletions bin/ch_core.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
/* Copyright © Triad National Security, LLC, and others. */

#define _GNU_SOURCE
#include "config.h"

Expand Down
4 changes: 1 addition & 3 deletions bin/ch_core.h
Original file line number Diff line number Diff line change
@@ -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 <stdbool.h>
Expand Down
2 changes: 0 additions & 2 deletions bin/ch_fuse.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
/* Copyright © Triad National Security, LLC, and others. */

/* Function prefixes:

fuse_ libfuse; docs: https://libfuse.github.io/doxygen/globals.html
Expand Down
2 changes: 0 additions & 2 deletions bin/ch_fuse.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
/* Copyright © Triad National Security, LLC, and others. */

#define _GNU_SOURCE

/** Function prototypes **/
Expand Down
2 changes: 0 additions & 2 deletions bin/ch_misc.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
/* Copyright © Triad National Security, LLC, and others. */

#define _GNU_SOURCE
#include <ctype.h>
#include <dirent.h>
Expand Down
4 changes: 1 addition & 3 deletions bin/ch_misc.h
Original file line number Diff line number Diff line change
@@ -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. */

Expand Down
2 changes: 2 additions & 0 deletions doc/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ man/README \
py_env.rst \
rd100-winner.png \
see_also.rst \
tech-charter.rst \
tutorial.rst

if ENABLE_MAN
Expand Down Expand Up @@ -77,6 +78,7 @@ html/faq.html \
html/index.html \
html/install.html \
html/search.html \
html/tech-charter.html \
html/tutorial.html
endif

Expand Down
2 changes: 1 addition & 1 deletion doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
1 change: 1 addition & 0 deletions doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,4 @@ Overview
faq
best_practices
dev
tech-charter
250 changes: 250 additions & 0 deletions doc/tech-charter.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,250 @@
Technical charter
*****************

Charliecloud is a member project of the `High Performance Software Foundation
<https://hpsf.io/>`_, and transitively the `Linux Foundation
<https://www.linuxfoundation.org/>`_.

.. 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.
Loading