🙋🏽♀️🙋🏻🙋🏿♂️ Democratizing power in online communities
PolicyKit’s Amy Zhang on disrupting the dominant, top–down governance model
We are now hiring a Senior Fundraising Manager and other positions. More info here.
We’re seeking applications for our Community Stewards Guild. Learn more and apply here.
Tell me if this sounds familiar: someone creates an online group and they choose others to help enforce rules that they create. These helpers, or community stewards, have permissions that ordinary users do not, but few tools to help the community besides punishments. Rarely do community members have a say in what the rules are, or who enforces them.
The dominant top-down, autocratic governance model is holding back community stewards and users, but it doesn’t have to be this way.
This week: an interview with the builder of PolicyKit, a computer-assisted governance tool
Amy Zhang, Assistant Professor and Head of the Social Futures Lab at the University of Washington, is leading the development of PolicyKit. The tool integrates with platforms like Slack and allows a community to add its own governing model. Want to use democratic voting to rename a Slack channel, or choose a random jury for changing policies? PolicyKit can do that.
It’s still in private testing, but we’re excited about PolicyKit’s potential to assist stewards, especially in huge groups that still rely on these volunteers to do everything by hand, sometimes for thousands or millions or users. We’re also intrigued by this attempt to give community members more agency and let groups choose a more democratic form of governance. You can find far more details, including their choices for political science theory and code, in this surprisingly readable paper on PolicyKit.
Read on for Amy’s perspective on why reconsidering governance is essential, how PolicyKit actually works, and how you can help if you’re interested.
–Josh Kramer, Head of Editorial
Building a governance tool for online groups
Amy on why governance is important for online communities:
I think in a lot of organizations in general, but also in particular with these online communities, research has shown that some amount of structure, some amount of articulation of rules, processes, and/or values is really helpful for helping to make the community work — being a place where people want to go.
Governance has been a crucial component of all sorts of these aspects of the health of the community, from onboarding newcomers, to keeping track of or adding to some sort of knowledge repository or shared artifact that the community's creating, to setting of community norms and dealing with unwanted behavior, and then decision-making regarding where the community is going, what to do about issues that come up, conflict mediation, etc.
The default for online group governance:
Quite a lot of these online communities don't have a lot of thought put into the governance and they follow what is possible or made easy via the platform itself. And for the most part, that follows this common pattern we see on the internet of this kind of top-down model of admins, moderators, and regular users.
And one of the things that we argue is that maybe this one pattern for all these communities — we're talking millions of communities, some of them very small, some very large, doing very different things — why is it that we have the same pattern for all of these communities when it comes to their governance?
Why governance is essential for community stewardship:
I think there are lots of places on the internet where, whether because of scale, whether because of explicit goals that the community has set for themselves, governance would be very useful to improve experiences for not just members, but also for the volunteer folks who are doing the governance work currently.
There's been a lot of documentation1 of how in this admin/mod top-down model, you get this small set of volunteers who take on a great deal of burden to deal with all sorts of things, from fighting spam to mediating conflicts, to dealing with issues related to the platform itself.
And we have seen in many cases where that has led to issues, either high mod turnover or most recently with Reddit, mods who are antagonistic to either the platform, or to specific communities, or have different ways in which they have not necessarily had the greatest leadership. And there could be other ways of doing things.
There are a lot of communities that have these more explicit processes for elections or for engaging members in decision-making, such as juries, or having representation, or for having term limits, etc. So there's a lot of things that we have created, from doing government and doing organizational design over hundreds of years, that I think for a lot of these places online, we're still kind of in the early infant stages of playing with these different structures.
How PolicyKit works:
The question for us is, how do we allow people to stay in the community software that they're using, but then be able to play with or use different computer-assisted governance processes? And so that's what PolicyKit tries to do. It just tries to do the governance, but it has to supersede or take over from the governance that's already embedded into this software. So the way it does that is via these platform API integrations.
So say you're a Slack organization, and just like every other software out there, it has this admin/mod structure, but you'd like to turn it over and have it be more democratic. PolicyKit can then go ahead and perform the action in Slack. The actual doing of governance: the proposing of things, the voting or deliberation of things, seeing things actually get carried out — that can all just happen inside Slack. If you're not engaged in governance authoring you don't actually have to go to PolicyKit ever.
How does a community choose governance processes for PolicyKit to carry out?
PolicyKit makes it really easy for a community to be able to change their design from this one default to really any kind of other governance process. But coming up with the right governance process for the community could be challenging.
We also think it's community specific, so if you're a large community, you probably want something different from a small community. If you're mostly highly-engaged members versus more like members that come in and out, you're going to have something different. If you have a small group of very active users and a long tail of inactive users, that's gonna suggest something different. If you're a community that is fairly new and just getting started versus well established, we think that's different.
We think that this is also perhaps, for communities, a process of experimentation and iteration. And that's why we've designed into the system this idea that you don't have to decide everything up front, but that there is a process in place for iterating on and updating your governance. We do think that there's this manner of, for each community, figuring out what is best for them.
I think these are all somewhat open questions. As far as I can tell, there aren't pat answers that we can just hand down to communities, like this is the best thing for you and we know that for sure. But perhaps suggestions or recommendations could be nice, especially as more communities use PolicyKit and we learn from them. Maybe they could also start learning from each other, sharing governance processes that they've come up with, with each other.
How has PolicyKit evolved?
We had an initial working version of PolicyKit back in 2020, and it was a version where you needed to know a little bit of programming in order to write these governance processes. Community members would tell us what they wanted and then we would write it up in Python and then it would run on their community.
We haven't released it publicly yet, but we've just finished implementing a no-code version of this, where you now only need to select from a series of options and then fill out a form of your particular preferences. Then the system will generate the program for you.
So that's where we've gone with PolicyKit. And we hope this new system, that we're titling Pika, will significantly improve the usability of being able to design and iterate on these processes without needing programming.
What’s next for PolicyKit:
We are also gearing up for a more public release of PolicyKit, probably early next year. We're interested in having people privately demo it, or try it out with us for now. We’re hoping to just have it be available for any community starting next year, once we have done a refresh of the front end experience along with this more usable editor.
And the second thing is this aspect of integrations. For PolicyKit to work well, it needs these rich integrations with platforms, where the more that it can observe and be able to affect within a platform, the more that you can govern via PolicyKit.
We had spent a lot of time building out a very fully-featured Slack integration, which was great to start off with because Slack had a really nice API for us to be able to do all these things that we wanted to do. However, we're excited about the possibility of using PolicyKit for being able to govern other kinds of things, like governing GitHub code contributions for instance, or documents via something like GitHub, or using PolicyKit in more online community settings such as Mastodon. We had an early PolicyKit that was working with Reddit and with Discord, but I think there still needs to be a lot done to make those integrations richer, to have this fully-featured governance.
More recently we had heard from people that co-ops and mutual-aid groups were interested in having more transparent and community-reliant processes for fund disbursements. So we have built out an integration with Open Collective and we have a few communities that are using Open Collective connected with Slack to be able to do these more democratic approvals. And I think we want to do more there.
I think we'd be really excited, particularly if anyone who's reading the newsletter would be interested in helping to work on, or help us connect with platforms to build out these deeper integrations. I think if the platform has an API where we can do that already, then it's fairly easy to do.
We're interested in people who want to help out in the project as open source contributors, because it's an open source project, as well as communities who would like to potentially use it within their community. If any of the things that we discussed sound interesting, we're always open to having Alpha testers.
Amy and PolicyKit are seeking builders to help with platform integrations, as well as stewards who might want to try out PolicyKit in their communities. Reach out through our form to let them know you’re interested.
Trying to make the perfect leftovers sandwich,
–Josh
Including in our recent newsletters!
Love this, great work!