IEEE.org     |     IEEE Xplore Digital Library     |     IEEE Standards     |     IEEE Spectrum     |     More Sites

maintain.md 7.6 KB
Newer Older
Joshua Gay's avatar
Joshua Gay committed
1
# IEEE OPEN SOURCE MAINTAINERS MANUAL
Joshua Gay's avatar
Joshua Gay committed
2

Joshua Gay's avatar
Dev    
Joshua Gay committed
3
4
5
6
7
The following manual provides requirements and expectations for all users of the IEEE Open Source Platform. 

All users of the IEEE Platform are granted the right to be maintainers of projects within their own username namespace, which include personal projects and personal forks of projects. As such, whether you are acting as a maintainer on a personal project or you have been granted the role of maintainer or contributor to an Official IEEE Open Source Project, you must follow the rules, requirements, and expectations outlined in this manual. 

The Maintainers Manual open source project is organized into requirements, recommendations, and examples. Requirements are primarily outlined in the following document. Recommendations consist of templates you can used as a basis to help you meet the requirements. And examples relate to good ideas and practices that may or may not tie into any requirements or expectations. 
Joshua Gay's avatar
Joshua Gay committed
8

Joshua Gay's avatar
Joshua Gay committed
9
## Conduct
Joshua Gay's avatar
Joshua Gay committed
10

Joshua Gay's avatar
Joshua Gay committed
11
12
13
14
All articipants of IEEE Open Source Projects are expected to demonstrate respect 
and courtesy toward each other. All maintainers shall act in accordance with the 
[IEEE Code of Conduct](https://www.ieee.org/about/ieee_code_of_conduct.pdf) and 
encourage all other partcipants in the projects they maintain to do the same. 
Joshua Gay's avatar
Joshua Gay committed
15

Joshua Gay's avatar
Joshua Gay committed
16
17
18
19
In addition, with regard to the following referenced section of the 
IEEE Policies document, any given requirements or recommendation that applies 
to an IEEE Member shall be understood to apply equally to an 
IEEE Open Source Project Maintainer. 
Joshua Gay's avatar
Joshua Gay committed
20

Joshua Gay's avatar
Joshua Gay committed
21
22
23
24
* Definitions of Bullying, Discrimination, Harassment, and Retaliation. 
* IEEE Code of Ethics (§7.8)
* Civility Policy, nondiscrimintation (§9.25)
* IEEE Policy Against Discrimination and Harassment (9.26)
Joshua Gay's avatar
Joshua Gay committed
25
26


Joshua Gay's avatar
Joshua Gay committed
27
## Organization of Projects and Materials 
Joshua Gay's avatar
Joshua Gay committed
28

Joshua Gay's avatar
Joshua Gay committed
29
30
31
32
33
34
35
The IEEE Open Source Platform consists of the code and document
repositories, license repositories, communication forums, project
management systems, and related administrative and end-user tools
maintained by IEEE for the purpose of hosting Open Source projects
together with the associated governance mechanisms, support
mechanisms, and other services offered to participants, users, and
consumers of Open Source projects.
Joshua Gay's avatar
Joshua Gay committed
36

Joshua Gay's avatar
Joshua Gay committed
37
38
An open source project may oranize material and conduct business
across various parts of the IEEE Open Source Platform.
Joshua Gay's avatar
Joshua Gay committed
39

Joshua Gay's avatar
Joshua Gay committed
40
41
42
An IEEE Open Source Project must provide a single URL that can be
considered as the official homepage of the project. For example, this
could be the link to a project page on opensource.ieee.org.
Joshua Gay's avatar
Joshua Gay committed
43

Joshua Gay's avatar
Joshua Gay committed
44
### Homepage
Joshua Gay's avatar
Joshua Gay committed
45

Joshua Gay's avatar
Joshua Gay committed
46
On the IEEE Open Source Project Homepage, the following information must be provided (e.g., in a repo's READEME.md file) the following information:
Joshua Gay's avatar
Joshua Gay committed
47

Joshua Gay's avatar
Joshua Gay committed
48
49
50
51
52
53
* Project name
* Any important status concerns prominantly displayed (e.g., a notice that it is unmaintained or archived, etc)
* A short description of how the project is organized
* Project license and links to appropriate CLAs
* How to contribute (such as a link to a CONTRIBUTING file)
* Project leadership
Joshua Gay's avatar
Joshua Gay committed
54

Joshua Gay's avatar
Joshua Gay committed
55
### Repository
Joshua Gay's avatar
Joshua Gay committed
56

Joshua Gay's avatar
Joshua Gay committed
57
Each open source project area that makes use of a git repository shall have the following files in any   
Joshua Gay's avatar
Joshua Gay committed
58

Joshua Gay's avatar
Joshua Gay committed
59
60
61
62
63
64
* README  - Project name, short description, license and CLA info, 
* LICENSE - The official license of the project
* NOTICES - Any additional appropriate legal notices that must be included
* AUTHORS - A list of copyright holders
* CONTRIBUTORS - A list of contributors 
* CONTRIBUTING (Governance and Code-of-Conduct)  - Rules for contributing, may be split into a separete GOVERNANCE document
Joshua Gay's avatar
Joshua Gay committed
65

Joshua Gay's avatar
Joshua Gay committed
66
### Appropriate legal notices
Joshua Gay's avatar
Joshua Gay committed
67

Joshua Gay's avatar
Joshua Gay committed
68
Following best practices, files should contain a copyright and license notice. 
Joshua Gay's avatar
Joshua Gay committed
69

Joshua Gay's avatar
Joshua Gay committed
70
## Responsibilities of Maintainers and Committers
Joshua Gay's avatar
Joshua Gay committed
71

Joshua Gay's avatar
Joshua Gay committed
72
73
A maintainer of an IEEE Open Source Project shall have the following
responsibilities:
Joshua Gay's avatar
Joshua Gay committed
74

Joshua Gay's avatar
Joshua Gay committed
75
76
77
* Ensuring, according to this manual, that all appropriate files,
  documentation, and notices are in place for their Project on the
  IEEE Open Source Platform.
Joshua Gay's avatar
Joshua Gay committed
78

Joshua Gay's avatar
Joshua Gay committed
79
* Adhering to the governance rules established by the project IEEE Open Source Project
Joshua Gay's avatar
Joshua Gay committed
80

Joshua Gay's avatar
Joshua Gay committed
81
82
83
84
85
* Responding to communication and notificatoins on the IEEE Open
  Source Platform in a timely manner, as well as communication and
  requests from the IEEE Open Source Lead, and the Open Source
  Community Manager either through the platform or via another
  commuincations channel.
Joshua Gay's avatar
Joshua Gay committed
86
87
88
89
90
91
92
93
94
95

## Stepping Down

If you’re the maintainer of an IEEE Open Source Project and you have decided
to step-down, please inform the IEEE Staff by either sending an email to 
contrib@ieee.org stating the name of the project and the date you are planning 
to step down, and any suggestion or infomration you may have as to who should 
become the new maintainer.  The appointment of a new maintainer needs the 
approval of Leader(s) of the project.

Joshua Gay's avatar
Joshua Gay committed
96
## Security and Critical vulnerabilities
Joshua Gay's avatar
Joshua Gay committed
97

Joshua Gay's avatar
Dev    
Joshua Gay committed
98
99
100
If a project's lead or maintainer, the Open Source Community Manager, or the Open Source Committee decide that a given project on the IEEE Open Source Platform needs to follow a seucity process for handling security reports and CVEs, then the requirements provided in [SECURITY/README.md](SECURITY/README.md) shall be followed and the creation of a SECURITY.md file shall be provided in the top-most level of your project's repository directory structure. A recommended [SECURITY.md](SECURITY/SECURITY.md) file has been provided for you. 

If it is not determined that your project requires a formal security reporting process, then by default, a security bug can be treated as any other issue or bug filed against your project. 
Joshua Gay's avatar
Joshua Gay committed
101

Joshua Gay's avatar
Joshua Gay committed
102
## Communication
Joshua Gay's avatar
Joshua Gay committed
103

Joshua Gay's avatar
Joshua Gay committed
104
## Naming, Branding, Trademark, and Tradename 
Joshua Gay's avatar
Joshua Gay committed
105

Joshua Gay's avatar
Dev    
Joshua Gay committed
106
IEEE Policy on Trademark applies to IEEE Open Source Projects. Please direct all questions or concerns to the IEEE Open Source Community Manager. 
Joshua Gay's avatar
Joshua Gay committed
107

Joshua Gay's avatar
Joshua Gay committed
108
## Archiving 
Joshua Gay's avatar
Joshua Gay committed
109

Joshua Gay's avatar
Joshua Gay committed
110
* How and when to move a project to an archived project
Joshua Gay's avatar
Joshua Gay committed
111

Joshua Gay's avatar
Joshua Gay committed
112
## Version
Joshua Gay's avatar
Joshua Gay committed
113

Joshua Gay's avatar
Joshua Gay committed
114
Informatoin for IEEE Open Source Project maintainers. DRAFT
Joshua Gay's avatar
Joshua Gay committed
115

Joshua Gay's avatar
Joshua Gay committed
116
Copyright 2019, The Maintainers Manual AUTHORS (see AUTHORS file)
Joshua Gay's avatar
Joshua Gay committed
117

Joshua Gay's avatar
Joshua Gay committed
118
119
120
The IEEE Open Source Maintainers Manual is licensed to you under the
terms of the Apache License, Version 2.0. You may obtain a copy of the
License at
Joshua Gay's avatar
Joshua Gay committed
121

Joshua Gay's avatar
Joshua Gay committed
122
  http://www.apache.org/licenses/LICENSE-2.0
Joshua Gay's avatar
Joshua Gay committed
123

Joshua Gay's avatar
Joshua Gay committed
124
125
126
127
128
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied.  See the License for the specific language governing
permissions and limitations under the License.
Joshua Gay's avatar
Joshua Gay committed
129
130


Joshua Gay's avatar
Joshua Gay committed
131
## About This Document
Joshua Gay's avatar
Joshua Gay committed
132

Joshua Gay's avatar
Joshua Gay committed
133
134
135
***In accordance with the Open Source Committee Operations Manual, all
IEEE Open Source Project Maintainers shall follow the requirements set
forth.***
Joshua Gay's avatar
Joshua Gay committed
136

Joshua Gay's avatar
Joshua Gay committed
137
138
139
This manual contains guidelines, advice, and requirements of interest
to anyone contributing to or participating in an IEEE Open Source
Project.
Joshua Gay's avatar
Joshua Gay committed
140

Joshua Gay's avatar
Joshua Gay committed
141
142
143
We welcome your help in improving this manual. You can file an issue
or become a contributor (see CONTRIBUTE) to this open source project,
which is located at <https://opensource.ieee.org/oscom/maintain>.
Joshua Gay's avatar
Joshua Gay committed
144

Joshua Gay's avatar
Joshua Gay committed
145
146
147
148
All maintainers of IEEE Open Source Projects will be notified when new 
official releases of this manual are released. A version history of all changes 
between official releases of this document within the repository on the open 
source project. 
Joshua Gay's avatar
Joshua Gay committed
149

Joshua Gay's avatar
Joshua Gay committed
150
### Acknowledgements
Joshua Gay's avatar
Joshua Gay committed
151

Joshua Gay's avatar
Joshua Gay committed
152
153
154
155
Thanks go to the Free Software Foundation and the GNU Project for the 
[**GNU Maintainers Manual**](https://www.gnu.org/prep/maintain/maintain.html); 
and  to Karl Fogel for (**Producing Open Source Software**, 2nd edition)[https://producingoss.com/]. 
These works provided useful ideas that we have used in developing this manual. 
Joshua Gay's avatar
Joshua Gay committed
156

Joshua Gay's avatar
Joshua Gay committed
157
158
## Getting Help
{: .gitlab-red}
Joshua Gay's avatar
Joshua Gay committed
159

Joshua Gay's avatar
Joshua Gay committed
160
161
- Contact IEEE Open Source Community Manager
- Alternative contact (e.g., what they need to make a complaint about the OSCM). 
Joshua Gay's avatar
Joshua Gay committed
162