Have a philosophy. We commit to trying to write down what we value so that we may make decisions in accordance with our values and empower others to do the same. As our philosophy evolves, we will record its evolution
Serve people. Technology must be rooted in service to the needs of regular people. When a person or group becomes dependent on a technology we feel they must seek to own it, lest they instead should come to be owned by it.
Be curious. Understanding that curiousity can be a luxury, being able to ask ourselves difficult, open-ended questions and make rigorous inquiry into the answers is our luxury of preference.
Communicate. Did you get your idea get across? Did you fully comprehend the idea another person was explaining? Communication must be embraced as a continuous process because it can easily break down yet still appear to be working.
Value diversity. Diversity is messy and creates inefficiency, but at the same time drives systems and communities towards being more adaptable and resiliant. We seek to assemble the largest possible coalition of individuals and groups who support our efforts because our work supports their efforts.
Scale process up and down. Over time software tends to accumulate layers of process: writing tests, CI runs, code review, external QA. This is natural process creep. Stability is maximized at the cost of agility. Adaptable organizations retain the ability to experiment outside the confines of the most rigorous processes in place.
Build living software. Pay down tech debt. Create new tech debt. Embrace forks. Do the work that makes it worth doing the work. Think about a project as if it has a will to survive!