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
To support individual Google accounts as well as opentitan.org accounts, some updates have been made removing references to opentitan.org accounts and emphasising use of documents in repos for sharing.
Updates are visible at https://staging.opentitan.org/book/index.html
- useraccounts.md: Removed outdated material on requesting accounts (now a document)
- design.md: Emphasised use of Working Group shared drives
- README.md: Clarified usage of different document types and shared drives
- glossary.md: Independent update with reformatting
Signed-off-by: Jay Alphey <jay.alphey@lowrisc.org>
Copy file name to clipboardExpand all lines: doc/contributing/detailed_contribution_guide/README.md
+32-16Lines changed: 32 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,27 +23,41 @@ We believe in creating a welcoming and respectful community, so we have a few gr
23
23
24
24
We list these principles as general guidance to make it easier to communicate and participate in the OpenTitan (and lowRISC) community.
25
25
26
-
## When to file an issue vs. sending an email vs. creating a document?
26
+
## Use of different methods to share information
27
27
28
-
GitHub issues and shared Google Docs are generally preferable to email, as these can be more easily tracked, cross-referenced, archived and shared, e.g., with people joining later.
28
+
OpenTitan uses a range of methods to share and document information.
29
+
Each has its advantages and disadvantages, and care should be taken to use the appropriate approach for the circumstance.
29
30
30
-
Emails (e.g. to the [opentitan-dev@opentitan.org](https://groups.google.com/a/opentitan.org/forum/#!forum/opentitan-dev) mailing list) are suitable to raise awareness of discussions and to call for participation.
31
-
Emails between members of a smaller group are also useful for preliminary evaluations before starting a public issue or document.
31
+
### Communicating through email
32
32
33
-
When it comes to technical discussions, either shared documents on Google Docs or GitHub issues may be used.
34
-
The former are more suitable for initial, broader discussions, for comparing different options and for soliciting comments from a wider audience on a proposal over a longer period of time, whereas the latter are more suitable for cross-referencing in pull requests, and for presenting the final proposal.
35
-
The outcome of such discussions should always be summarized in a GitHub issue for later reference.
33
+
Emails are convenient but they cannot easily be tracked, archived and shared, especially over a period of time.
34
+
OpenTitan has a number of mailing lists and emails to these are encouraged to raise awareness of discussions and to call for participation.
35
+
However, detailed sharing of information should use one of the other options.
36
36
37
-
##Where do we discuss implementation details/proposals before creating PRs?
37
+
### Using Google Docs
38
38
39
-
A shared Google Doc is suitable for initial, broader discussions, for comparing different design options and for a wider audience and agile commenting, but not for revisioning, referencing and storage in the repository.
40
-
Therefore, such a shared document should always be linked from a GitHub issue and the outcome of this discussion should be summarized in that issue.
41
-
For short proposals, the entire discussion can be had in a GitHub issue, without a linked document.
39
+
Google Docs are valuable for initial, broader discussions, for comparing different options and for soliciting comments from a wider audience on a proposal over a longer period of time.
42
40
43
-
## How to/why use Google Docs?
41
+
However, Google Docs in a personal workspace can easily be lost or have limited visibility.
42
+
Google Docs are best used within the context of a committee or Working Group.
43
+
They should then be stored on the associated shared drive, rather than in a user's personal workspace.
44
44
45
-
Collaborative documents are more useful than GitHub issues for initial, broader discussions, for comparing different design options and for a wider audience commenting on a proposal over a longer period of time, or when interactive editing is required.
46
-
We often make use of a Google Doc to start the discussion of an idea or proposal, before later converting it to Markdown and moving to GitHub (e.g. as a PR adding new documentation).
45
+
A shared Google Doc and any discussion and changes is not visible in the repository.
46
+
Good practice is to create a GitHub issue, link the Google Doc from the issue and summarise the discussion in the issue.
47
+
48
+
### Using GitHub Issues
49
+
50
+
GitHub issues give a formal record for smaller items, generally associated with a specific action.
51
+
They are suitable for cross-referencing in pull requests, and for presenting smaller proposals.
52
+
53
+
They are used in the [RFC process](../../project_governance/rfc_process.md) to track and summarise [individual RFCs](https://github.com/lowRISC/opentitan/issues?q=is%3Aissue%20label%3ARFC%3AApproved%20updated%3A).
54
+
55
+
They are typically not a good location for extensive specifications or for information which has a longer lifetime.
56
+
57
+
### Using markdown documents
58
+
59
+
Markdown documents are the preferred tool for formal documentation which is likely to need to be referred to at a later point.
60
+
These are used for this OpenTitan documentation guide and for documenting processes or specifications.
47
61
48
62
## When to assign issues or request specific reviewers?
49
63
@@ -100,9 +114,11 @@ The lightweight process is:
100
114
If so, follow the [[Security Issues Process](../README.md#security-issues).
101
115
3.[Create a GitHub issue](#working-with-issues) to raise awareness, start the discussion, and build consensus that the issue needs to be addressed.
102
116
For more information, refer to [Communication](#communication).
103
-
4. Start discussing possible solutions in a smaller group, possibly outside of GitHub, but in a shared document (we typically use Google Docs for convenience) that is linked to the original GitHub issue.
117
+
4. Start discussing possible solutions in a smaller group.
118
+
Typically this would be an OpenTitan Working Group.
104
119
Find consensus inside the interest group and come up with a proposal.
105
120
For short proposals, the entire discussion can be had in a GitHub issue, without a linked document.
121
+
For longer proposals, use a Google Doc in the Working Group shared workspace and link from the GitHub issue.
106
122
For more information, refer to [Communication](#communication).
107
123
5. Summarize the outcome of the discussion or the proposed solution in the original GitHub issue.
108
124
For bug fixes, proceed to Step 8.
@@ -252,7 +268,7 @@ Some reviewers may be assigned by default depending on the paths of changed file
252
268
To balance the review load, you are welcome to also request a review from other people familiar in the corresponding area.
253
269
However, you should not request a review from more than 2 to 5 team members, as this increases the review load to unsustainable levels.
254
270
255
-
## Who should review PRs?
271
+
## Who should review PRs?(#code-review)
256
272
257
273
Contributors should request reviews from:
258
274
* people regularly working on the affected parts of the code, and
Copy file name to clipboardExpand all lines: doc/contributing/hw/design.md
+3-7Lines changed: 3 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,24 +23,22 @@ The concept of a design might come from a variety of inspirations: a known requi
23
23
Regardless of the inspiration, the concept should be codified into a brief proposal with basic features.
24
24
This is as opposed to minor modification proposals to an existing design, which can be handled as a GitHub pull request or issue filing associated with the existing design.
25
25
This proposal should be in **Google Doc** medium for agile review capability.
26
-
Ideally this proposal document would be created in the Team Drive, but if the author does not have access to the team drive, they can share a privately-created document.
26
+
The author can share a privately-created document but this should be moved to a shared drive for a Working Group for collaboration.
27
27
28
28
Design proposals should follow the recommended [RFC (Request for Comment)](../../project_governance/rfc_process.md) process, which handles all such proposals.
29
29
If the RFC potentially contains information that could be certification-sensitive (guidance to be shared), send a note to security@opentitan.org first for feedback.
30
30
The OpenTitan Technical Committee may be able to suggest other collaborators to help with early stage review.
31
31
32
32
An example of a canonical RFC will be provided *here* (TODO).
33
33
34
-
35
34
## Detailed Specification
36
35
37
-
Once past initial review of the feature set and high level description, as well as potential security review, the full detailed specification should be completed, still in Google Doc form.
36
+
Once past initial review of the feature set and high level description, as well as potential security review, the full detailed specification should be completed, still in Google Doc form within a Working Group.
38
37
The content, form, and format are discussed in the [design methodology](./methodology.md) and [documentation methodology](../style_guides/markdown_usage_style.md) guides.
39
38
The outcome of this process should be a specification that is ready for further detailed review by other project members.
40
39
The content and the status of the proposal can be shared with the team.
41
40
42
41
An example of a canonical detailed specification is the pinmux specification which can be found in the TeamDrive under TechnicalSpecifications --> deprecated, for those that have access to that resource.
43
-
(Google Docs that have been converted into Markdown on GitHub are archived here).
44
42
45
43
Note that when developing OpenTitan security IP, designers should follow the [Secure Hardware Design Guidelines](../../security/implementation_guidelines/hardware/README.md).
46
44
@@ -67,12 +65,10 @@ friendly, [Comportability](./comportability/README.md) equivalent, etc., as indi
67
65
68
66
A good example of an initial skeleton design can be seen in [Pull Request #166](https://github.com/lowRISC/opentitan/pull/166) for the AES module.
69
67
70
-
As part of the GitHub filing process, the Google Doc specification must be converted into a Markdown specification.
71
-
(Tip: there are Google Doc add-ons that can convert the specification into Markdown format).
68
+
Once the specification is ready to be published, it should be converted into a Markdown specification and stored in the OpenTitan repository.
72
69
Once this is completed, any specifications on the Team Drive should be moved to the deprecated section of the drive, with a link at the top indicating that the document is for historical purposes only.
73
70
This applies only for those specifications that originated on the Drive.
74
71
75
-
76
72
## Full Design
77
73
78
74
As the design develops within the OpenTitan repository, it transitions into "D0", "D1", etc., [design stages](../../project_governance/development_stages.md) and will be eventually plugged into the top level.
Copy file name to clipboardExpand all lines: doc/project_governance/useraccounts.md
+9-50Lines changed: 9 additions & 50 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,14 +15,17 @@
15
15
### Partner Individuals
16
16
17
17
Partner Individuals are those working for an OpenTitan Project Partner and designated by that Project Partner as one of its contributors to the OpenTitan project.
18
-
No separate legal agreement beyond the partner agreement is required.
19
18
20
-
Partners may identify individuals as Partner Individuals by requesting an [OpenTitan account](./useraccounts.md#requesting-a-partner-individual-account).
21
-
A number of OpenTitan accounts are available according to the Partnership agreement.
22
-
By identifying an individual as a Partner Individual, the Partner authorises them to agree to the terms in the OpenTitan CLA when making contributions.
19
+
By identifying an individual as a Partner Individual, the Partner authorises them to agree to the terms in the OpenTitan Contributor License Agreement (CLA) when making contributions.
20
+
See [CONTRIBUTING.md](https://github.com/lowRISC/opentitan/blob/master/CONTRIBUTING.md) for more information on the CLA.
21
+
No separate Corporate Contributor License Agreement beyond the partner agreement is required.
23
22
24
23
If a Partner Individual leaves the employment of a Project Partner, the Project Partner must notify lowRISC C.I.C. promptly so that they can be removed from the Project.
25
24
25
+
Partners may identify individuals as Partner Individuals up to the limit specified in their Partnership agreement.
26
+
If you have more people wishing to get involved than the free entitlement from your partner membership, further user accounts can be purchased.
27
+
If an account is not needed, it can be closed by contacting get-involved@opentitan.org and the account entitlement reused.
28
+
26
29
### Individual Collaborators
27
30
28
31
Individual Collaborators are individuals who wish to make a significant contribution to the OpenTitan project, either on their own or as part of a team.
@@ -36,50 +39,6 @@ In most cases where an individual is associated with an organisation, the organi
36
39
If an individual is contributing as an individual collaborator, and is associated with an organisation which is not a Partner, as the individual is assigning licenses to the project,
37
40
the associated organisation will need to sign a [corporate contributor license agreement](./corporate_cla.txt).
38
41
39
-
## Account Management
40
-
41
-
### Requesting a partner individual account
42
-
User accounts are available through partner membership.
43
-
Accounts are requested from get-involved@opentitan.org.
44
-
If you have more people wishing to get involved than the free entitlement from your partner membership, further user accounts can be purchased.
45
-
46
-
The limit on OpenTitan accounts according to your partnership level is applied to **open** accounts.
47
-
If an account is not needed, it can be closed by contacting get-involved@opentitan.org and the account entitlement reused.
48
-
49
-
### Requesting other accounts
50
-
Individual Collaborators should be proposed by lowRISC or a Project Partner, a decision by the Governing Board and approval by lowRISC after an Individual Collaborator agreement is signed.
51
-
52
-
### Using an OpenTitan account
53
-
All communications using your OpenTitan account are as part of the OpenTitan community.
54
-
Please be aware of, and comply with, the [code of conduct](./code_of_conduct.md).
55
-
56
-
OpenTitan accounts are for individuals, and should not be shared between individuals, even within the same Partner organisation.
57
-
58
-
The OpenTitan account is intended for managing communications within OpenTitan.
59
-
The associated storage ("OpenTitan workspaces") are not intended for long-term storage and there is no guarantee that data will not be deleted.
60
-
- OpenTitan workspaces should not be used as general storage space to store non-OpenTitan material.
61
-
- Company confidential material and non-OpenTitan IP should not be stored in OpenTitan workspaces.
62
-
- lowRISC, as stewards of OpenTitan, are not responsible for management and backup of OpenTitan workspaces.
63
-
- If OpenTitan accounts are closed, associated workspace data is deleted.
64
-
65
-
### Maintenance of OpenTitan accounts
66
-
If you no longer need your OpenTitan account, please notify get-involved@opentitan.org and the account can be closed.
67
-
68
-
If a Partner Individual leaves the employment of a Project Partner:
69
-
- the Project Partner must notify lowRISC C.I.C. promptly so that they can be removed from the project
70
-
- a nominated company representative should be specified for account data to be transferred as described in the next section
71
-
72
-
If an OpenTitan account is not being used, it will eventually be closed, following the process below:
73
-
- OpenTitan account usage will be monitored quarterly
74
-
- Using an account is considered any of the following:
75
-
- Signing in to the account
76
-
- Sending a slack message
77
-
- Any GitHub activity using the account
78
-
- If an account has not been used for **6 months** it is considered **inactive**
79
-
- If an account is **inactive** the owner will be sent a warning that the account may be deleted
80
-
- If there is no response and the account remains **inactive** the account will be **closed** after **one month**
81
-
82
-
### Management of OpenTitan account data on closure
83
-
When a user account is closed, the account is deleted including all other data stored in the associated personal Google workspace (e.g. Calendar, Gmail, etc).
42
+
## Requesting a user account
84
43
85
-
If lowRISC C.I.C. is notified of a Partner Individual leaving the Project Partner, user files on MyDrive are transferred to the nominated company representative.
44
+
To request and set up a new user account for a Partner Individual or an Individual Contributor, please contact [get-involved@opentitan](mailto:get-involved@opentitan).
0 commit comments