The Loyal Opposition January 15, 2011
It's no secret that politics in the US has become much more openly divisive over the last 18 years (or perhaps politics in the US has returned to the divisiveness of the early 1900's). Gone are the days when disagreements about policy are disagreements about what's doing best for our country. These disagreements have taken on the tone of hatred and personal derision. Works like Nazi, Fascist, and Socialist are bandied about casually... these words have taken the place of rational discourse on important policy issues.
As the leader of a community, I see how easily the conversation can deteriorate from a discussion of the issues and priorities into a discussion of personal attributes or particular skills (leadership, coding, etc.) In order to make sure that the Lift community remains the kind of community that attracts and retains people who care about building great web-based apps, the kind of community that fosters innovation and creative problem solving, the kind of community that is nice to be part of, I've worked hard to ensure the civility of discussion on the Lift list.
Today, I am getting a little more formal about it... today is the beginning of the Loyal Opposition policy:
- Anyone is encouraged to disagree with anyone else about anything in Lift, but do it politely, do it about the policy (not the person stating the policy), and position your opposition in terms of making Lift better.
- Having the common goal of making Lift a better framework is great, but we will disagree on the priorities for achieving that goal. Because Lift is open source, everyone is as capable as everyone else of making the changes and enhancements in Lift that they think are the top priorities. Put concretely, if you think something can be done better than the current committers are doing it, you go off and show us. Write a feature. Write documentation. Write a style guide. Everyone in the community is just as capable as everyone else at impacting priorities by rolling up their sleeves and demonstrating those priorities. As a corollary to this, if you roll up your sleeves, work hard and don't succeed, be polite to the people that do succeed. If you roll up your sleeves and mostly succeed, but need a little extra help, you will certainly find it in this community.
- If a community member chooses not to roll up their sleeves, then they are asking someone else to do work for them on an unpaid basis. Please be extra polite when you make these kinds of requests. If you want someone to change their priorities for you, but you're not willing to put in the time beyond making the request, then frame your request in a way that's likely to maximize the other person's understanding of why your request should change the "doers" priorities. This includes saying "please." This includes discussing your project's goals and priorities. Making global statements, however, does not help advance your position (e.g., bad: "having lots of choices makes Lift hard for newbies to understand", good: "having lots of choices made Lift hard for our 3 new engineers to understand").
So, please keep in mind that in order to be the Loyal Opposition, part of the group that disagrees with the current direction or some of the current choices, it's your job to keep the discussion civil and about the core issues from your perspective.