{"id":27732860,"url":"https://github.com/unifiedjs/rfcs","last_synced_at":"2025-09-07T14:37:20.744Z","repository":{"id":42626080,"uuid":"160693018","full_name":"unifiedjs/rfcs","owner":"unifiedjs","description":"Place for substantial initiatives in the @unifiedjs collective","archived":false,"fork":false,"pushed_at":"2023-09-02T09:41:02.000Z","size":100,"stargazers_count":5,"open_issues_count":0,"forks_count":3,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-19T17:53:59.349Z","etag":null,"topics":["docs","rfcs","unified"],"latest_commit_sha":null,"homepage":"https://unifiedjs.com","language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/unifiedjs.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":"unifiedjs","open_collective":"unified"}},"created_at":"2018-12-06T15:19:51.000Z","updated_at":"2024-04-08T07:30:32.000Z","dependencies_parsed_at":"2023-09-24T09:04:11.379Z","dependency_job_id":null,"html_url":"https://github.com/unifiedjs/rfcs","commit_stats":{"total_commits":25,"total_committers":4,"mean_commits":6.25,"dds":0.24,"last_synced_commit":"20c93100543788892980d815633980198a49d409"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifiedjs%2Frfcs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifiedjs%2Frfcs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifiedjs%2Frfcs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/unifiedjs%2Frfcs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/unifiedjs","download_url":"https://codeload.github.com/unifiedjs/rfcs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251112993,"owners_count":21538169,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docs","rfcs","unified"],"created_at":"2025-04-28T11:47:28.826Z","updated_at":"2025-04-28T11:47:29.543Z","avatar_url":"https://github.com/unifiedjs.png","language":null,"funding_links":["https://github.com/sponsors/unifiedjs","https://opencollective.com/unified"],"categories":[],"sub_categories":[],"readme":"# unified RFCs — [list of active RFCs][active]\n\n“Substantial” initiatives in the unified collective, such as those affecting\nmultiple projects or organizations, are made through **RFCs** (request for\ncomments).\nHow members of the collective make decisions, and when an RFC is appropriate, is\ndescribed in our [collective governance docs][decisions] (includes a flowchart!)\nThis document described how to request, discuss, decide, and implement RFCs.\n\nPlease understand that an RFC is a *request for comments*, with an emphasis on\nthe discussion of potential proposals.\nIt is understood and, in fact, *expected* that members will have and express\nindividual opinions.\nQuite often, even proposals that seem “obvious” can be significantly improved\nonce a wider group of interested people have a chance to weigh in.\n\n## Contents\n\n*   [Process](#process)\n    *   [Request](#request)\n    *   [Discuss](#discuss)\n    *   [Decide](#decide)\n    *   [Implement](#implement)\n*   [Acknowledgements](#acknowledgements)\n\n## Process\n\nIn short, create a Markdown file describing the initiative and open a pull\nrequest.\nThen, discussion of potential proposals is held, followed by the framing of a\nsolution, and then modifying it until the group reaches a consensus.\nThe pull request is merged, making the RFC is active, after which it may be\nimplemented.\n\n### Request\n\n*   [Fork the RFC repository][fork]\n*   Copy `0000-template.md` to `text/0000-my-proposal.md` (where `my-proposal`\n    is descriptive; don’t assign an RFC number quite yet)\n*   Fill in the RFC.\n    Put care into the details: RFCs that do not present convincing motivation,\n    demonstrate an understanding of the impact of the design, or are\n    disingenuous about the drawbacks or alternatives tend to be\n    poorly-received\n*   Submit a pull request\n\n### Discuss\n\n*   Engage in the discussion!\n    The RFC will receive feedback from the community, and the author should be\n    prepared to revise it in response\n*   Build consensus and integrate feedback.\n    RFCs that have broad support are much more likely to make progress\n*   Eventually, the team decides whether the RFC is a candidate for inclusion,\n    and your proposal will enter a **final comment period** lasting for three\n    days (72 hours).\n    The beginning of this period will be signaled with a comment.\n    Further comments may result in a new final comment period\n\n### Decide\n\n*   An RFC may be rejected by the team after the discussion has settled and\n    comments have been made summarizing the rationale for rejection.\n    The pull request is closed\n*   An RFC may be accepted at the close of its final comment period.\n    The pull request is merged and assigned an RFC number, at which point the\n    RFC will become **active**.\n    Congrats!\n\n### Implement\n\nWhen an RFC is active, persons may implement solutions and submit pull requests.\nBecoming **active** is not a rubber stamp, and in particular still does not mean\nsolutions will ultimately be included; it does mean that maintainers have agreed\nand in principle and are amenable to included them.\n\nThe fact that an RFC is “active” implies nothing about what priority is assigned\nto its implementation, nor whether anybody is currently working on it.\n\nThe author of an RFC is not obligated to implement it.\n\nModifications to active RFCs can be done in followup pull requests.\nWe strive to write each RFC in a manner that it will reflect the final design,\nbut the nature of the process means that we cannot expect all RFCs to actually\nreflect the end result.\nFollowup pull requests should be created to amend the RFC if it is no longer in\nsync with its implementation.\n\n## Acknowledgements\n\nThe unified RFC process owes its inspiration to the [Gatsby RFC process][],\n[React RFC process][], [Yarn RFC process][], [Rust RFC process][], and [Ember\nRFC process][].\n\n[active]: https://github.com/unifiedjs/rfcs/issues?q=label%3A%22🥂+status%2Fmerged%22+is%3Aclosed\n\n[decisions]: https://github.com/unifiedjs/collective/blob/HEAD/decisions.md\n\n[fork]: http://github.com/unifiedjs/rfcs\n\n[gatsby rfc process]: https://github.com/gatsbyjs/rfcs\n\n[react rfc process]: https://github.com/reactjs/rfcs\n\n[yarn rfc process]: https://github.com/yarnpkg/rfcs\n\n[rust rfc process]: https://github.com/rust-lang/rfcs\n\n[ember rfc process]: https://github.com/emberjs/rfcs\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funifiedjs%2Frfcs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Funifiedjs%2Frfcs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Funifiedjs%2Frfcs/lists"}