Dave Winer recently shut down portions of Weblogs.com, stranding a lot of users. People have been arguing for one side of the other, but I think both sides were wrong, and that both sides should have thought about this much earlier. This situation is not new, and has bitten many people who tried to offer free things to the world only to be overwhelmed by the community they created.
Before I start talking about this, I need to define some operational terms. Although I trust most readers know these terms, I often run into people who get them mixed up, or have slightly different definitions.
For the purposes of this post, I say that Duty is the obligation to do something, and Responsibility belongs to the person who is held accountable for the result. They usually go together, but they are slightly different. I might have a duty to do something, but I can also be responsible for something outside of my duty.
Now, as far as I define those terms, as an open source developer, I have often argued that open source folks have a duty to their users. I beleive, and this is just my opinion, that we have the duty to make our software as useable and bug-free as possible, or the data we host for others as open as possible. We have this duty because we recognize that other people are going to use it, even if we don’t intend it for their particular use. We know that we may create an environment of dependency in other people simply by posting code. It is just reality, even if we think it should be different.
This is where most people cry caveat emptor. We may have a duty to the communities we create, but that does not mean we are necessarily beholden to them, have to constantly nurse them, or respond to every demand, expectation, or feature request. People are responsible for their decisions. If they use some of my open source software, even if I just released it, nobody else is using it, or I tag it as a development release, the consequences belong to them. If my software is missing a feature that users want, it is not my duty to add it, although I beleive it is my duty to make the software work as advertised (or advertise it correctly).
I did not force them to use the software, and aside from specious claims on my part, they made the decision themselves. I am not going to be the one to get fired for their decision.
Sometimes Duty and Responsibility collide, and that is what I think has happened in the case of Weblogs.com. A lot of people used the free service. They made the decision on their own and a lot of other people say they got what they deserved: nothing. On the other hand, people argue that Dave Winer had the duty to give people advance notice of the disruption, even if he could not help people recover or backup their weblogs. Both sides end up losers, and everyone makes a lot of noise about it.
Duty and Responsibility do not have to crash into each other leaving a big mess because people are ready to help if we give them the chance. In the community of open source, blogs, and the other great things on the net, interesting things can happen in the middle of Duty and Responsibility. Given the chance, someone can step in to help where other people cannot, but to do that, we (as developers or service providers) need to accept the help of others.
I think that if Dave Winer had given some warning about what he needed to do, plenty of people would have come forward to help. Even if he did not want to provide access to the database, other people could have easily wrote screen-scrapers or simply downloaded the entire web log HTML and all. That is the crux of community: people helping other people. On the other side, people should have stored their own copies of their weblogs. It is easier to do that when there are tools or an interface for that, but people should have realized that something disasterous could have happened, whether it could have been helped or not.
The way that it played out turned out to be bad for both sides. If developers and service providers take care of the people by giving them the means to take care of themselves, and the people take care of themselves by using the tools, this sort of thing should not happen. Developers and service providers should think about this as early as possible.