CommunityRule Refactor Now Online
Background
Last year, to CommunityRule, an open-source Web app led by MEDLab at ¾«Æ·SMÔÚÏßӰƬ meant to serve as an interface for community governance design. The project was led by , and I have already Deacon’s brilliant reflections on the project. took on the development work to implement Deacon’s recommendations. Asher Farr did some experiments with reimagining CommunityRule in Blockly.
CommunityRule was initially developed as a demonstration project by me. While it achieved some exploratory adoption, the (badly designed!) technical underpinnings limited its ability to be modular and adaptable to new challenges.
Results
The SCRF-funded project enabled some important advances:
- Refactoring the application code from vanilla JavaScript to the much more advanced Vue.js
- Moving the database from raw HTML to JSON/YAML, enabling vastly improved data portability
- Redesigning the authoring interface to be more self-explanatory, responsive, and flexible
- Encouraging custom module design as the default, rather than relying on pre-written modules
- Small adjustments in nomenclature and usability
Discussion and Key Takeaways
These changes bring us closer to the goal of connecting a) a visual design interface with b) programmable governance software. For example, we hope that CommunityRule can be used in the future for designing and implementing governance processes using DAO technologies and Web2 services like and . Moving to a JSON-based data model enables us to much more easily do things like:
- Add arbitrary data fields on governance modules
- Deploy custom instances of CommunityRule with custom module sets
- Translate modules into working governance code
One important insight during this process, aided by the Blockly experiment, was recognizing the need for governance modules to be much more precisely specifiable, rather than simply being described in natural language text. As we move closer to enabling computable rules on CommunityRule, we need to gradually lessen our dependence on natural language and support appropriate machine-readable data models.
Implications and Follow-ups
We will continue to develop the basic software for usability and new features. This process will be spurred by much larger pending grant projects, in partnership with the , which we hope will fund CommunityRule development for use by open-source communities and integration with PolicyKit, respectively. Thanks to the groundwork provided by this phase of development, we can hit the ground running on those efforts.
Thank you, SCRF, for your support! And we invite anyone interested to and let us know what you think.
at the Smart Contract Research Forum.