From 99cde43646e24dafe64b56ddac43a88e3256391b Mon Sep 17 00:00:00 2001 From: Thomas Rampelberg Date: Wed, 8 Apr 2020 12:22:05 -0700 Subject: [PATCH] Add RFC walkthrough blog post (#706) * Add RFC walkthrough blog post * Quotes matter --- .prettierrc | 6 + .../content/blog/linkerd-rfc-process.md | 169 ++++++++++++++++++ linkerd.io/package.json | 6 - .../static/uploads/feature-workflow.svg | 3 + linkerd.io/static/uploads/scroll.png | Bin 0 -> 42777 bytes 5 files changed, 178 insertions(+), 6 deletions(-) create mode 100644 .prettierrc create mode 100644 linkerd.io/content/blog/linkerd-rfc-process.md create mode 100644 linkerd.io/static/uploads/feature-workflow.svg create mode 100644 linkerd.io/static/uploads/scroll.png diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000000..8c58bd48da --- /dev/null +++ b/.prettierrc @@ -0,0 +1,6 @@ +{ + "semi": false, + "singleQuote": true, + "printWidth": 80, + "proseWrap": "always" +} diff --git a/linkerd.io/content/blog/linkerd-rfc-process.md b/linkerd.io/content/blog/linkerd-rfc-process.md new file mode 100644 index 0000000000..0f52d25302 --- /dev/null +++ b/linkerd.io/content/blog/linkerd-rfc-process.md @@ -0,0 +1,169 @@ +--- +title: "Introducing Linkerd's RFC process" +author: 'thomas' +date: Wed, 8 Apr 2020 09:00:00 +0000 +draft: false +tags: [Linkerd] +thumbnail: /uploads/scroll.png +--- + +Earlier this year +[we introduced a formal RFC ("request for comment") process for Linkerd](https://github.com/linkerd/rfc). +In this post, I'll describe the motivations for adding this process and talk a +little bit about how it works. If you're interested in contributing to Linkerd, +or just curious about the mechanics of an open source, open governance project, +read on for all the details! + +## Why did we introduce an RFC process? + +Linkerd is an "extremely open source" project: it is licensed under the Apache +License Version 2.0; it's hosted by a neutral foundation (the +[CNCF](https://cncf.io)) which owns the trademark; and it is +[committed to open governance](https://linkerd.io/2019/10/03/linkerds-commitment-to-open-governance/) +as its operational model. As a community-focused project, bug reports, ideas, +and feedback can come from anywhere, and we consider it critical that Linkerd +_always_ be a project that anyone anywhere in the world can use and contribute +to. This belief is part and parcel of the project's continued success. + +Linkerd has been very fortunate to have always had a very active community of +contributors. From early contributors like NIH's +[Borys Pierov](https://github.com/ashald) and BigCommerce's +[Zack Angelo](https://github.com/zackangelo) to more recent folks like +[Tarun Pothulapati](https://github.com/Pothulapati) (who started as a +[GSoC](https://summerofcode.withgoogle.com/) student in 2019 and has since then +[merged 40 PRs](https://github.com/linkerd/linkerd2/pulls?page=1&q=is%3Apr+is%3Aclose+author%3APothulapati) +into Linkerd, including some +[major features](https://github.com/linkerd/linkerd2/pull/3955/)!), Linkerd has +always benefited mightily from the community around it. + +But despite these amazing people and their efforts, we, the maintainers, still +felt that making larger contributions to Linkerd was simply not as easy as it +should be. Earlier this year, we set out to address this with the introduction +of an RFC process. We had a couple goals going into this: + +- We wanted to ensure that we had the opportunity to socialize major changes + within not just maintainers but end-users, many of whom rely on Linkerd for + the critical reliability of their systems. +- We wanted to ensure that any major changes fit within Linkerd's philosophy of + maximizing out-of-the-box value and debuggability, and were in accordance with + [Linkerd's design principles](https://linkerd.io/2019/04/29/linkerd-design-principles/). +- Most importantly, we wanted to be able to set contributors up for success and + get contentious issues on the docket as early in the process as possible, + rather than duking out design decisions in the confines of a PR when code had + already been written. + +With these goals in mind, we drafted our RFC process. Like any good open source +project, the process itself is +[defined in a repo](https://github.com/linkerd/rfc) and we're very open to your +feedback on it! + +## A three-step plan for success + +Like any good open source project, we designed our RFC process by borrowing +heavily from other projects. We took a lot of inspiration from Rust: the Rust +RFC process is clear, straightforward, and approachable, and it also happens to +be an ecosystem we depend on and care a lot about. We also took inspiration from +the Python PEP process, which was notable in its level of polish. + +While the RFC process will (must!) evolve over time, the current process looks +something like this: + +{{< fig src="/uploads/feature-workflow.svg" + title="The Feature Workflow" >}} + +As you can see, while there are two "release" stages (edge and stable), the hard +work of the process is separated into three stages: a problem statement, a +design proposal, and finally, implementation. Let's walk through them one at a +time. + +### Step 1: State the problem + +First up is the problem statement. Problem statements live in the `problem` +directory and have a short template to fill out. We’d like to know exactly what +problem you’re solving. The more details the better! Everything helps us build +the perfect solution to the issues you’re looking to have taken care of. You’ll +notice that we explicitly don’t want any solutions at this stage. It is easy to +become fixated on a solution and totally miss out on others, especially when the +problem statement isn’t extremely clear. Please make sure to clean the template +up and remove any sections that are not applicable at this time. + +With a problem statement written out, it is time for a PR to the RFC repo. The +Linkerd community will be able to ask lots of questions and get an understanding +of what kind of problem you’re experiencing. Once the community has gotten a +chance to ask all the questions they’d like, your PR will be merged into the +`problem` directory. At this point, your proposal can wait for an implementer to +come along and take care of it for you. We hope you continue in the process +though! + +### Step 2: Propose your design + +Next up is the design proposal. This is really the meat of the RFC process and +the part that will receive the most attention from the community. It is here +that we’ll work through exactly how the feature will be implemented. Before you +get started, please reach out in the [#contributors](https://slack.linkerd.io/) +Slack channel. We’ll pair you up with a reviewer who will be with you the whole +time. Once the two of you are feeling confident, it is time to move the proposal +in the problem directory to the design directory. + +Each section of the template provides direction on what makes a successful +design proposal. Thinking through how to implement a feature isn’t all the work +after all. We find it just as important to explicitly call out functionality +that is out of scope. This allows implementation and architecture to be +simplified and stick to Linkerd’s project goals of being lightweight and easy to +understand. + +A pull request to the RFC repo will start community discussion again. Don’t be +surprised if there is conversation and changes to the proposal. During this +stage you can expect to make edits, both big and small, to clarify or change the +design based on feedback. Consensus will lead to your pull request being merged +and now it is time to start development! + +### Step 3: You finally get to write code + +Now for the fun part, writing code! An important piece of the proposal is +outlining deliverables. We do this to ensure pull requests are small, thoughtful +and implement small pieces of the larger functionality. With an accepted +proposal, code review is primarily around style and functionality, the major +architectural decisions will already be sorted out. The assigned reviewer will +be with you every step of this phase and be your primary reviewer. + +### Step 4: Profit? + +As all your deliverables get merged, they’ll get shipped in the next release. +Linkerd does regular edge releases every week. These allow anyone interested to +play with new functionality and test it out. It also provides time for writing +documentation and educating the community on what is happening with the project. +Once we’re comfortable with the stability of the project, a stable release will +happen. These are about 6 weeks between each other. Don’t worry, even if a +stable release is going to happen during the middle of development, we’ll just +make sure it is marked as experimental. + +## Once more unto the RFC + +We've already had +[a few early proposals](https://github.com/linkerd/rfc/pulls?q=is%3Apr) start to +wend their way through the RFC process, and we're eager to see how things play +out and to do any fine tuning along the way. Of course, we'd love your feedback, +and we'd love even more to have you participate! We can't wait to see what +amazing things that you have planned for the future for Linkerd. + +## Linkerd is for everyone + +Linkerd is a community project and is hosted by the +[Cloud Native Computing Foundation](https://cncf.io/). Linkerd is +[committed to open governance.](https://linkerd.io/2019/10/03/linkerds-commitment-to-open-governance/) +If you have feature requests, questions, or comments, we'd love to have you join +our rapidly-growing community! Linkerd is hosted on +[GitHub](https://github.com/linkerd/), and we have a thriving community on +[Slack](https://slack.linkerd.io/), [Twitter](https://twitter.com/linkerd), and +the [mailing lists](https://linkerd.io/2/get-involved/). Come and join the fun! + +## Want to get involved? + +We’d love your feedback on service mirroring. Please leave us feedback on the +[service mirroring design doc](https://docs.google.com/document/d/1uzD90l1BAX06za_yie8VroGcoCB8F2wCzN0SUeA3ucw/edit). +You can also email the +[cncf-linkerd-dev mailing list](https://lists.cncf.io/g/cncf-linkerd-dev) or +find us on the [Linkerd community Slack](https://slack.linkerd.io). We're +actively prototyping this solution today, and hope to have a functioning +implementation very soon. diff --git a/linkerd.io/package.json b/linkerd.io/package.json index 1598ff55b4..869db6091f 100644 --- a/linkerd.io/package.json +++ b/linkerd.io/package.json @@ -23,11 +23,5 @@ "markdownlint-cli": "^0.14.1", "pa11y-ci": "^2.1.1", "prettier": "^1.16.4" - }, - "prettier": { - "semi": false, - "singleQuote": true, - "printWidth": 80, - "proseWrap": "never" } } diff --git a/linkerd.io/static/uploads/feature-workflow.svg b/linkerd.io/static/uploads/feature-workflow.svg new file mode 100644 index 0000000000..604fdf54bc --- /dev/null +++ b/linkerd.io/static/uploads/feature-workflow.svg @@ -0,0 +1,3 @@ + + +
Problem Statement
Problem Statement
Design Proposal
Design Proposal
Development
Development
Edge Release
Edge Release
Stable Release
Stable Release
Code Review
Code Review
Questions
Questions
Architecture Review
Architecture Review
Viewer does not support full SVG 1.1
\ No newline at end of file diff --git a/linkerd.io/static/uploads/scroll.png b/linkerd.io/static/uploads/scroll.png new file mode 100644 index 0000000000000000000000000000000000000000..25d97dce9e95524fb6aad929bed865ed7ec56ddf GIT binary patch literal 42777 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
  • U~;VW5W(2kix3=*^W4G2eq>UrJ#>tE{kZ2SJAU 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 Bw;BKd literal 0 HcmV?d00001