Skip to content

Commit b5dbdd2

Browse files
jayalpvogelpi
authored andcommitted
[doc] Changes to reflect new accounts
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>
1 parent af43bb2 commit b5dbdd2

3 files changed

Lines changed: 44 additions & 73 deletions

File tree

doc/contributing/detailed_contribution_guide/README.md

Lines changed: 32 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -23,27 +23,41 @@ We believe in creating a welcoming and respectful community, so we have a few gr
2323

2424
We list these principles as general guidance to make it easier to communicate and participate in the OpenTitan (and lowRISC) community.
2525

26-
## When to file an issue vs. sending an email vs. creating a document?
26+
## Use of different methods to share information
2727

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

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
3232

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

37-
## Where do we discuss implementation details/proposals before creating PRs?
37+
### Using Google Docs
3838

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

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

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

4862
## When to assign issues or request specific reviewers?
4963

@@ -100,9 +114,11 @@ The lightweight process is:
100114
If so, follow the [[Security Issues Process](../README.md#security-issues).
101115
3. [Create a GitHub issue](#working-with-issues) to raise awareness, start the discussion, and build consensus that the issue needs to be addressed.
102116
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.
104119
Find consensus inside the interest group and come up with a proposal.
105120
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.
106122
For more information, refer to [Communication](#communication).
107123
5. Summarize the outcome of the discussion or the proposed solution in the original GitHub issue.
108124
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
252268
To balance the review load, you are welcome to also request a review from other people familiar in the corresponding area.
253269
However, you should not request a review from more than 2 to 5 team members, as this increases the review load to unsustainable levels.
254270

255-
## Who should review PRs?
271+
## Who should review PRs?(#code-review)
256272

257273
Contributors should request reviews from:
258274
* people regularly working on the affected parts of the code, and

doc/contributing/hw/design.md

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,24 +23,22 @@ The concept of a design might come from a variety of inspirations: a known requi
2323
Regardless of the inspiration, the concept should be codified into a brief proposal with basic features.
2424
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.
2525
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.
2727

2828
Design proposals should follow the recommended [RFC (Request for Comment)](../../project_governance/rfc_process.md) process, which handles all such proposals.
2929
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.
3030
The OpenTitan Technical Committee may be able to suggest other collaborators to help with early stage review.
3131

3232
An example of a canonical RFC will be provided *here* (TODO).
3333

34-
3534
## Detailed Specification
3635

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.
3837
The content, form, and format are discussed in the [design methodology](./methodology.md) and [documentation methodology](../style_guides/markdown_usage_style.md) guides.
3938
The outcome of this process should be a specification that is ready for further detailed review by other project members.
4039
The content and the status of the proposal can be shared with the team.
4140

4241
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).
4442

4543
Note that when developing OpenTitan security IP, designers should follow the [Secure Hardware Design Guidelines](../../security/implementation_guidelines/hardware/README.md).
4644

@@ -67,12 +65,10 @@ friendly, [Comportability](./comportability/README.md) equivalent, etc., as indi
6765

6866
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.
6967

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.
7269
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.
7370
This applies only for those specifications that originated on the Drive.
7471

75-
7672
## Full Design
7773

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

doc/project_governance/useraccounts.md

Lines changed: 9 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,17 @@
1515
### Partner Individuals
1616

1717
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.
1918

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

2423
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.
2524

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+
2629
### Individual Collaborators
2730

2831
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
3639
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,
3740
the associated organisation will need to sign a [corporate contributor license agreement](./corporate_cla.txt).
3841

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
8443

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

Comments
 (0)