@@ -23,6 +23,13 @@ author:
2323 email : barbara.stark@att.com
2424
2525informative :
26+ GLOSSARY :
27+ title : " GitHub glossary"
28+ date : 2020-03
29+ target : " https://help.github.com/en/github/getting-started-with-github/github-glossary"
30+ author :
31+ -
32+ organization : GitHub
2633
2734--- abstract
2835
@@ -34,10 +41,10 @@ GitHub for their work.
3441
3542Discussion of this document takes place on the GitHub@ietf mailing list
3643(ietf-and-github@ietf.org), which is archived at
37- < https://mailarchive.ietf.org/arch/search?email_list=ietf-and-github> .
44+ []( https://mailarchive.ietf.org/arch/search?email_list=ietf-and-github) .
3845
3946Source for this draft and an issue tracker can be found at
40- < https://github.com/ietf-gitwg/using-github> .
47+ []( https://github.com/ietf-gitwg/using-github) .
4148
4249
4350--- middle
@@ -59,7 +66,8 @@ specification.
5966
6067The main purpose of this document is providing guidelines for how Working Groups
6168might integrate the capabilities provided by GitHub into their processes for
62- developing Internet-Drafts.
69+ developing Internet-Drafts. The choices of whether to use GitHub and whether to
70+ adopt these practices if they do is at the discretion of the Working Group.
6371
6472This document is meant as a supplement to existing Working Group practices. It
6573provides guidance to Working Group chairs and participants on how they can best
@@ -80,7 +88,7 @@ However, such groups may draw inspiration for GitHub use from the contents herei
8088Version control systems are a critical component of software engineering and are
8189also quite useful for document editing.
8290
83- [Git](https://git-scm.com) is a distributed version control system that can operate without a central
91+ [Git](https://git-scm.com/ ) is a distributed version control system that can operate without a central
8492service. Each instance of a repository contains a number of revisions. Each
8593revision stores the complete state of a set of files. Users are able to create
8694new revisions in their copy of a repository and share revisions between copies
@@ -89,19 +97,18 @@ of repositories.
8997
9098# # GitHub
9199
92- GitHub is a service operated at [https://github.com/ ](https://github.com/).
100+ GitHub is a service operated at [](https://github.com/).
93101GitHub provides centralized storage for git repositories. GitHub is freely
94- accessible on the open Internet, albeit currently only via IPv4 .
102+ accessible on the open Internet.
95103
96- GitHub provides a simplified and integrated interface to not only git, but also
97- provides basic user management, an issue tracker, associated wikis, project
98- hosting, and other features.
104+ GitHub provides a simplified and integrated interface to git, and also provides
105+ basic user management, an issue tracker, associated wikis, project hosting, and
106+ other features.
99107
100108There are a large number of projects at GitHub and a very large community of
101109contributors. One way in which some IETF Working Groups have benefited is
102110through increased numbers of reviews and associated issues, along with other
103- improvements that come from broader participation by facilitating those
104- in the community to participate.
111+ improvements that come from facilitating participation by a broader community.
105112
106113# # Other Services
107114
@@ -147,9 +154,13 @@ out of scope for this document.
147154
148155# # Notational Conventions
149156
150- The words "MUST", "MUST NOT", "SHOULD", "SHOULD NOT", and "MAY"
151- are used in this document. It's not shouting; when they are capitalized,
152- they have the special meaning defined in BCP 14 {{!RFC2119}} {{!RFC8174}}.
157+ The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
158+ " SHOULD NOT" , "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this
159+ document are to be interpreted as described in BCP 14 {{!RFC2119}} {{!RFC8174}}
160+ when, and only when, they appear in all capitals, as shown here.
161+
162+ This document uses a lot of terms related to git and GitHub; see {{GLOSSARY}}
163+ for information on these terms.
153164
154165
155166# Administrative Policies {#policy}
@@ -181,7 +192,7 @@ does not also include the ability to push to all repositories and ownership does
181192not grant any other significant privileges.
182193
183194Details about creating organizations adhering to these guidelines can be found
184- in {{! GH-CONFIG=I-D.ietf-git-github-wg-configuration}}.
195+ in {{? GH-CONFIG=I-D.ietf-git-github-wg-configuration}}.
185196
186197
187198# # Communicating Policies {#notices}
@@ -217,8 +228,9 @@ charter objectives in an open and transparent fashion. The Working Group Chairs
217228are responsible for determining if there is interest in using GitHub and making
218229a consensus call to determine if the proposed policy and use is acceptable.
219230
220- Chairs MUST involve Area Directors in any decision to use GitHub for anything
221- more than managing drafts.
231+ Chairs SHOULD involve Area Directors in any decision to use GitHub, especially
232+ where substantive discussion of issues is permitted as described in
233+ {{mode-discuss}}.
222234
223235
224236# # What to Use GitHub For {#usage}
@@ -271,12 +283,11 @@ discretion of the chairs. Chairs could decide to only create new repositories
271283for adopted Working Group items, or they might create repositories for
272284individual documents on request.
273285
274- All repositories for Working Group documents within the Working Group
275- organization MUST be public. Repositories for private documents MAY be
276- kept private, but only where there is a specific reason for doing so. For
277- instance, a document that details a security vulnerability might be kept
278- private prior to its initial publication as an Internet-Draft. Once an
279- Internet-Draft is published, repositories SHOULD be made public.
286+ Maintaining private repositories for Working Group products is not recommended
287+ without specific cause. For instance, a document that details a security
288+ vulnerability might be kept private prior to its initial publication as an
289+ Internet-Draft. Once an Internet-Draft is published, repositories for Working
290+ Group documents MUST be made public.
280291
281292The adoption status of any document MUST be clear from the contents of the
282293repository. This can be achieved by having the name of the document reflect
@@ -392,15 +403,21 @@ Issues that have reached a resolution that has Working Group consensus MUST NOT
392403be reopened unless new information is presented.
393404
394405For long-running work items, new contributors often raise issues that have
395- already been resolved. Chairs need to assess whether the arguments offered
396- represent new information or not. This can require some discussion to determine
397- accurately. Resolved issues MUST remain closed unless there is consensus to
398- reopen an issue.
406+ already been resolved. Moreover, there could be temptation to reopen contentious
407+ issues resolved with rough consensus. Determining whether arguments presented in
408+ favor of reopening an issue represents new information might require some
409+ discussion in the Working Group.
410+
411+ Chairs are empowered to exercise discretion in determining whether to reopen
412+ issues. For more difficult matters, the chairs MAY insist that the Working
413+ Group reach consensus on whether an issue should be reopened. Note however that
414+ any product of this process still needs to have the support of rough consensus
415+ in the Working Group, which could justify reopening issues.
399416
400417
401418# # Pull Requests
402419
403- Pull requests are the GitHub feature that allow users to request changes to a
420+ A pull request is a GitHub feature that allows a user to request a change to a
404421repository. A user does not need to have write access to a repository to create
405422a pull request. A user can create a "fork", or copy, of any public repository.
406423The user has write access to their own fork, allowing them to make local
@@ -438,13 +455,13 @@ editors. Editors are given discretion in how they manage changes amongst themse
438455# ## Discussion on Pull Requests
439456
440457In addition to the features that pull requests share with issues, users can also
441- review the changes in a pull request. This is a valuable feature, but it has
442- some issues .
458+ review the changes in a pull request. This is a valuable feature, but presents
459+ some challenges .
443460
444461Comments in a review other than a summary are attached to specific lines of the
445462proposed change. Such comments can be hard or impossible to find if changes are
446463subsequently made to the pull request. This is problematic for contributors who
447- do not track discussion closely.
464+ do not track discussions closely.
448465
449466For this reason, Working Group chairs SHOULD discourage the use of inline
450467comments for substantial technical discussion of issues.
@@ -477,6 +494,11 @@ produced by a notification tool like
477494tool has been used effectively in several Working Groups, though it requires
478495server infrastructure.
479496
497+ Additionally, clear reporting about the changes that were included in each
498+ revision of an Internet-Draft helps ensure that contributors can
499+ follow activity. This might be achieved by requesting that editors provide a
500+ change log that captures substantive changes to the document in each revision.
501+
480502
481503# Typical Working Group Policies {#modes}
482504
@@ -495,7 +517,7 @@ Working Groups can adjust these policies to suit their needs, but are advised to
495517avoid gratuitous changes for the sake of consistency across the IETF as a whole.
496518
497519
498- # # Document Management Mode
520+ # # Document Management Mode {#mode-doc}
499521
500522In this mode of interaction, GitHub repositories are used to manage changes to
501523documents, but the bulk of the work is conducted using email, face-to-face
@@ -509,7 +531,7 @@ maintain issues and pull requests for their own benefit, but these have no
509531formal standing in the Working Group process.
510532
511533
512- # # Issue Tracking Mode
534+ # # Issue Tracking Mode {#mode-track}
513535
514536In addition to managing documents, the Working Group might choose to use GitHub
515537for tracking outstanding issues. In this mode of interaction, all substantive
@@ -544,7 +566,7 @@ or editors record details of decisions in issue comments when closing issues as
544566resolved.
545567
546568
547- # # Issue Discussion Mode
569+ # # Issue Discussion Mode {#mode-discuss}
548570
549571This GitHub interaction mode differs from the other modes in that discussion
550572relating to substantive technical matters is allowed to occur on GitHub issues.
@@ -573,10 +595,10 @@ As a more involved process, adopting this mode can require changes in policies
573595as documents become more mature. It is possible to use different processes for
574596different documents in the Working Group.
575597
576- Working Group chairs SHOULD confirm that the Working Group has consensus to
577- adopt any process. In particular, the introduction of a more tightly-controlled
578- process can have the effect of privileging positions already captured in
579- documents, which might disadvantage alternative viewpoints.
598+ Working Group chairs are responsible for confirming that the Working Group has
599+ consensus to adopt any process. In particular, the introduction of a more
600+ tightly-controlled process can have the effect of privileging positions already
601+ captured in documents, which might disadvantage alternative viewpoints.
580602
581603
582604# ## Early Design Phases
@@ -597,7 +619,7 @@ Changes made by editors under this process do not completely lack oversight.
597619GitHub and git provide tools for ensuring that changes are tracked and can be
598620audited. Within the usual Working Group process it is expected that
599621Internet-Drafts will receive regular review. Finally, process checkpoints like
600- Working Group Last Call (WGLC; Section 7.4 of {{!RFC2418}}) provides additional
622+ Working Group Last Call (WGLC; Section 7.4 of {{!RFC2418}}) provide additional
601623safeguards against abuse.
602624
603625Working Groups are advised against allowing editors this degree of flexibility
@@ -620,9 +642,9 @@ issues as they see fit.
620642As documents mature further, explicit confirmation of technical decisions with
621643the Working Group mailing list becomes more important.
622644
623- Gaining Working Group consensus about the resolution of issues can be done in
624- the abstract, with editors being permitted to capture the outcome of discussions
625- as they see fit .
645+ Chairs can declare Working Group consensus about the resolution of
646+ issues in the abstract, allowing editors discretion on how to capture the
647+ decisions in documents .
626648
627649More mature documents require not only consensus, but consensus about specific
628650text. All substantive changes to documents that have passed WGLC SHOULD be
@@ -726,15 +748,15 @@ processes. For example,
726748
727749# Internet-Draft Publication
728750
729- During the development of a document, individual revisions of a document can be
730- built and formally submitted as an Internet-Draft. This creates a stable
751+ During the development of a document, individual revisions of the document can
752+ be built and formally submitted as an Internet-Draft. This creates a stable
731753snapshot and makes the content of the in-progress document available to a wider
732754audience. Documents submitted as Internet-Drafts are not expected to address
733755all open issues or merge outstanding pull requests.
734756
735- Editors SHOULD create a new Internet-Draft submission two weeks prior to every
736- session, which includes IETF meetings, other in-person meetings, and telephone
737- or video conferences (see Section 7.1 of {{?RFC2418}}) . Though discussion could
757+ Section 7.1 of {{?RFC2418}} recommends that editors create a new Internet-Draft
758+ submission two weeks prior to every session, which includes IETF meetings, other
759+ in-person meetings, and telephone or video conferences . Though discussion could
738760use the current version of a document from version control, participants in a
739761session cannot be expected to monitor changes to documents in real-time; a
740762published Internet-Draft ensures that there is a common, stable state that is
0 commit comments