Application to NLnet Entrust - attempt 2

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.

We made it to the next round… :partying_face:

Your project Karrot has been selected for the second round

due to a record breaking amount of submissions it has taken us much longer than expected but it is my pleasure to inform you that your project “Karrot” (2023-08-327) has been selected to enter the second round of the August 2023 call. While the first round is solely based on your proposal, this strict selection round is potentially interactive. As your project is looked into in more depth, the reviewers may need some additional information to properly assess your application, in which case they will contact you.

Note that proposals are reviewed with regards to urgency, relevance and value for money. Unfortunately we will not be able to fund all projects proposed, as much as we would like that. For the next three weeks we will be therefore be thoroughly evaluating the remaining proposals for the second round, during which we may ask you to supply additional details. After that we will inform you on the outcome of this second (and final) selection round.

Questions:

you applied to the 2023-08 open call from NLnet. We have some questions regarding your project proposal Karrot.

Do you see paths for Karrot to achieve wider usage? Are there instances besides Karrot.world, and/or is there interest from others to run an instance? How technically involved is setup and maintenance?

Could you reflect on e.g. Gettogether [1], PlaceCal and Gancio [1], which seems to have noteworthy overlap in their goals?

[1] https://gettogether.community
[2] https://placecal.org
[3] https://gancio.org

What are the unique features that will convince people to choose Karrot?

On you site you promote a number of other use cases besides food sharing you see Karrot fit for. There are indeed quite some overlap in basic community organisation facilitation of activities with specific times and locations. Perhaps other use cases will require slightly different features, raising the question of how modular and configurable Karrot is: to what extent can a group, or an instance admin, change the features/appearance?

Another feature is discovery and discoverability. There are other initiatives like https://www.kartevonmorgen.org and Map - WECHANGE that decouple the service from the map based discovery - but offer no or alternatively many more services. When looking at the endlessly diverse needs of communities, the demand for adding new features, as well as building ones own identity management and access control seems like it will never die down. What is your perspective on this? Do you believe the current service bundle is optimal? To what extent should you build your own, and where do you start integrating external components?

Originally you applied to us with ActivityPub in mind, which would be one way to achieve federation. Meanwhile, this technology has become much more widely accepted and used. Is this still something that you are anticipating, and if so: how would you see that work?

Besides event organisation there is the sharing part. Do you have any insight how much that feature is used? Can you reflect on the maturity, and on how competitive you see this to other solutions such as Mutual Aid [4] or social startup services like Peerby? What makes it scale?

[4] https://mutual-aid.app (which like https://welcometomyplace.org is part of the ActivityPods project we are supporting

Thank you very much for your timely reply. And have a great week!

And our reply:

you applied to the 2023-08 open call from NLnet. We have some questions regarding your project proposal Karrot.

I hope this is sufficiently timely reply, I unfortunately got covid last week and my brain was turned to mush. Still a bit mushy, but good enough to write a reply now!

Do you see paths for Karrot to achieve wider usage? Are there instances besides Karrot.world, and/or is there interest from others to run an instance? How technically involved is setup and maintenance?

We’re not aware of any other instances, and haven’t put so much focus on that path, besides making it possible to self-host. One of the larger groups has explored the possibility of self-hosting their own instance.

There is a co-op cloud recipe for self-hosting (Co-op Cloud Recipes) which is the easiest way, and only requires basic server skills (I can imagine also adding a recipe for https://yunohost.org in the future). Alternatively we publish built versions at https://download.karrot.world. It’s a standard python + postgres + redis app using environment variables for configuration, so nothing unusual for those comfortable with managing a server.

For encouraging wider usage, we envisage connecting deeper with other people, projects and groups that have aligned philosophy to bring features to other groups that can benefit from Karrot. There are not so many tools available that support self-organised communities, but getting the message out is challenging for a project of limited resources such as Karrot.

We’ve recently communicated with people from various projects including https://neighbourhooddemocracy.org, https://newpublic.org, https://www.sociocracyforall.org, and https://www.communitytech.network/ which gives you some sense of some of the types of initiatives that are interesting to us.

Could you reflect on e.g. Gettogether [1], PlaceCal and Gancio [1], which seems to have noteworthy overlap in their goals?

[1] https://gettogether.community
[2] https://placecal.org
[3] https://gancio.org

These are all focused on publishing public events. Karrot’s primary purpose is for a group of people to organise themselves as a community. One part of that is sharing public events, which they can do on Karrot, but it’s only one part of what it takes to organise a community.

What are the unique features that will convince people to choose Karrot?

Currently, the groups makes use of the ability to organise very specifically who is going to do what, to collect the feedback about what happened, and to get an overview of what is happening. That level of accountability is very important for many of the groups, and we built those features in collaboration with them to meet their needs specifically.

Additionally, there are not many platforms built on the principle of self-organised governance, and so most other platforms suffer from the “admin for life” problem.

On you site you promote a number of other use cases besides food sharing you see Karrot fit for. There are indeed quite some overlap in basic community organisation facilitation of activities with specific times and locations. Perhaps other use cases will require slightly different features, raising the question of how modular and configurable Karrot is: to what extent can a group, or an instance admin, change the features/appearance?

We made the types of activities (and places) fully customizable, so if a group is doing gardening, they can create a “Watering” activity at a “Garden” place, and select appropriate icons. Users can then filter for those types. The default types added when you create a group can be removed entirely.

Over time we anticipate more customizable features (e.g. which information to collect via feedback after an activity, or customizable UI menus). So far our method has been to build for specific use-cases (initially only “pickups” at “stores”), and then generalize later when we have a new use case.

There are many more standard features we can develop though which are quite clearly needed across many use cases (e.g. newsletters, public event signup, sociocratic/democratic processes). In this application we applied to work on some of these core features for democratic community organising (roles, polls, sanctions).

Another feature is discovery and discoverability. There are other initiatives like https://www.kartevonmorgen.org and Map - WECHANGE that decouple the service from the map based discovery - but offer no or alternatively many more services. When looking at the endlessly diverse needs of communities, the demand for adding new features, as well as building ones own identity management and access control seems like it will never die down. What is your perspective on this? Do you believe the current service bundle is optimal? To what extent should you build your own, and where do you start integrating external components?

I’d actually love to make it so that groups on Karrot can automatically be included in these various map aggregator projects (https://murmurations.network/ is another map project) via API connection.

From our research, groups struggle using multiple tools patched together and they want to have the core features in one tool, as proprietary community organising platforms tend to have. The communities are often not very comfortable with technology and people get confused easily.

To me it makes a lot of sense to use external components where their use is transparent to the user (e.g. usable via API), and not directly related to the self-organized aspects of Karrot (as tools aren’t built in that way usually). You could also consider we already use many external components in terms of the many libraries and tools we make use of that greatly speeds up development of features.

Originally you applied to us with ActivityPub in mind, which would be one way to achieve federation. Meanwhile, this technology has become much more widely accepted and used. Is this still something that you are anticipating, and if so: how would you see that work?

I would love to federate using ActivityPub, it could work for multiple aspects:

  • supporting a channel of communication between groups on different instances (or platforms)
  • federating public events (what we applied with before) across platforms
  • new ActivityPub domains, e.g. offers/needs

I think it’s best to not try and become another microblogging platform, but extend ActivityPub usage into community organising use cases. This is work for the future, hopefully in collaboration with projects with similar intentions (e.g. Bonfire).

Besides event organisation there is the sharing part. Do you have any insight how much that feature is used? Can you reflect on the maturity, and on how competitive you see this to other solutions such as Mutual Aid [4] or social startup services like Peerby? What makes it scale?

The sharing part is not used much at all so far, we built it as basic as possible with the idea that if it was useful, people would request additional features, which has not happened. It’s possible other types of groups/communities would get more use from it, but it would make sense to understand that before adding more features to it.

I tried out mutual-aid.app, although the experience was limited, as I had no contacts to share anything with. I suspect a lot of people would experience this as very “techy” tool as it currently is. I love the potential of solid combined with ActivityPub though, I often wondered what it would take to build something like Karrot on top of those technologies (and whether it would actually benefit the communities).

Peerby seems to be focused on monetizing transactional exchange between neighbours, faciliated by the platform, whereas we would like to support communities to be able to make collective decisions and work together on things that are important to them. Self-organized community takes time to grow, but we think it’s important.

[4] https://mutual-aid.app (which like https://welcometomyplace.org is part of the ActivityPods project we are supporting

Thank you very much for your timely reply. And have a great week!

Thanks! You too, take care.

Cheers,

Nick (and the Karrot Team)

still going strong!

you applied to the NGI0 Entrust open call from NLnet, round August 2023 - which as you will likely have noticed (from the significant delay incurred) has been our most submitted call ever. Currently a selection of the projects is pending the final stage review by an independent review committee to validate their eligibility, and we are happy to inform you that this includes your project “Karrot” (2023-08-327). You know how it works: should your project pass that final hurdle (which under normal circumstances it should, but please do not seek external publicity until it is officially confirmed), the selection will be made public and we will contact you in order to establish a Memorandum of Understanding. The final amount of the grant will be determined at that point.

We will then also need to share some information about the project both with the general audience and with the European Commission. In the interest of time, we ask you to prepare a one paragraph management summary of the project. For examples we refer you to NLnet; NGI0 Entrust

We kindly request you to send us this summary as soon as possible.

If you meanwhile have any questions, please let us know.

1 Like

Success! :moneybag:

Congratulations! We have received the green light from the independent review committee. That means your project “Karrot” (2023-08-327) is one of the selected proposals eligible to receive a grant from NLnet foundation in the August 2023 NGI0 Entrust call, alongside 54 other exciting new projects. It is official now, which means you are now free to go public with any announcements you want to make. Note that the final amount of the grant will be determined in dialogue with you, also taking into account any new insights during the negotiations. Please read the attached document for an overview of the key information you’ll want to know (do read it, it is different from before).

Also, here’s the final signed Annexe part of the agreement (I removed the first 2 pages as they contain peoples personal information):

2023-08-327_signed-annexe-only.pdf (47.7 KB)