diff --git a/README.md b/README.md index 05c4adf..2e9cc95 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,25 @@ # Modular Politics for Minetest -Modular Politics is an extension that enables diverse governance processes on multi-user platforms. It seeks to implement a theoretical framework, also called [Modular Politics](https://metagov.org/modpol), which proposes these design goals: +Modular Politics is an extension that enables diverse governance processes on multi-user platforms. It offers a library that enables users to create or adapt their own modules that add specific governance functionalities. + +This implementation is a mod for [Minetest](https://minetest.net), a free/open-source voxel game. It is designed to be easily adapted to other multi-user platforms that also employ Lua as an extension language. + +## Design philosophy + +Modular Politics seeks to implement a theoretical framework, also called "[modular politics](https://metagov.org/modpol)," which proposes these design goals: * *Modularity*: Platform operators and community members should have the ability to construct systems by creating, importing, and arranging composable parts together as a coherent whole. * *Expressiveness*: The governance layer should be able to implement as wide a range of processes as possible. * *Portability*: Governance tools developed for one platform should be portable to another platform for reuse and adaptation. * *Interoperability*: Governance systems operating on different platforms and protocols should have the ability to interact with each other, sharing data and influencing each other's processes. -Modular Politics produces a library that enables users to create or adapt their own modules that add specific governance functionalities. +Additionally, Modular Politics seeks to counteract the tendency for "[implicit feudalism](https://ntnsndr.in/ImplicitFeudalism)," according to which rigid, top-down power structures are the norm in online spaces. To this end, some design patterns include: -This implementation is a mod for [Minetest](https://minetest.net), a free/open-source voxel game. It is designed to be easily adapted to other multi-user platforms that also employ Lua as an extension language. +* *Groups, not roles*: While most platforms assign powers through particular permissions given to individuals, in Modular Politics, power lies in groups (which Modular Politics calls "orgs"). +* *Consent, not oligarchy*: Rather than assuming that decisions will be made by a few power-holders, the software assumes that consent by all affected users is the norm. +* *Inheritance, not blank slates*: When a new group is formed, it inherits the patterns of what preceded it, rather than imagining that it is starting from scratch. +It is certainly possible to use Modular Politics to replicate practices of implicit feudalism, such as all-powerful admins, but doing so requires extra work to overcome these defaults. ## Installation in Minetest @@ -49,12 +58,12 @@ Another storage method may be chosen in `modpol.lua`. A StorageRef-based method ## Credits -Initiated by [Nathan Schneider](https://nathanschneider.info) of the [Media Enterprise Design Lab](https://colorado.edu/lab/medlab) at the University of Colorado Boulder, as part of the [Metagovernance Project](https://metagov.org). Based on the paper "[Modular Politics: Toward a Governance Layer for Online Communities](https://metagov.org/modpol)." +This project is led by [Nathan Schneider](https://nathanschneider.info) of the [Media Enterprise Design Lab](https://colorado.edu/lab/medlab) at the University of Colorado Boulder, as part of the [Metagovernance Project](https://metagov.org). -Other contributors include: +Contributors include: -* [Luke Miller](https://gitlab.com/lukvmil) (main control flow, object orientation, module spec) -* [MisterE](https://gitlab.com/gbrrudmin) (project refactoring, core feature development) +* [Luke Miller](https://gitlab.com/lukvmil) (co-leadership, main control flow, object orientation, module spec) +* [MisterE](https://gitlab.com/gbrrudmin) (early project refactoring, core feature development) * Robert Kiraly [[OldCoder](https://github.com/oldcoder/)] (ocutils.lua, storage-local.lua, project refactoring) * Skylar Hew (documentation)