Skip to content

Commit 16b84b1

Browse files
authored
Merge branch 'master' into add-pattern-warnings
Signed-off-by: Joshua Lock <jlock@vmware.com>
2 parents 4ed28cf + 743c8a0 commit 16b84b1

12 files changed

Lines changed: 289 additions & 18 deletions

.github/workflows/draft.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
- name: Set up Python
1313
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c
1414
with:
15-
python-version: '3.10'
15+
python-version: '3.14'
1616
cache: pip
1717

1818
- name: Clone

.github/workflows/pr.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
jobs:
88
main:
99
name: Sanity checks before a PR merge
10-
runs-on: ubuntu-20.04
10+
runs-on: ubuntu-latest
1111
steps:
1212
- uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac
1313
with:
@@ -16,7 +16,7 @@ jobs:
1616
- name: Set up Python
1717
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c
1818
with:
19-
python-version: '3.10'
19+
python-version: '3.14'
2020
cache: pip
2121

2222
- name: Ensure changes build

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
if: steps.getver.outputs.spec_version != steps.prevver.outputs.prev_version
3333
uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c
3434
with:
35-
python-version: '3.10'
35+
python-version: '3.14'
3636
cache: 'pip'
3737

3838
- name: Make release

MAINTAINERS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
* Justin Cappos ([JustinCappos](https://github.com/JustinCappos))
1010
* Trishank Karthik Kuppusamy ([trishankatdatadog](https://github.com/trishankatdatadog))
11+
* John Kjell ([jkjell](https://github.com/jkjell))
1112
* Joshua Lock ([joshuagl](https://github.com/joshuagl))
1213
* Marina Moore ([mnm678](https://github.com/mnm678))
1314
* Lukas Pühringer ([lukpueh](https://github.com/lukpueh))

README.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,3 +91,11 @@ under Grant Nos. CNS-1345049 and CNS-0959138. Any opinions, findings, and
9191
conclusions or recommendations expressed in this material are those of the
9292
author(s) and do not necessarily reflect the views of the National Science
9393
Foundation.
94+
95+
Governance & Licensing
96+
----------------------
97+
98+
- `Scope <governance/02-scope.md>`_
99+
- `Notices <governance/03-notices.md>`_
100+
- `License <governance/04-license.md>`_
101+
- `Governance <governance/05-governance.md>`_
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Community Specification Contributor License Agreement 1.0
2+
3+
By making a Contribution to this repository, I agree to the terms of the following documents located at [https://github.com/CommunitySpecification/1.0](https://github.com/CommunitySpecification/1.0):
4+
5+
(a) Community Specification License 1.0 (.0_Community_Specification_License-v1.md)
6+
7+
(b) Community Specification Governance Policy 1.0 (5._Governance.md)
8+
9+
(c) Community Specification Contribution Policy 1.0 (6._Contributing.md)
10+
11+
(d) Community Specification Code of Conduct (8._Code_of_Conduct.md)
12+
13+
14+
In addition, for source code contributions, I certify that:
15+
16+
(a) The contribution was created in whole or in part by me and I have the right to submit it under the open source license indicated in the file; or (b) The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open source license and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open source license (unless I am permitted to submit under a different license), as indicated in the file; or (c) The contribution was provided directly to me by some other person who certified (a), (b) or (c) and I have not modified it. (d) I understand and agree that this working group and the contribution may be public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistent with this agreement or the open source license(s) involved.
17+
18+
I represent that I am legally entitled to make the grants set forth in the documents above. If my employer(s) has rights to intellectual property that may be infringed by the materials developed by this Working Group, I represent that I have received permission to enter these agreements on behalf of that employer.

governance/01-community-specification-license-v1.md

Lines changed: 99 additions & 0 deletions
Large diffs are not rendered by default.

governance/02-scope.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Scope of The Update Framework (TUF) Specification Working Group
2+
3+
## 1. Objective
4+
The objective of The Update Framework (TUF) Working Group is to define, standardize, and maintain a framework for securing software update systems, specifically mitigating known attacks against software repositories (e.g., rollback, freeze, mix-and-match, and malicious repository compromises).
5+
6+
## 2. In Scope
7+
The Working Group's standard-setting activities are strictly limited to the following areas required to achieve client-server interoperability:
8+
9+
* **Metadata Data Models and Schemas:** The structure, syntax, semantics, and serialization formats (e.g., canonical JSON) of the core TUF metadata roles (Root, Targets, Snapshot, Timestamp) and any standardized extension roles.
10+
* **Client Verification Workflow:** The step-by-step state machine, algorithmic logic, and failure conditions a client must execute to securely fetch, validate, and process repository metadata and target files.
11+
* **Delegation and Trust Boundaries:** Mechanisms for threshold signing, cryptographic key delegation, repository segmentation, and key revocation within the metadata structure.
12+
* **Cryptographic Representation:** The specifications for how cryptographic hashes, signatures, and key material are represented, encoded, and bound to the metadata roles.
13+
* **Threat Mitigation Definitions:** Explicit descriptions of the specific software update threat models the framework addresses, serving as the basis for the protocol's security properties.
14+
15+
## 3. Out of Scope
16+
To prevent unintentional intellectual property encumbrance, the following areas are explicitly excluded from the Working Group's scope:
17+
18+
* **Payload Semantics:** The definition, structure, execution, or content of the target files distributed by the framework (e.g., binaries, containers, source code, or other supply chain metadata).
19+
* **Transport Protocols:** The definition or standardization of network transport layers or delivery mechanisms (e.g., HTTP, gRPC, IPFS) used to transmit metadata or targets.
20+
* **Cryptographic Primitives:** The invention, modification, or primary standardization of underlying cryptographic algorithms (e.g., Ed25519, SHA-256). The specification relies entirely on existing cryptographic standards.
21+
* **Server-Side Architecture:** The design, implementation, and operational architecture of backend repository servers, metadata generation tools, or key management infrastructure at the implementation level. The specification governs the artifacts produced by the server and consumed by clients at an algorithmic level and does not mandate an exact means of producing the information.
22+
*
23+
Any changes of Scope are not retroactive.

governance/03-notices.md

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Notices
2+
3+
## Code of Conduct
4+
5+
The Update Framework (TUF) is a [Cloud Native Computing Foundation](https://www.cncf.io/) project and follows the [TUF Community Code of Conduct](https://github.com/theupdateframework/community/blob/main/CODE-OF-CONDUCT.md), which follows the [CNCF Code of Conduct](https://github.com/cncf/foundation/blob/main/code-of-conduct.md).
6+
7+
## License Acceptance
8+
9+
Per Community Specification License 1.0 Section 2.1.3.3, Licensees may indicate their acceptance of the Community Specification License by issuing a pull request to the Specification's repository's Notice.md file, including the Licensee's name, authorized individuals' names, and repository system identifier (e.g. GitHub ID), and specification version.
10+
11+
A Licensee may consent to accepting the current Community Specification License version or any future version of the Community Specification License by indicating "or later" after their specification version.
12+
13+
---------------------------------------------------------------------------------
14+
15+
Licensee's name:
16+
17+
Authorized individual and system identifier:
18+
19+
Specification version:
20+
21+
---------------------------------------------------------------------------------
22+
23+
## Withdrawals
24+
25+
Name of party withdrawing:
26+
27+
Date of withdrawal:
28+
29+
---------------------------------------------------------------------------------
30+
31+
## Exclusions
32+
33+
This section includes any Exclusion Notices made against a Draft Deliverable or Approved Deliverable as set forth in the Community Specification Development License. Each Exclusion Notice must include the following information:
34+
35+
- Name of party making the Exclusion Notice:
36+
37+
- Name of patent owner:
38+
39+
- Specification:
40+
41+
- Version number:
42+
43+
**For issued patents and published patent applications:**
44+
45+
(i) patent number(s) or title and application number(s), as the case may be:
46+
47+
(ii) identification of the specific part(s) of the Specification whose implementation makes the excluded claim a Necessary Claim.
48+
49+
**For unpublished patent applications must provide either:**
50+
51+
(i) the text of the filed application; or
52+
53+
(ii) identification of the specific part(s) of the Specification whose implementation makes the excluded claim a Necessary Claim.
54+
55+
-----------------------------------------------------------------------------------------

governance/04-license.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Licenses
2+
3+
## Specification License
4+
5+
Specifications in this repository are subject to the **Community Specification License 1.0** available at [https://github.com/CommunitySpecification/1.0](https://github.com/CommunitySpecification/1.0).
6+
7+
## Source Code License
8+
9+
If source code is included in this repository, or for sample or reference code included in the specification itself, that code is subject to the Apache-2.0 license unless otherwise marked.
10+
11+
In the case of any conflict or confusion within this specification repository between the Community Specification License and the designated source code license, the terms of the Community Specification License shall apply.

0 commit comments

Comments
 (0)