Check in the LLVM decision making framework for discussion.
diff --git a/proposals/LP0000-Template.md b/proposals/LP0000-Template.md
new file mode 100644
index 0000000..afb5da0
--- /dev/null
+++ b/proposals/LP0000-Template.md
@@ -0,0 +1,48 @@
+# Proposal Name
+
+*   Proposal: LP-0123
+*   Author(s): Author 1, Author 2, ...
+*   Review Managers: TBD1, TBD2[, TBD3, TBD4]
+*   Status: [WIP, Active review (date...date), Accepted, Rejected, Returned for revision, etc.]
+
+_During the review process, add the following fields as needed:_
+
+*   Decision Notes: Rationale, Additional Commentary
+*   Previous Revision: [1](https://github.com/apple/swift-evolution/blob/...commit-ID.../proposals/NNNN-filename.md)
+*   Previous Proposal: LP-0012
+
+
+## Introduction
+
+A short description of what the proposal is. Try to keep it to one or two paragraphs of "elevator pitch" so the reader understands what problem this proposal is addressing.  One reasonable way to structure this is one paragraph of context, one paragraph summarizing the proposal.
+
+This proposal was discussed in this [pitch thread](URL for the pitch thread on llvm-dev). 
+
+
+## Motivation
+
+Describe the problems that this proposal seeks to address. Explain why a change is needed, what non-action is a problem, and why now is a good time to address the problem.
+
+
+## Proposed solution
+
+Describe your solution to the problem - what needs to happen, what needs to change.   Show how your solution is better than current workarounds: is it cleaner, safer, or more efficient?  Who is going to do the work?
+
+Note that the LLVM Proposal process is about making decisions about what the best path is for the community - it is not a way to get other people to do things for you.
+
+
+## Impact On Other Projects
+
+The LLVM umbrella of technologies are used by many other open source and commercial projects.  If this change can have a significant impact on any of them, then please call this out and evaluate the impact.
+
+
+## Frequently Asked Questions
+
+If there were common questions that came up in the pitch phase, please summarize them and what you think the answer is.  Doing so gives you a chance to address them before the formal review starts up, which can lead to a more productive review thread - one that spends less time rehashing points that have already come up.
+
+
+## Alternatives considered
+
+This proposal exists because there is something controversial, describe the controversy as you see it, any alternatives that can or should be considered, and provide your view of that.  Describe why you think this approach is the best solution to the problem.
+
+
diff --git a/proposals/LP0001-LLVMDecisionMaking.md b/proposals/LP0001-LLVMDecisionMaking.md
new file mode 100644
index 0000000..4110ef8
--- /dev/null
+++ b/proposals/LP0001-LLVMDecisionMaking.md
@@ -0,0 +1,134 @@
+## [PITCH] Improvements to LLVM Decision Making
+
+*   Proposal: LP-0001
+*   Author: Chris Lattner
+*   Review Managers: TBD1, TBD2
+*   Status: WIP
+
+
+## Introduction
+
+The LLVM project is a pretty high functioning collection of individuals spanning many countries, time zones, and who are members of many organizations. It is also an established community which continues to evolve and change to stay vibrant and adapt to new challenges. This combination makes decision making both incredibly important, but also sometimes difficult to finalize, and very ambiguous/frustrating for contributors.  Examples of historically challenging decisions include the introduction of new subprojects, introduction of new social policies, change to core infrastructure like bug review tools or patch review processes, changes to the LLVM Developer Policy, etc.
+
+This proposal describes a way to improve this, focusing on decisions that are "nearly impossible" to make in the LLVM community right now.  It is not intended to change the primary patch review and code owner flow or responsibility, and is not intended to add additional processes to any other existing flow.  It proposes adding an 'escalation' path that makes "nearly impossible" decisions "merely burdensome" by introducing a process to get them decided.  The hope is that this will remove situations where extreme ambiguity turns off contributors and make progress difficult.
+
+
+## Motivation
+
+Decision making is incredibly important for a large and distributed community, and the challenges we face are not unique. These challenges manifest in many different ways, including for example:
+
+
+
+*   RFC's are a well established convention in the LLVM community, but it is often unclear who the decision makers are, particularly when there is controversy.
+*   The llvm-dev mailing list is the primary centerpoint of community and policy making, but it gets a lot of normal development traffic.  This means that many affected people miss important policy discussions.
+*   Some policy discussions affect downstream users of LLVM, e.g. developers of the Rust compiler, and they are even less likely to read a LLVM internal development list.
+*   It is easy to miss important changes because you don't have time to review everything. Even though you technically had a chance to participate, some people have been surprised when some change goes into effect.
+*   Sometimes people chime in late with dissent after a decision has been apparently made: this can be frustrating to people who need a decision made, because they aren't sure how to proceed.  We need more clarity on the conclusion of a decision.
+*   Sometimes people express a loud voice on discussion threads even if they aren't active contributors, and they can derail discussions. There is no "moderator" for these discussions, and no expectations/bounds for them.
+*   The initial discussion phase of a proposal can have lots of back and forth discussions to shape an idea, and the eventual proposal can have significant changes from that initial review.  It would help to formalize various stages of a proposal.
+*   Complex changes (e.g. the relicensing project) sometimes take many rounds of iteration, and it can be easy to lose track of where the proposal is and what the history was because it is spread across a high volume mailing list.
+*   Code Owners may be faced with a technical decision and not be sure what to do, particularly for highly impactful design decisions - e.g. for core LLVM IR changes. It could be useful to have a formal escalation process for these decisions.
+
+Despite the challenges, it is important to note that many changes are smooth and non-contentious: the LLVM project has many like-minded individuals - we should not add overhead to things that are currently working well. This should be an optional process used by things that are contentious: we shouldn't force every small or unanimous thing into it.
+
+
+## Some Principles
+
+In the initial discussion of this process, several nice guiding principles were proposed.  While we don't necessarily need to prescribe these mechanically into the written process, it is good to anchor on these in its execution over time.
+
+
+
+*   Be inclusive and understanding: the LLVM community is a diverse group of people, from different backgrounds, speaking different languages, and with different priorities.  We get the best outcomes if we pull more people in and allow all voices to be heard - even if they are not core LLVM contributors.
+*   Assume good faith: the LLVM community is filled with many talented and passionate people, discussions should be inclusive.
+*   Not a voting system: Several people pointed out the challenges of correct representation, avoiding "voting fraud", etc.  While we generally want to maximize community happiness with decisions, numerical systems will fail on close issues.
+*   Important to be flexible on all counts: We need written guidelines to set expectations, but they should not be hard or inflexible rules.  They should be guidelines that are adapted if needed on a case-by-case basis.
+*   It is better to have a flawed process than no process: we should try things, iterate, and change as needed.
+*   The LLVM project and the potential challenges is too big for any individual or fixed set of people to address all possible challenges.  We need a flexible system for resolving debates.
+
+
+## Proposed Solution
+
+I recommend that we add a new process influenced by those in other communities, e.g. the [Swift Evolution process](https://github.com/apple/swift-evolution/blob/master/process.md), the [Python PEP process](https://www.python.org/dev/peps/pep-0001/), the [Rust RFC process](https://github.com/rust-lang/rfcs), etc. These processes are designed to help guide decision making for high impact language and standard library changes which are often polarizing, ambiguous, and contentious.  Nevertheless, LLVM community needs are different from other communities, so we should adapt them to our needs.
+
+Owing to the need to get things going and the contentious nature of governance, Chris Lattner is taking several specific roles in the process described.  The goal should be to evolve him out of being a single point of failure over time, but this should help get things off the ground so we can learn and iterate on the process.
+
+This process consists of several phases:
+
+1. Start with a normal LLVM RFC using the existing community process to make a decision.  If it can be resolved through normal means, great - no need for additional process.  We expect this to continue to be the common case.
+2. If a discussion turns controversial, escalate the RFC into a "proposal pitch", to help frame both sides of the discussion.  This occurs as a "[PITCH]" thread on the llvm-dev mailing list.  The outcome of this discussion is a proposal written up [using this standardized template](LP0000-Template.md).  The pitch phase can be ignored by people who aren't interested in following all of the details of a discussion.
+3. A group of either 2 or 4 community members are selected as "Review Managers" to help with the review, aiming to be representative of both sides of an issue.  These people are proposed in the pitch document itself.
+4. Chris takes a look, gives high level guidance to improve the quality of the proposal, approves (or suggests changes to) the Review Manager list, and decides whether it makes sense to run.  He will reject proposals that are obviously inappropriate or that can be addressed with lighter-weight processes.
+5. A review manager checks the proposal into a directory (llvm/llvm-www/proposals) so it is version controlled.  This allows better tracking over time of the evolution of the discussion and proposal: for an extreme example of how this is useful, see the header on [this Swift proposal](https://github.com/apple/swift-evolution/blob/master/proposals/0258-property-wrappers.md).
+6. That review manager starts a thread on llvm-dev using a template (see below) in a new "[PROPOSAL]" thread on llvm-dev.  Formal discussions occur on this thread over a specific time period (selected by the review manager team, depending on the issue) e.g. one or two weeks.
+7. The review managers are responsible for facilitating and moderating the discussion - helping to keep the discussion on-topic and civil, without trying to overtly influence the discussion.  They can also raise awareness of the discussion in affected external communities.
+8. When the discussion concludes, Chris and the review managers have a video chat to review the outcome of the discussion.  The goal of this private discussion is to achieve consensus on an outcome between the review managers and Chris, but if that isn't possible, then Chris will tie break. The outcome may be Approve, Deny, Approve with Changes, or to kick it back to the pitch phase for more discussion.
+9. A review manager writes up a summary of the outcome and shares that with the community on the llvm-de.  The outcome is added to the proposal in github to build a history of proposals and their outcomes.
+
+The goal of this is to allow virtually everyone interested in LLVM to follow the "LLVM Proposal Reviews" category on discourse, and allow them to participate in the discussion.  The review managers and Chris can weigh this feedback with a goal of being fair, learning from the community, and producing the best outcome for the community at large: there is no voting.
+
+
+## Review Discussion Template
+
+After checking in the proposal, a review manager starts a new thread on the "LLVM Proposal Reviews" category on the LLVM Discourse, using the following template as a starting point - it should be modified on a case-by-case basis:
+
+
+    Hello LLVM community,
+
+    The review of "((PROPOSAL NAME))" begins now and runs through 
+    ((REVIEW END DATE)). The proposal is [available online](URL of proposal on github):
+
+    Reviews are an important part of the LLVM Proposal process. All review feedback
+    should be either on this forum thread or, if you would like to keep your feedback
+    private, directly to one of the review managers.
+
+    **What goes into a review?**
+
+    The goal of the review process is to improve the proposal under review through
+    constructive criticism and, eventually, determine the direction of LLVM. When 
+    writing your response, here are some questions you might want to answer in your
+    review:
+
+    *   What is your evaluation of the proposal?  What positive or negative 
+        implications would accepting this have?
+    *   Do you have experience from other communities that relates to this 
+        issue and is important to consider?
+    *   How involved have you been in the LLVM project?  Frequent contributor, 
+        occasional contributor, user of LLVM libraries, user of LLVM-based tools,
+        or other?
+    *   Self Evaluation: How much effort did you put into your review and how
+        knowledgeable are you about this area? For example, a quick reading or an 
+        in-depth study?
+
+    In addition to your opinion and thoughts, please include any additional 
+    framing that may be useful.
+
+    Thank you,
+
+    -((REVIEW MANAGER NAME))
+
+    Review Manager
+
+## Impact On Other Projects
+
+This proposed process should affect all subprojects and other aspects of the LLVM umbrella that are guided by the community.  We expect this process will be more inclusive to downstream projects, provide more transparency, and overall help build confidence in the LLVM project from its users.
+
+## Frequently Asked Questions
+
+**Q: Should we improve the existing LLVM RFC processes?**
+
+A: Perhaps!  However, this proposal is already a big step - the author believes it is more important to solve a huge hole in the LLVM processes than it is to improve existing processes.  After we get some experience with this proposal, we can consider changing it and changing other existing processes in a subsequent step.
+
+
+## Alternatives considered
+
+The most obvious alternative is to do nothing: LLVM has survived for 16 years as an open source project without a formal policy, and we aren't doing too badly. On the other hand, there is a reasonable argument that as the community continues to grow that the problem will get even worse over time.
+
+A second alternative is to go with a BDFL model where (e.g.) Chris has to make all the decisions. This has several problems:
+
+*   While Chris would like to participate, he prefers to draw on the wisdom and judgement of other people as well.
+*   Chris doesn't know all areas of the LLVM project anymore.
+*   Chris could get hit by a bus some day (to be clear, definitely not "plan A"!) and we/you would have to determine a replacement process at that time.
+*   Chris overall isn't a fan of this model, and it is unlikely that the community would accept anyone else in such a role.
+
+This proposal above acknowledges these challenges while making sure Chris is involved to help steer and get the process off the ground.
+