You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Improve project pages
Update the page of affiliated software with properly affiliated
projects, keeping the older umbrella projects for now (a redirect from
the old page is in place).
Remove the anachronistic "services" page.
Update menu to link to new pages (including a more obvious link to
the badges).
Update the project criteria to not refer to contracts for developers, but
rather to their commitment to provide support.
Reduce the Bronze level commitment to 1 year (from 2).
* Review comments and tweaks
* Use site.baseurl
Copy file name to clipboardExpand all lines: projects/guidelines.md
+15-8Lines changed: 15 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,13 +2,15 @@
2
2
title: "Affiliated Projects and Software Guidelines"
3
3
author: Eduardo Rodrigues, Pere Mato
4
4
layout: plain
5
+
redirect_from: /project_guidelines.html
5
6
---
6
7
7
8
In a spirit of openness and flexibility, the HSF maintains an evolving checklist of best practices for HSF Affiliated Projects and Software, rather than a set of requirements.
8
9
[HSF Affiliated Projects and Software]({{ site.baseurl }}/projects/affiliated.html) need to abide by (at least a subset of) the guidelines,
9
10
which are used for their endorsement and attribution of Bronze, Silver or Gold levels of recognition.
10
11
11
12
The guidelines have been created to:
13
+
12
14
* Encourage projects to follow best practices;
13
15
* Help new projects discover what those practices are; and
14
16
* Help users know which projects are following best practices, meant as a guarantee of quality.
@@ -34,6 +36,7 @@ Avoid pre-existing trademarks for software products or services.
34
36
***General information.** It is often useful if not necessary to provide extra information such as library dependencies, platforms supported, operating systems supported, etc.
35
37
36
38
In addition, projects should consider having:
39
+
37
40
***A project website.** Such a website is meant to concentrate all the information useful for users as well as developers. (Access to all sources of project information should be granted to search engine spiders.)
38
41
***Developers mailing list.** A mailing list to contact developers should be made available. Better to have publicly and anonymously accessible archives and be open for subscription and posting by the public.
39
42
@@ -66,11 +69,13 @@ Three endorsement levels are defined to distinguish mainly the level of maturity
66
69
For each level a number of requisites need to be demonstrated.
67
70
Each level adds more requisites to the previous level.
68
71
These requisites lay in three major categories:
72
+
69
73
* Software engineering practices followed by the project (as described in the Best-practice Guideline section and with specifics for the programming language ecosystem).
70
74
* Sustainability and support structures of the project (e.g. number of active developers, discussion fora, documentation, training events, time to respond to issues, etc.)
71
75
* Level of adoption of the software by experiments and other projects, hence the impact of the project.
72
76
73
77
The keywords *MUST*, *SHOULD*, *MAY* that appear in the criteria in this document are to be interpreted as described in [RFC 2119](https://datatracker.ietf.org/doc/html/rfc2119):
78
+
74
79
* The term MUST is an absolute requirement, and MUST NOT is an absolute prohibition.
75
80
* The term SHOULD indicates a criterion that is normally required, but there may exist valid reasons in particular circumstances to ignore it.
76
81
* The term MAY provides one way something can be done, e.g., to make it clear that the described implementation may differ and be acceptable.
@@ -80,6 +85,7 @@ The keywords *MUST*, *SHOULD*, *MAY* that appear in the criteria in this documen
80
85
The purpose of this entry level is for a young endeavour, likely evolving from and within a collaboration or experiment, but with the potential for other communities or experiments to use. At this level the category of best software practices is what is mainly required.
81
86
82
87
#### Basics
88
+
83
89
* The project SHOULD follow general and language-specific best practices as given for example in the HSF’s Best Practice Guidelines.
84
90
* The project source code MUST reside on a version-controlled repository that is publicly readable and has a URL (e.g., GitHub, GitLab).
85
91
* The README file at the top level MUST describe what the software does (what problem does it solve?).
@@ -103,12 +109,13 @@ obtain, provide feedback (as bug reports or enhancements), and contribute to the
103
109
* The project results MUST have a unique version identifier for each release intended to be used by users.
104
110
We recommend using a well defined versioning scheme that is consistent with practices in your sub-domain, e.g. [Semantic Versioning](https://semver.org) or [Calendar Versioning](https://calver.org).
105
111
* The project MUST provide, in each release, release notes that are a human-readable summary of major changes in that release to help users determine if they should upgrade and what the upgrade impact will be.
112
+
106
113
The release notes SHOULD NOT be the raw output of a version control log (e.g., the "git log" command results are not release notes).
107
114
108
115
#### Sustainability
109
116
110
117
* The project MUST be maintained.
111
-
* The project SHOULD have at least one long-term maintainer with a contract longer than 2 years.
118
+
* The project SHOULD have at least one long-term maintainer with a future commitment to the software of at least 1 year.
112
119
* The project MUST provide a process for users to submit bug reports (e.g., using an issue tracker or a mailing list).
113
120
* The project SHOULD use an issue tracker for tracking individual issues.
114
121
* The project SHOULD acknowledge a majority of bug reports submitted in the last 2-12 months (inclusive); the response need not include a fix.
@@ -133,16 +140,16 @@ All the criteria for Bronze MUST be fulfilled, with the addition of the followin
133
140
#### Documentation
134
141
135
142
* The project MUST provide different kinds of documentation:
136
-
- Basic documentation.
137
-
- User documentation.
138
-
- Reference manual.
139
-
- Tutorials (e.g. notebooks).
140
-
- The project SHOULD provide specific training for users to use the software product.
143
+
* Basic documentation.
144
+
* User documentation.
145
+
* Reference manual.
146
+
* Tutorials (e.g. notebooks).
147
+
* The project SHOULD provide specific training for users to use the software product.
141
148
142
149
#### Sustainability
143
150
144
151
* The project MUST be maintained and produce at least one new release a year if are changes and fixes that have been accumulated..
145
-
* The project MUST have at least one long-term maintainer with a contract longer than 2 years.
152
+
* The project MUST have at least one long-term maintainer with a future commitment to the software of at least 2 years.
146
153
* The project MUST use an issue tracker for tracking individual issues.
147
154
* The project MUST acknowledge a majority of bug reports submitted in the last 1-3 months (inclusive); the response need not include a fix.
148
155
* The project SHOULD respond to a majority (>50%) of enhancement requests in the last 1-3 months (inclusive).
@@ -164,7 +171,7 @@ All the criteria for Silver MUST be fulfilled, with the addition of the followin
164
171
#### Sustainability
165
172
166
173
* The project MUST be actively maintained and produce at least one new release a year if there are changes, and as needed patch releases to include fixes that have been accumulated.
167
-
* The project MUST have at least 3 long-term maintainers with a contract longer than 2 years.
174
+
* The project MUST have at least 3 long-term maintainers with a future commitment to the software of at least 2 years.
168
175
* The project MUST acknowledge a majority of bug reports submitted in the last 1-4 weeks (inclusive); the response need not include a fix.
169
176
* The project MUST respond to a majority (>50%) of enhancement requests in the last 1-4 weeks (inclusive).
This is the list of projects which have become [HSF Affiliated]({{site.baseurl}}/projects/affiliated.html).
8
9
9
-
HSF seeks to serve new and emerging common projects through a project incubator activity. Templates to guide and aid new projects are being established. If you'd like your project to be involved just let us know. Talk to any member of the HSF Steering Group or [email](mailto:hsf-steering@googlegroups.com).
10
-
11
-
The incubator idea is close to the one of the Apache Software Foundation. Brian Van Klaveren who gave the exceptional ASF talk at the SLAC workshop provides [this link](http://www.apache.org/foundation/how-it-works.html#incubator) describing how ASF Incubator projects work.
|[prmon](https://github.com/HSF/prmon)| Standalone lightweight process resource consumption monitor || 2024 |
12
14
13
-
We have been compiling a set of [project guidelines]({{ site.baseurl }}/project_guidelines.html) that all HSF projects should try to fulfil.
15
+
## Older projects under the umbrella of HSF
14
16
15
-
## Initial set of Projects under the umbrella of HSF
17
+
These are older projects that were associated with the HSF before the current affiliation scheme was setup. They are encouraged to apply for the new affiliation status!
|[podio](https://github.com/AIDASoft/podio)| Event Data Model Library based on plain-old-data | GPL v3 |[Benedikt Hegner](mailto:benedikt.hegner@cern.ch)|
|[ROOT](https://root.cern.ch/)| Data Analysis Framework | LGPL v2+ |[Pere Mato](mailto:pere.mato@cern.ch)|
30
31
|[XRootD](https://xrootd.slac.stanford.edu/)| High performance, scalable fault tolerant access to data | LGPL v3 |[Andrew Hanushevsky](mailto:abh@stanford.edu)|
0 commit comments