|
| 1 | +# Admin guide for RFCs |
| 2 | + |
| 3 | +## Overview |
| 4 | + |
| 5 | +This document describes the process for community managers administering |
| 6 | +TensorFlow RFCs. |
| 7 | + |
| 8 | +|Author |Edd Wilder-James [@ewilderj](https://github.com/ewilderj) | |
| 9 | +:------------------------------|:-----------------------------| |
| 10 | +|Last updated |2019-10-21 | |
| 11 | + |
| 12 | +## RFC Submission Process |
| 13 | + |
| 14 | +### 1. PR is submitted to `tensorflow/community` |
| 15 | + |
| 16 | +When a PR is submitted containing an RFC proposal, check for basic |
| 17 | +formatting concerns. |
| 18 | + |
| 19 | +* The filename should be `rfcs/YYYYMMDD-my-rfc.md` - where YYYYMMDD is the |
| 20 | + date, and hyphens connect any naming parts. No underscores. No uppercase |
| 21 | + letters. |
| 22 | + |
| 23 | +* The header block of the RFC should be filled in properly, including the |
| 24 | + status field set to "Proposed" |
| 25 | + |
| 26 | +### 2. Conform the RFC title |
| 27 | + |
| 28 | +* In GitHub ensure the PR title is `RFC: The RFC's Title`. Check past PRs to |
| 29 | + see how they're all consistent. |
| 30 | + |
| 31 | +### 3. Edit the PR description |
| 32 | + |
| 33 | +The description (the first comment on the PR) of every RFC should look the |
| 34 | + same. They should contain, in order: |
| 35 | + |
| 36 | + * When the public review period closes. This is at least two weeks from the |
| 37 | +date of publication. |
| 38 | + |
| 39 | + * The header table from the RFC showing author, sponsor, date. |
| 40 | + |
| 41 | + * A summary of what the RFC is about |
| 42 | + |
| 43 | +Here's an example: |
| 44 | + |
| 45 | +<blockquote> |
| 46 | + |
| 47 | +*Comment period is open until 2019-08-28* |
| 48 | + |
| 49 | +# Kernel and Op Implementation and Registration API |
| 50 | + |
| 51 | +| Status | Proposed | |
| 52 | +:-------------- |:---------------------------------------------------- | |
| 53 | +| **Author(s) ** | James Ring ( [email protected]), Anna Revinskaya ( [email protected]) | |
| 54 | +| **Sponsor ** | Günhan Gülsoy ( [email protected]) | |
| 55 | +| **Updated** | 2019-08-14 | |
| 56 | + |
| 57 | +## Objective |
| 58 | + |
| 59 | +Tensorflow (TF) currently provides a C++ API for implementing kernels and ops. The Voltron project aims to create a modular/plugin-based TF implementation with API and ABI surfaces. Plugins will be able to create and register custom kernel and op implementations. |
| 60 | + |
| 61 | +In order to provide a stable ABI, the Voltron team has chosen to provide C APIs to plugin authors. This document introduces the C API for op and kernel registration. For authors who wish to continue using C++ to interface with TensorFlow, an ABI-stable C++ header-only API is provided. |
| 62 | +</blockquote> |
| 63 | + |
| 64 | +### 4. Apply labels |
| 65 | + |
| 66 | +* Apply the `RFC: Proposed` label, and any other appropriate label for the |
| 67 | + particular area of TensorFlow concerned, e.g. `TFX`. |
| 68 | + |
| 69 | +### 5. Add the PR to the `RFC Management` project |
| 70 | + |
| 71 | +### 6. In the `RFC Management` project, move from "Needs attention" to "Under review". |
| 72 | + |
| 73 | +### 7. Publicize the RFC to `[email protected]` and any other community-relevant mailing lists |
| 74 | + |
| 75 | +Here's a template announcement. Check out the [many examples](https://groups.google.com/a/tensorflow.org/g/developers/search?q=RFC). |
| 76 | + |
| 77 | +<blockquote> |
| 78 | + |
| 79 | +Subject: [RFC] ACME TensorFlow API<br> |
| 80 | +<br> |
| 81 | +Hi folks,<br><br> |
| 82 | + |
| 83 | +I'm pleased to announce the publication of a new TensorFlow RFC, |
| 84 | +[ACME TensorFlow API](https://github.com/tensorflow/community/pull/162). |
| 85 | + |
| 86 | +The comment period for this RFC is open through YYYY-MM-DD. Comments are |
| 87 | +invited to the [pull request |
| 88 | +linked](https://github.com/tensorflow/community/pull/162). You can view the |
| 89 | +design doc there and also leave your comments inline on the |
| 90 | +[document source](https://github.com/tensorflow/community/pull/162/files). |
| 91 | + |
| 92 | +**Summary** |
| 93 | + |
| 94 | +The TensorFlow ACME API allows usage of all vintage cartoon characters |
| 95 | +in an agent-based simulation. Wile E Coyote and the Road Runner are |
| 96 | +default personas, but we also propose the addition of Yosemite Sam |
| 97 | +and Bugs Bunny. |
| 98 | + |
| 99 | + |
| 100 | +Thanks in advance for your feedback! |
| 101 | +</blockquote> |
| 102 | + |
| 103 | + |
| 104 | +## RFC Acceptance Process |
| 105 | + |
| 106 | +When an RFC's comment period is over, a review meeting is usually held. |
| 107 | +(There may be occasions when one is not needed, consult with the RFC author). |
| 108 | +It is the responsibility of the author or sponsor to post the notes from |
| 109 | +that review into a comment on the PR, but you may need to remind them to do |
| 110 | +this. |
| 111 | + |
| 112 | +You can move the RFC into the "Awaiting notes" part of the `RFC Management` |
| 113 | +project to help keep track. |
| 114 | + |
| 115 | +**If the RFC is accepted**, ask the proposer to submit a final update, changing |
| 116 | +the status to Accepted, and adding the RFC number into the header, per |
| 117 | +the template (an RFC's number is the same as the PR number GitHub assigned it.) |
| 118 | + |
| 119 | +Just occasionally you might have to do this yourself: you can edit the |
| 120 | +Markdown in the PR yourself, as a code owner for the repository. |
| 121 | + |
| 122 | +You can then: |
| 123 | + |
| 124 | +* Remove the `RFC: Proposed` label and add the `RFC: Accepted` one |
| 125 | +* Approve and merge the PR. |
| 126 | + |
| 127 | +This should automatically move it to `Accepted PRs` in the `RFC Management` |
| 128 | +project. |
| 129 | + |
| 130 | +**Other possible end-states** |
| 131 | + |
| 132 | +* If revisions are required, note that in the PR comment, keep the PR open but |
| 133 | + move it to `In Revision` in the `RFC Management` project. |
| 134 | + |
| 135 | +* If the RFC is abandoned, note that in the comments, close the PR, and move |
| 136 | + it to the `Not progressed` column in the `RFC Management` project. |
| 137 | + |
| 138 | + |
0 commit comments