  The software behind online community platforms encodes a governance model
that represents a strikingly narrow set of governance possibilities focused on
moderators and administrators. When online communities desire other forms of
government, such as ones that take many members' opinions into account or that
distribute power in non-trivial ways, communities must resort to laborious
manual effort. In this paper, we present PolicyKit, a software infrastructure
that empowers online community members to concisely author a wide range of
governance procedures and automatically carry out those procedures on their
home platforms. We draw on political science theory to encode community
governance into policies, or short imperative functions that specify a
procedure for determining whether a user-initiated action can execute. Actions
that can be governed by policies encompass everyday activities such as posting
or moderating a message, but actions can also encompass changes to the policies
themselves, enabling the evolution of governance over time. We demonstrate the
expressivity of PolicyKit through implementations of governance models such as
a random jury deliberation, a multi-stage caucus, a reputation system, and a
promotion procedure inspired by Wikipedia's Request for Adminship (RfA)
process.
