1. Warum Bounties besser sind als „Wer möchte helfen?“
Aufrufe für Freiwillige erhalten einmalige Antworten. Ein Mitglied hilft einmal, fühlt sich gut und zieht sich wieder zurück – weil es keine Aufzeichnung, keine Belohnung, keine Nachverfolgung gab. Eine Bounty verwandelt dieselbe Anfrage in einen öffentlichen, bepreisten, zustandsbehafteten Vertrag: Titel, Belohnung, Eigentümer, Status und Verlauf, den jeder im Server einsehen kann.
Die Bepreisung ist der entscheidende Punkt. Eine 20-Euro-Bounty für eine Dokumentationsaufgabe signalisiert, dass die Arbeit einen echten Wert hat. Mitglieder, die sich niemals freiwillig melden würden, reagieren auf bezahlte Arbeit, weil bezahlte Arbeit die Unklarheit beseitigt, ob ihr Einsatz gewürdigt wird.
2. Der Lebenszyklus: vier Befehle, fünf Zustände
Sovereign implementiert Bounties als strikte Zustandsmaschine: OPEN → IN_PROGRESS → REVIEW → PAID, mit einem expliziten CLOSED-Pfad für aufgegebene Beiträge. Jeder mit einer verknüpften Identity kann eine Bounty mit `/bounty create <Titel> | <Betrag>` (mindestens 5 EUR, in Cents gespeichert) erstellen, offene Bounties mit `/bounty list` durchsuchen, eine mit `/bounty claim <ID>` annehmen und fertige Arbeit mit `/bounty done <ID>` einreichen.
Die Zustandsmaschine übernimmt die Moderationsarbeit für Sie. Eine Bounty kann nicht zweimal beansprucht werden, der Ersteller kann seinen eigenen Beitrag nicht beanspruchen, und nur der zugewiesene Bearbeiter kann einreichen. Jeder Übergang benachrichtigt die richtige Person: Der Ersteller erhält eine DM, wenn seine Bounty beansprucht wird und erneut, wenn Arbeit eingereicht wird, und die Einreichung landet im Dashboard Exchange zur Genehmigung.
Gelder werden erst nach expliziter Genehmigung im Dashboard freigegeben. Das hält den Prozess menschlich, wo es darauf ankommt – Vertrauen – und überall sonst automatisiert.
// Command routing and the guard clauses that make the state machine safe
switch (action) {
case 'create': return await createBounty(tenantId, member.id, args); // -> OPEN
case 'list': return { reply: await listBounties(tenantId) }; // 5 latest OPEN
case 'claim': return await claimBounty(tenantId, member.id, args); // OPEN -> IN_PROGRESS
case 'done': return await completeBounty(tenantId, member.id, args); // IN_PROGRESS -> REVIEW
}
// Guards enforced inside the transition functions:
// - status must match the expected state or the command is rejected
// - creatorId !== workerId (no self-claims)
// - only the assigned workerId may call /bounty done
// Funds are released after owner approval: Dashboard > Exchange (REVIEW -> PAID)3. Bounties so abstimmen, dass sie die Bindung fördern, nicht nur den Output
Bounties, die funktionieren, sind klein, spezifisch und an einem Abend zu gewinnen. Eine Community, die drei oder mehr neue Bounties pro Woche veröffentlicht, gibt Mitgliedern einen ständigen Grund, den Server zu überprüfen: offene Arbeit ist ein regelmäßig aktualisierter Grund zur Rückkehr, was genau das Verhalten ist, das Retention Engineers zu erzeugen versuchen.
Der kumulative Effekt besteht darin, Bounties für Dinge zu veröffentlichen, die den Betrieb der Community verbessern: Onboarding-Skripte, Dokumentation, Clip-Erstellung, Moderationsabdeckung, Event-Logistik. Jede abgeschlossene Bounty ist ein dauerhaftes Asset, kein einmaliges Ergebnis.
Das Minimum filtert Rauschen heraus. Eine Bounty unter 5 EUR ist den Overhead der Zustandsmaschine oder die Aufmerksamkeit, die sie von echter Arbeit ablenkt, nicht wert. Die Preisuntergrenze ist, wie das REVIEW-Gate, Betrugs- und Spam-Kontrolle, verpackt als Produktregel.