Archive for June, 2005

Howl’s Moving Castle

Saturday, June 25th, 2005

Go see it.

Plan B

Friday, June 24th, 2005

Something to try when optimistic concurrency doesn’t seem to be working.

“I was really glad to hear we were all going to have a single person to blame when X issues aren’t getting resolved…until I heard it was me.”

Lifted from an ASF mailing list.

Freeloading on the healthcare system

Thursday, June 23rd, 2005

Massachusetts, where I live, has a Republican governor who has been attempting to make progress on the healthcare debacle. The other day an article appeared in the paper with the latest chapter in this ongoing attempt. The word “freeloading” appeared in the article; to suggest that the current refinement’s goal is to remove options for freeloading on the system.

Freeloading is a problem in all collective action systems. It’s one of the reasons that classical minded economists run screaming from the analysis of public goods - you know, like public schools, public roads, public health, environmental regulation, etc. etc. More mature economists get a gleam in their eye and roll up their sleeves, of course.

One way to pull the rug out from under any collective activity is to highlight how some people are, or might, be getting
a better deal than others. For example you announce that families with more children are freeloading on the public schools, or that my acquaintance who got encephalitis is freeloading on the health care system. Of course that was probably caused by cut backs on the public health expense of keeping the mosquito population under control.

My first thought when people mention freeloading as a problem around healthcare is Wal*Mart. World’s largest corporation which manages to avoid much of the responsibility for healthcare that comes with being an employer. Employer responsibility for health care was one of the bargains struck by American society during the 20th century; it arose out of union negotiations. Over the last 30 years corporations have discovered that as unions weaken and their political power has increased they can opt-out of that bargain. The society has yet to reach a new consensus about how to bear this responsibility.

Of course there are lots of other candidates for the the role of healthcare freeloader; or to use more exaggerated speech - parasites. A lot of money has been spent to cast malpractice lawyers into this role, though the data would seem to suggest it’s the malpractice insurance providers who benefit from that subplot.

My impression is that since we have a total breakdown in the consensus about where the responsibility for healthcare resides we have fallen into a messy trap where all the players spend vast amounts of resources attempting to shift responsibility to somebody else. The business community created that mess. All now compete to see if they can shift costs someplace else.

The governor’s plan is to force individuals to buy health insurance, much as we force everybody to buy car insurance in this state. So today’s casting for the role of freeloader is individuals. That’s a very popular move on the right, shift risk onto the weakest player in the social game.

But looking more closely it’s interesting to note that the governor is, at the same time, trying to force employers to provide health insurance. To make them pick up the responsibility they dropped over the last few decades. Of course the details of that make all the difference.

One last detail, states are not allowed to work on problems like this without the permission of the Bush administration. To institute any change in the regulatory framework the state has to be granted a waver. Only one state has managed to get a waver that allowed them force firms to bear some of the responsibility, i.e. Hawaii.

Shifting Distribution and Coordination Costs

Thursday, June 23rd, 2005

Here’s a slightly formal way to look at various ways of coordinating an activity. This grew out of my thinking about how to push content from producers to consumers without introducing a hub that coordinates the work. I was thinking about who bears the bandwidth costs.

One obvious way to solve the problem is to have the producer ship the content directly to all N consumers. He pays for N units of outbound bandwidth and each of his consumers pays for 1 unit of inbound bandwidth. The total cost to get the message out is then 2*N. Of course I’m assuming inbound and outbound bandwidth costs are identical. If we assume that point to point message passing is all we’ve got, i.e. no broadcast, then 2*N is the minimal overall cost to get the content distributed.

Two issues. All else being equal the producer would like to shift costs onto the consumers. Secondly - the hard problem here is not moving the bytes around; the hard problem is coordinating their movement. In the our first model most of the coordination cost is born by the producer. That has the benefit that coordination expertise will accumulate so that the cost of coordination can fall and the quality can rise. The producer retains substantial control over the relationships.

It’s not hard to imagine solutions where the consumers do more of the coordination, the cost is split more equitably, the producer’s cost plummet, and the whole system is substantially more fragile. For example we can just line the consumers up in a row and have them bucket brigade the content. We still have N links, and we still have a total coast of 2*N, but most of the consumers are now paying for 2 units of bandwidth; one to consume the content and one to pass it on. In this scheme the producer lucks out and has to pay for only one unit of band width, as does the last consumer in the chain. This scheme is obviously very fragile. A design like this minimizes the chance of coordination expertise condensing so it will likely remain of poor quality and high cost. Control over the relationships is very diffuse.

We can solve the distribution problem by adding a middleman. The producer hands his content to the middleman (adding one more link) and the middleman hands the content off to the consumers. This market architecture has N+1 links or a total cost of this scheme is 2*(N+1). Since the middleman can server multiple producers the chance for coordination expertise to condense is generally higher in this scenario. Everybody, except the middleman, see their costs drop to 1. Assuming the producer doesn’t mind being intermediated he has incentive to shift to this model. His bandwidth costs drop from N to 1, and he doesn’t have to become an expert on coordinating distribution. The middleman becomes a powerful force in the market. That’s a risk for the producers and the consumers.

It is possible to solve problems like these without a middleman, instead we introduce exchange standards. Replacing the middleman with a standard. Aside: Note that the second illustration, Consumers coordinate, is effectively showing a standards based solution as well. We might use a peer to peer distribution scheme, like Bit Torrent for example. To use Bit Torrent’s terminology the substitute for the middleman is called “the swarm” and the coordination is done by an entity known as the “the tracker.” I didn’t show the tracker in my illustration. When bit torrent works perfectly the producer hands one Nth of his content off to each of the N consumers. They then trade content amongst themselves. The cost is approximately 2 units of bandwidth for each of them. The tracker’s job is only to introduce them to each other. The coordination expertise is condensed into the standard. The system is robust if the average consumer contributes slightly over 2 units of bandwidth to the enterprise, it falls apart if that median falls below 2. A few consumers willing to contribute substantially more than 2N can be a huge help in avoiding market failure. The producer can fill that role.

Of course swarming is not the only way we can arrange a standards based solution to this problem. It’s notable because it is both reliable and the total bandwidth cost can be 2N, the minimum. I find it interesting that when the cost approachs that minimum the swarm becomes unreliable. The second model where consumers coordinate the distribution in a bucket brigade can be made more reliable by introducing additional redundant links; these are another way to buy reliablity in exchange for increasing the cost above the 2N minimum.

I find it fascinating to see how the coordination costs, market power, and reliability of the market’s clearing are shifted around in these various scenarios. The bandwidth costs act as a partial proxy for those. Market participants are most concerned about risk. They want to place their faith in a market structure. Once the rendezvous around a given structure then can have a meaningful discussion about the risks that structure creates. The first model has the risk of powerful producer. The second and last models have the risk of policing standards compliance. The middleman has well known agency risks.

Standards based solutions always have problems with policing and freeloading. I think it’s neat to notice that if the producers and consumers are exchanging data over many time periods they can establish a trading framework with reputation, currency, and market clearing schemes that assure that everybody contributes their 2 units of bandwidth. In effect you can make such systems self policing in much the same manner used in a competitive market. Which goes to reenforce the way that exchange standards create and shape markets.

Reciprocity and Data Licensing

Friday, June 17th, 2005

The phrase “reciprocal licensing” got into my head a few months ago. If you go poke around you find that the term is mostly used to describe ways that one organization agrees to honor the licenses granted to professionals by some other organization. Licenses are, of course, set of rights and responsibilities. For example is the state of Massachusetts grants me the right to drive a car on it’s highways most of the rest of the planet will also grant me that right. Lots of professions have associated systems of reciprocal licensing: plumbers, teachers, and lawyers. When you grant respect to a person’s title, for example Vice President of Engineering, outside the context where that title was granted you would seem to be engaged in a form of reciprocity.

Reciprocity isn’t just for roles. The GNU software licenses are a form of reciprocal licensing. In exchange for the right to modify the software you relinquish your option of hoarding those modifications. The peer to peer file sharing, systems are another example, in exchange for drawing down a file from the system you are expected to reciprocate by providing bandwidth for further file sharing. The peer to peer messaging and VOIP systems are two more example. Once you start noticing you’ll see lots of these.

Reciprocity is one way of framing the coordination aspects of collaboration. It’s a way of talking more explicitly about the responsibilities that come with club membership around a club goods. The peer to peer system, the GNU code community, the professional society around plumbers or doctors, even the universe of international drivers all have rules that govern how the goods are maintained in collaboration. You can find other examples around patent pools. Some platform vendors have begun to use these ideas to assure that members of their developer networks add to the platform. For example Microsoft’s consumer electronics platform has rules that clarify the timing of various developer IP rights so innovations can flow back into the common pool around their platform - or so I’ve been told.

Peering agreements are another interesting application of reciprocal licensing used is for. IP packet routing, or phone call routing, or check clearing are all examples. The problem is you want to join a distributed network but your concerned that other members of the network will freeload or cheat in various ways that disadvantage you. You need trust at a distance. By setting up a standard contract that every participant is required to sign you can temper some of the risks.

Data pooling agreements have the same challenges. Consider an example. Imagine you are an insurance company. You have worked hard at great expense to collect data about insurance claims. This data is valuable because in aggregate it drives how you set rates. If you had more data you could set rates even more accurately. That could be very profitable. The insurance industry shares data like this by establishing master database. And, I assume, they use a contract much like a patent pool or a peering agreement to reduce the risk that some companies freeload or engage in any number of other ways of gaining an advantage.

Of course all industries have a power-law distribution of players. One way you can disadvantage the small players is to create barriers to entry that only large players can overcome. One place you can establish these barriers is with the rules around the reciprocity agreements. But, on the other hand, you can use the reciprocity agreement to frustrate that. The GNU license is a fine example of that. There is another example found in the open source VOIP community. They need to exchange call routing data. They have a peering agreement for that which tries to keep large players from locking out tiny guys - like me with my basement phone switch.

For the last year or so I’ve been puzzling about the problem of how to equitably distribute blog pings from blogs to interested parties. The tough nut in the design is that there are some very large gorillas in the blog world and they are all, presumably, tempted to horde their ping data to gain various competitive advantages. And, as usual in these two sided markets where there are lots of providers and lots of consumers there is a two sided network effect that could lead to a single winner who acts as the hub for the exchange. A middleman taking a small cut as he coordinates the interactions. The usual way to temper that risk is to introduce some standards that fragment the market while solving the coordination problem enough. With luck you can even get the standard to do a better job than a single hub would.

All that has brought me around to the question of what the reciprocity rules would be in such a market. What the world needs is creative commons like license for pings. I want to know that when I ping weblogs.com, or ping-o-matic, or technorati, or pubsub.com that they aren’t going to horde the resulting data. I want to know that they have signed onto a peering agreement that assures that my ping joins rest of the ping flux as public data. Some rights and responsibilities are granted when you ping these guys. Their responsibilities need to be made more explicit.

I don’t mind if they want to horde information that they accumulated by spidering, polling, and scraping; though I suspect we will see similar creative commons like licenses appearing on sites. Licenses that make explicit the reciprocal nature of the relationships.