Template RFC
Gera template de RFC (Request for Comments) para discussão técnica.
RFC Markdown
—
RFC: from ARPANET 1969 to modern company practice
RFC stands for Request for Comments. The format was invented in April 1969 by Steve Crocker for the ARPANET — RFC 1 "Host Software" — and went on to define the core protocols of the internet: RFC 791 (IPv4), RFC 793 (TCP), RFC 5246 (TLS 1.2), RFC 9110 (HTTP semantics, 2022 update). Companies later borrowed the name and the spirit: a written proposal, distributed asynchronously, open to comments from peers, accepted or rejected by a small group of decision-makers. Cloudflare, Squarespace, Lyft, Etsy, Netflix and Hashicorp all run internal RFC programs.
A company RFC typically contains: problem (what motivates this change), proposal (the change itself), detailed design, alternatives considered, drawbacks (be explicit about what breaks), rationale (why this and not the alternatives), unresolved questions, and prior art (how others solved this). The workflow: draft → async review → revision → accept or reject. Many teams host RFCs in a GitHub repo so the comment thread, history and acceptance lives in a pull request.
Open source as a school of RFCs
Open source taught the industry how to run public RFC processes. Rust uses the rust-lang/rfcs repo for every language change — anyone can open an RFC PR. Python PEP (Python Enhancement Proposal) is the equivalent for Python; historically Guido van Rossum, as BDFL, had the final say. Java JSR (Java Specification Request) runs a more formal corporate process. Ember.js, React Native, Vue and TC39 (the committee that standardizes JavaScript) all use variants of the same pattern.
RFC vs design doc vs ADR
RFC is the proposal stage: the change is up for debate and may be rejected. A design doc describes an approved plan in execution detail. An ADR (Architecture Decision Record) is the historical record of one decision, written after it has been made. A natural pipeline: RFC proposes; once accepted, the team writes a design doc to build it; the key choices are captured as ADRs for future readers.
Famous RFCs (and a famous joke)
A short tour: RFC 822 defined the email message format; RFC 2616 shipped HTTP/1.1; RFC 9110 replaced it in 2022 with a cleaner specification of HTTP semantics. The IETF also publishes April Fools' RFCs — the most famous is RFC 2324, the Hyper Text Coffee Pot Control Protocol (HTCPCP), which is the reason HTTP status 418 I'm a teapot shows up in every web framework. Tools: GitHub PRs for open source and tech-forward companies; Google Docs and Notion for everyone else.
FAQ
RFC vs ADR — what is the difference? An ADR records a decision that has been made. An RFC proposes a decision and invites debate. The natural order is RFC first, ADR last.
Who approves an RFC? Depends on the team. Senior engineers plus the stakeholders directly affected. Some companies have an explicit "architecture group" or "review committee"; others run it organically through PR reviewers.
Should our RFCs be public? Open source projects almost always say yes — public RFC repos attract community feedback. Internal company RFCs are usually private; some companies publish a curated subset on engineering blogs.
How long should an RFC be? Long enough to make the proposal defensible. Short ones can fit on a page; substantial language or platform changes routinely run twenty pages or more. Length is a function of risk, not of formality.
Related Tools
Handwriting Generator
Convert typed text into an image with handwriting appearance. Useful for adding a personal touch to digital work.
Resume Generator
Fill a simple printable A4 CV from a form with personal data, education and experience.
Favicon Generator
Generate a favicon from text/emoji in all common sizes (16, 32, 48, 64, 192, 512). PNG download.