Skip to content
Request For Comments: A modular frontend for OpenMRS
Branch: master
Clone or download
joeldenning Merge pull request #6 from openmrs/change-to-approval
Clarification: who has to approve RFCs, and what does merging mean.
Latest commit 347c0fa May 16, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
PULL_REQUEST_TEMPLATE.md Overview of RFC, pull request template, and rfc template. Apr 24, 2019
README.md Self review May 11, 2019
rfc-template.md Small update to rfc-template Apr 24, 2019

README.md

OpenMRS Frontend RFC

The OpenMRS Frontend RFC (Request for Comments) is a git repository where the technologies and processes that apply to all new OpenMRS distributions are explained.

Purpose

  1. Provide a way to enact change in the OpenMRS frontend.
  2. Clarify what things we are aligned on across all of OpenMRS, so that everything else can be decided by the individual modules and distributions.

What this isn't

  1. An infringement on the autonomy of distribution maintainers. The idea is that if we're aligned on the few important things, we can be autonomous on everything else.
  2. Something oppressively prescriptive.
  3. A technical review process where people get feedback on difficult problems they're facing. Although important, the RFC is not how technical reviews happen.
  4. A list of technical debt initiatives. This RFC explains the decisions we've made as a group for frontend, but doesn't track the progress of those decisions.

Signs that this is working

  1. The content is up-to-date and people care about it.
  2. Things are removed when no longer relevant or correct.
  3. We change the process when it's annoying or doesn't work well.
  4. Ideas have a safe place to develop before being criticized.

Signs that this isn't working

  1. This blocks people from getting stuff done.
  2. Ivory tower gatekeeping.
  3. Changes are discouraged instead of encouraged.
  4. "Well that's just the way it is."
  5. The process is heavy, bureaucratic, or long.
  6. Some other process is being used to achieve the same thing.

What to do if the RFC isn't working

Propose a change to the process!

Process for change

Anyone can propose a change.

Step 1 - Idea

During the idea phase, we should encourage instead of critique. A person can use the OpenMRS slack workspace, IRC, or Talk forum to discuss, clarify, and foster an idea. We should examine with an open mind the pros and cons, options, and implementation.

Another part of the idea phase is asking the question "Should this be autonomous to the distributions or enforced consistently in all distributions?"

Step 2 - Proposal

A proposal is a pull request to this git repository. The proposal should follow the RFC template. Here, an idea is debated and discussed by anyone who wants to participate. Reviewers can make comments asking for changes or they can challenge the basis of the proposal.

If a pull request becomes stale (not updated or talked about after a fewish weeks), close it.

Step 3 - Approval

Once the author and reviewers have commented and the discussion and proposal have stabilized, the proposal will be merged or closed. Approval must be given by three members of the "microfrontends squad" (as defined below) must indicate on the PR that they approve.

Current members of the microfrontends squad:

  • @joeldenning (OpenMRS)
  • @Fatmali (Ampath)
  • @brandones (PIH)
  • @angshu (Bahmni)

Other groups who'd like to participate in the microfrontends squad can contact the squad on Talk.

Step 4 - Implementation

Once a proposal is merged, it is now part of the RFC. This means that we intend to implement what is described in the RFC. The changes or additions to the RFC apply to the whole frontend and we should make whatever changes are needed to our code, processes, and organization.

You can’t perform that action at this time.