For many years this has been a private document that only the JavaRanch staff could see. Yet as I travel about and visit with people about consensus and intentional communities, I try to share bits of this document. I have copied and emailed it several times.
After years of visiting intentional communities, living in intentional communities, practicing consensus and perpetually learning about many flavors of consensus .... I am thinking that this same framework that has served JavaRanch so well could be a foundation for an intentional community. It probably needs some tweaking for an intentional community - but is currently pretty close. I think. But in order to get feedback from others about this idea, I first need to share it.
JavaRanch is not a "non profit organization". That would be a lot of overhead and would cut across a lot of legal lines that could possibly end with the demise of JavaRanch.
While JavaRanch is technically a "commercial" entity or a "for profit" entity, it would be more accurate to say "for crappy profit" entity. All of the JavaRanch income streams add up to something on the order of "pizza money". Not enough for anybody to live on (well, maybe somebody in a remote part of Africa - so not enough for somebody in the US to live on). "Pizza money" is actually pretty nice - a few years ago, all the income streams added up to "coffee money" and didn't even cover the expenses. JavaRanch currently runs in the black, but not by a lot.
The real value of this site is not money. It is the community. Decisions are made not by what earns the most money, but on what is best for the community.
Ok, sometimes folks get ideas about how JavaRanch can make serious coin from some big idea. A few of these ideas get implemented and then generate 48 cents. Most ideas get implemented, cost $500 plus 80 hours of time and never earn even a nickel. It's fun to think about earning the big bucks, but don't count on it.
The important thing is that big money ideas are never implemented if they compromise the community.
At any given time, the site is run by about 40 volunteers. Why would anybody who can get real money for their time spend it here without getting paid? It's a mystery. And yet it happens. Some staff have reported that they landed a job because of their relationship with JavaRanch - the hiring party said precisely that. Very cool! Although all the time put in to the ranch probably doesn't justify this. Some people say that they think they get paid more because of their relationship with JavaRanch. Same thing - even if it is true, is the extra pay enough to compensate for the time spent here? Probably not. So these reasons might contribute to why people volunteer, but they are definitely not the whole package.
Let's just say that the reasons could be many ... and could be hard to describe .... and ... well ... do we really need reasons? Or label the reasons? Maybe each person that volunteers here has a different collection of reasons for doing it than the next person. Or maybe they have the same reasons, but they weight them differently. Whatever. For some mysterious collection of reasons, people are showing up here and doing stuff. And we .... mysteriously ... have community.
How do volunteers work together?
A volunteer doesn't have to do anything. Ever. Every contribution is because they feel like doing it at that moment. For whatever their own personal reason is.
In a business where everybody gets paid, any person does what they are told by their boss. This way, the whole company moves forward in the same direction.
With a bunch of volunteers, nobody has to do what anybody says. So couldn't this mean that one volunteer could change all of the color schemes to white text on a black background, and somebody else could simultaneously be changing all of the color schemes to orange text on a green background? Yes. This could happen. If this exact thing did happen, it would seem that these two people might be plenty pissed at the other person for doing stuff "the wrong way" and wasting the time of both parties.
A little communication and coordination could go a long ways toward having a happier, healthier community with less wasted time.
Most of the time a volunteer does anything, nobody else has a problem with it. Asking folks just slows you down and annoys those you are asking. So if you feel pretty sure nobody will object, just go right ahead and do what you think is best. If it turns out that folks do object, well, most stuff can be unravelled/fixed later. No big deal.
Sometimes there is more than one way to do something and two or more folks might have different ideas on how it is done. A lot of weight goes to the person that is actually doing the work.
Consensus is a beautiful thing when you can get it quickly. Everybody agrees on what is best. Ahhhhh .... harmony .... Consensus can almost always be reached between decent folks when given enough time to discuss each issue. There are two big drawbacks to consensus: time and quality. Time is an obvious problem. Every concern by every person has to be fully addressed before work can start. So if there is not quick consensus, it could take a really, really long time to get to the point where everybody agrees. Quality is an equally big problem, but not as obvious: does the expression "design by committee" give you an idea of how quality can be sacrificed?
Most of the time, consensus is very quick and quality is first rate. Everybody agrees on a good direction right away.
Sometimes consensus is slow - people are strugging to find a path that everybody thinks is good. Explanations can go on a very long time.
Sometimes quality is sacrificed: "I'll go along with you on A if you will concede to B." or "your arguments are stupid and I'm sick of talking about this. I'm outta here." ---- maybe this means that decisions are made not by what is right or best, but by those that are the most patient.
Design by Democracy
If a decision is made if 51% of the group agrees, then does that mean that 49% of the group got screwed?
What if you are trying to decide to use agile processes and 51% says "no" to up front design and later 51% decides to ditch refactoring?
Dictator (not necessarily a phalic potato)
It is unlikely that anybody would volunteer for something where somebody else tells you what to do. Oh sure, this works great if the dictator is some super genius that won a few nobel prizes - but other than that, the appeal of volunteering under a dictator seems pretty weak.
JavaRanch uses a loose Independent/Consensus/Dictator hybrid
For about 90% to 95% of the stuff you do, you make the decision by yourself. This is stuff where you figure that nobody is going to care, or if they do care, you are probably doing it the same way they would. So in a way it is consensus, only it is never asked. Everybody is probably okay with it.
About 2% to 10% of the stuff you do, you bring up to somebody you think would care. Usually, everybody agrees and life is good. If there is disagreement and folks feel like it has been discussed enough, the person that is willing to do the actual work makes the call. Chances are that the party that disagreed was more of a "better way" camp than "it will end all life as we know it" and having something that works at all is better than nothing. So no big deal. A few things that cannot be agreed on probably need to go to the dictator.
About 0.1% to 2% of the stuff you do might be tied to the dictator. The dictator settles disputes and tries to set a common path so that effort won't be wasted. The dictator is supposed to be fairly savvy to all aspects of JavaRanch (including the evil aspects of accounting, marketing, legal, bills, politics, deals, etc.), although chances are good that there are a lot of things that you know much better than the dictator. The dictator might also be legally responsible for bad things you might accidentally do. You never have to do what the dictator or anybody else says. Since it is the dictator's job to settle disputes, make the unpopular calls, and balance in the evil aspects, chances are that you are probably going to disagree with a lot of the choices the dictator makes.
Making the best of dealing with the dictator
When you first start doing volunteer stuff at JavaRanch, you probably don't really care what the dictator says or does. You just kinda go with the flow. Get the lay of the land. Poke around here and there .... no big deal.
Later, some decisions seem stupid or just plain wrong. Do you really want to be part of something that is stupid or wrong? So you raise your voice: "Hey! Dammit!"
There are lots of kinds of dictators.
- Sometimes a dicator has a gun and you don't. That dictator tells you what to do and you weigh if that something is worth dying over - or general bullet hole pain.
- Sometimes a dictator gives you money in exchange for doing what the dictator says. You weigh if doing that something is worth the cash flow.
- Sometimes a dictator has something on you. You weigh doing what you are told, or else people will see that awkward picture of you with the goat.
- Sometimes a dictator is on a pedestal. You weigh doing what you are told in the hopes of getting praise or avoiding harsh words.
- Sometimes a dictator has nothing. You do what the dictator says because on some level it amuses you. If there is no amusement, you don't do it. This is the kind of dictator system JavaRanch has.
The JavaRanch dictator gets that role only because he got here first. Maybe that was lucky, or maybe it was unlucky. But he didn't get it because of being smart, or winning any beauty contest, or popularity contest, or race, or spelling bee, or .... anything that might be useful. He's the dictator due to a fluke.
You might wish that this fluke would have happened to you .... until you see what is required of the job and what kind of stuff this role gets saddled with. With this system, the dictator is the only person that says "no" to anybody (due to saying "yes" to others) - so you might be able to imagine how everybody else seems mighty nice, but there are lots of good folks spending a lot of time sharpening blades while thinking about that damn dictator.
With volunteers, the dictator cannot tell anybody what to do. The most the dictator can do is set a direction and say that this is the forward path. It is possible that nobody implements it. Hopefully, some volunteers will chip in and the community moves forward. It is expected that nobody will do something contrary to the declared path.
In consensus, everybody has to listen to everybody until everybody agrees with everybody. In an effort to have most of the upsides of consensus, with less of the downsides, the JavaRanch dictator is obligated to hear what everybody has to say on anything until they feel they have been heard. If the dictator does not listen, then how can the dictator make good choices? Further, why would anyone want to hang around if the dictator only does stupid things and won't even listen to the volunteers? So the improvement over consensus is that rather than everybody having to understand everybody, only one person has to understand everybody. Much more efficient for the group because all of the pain is transferred to just one person. Imagine that if you wanted to do something interesting, that you had to not only tell everybody about your idea, but you also had to hear from everybody about all of their ideas - and you are not allowed to do anything until everybody agreed that your idea was good.
While the dictator has to listen to anything any volunteer says, the dictator is also a volunteer and also does not have to do what anybody says. This includes having to explain his choices. Lots of times, choices are made due to big heaps of information. Conveying all of that information might not be practical. Some information cannot be shared (sometimes there is an NDA, and sometimes somebody says "I want to tell you this, but please don't tell anybody else"). Further, if the dictator were required to explain everything to everybody to their satisfaction, wouldn't we pretty much be back to consensus? Keep in mind that sometimes what appears to be a stupid decision, could actually be a reasonable decision based on information you do not have (and, yes, it could have been a stupid decison).
While the dictator does not have to explain his choices, it is considered generally wise to share as much as possible. That way, other folks can offer better informed suggestions. And when implementing things, they have a better chance of efficiency and creating something that is a better fit for the community.
The dictator is obligated to hear out every volunteer on any topic. Of course, it is possible to take this to the point that the dictator is paralyzed. Just a few folks sharing a fair amount would consume so much of the dictator's time that nothing could be done other than hearing folks out.
When conveying information to the dictator, it is best to express it as a concern or as a suggestion. Demands make things terribly awkward for the whole community. Plus, demands suggest a precedent for how all volunteers on the site are to be treated.
Remember, when everybody agrees on stuff, the dictator is usually not involved. It's generally only when there is disagreement that the dictator is involved. So be prepared that the dictator might choose a path contrary to your choice about half the time. More than that if there are more than two choices!
If you like this article, please link to me. Click on one (or many) of the social network links below. Linking to this article from a forum is nice. Or even better, mention this article in a blog!