Following our failed application (see Application to NLnet Entrust), we got feedback, and applied again, taking into consideration their comments. Here’s our next application:
Project
code
2023-08-327
project name
Karrot
fund
Entrust_Fund
requested amount
€ 17500
website
synopsis
Karrot is a community led open-source project supported by a team of regular contributors; Karrot-team. It is used by 30-40 groups and around 1300 people on a monthly basis who participate in local initiatives. The majority of the initiatives using Karrot are related to foodsaving and sharing practices while recently a number of environmental campaigning groups started using Karrot.
In addition to facilitating the sharing of resources, Karrot supports groups’ self-organisation and community building which we aim at further supporting with the development of a series of new features. More specifically we will further develop the existing roles and permissions system, add features through which groups can run commmunity-wide and subgroups’ polls and features through which groups can enact graduated sanctions according to their needs.
experience
All five of us who are involved in writing this applications are regular contributors in Karrot; members of the Karrot team. Having various backgrounds, we create an interdisciplinary team collaborating on sustaining and further designing Karrot.
During 2020-2022 we undertook a series of engagements with initiatives using Karrot to understand their practices and map their needs. The features we aim at developing emerged out of these engagements and are expected to support community governance and organising.
Vasilis is a PhD student in Newcastle University. His research centers around the design of digital technologies for collaborative, solidarity and gift economies. He is an amateur gardener, a member of a community rural makerspace. He is generally interested in community supported and commons oriented governance models.
Nick is a full stack software developer focusing on grassroots community projects, exploring the potential for technology to improve co-ordination and governance. He was previously involved in development for foodsharing.de and trustroots.org where he expanded his skills beyond software development to the many other aspects of open source community tech: facilitating meetings, task planning, communications, and speaking at conferences.
Nathalie holds an academic background in biochemical engineering, dedicated her energy to grassroots movements and social change being involved in Karrot and foodsharing.de. Her topics are sociocracy, food systems, commons & open-source and personal growth. She is a sociocracy practitioner certified by Sociocracy for All.
Tilmann used his experience with foodsharing.de to kick-start the development of Karrot in 2016. He is a long-time member of the Kanthaus project, a physical space dedicated to promoting sharing and pursuing social-ecological transformation.
Bruno is a co-founder of a foodsharing initiative based in Gothenburg, Sweden and local community organiser. He is an enthusiast of open-source software to support communities and groups in their activities.
usage
All the costs are for human labour, at a rate of €30/hour.
Custom roles and permissions system
Currently, groups have access to Karrot’s two built-in roles “editor” and “approved”. People get the roles through giving each other “trust Karrots”, or “leaves” using thresholds that we, the Karrot team, configure. The “editor” role currently gives permission to manage everything about the group.
Actual groups that use Karrot have many other roles, and they would like to be able to organise them using Karrot, so we will allow them to create custom roles within a group, and configure them as they wish. We will support multiple methods by which people get a new role, so in addition to getting a role by receiving trust from their fellow members, some roles are suitable for self-assignment.
To make these more useful, it will be necessary to break apart the “editor” role into a flexible set of permissions, which can then be assigned to roles as the group desires, e.g. “manage group”, “manage places”, “manage activities”, “manage applications”, “start membership review”.
We already have a sufficient knowledge of the structure of the groups, so do not need to conduct further research.
Tasks:
- design the mechanism in detail, and seek feedback €1500
- develop custom roles feature €2000
- develop permissions system €2000
- documentation for custom roles and permissions €1000
Polls
Many times groups have asked us for polls, and they currently use external tools for this, but that is problematic as it’s not restricted to group members, and external systems often confuse less technologically comfortable people. Some groups have already appropriated other features within Karrot to try achieve this functionality.
We will add general purpose polls that groups can use for formal or informal purposes within their groups. It should be configurable how they work to support the groups real use cases.
Best practise in polls can be understood by looking at WhatsApp, loomio, discourse, etc. to come up with an approach that will feel familiar and easy to use.
It will be extensible to incorporate new types of polls over time, with a potential for being used to facilitate consent-based processes, which some groups use in their internal organisation.
Tasks:
- design and research appropriate polls mechanisms €1500
- implement polls €3000
- documentation for polls €1000
Sanctions
We currently support a democratic processes for issues that occur within groups, this supports a group to collectively decide whether to remove a user from the group. For many situations this outcome is too severe, and many times groups have requested softer sanctions, e.g. a 1 month “timeout” from accessing the group.
We understand this quite well within the groups now, and lean on established wisdom from Elinor Ostrom and others writings on commons management principles, specifically her work on graduated sanctions.
The sanctions applied should be listed within the group, time limited, and sufficiently flexible (e.g. sanction a member’s participation within a single place in the group). It will support “offline” sanctions by allowing a text description option that a group has agreed upon.
Sanctions would be applied through the existing “issues” system as additional outcomes that can be added. It should be considered that in the future sanctions could be connected with the recently developed “Agreements” feature (which allows groups to specify their rules and principles clearly).
Tasks:
- design mechanism, and articulate exact sanctions to be implemented €1500
- implement sanctions €3000
- documentation for sanctions €1000
comparison
Our engagements with the groups that use Karrot, brought out a series of issues and challenges the communities are facing. Having to combine and configure different digital tools (commercial and not) to self-organise has been described to us as a common unsustainable and precarious practice which asks for a lot of manual work and temporal improvisations. The groups request has been to develop Karrot in ways that can support more practices for organising as a community. Features which are missing from Karrot and other tools available and which eventually could improve groups performance and streamline members democratic collaboration towards a shared goal.
The features of Karrot are inspired by a variety of digital tools, so comparisons can be made with the different types of tool: communication (e.g. whatsapp, slack, mattermost, matrix), voting (e.g. loomio, whatsapp polls), volunteer co-ordination tools (various, usually hierarchical). There is nothing that we are aware of that brings these aspects together for grassroots community organising purposes.
Karrot is one of the few tools in practical everyday use where democratic processes that take place within the system can actually enact changes within that same system (voting tools can show you the outcome, but cannot enact it), within Karrot user removal is only possible through democratic discussing and voting process, and roles can only be obtained through democratic trust system.
challenges
The proposed new features do not incur any particular technical challenges beyond the normal range of challenges when developing features.
The most challenging aspect is that two of the features (roles and sanctions) involve restricting access to various parts of a group for different users, and this needs careful coding to ensure all data access is accounted for, and considerations to ensure database queries remain performant as they get more complex. It will likely require some denormalization of data, and possibly use of caching.
ecosystem
The groups using Karrot and the Karrot-team are the core of Karrot’s ecosystem. This project specifically takes an iterative route. We reached out to groups previously, we are designing a series of features based on this, then we’ll get the feedback on the designs from the groups and finally implement them whilst getting further feedback during development and provide adequate instructions and dialogue on how they can be use by existing and new communities.
Today there are 5 regular contributors who participate in the Karrot-team and 30-40 groups using the platform. Groups’ size varies. Smaller groups have 5-10 members while some big ones have more than 200. In the periphery of Karrot there are other projects pursuing similar and complementary aims, place-based communities and software-based ones, and institutions (universities, research collectives, other community tech projects) that work on digital commons and digital sovereignty. We might seek for advice from these in various stages of this project e.g. from Bonfire contributors in advancing Karrot roles and permission features.