No Description

Nathan Schneider 53d2a25f42 Adding and fixing basic modules for renaming, removing, and adding orgs 2 years ago
modpol_core 53d2a25f42 Adding and fixing basic modules for renaming, removing, and adding orgs 2 years ago
modpol_minetest 53d2a25f42 Adding and fixing basic modules for renaming, removing, and adding orgs 2 years ago
.gitignore beeaa626a9 updated list_users functions to reflect new instance naming standard 3 years ago
GOVERNANCE.md b9d2b73611 Correction: files added 2 years ago
LICENSE 4411c01ebb Corrected copyright statement on LICENSE 2 years ago
README.md 53d2a25f42 Adding and fixing basic modules for renaming, removing, and adding orgs 2 years ago
depends.txt b80f025093 Removed "default" from Minetest dependency list, thanks to @gbrrudmin 3 years ago
description.txt 51d5e404e9 Tweak to description.txt 2 years ago
init.lua 3e3f737915 A little more cleaning up 2 years ago
login.lua c2852b1bce Renamed modpol/modpol directory to modpol_core for clarity and consistency 2 years ago
mod.conf 3f5b65a28f remove depends = default 3 years ago

README.md

Modular Politics for Minetest

This is a mod for Minetest that enables diverse governance mechanisms. It seeks to implement the Modular Politics proposal. In the future, it will be possible to use this framework to simulate governance in a number of platform contexts.

This mod produces an API that can serve as a dependency for other mods that add specific governance functionalities.

For background information, documentation, and the project roadmap, see the wiki.

Installation in Minetest

To use this in Minetest, simply install it in your mods/ or worldmods/ folder. Minetest will load init.lua.

In the game, open the Modular Politics dashboard with the command /mp.

For testing purposes, players with the privs privilege (generally admins) can use the /mp command, which resets all the orgs and opens a dashboard.

Standalone Version on the Command Line

Modular Politics can also be used independently of Minetest as a command-line tool. Currently command-line use of modpol requires a Unix-style system, but it is intended to become more fully platform independent.

The command-line version is in the modpol subdirectory. To run the program on Unix systems in CLI mode, install lua or luajit and execute the following in this directory:

$ lua[jit] login.lua

You can also interact with the interpreter by starting it this way:

$ lua[jit]
> dofile("login.lua")

In the interpreter, for a list of global functions and tables, use modpol.menu().

Storage

By default, a data directory named "data" will be created in this directory. /data will contain a log file and serialized program data files.

Another storage method may be chosen in modpol.lua. A StorageRef-based method for Minetest 5.* is included: storage-mod_storage.lua.

Credits

Initiated by Nathan Schneider of the Media Enterprise Design Lab at the University of Colorado Boulder, as part of the Metagovernance Project. Based on the paper "Modular Politics: Toward a Governance Layer for Online Communities."

Other contributors include:

  • Luke Miller (main control flow, object orientation, module spec)
  • MisterE (project refactoring, core feature development)
  • Robert Kiraly OldCoder
  • Skylar Hew (documentation)

We'd love to welcome more contributors, particularly from the Minetest community! Please join the conversation in the Issues or the Minetest.net forum.

We are grateful for support for this project from a residency with The Bentway Conservancy.

Licenses