Do Not Ship It

"Is there a Dat Wikipedia mirroring project?" We got this question from @hundredrabbits on Twitter. Distributing Wikipedia over a peer-to-peer network is an awesome idea and perfect use case for Dat. But Max’s answer was revealing:

I was [building it], then stopped while trying to figure out how to p2p host Wikipedia without sacrificing reader privacy.

We did not ship it.

Between us and our community, we think of lots of neat or useful things that could be built on Dat. Along with mirroring Wikipedia — a public Dat peer, cloud hosting for Dat, and a public Dat to HTTP proxy would all be great demos and extremely useful for getting more users on Dat. But we did not ship any of them.

Why don’t we ship it? Do we not want to move fast? What about acquiring users!?

Decisions, Morality, and Scale #

Technology is powerful. We are connected globally at a scale and speed that a few decades ago seemed impossible. But with that scale and speed, small decisions can have powerful impacts.

Decisions are a tricky thing. It is easy to make many small decisions without considering where it will lead you. Often, you cannot not know where it will lead you. In organizations, this becomes even more difficult. The bureaucracy present in all organizations, from our 5 person team to Walmart's 2.1 million employees, shapes how we make our daily decisions. In Moral Mazes, Robert Jackall shows how small ethical dilemmas are routinely ignored in business decisions for the benefit of the organization, individuals, or to appease a manager.

Unfortunately, those decisions can lead us down unexpected paths. And in technology companies they add up quickly. As put beautifully in the Zebra manifesto:

business models breed behavior, and at scale, that behavior can lead to far-reaching, sometimes destructive outcomes.

Zebras Fix What Unicorns Break

First-Order Decisions Are Easy #

Destructive outcomes often do not result immediately from decisions. They are result of the second- and third-order effects of one decision or many small decisions combined or made repeatedly (often because of a business model or bureaucratic system). The 2008 housing crisis is a prime example of this; many decisions were based on the assumption that housing prices would always rise. Few people examined the high-order effects of their decisions around that assumption.

Making decisions based on first-order effects is easy:

Q: Do I want to eat that chocolate chip cookie?
A: Yes, that sounds freaking delicious.

Q: Do I want to exercise right now?
A: No, I will get sweaty and tired.

Decisions become hard when you consider the second- and third-order effects. Second- and third-order effects means answering the questions:

  • What outcomes or impacts does this decision have beyond the immediate result?
  • What impacts does this have if this decision is made repeatedly (as is often the case in bureaucratic processes)?

Looking at our decisions based on higher-order effects changes things:

Q: Do I want to eat that chocolate chip cookie?
A: If I always eat a cookie when I want one it may be delicious now, but my stomach will not feel good and I may gain weight. (I really like chocolate chip cookies)

Q: Do I want to exercise right now?
A: If I exercise right now I’ll be tired, but it will make me feel better tomorrow and if I do it regularly I will be healthier.

Looking beyond the first-order consequences we can see whether exercise or eating a cookie is a positive or negative decision. These other effects are often delayed, indirectly related, or a result of making the same decision repeatedly. For example, exercise done often can make your brain function better! Bet you do not think about that when trying to decide if you want to get tired and sweaty. When we think about building something or providing a service to users, we have to think both about the immediate benefit and the unintended or long-term implications.

Beyond first-order questions, we are interested in how shipping something will impact our ability to solve hard problems in the long-term. We are not building software to make money and exit as soon as possible. We are not building to grow as quickly as possible. We recognize solving big problems takes time, deliberation, and making hard decisions. To do so in a sustainable way, as a non-profit, forces us to make concessions. Before we ship, we need to ask ourselves:

  • Will this require us to make future decisions we do not want to make?
  • Does this force us to spend more time supporting users that are not related to our primary goals?
  • If we ship this, will we be able to finance it long-term? If not, how will users be negatively impacted if we shut it down?
  • Does this have implications for user-data privacy? Can we protect against that with our current resources?
  • Will we have to enforce copyrights and monitor for abuse or illegal use? If so, do we have the resources to do that?

There is obvious risk in not shipping. Another similar technology or company may gain market-share and get all the users that want peer-to-peer data software. If they solve the hard problems that we are trying to solve in a sustainable and mutualistic way, then great, we are done! If they did not solve the hard problems or enclosed the market for profit, we will keep working.

Why Not Ship Wikipedia on Dat? #

Reader privacy is one of the hardest (ethical) parts of a peer-to-peer system. Distributing Wikipedia over a peer-to-peer system means that any user can surveil the IP addresses of other users and, depending on how it is distributed, even identify what pages they are requesting. For us, this is an unacceptable first-order effect.

The impact of this first-order surveillance problem leads us to even more concerning questions about the second- and third-order impacts of that decision.

Who will be tracking these IP addresses, and what else will they do with them? Do users know this is a risk and are they protecting themselves? Will this lead to censorship of Dat discovery servers (which enable peers to connect) or Dat-related work, making any future work, which may have greater impact, even more difficult?

These are some of the questions we know to ask. But what about the questions that we do not consider? Those questions will likely contain possibilities for the even more disastrous outcomes. Until we can answer the questions we know, and understand the questions we do not know, we cannot see what decisions this will require in the future.

Yes, Wikipedia on Dat would be great. But will it prevent us from solving harder problems in the future? Will we be spending resources that should be spent elsewhere? What decisions will we be forced to make in the future because of this? We cannot predict everything in the future, but without answering these questions the organization may be forced down an unwanted path.

We will not ship Wikipedia on Dat, yet.

Thanks to Max for the tweet inspiration and huge thanks the Zebra movement and Zeynep Tufekci for asking hard questions about the tech industry.