Archiv des Autors: Florian Dieckmann

Zur Überwindung einer suboptimalen Versorgung mit freier Open-Source-Software am Beispiel von CiviCRM

[Abtract] Der Text untersucht die suboptimale Versorgung mit freier Open-Source-Software (FOSS) am Beispiel von CiviCRM, einer seit 20 Jahren weltweit für und von Nicht-Regierungs-Organisationen (NGO) entwickelten Software für Constituent-Relationship-Management, die innerhalb der EU über ein hohes Marktpotential verfügt und bereits von Tausenden NGO innerhalb der EU genutzt wird. Die Suboptimalität der Versorgung mit CiviCRM wird im Text weder als temporäres Defizit noch als Ergebnis individuellen Versagens verstanden, sondern als stabiler Entwicklungspfad, der aus rationalen Einzelentscheidungen der beteiligten Akteure hervorgeht. Analytisch wird zwischen der Versorgung mit Softwarefunktionen und der Aneignungsfähigkeit der Software unterschieden. Der Text gliedert sich in vier Schritte: Er beschreibt zunächst eine beobachtbare Suboptimalität von Nutzung und Verbreitung, erklärt diese als emergentes Resultat rationaler Entscheidungen im Sinne des Kollektivgutproblems nach Mancur Olson und diskutiert anschließend institutionelle Governance-Ansätze in Anlehnung an Elinor Ostrom zur Überwindung der Suboptimalität. Ziel dieser Analyse ist es, das bislang nicht gehobene Wohlfahrtspotential der Software sichtbar zu machen und Ansatzpunkte zu identifizieren, mit denen dieses unter realistischen institutionellen Bedingungen gehoben werden kann. In einem Exkurs wird die bestehende Governance-Struktur von CiviCRM rekonstruiert und hinsichtlich ihrer Reichweite, Repräsentativität und Leistungsfähigkeit eingeordnet. Ergänzend enthält er eine Risikoanalyse mit Blick auf die geopolitische und rechtliche Verankerung zentraler Elemente der Governance von CiviCRM in den USA sowie einen explorativen Versuch, das Ausmaß der suboptimal gebundenen Ressourcen und Wohlfahrtspotenziale zumindest näherungsweise zu quantifizieren. Abschließend wird die bestehende Situation nicht nur als strukturelles Problem, sondern auch als strategische Chance interpretiert: insbesondere für Implementierungsagenturen, die durch standardisierte Leistungen, Skalierung und eine konstruktive Einbindung in Governance-Strukturen zur Transformation des bestehenden Entwicklungspfades beitragen können. Weiterlesen

Ein kleines Fallbeispiel zur politischen Ökonomie freier Open-Source-Software (FOSS)

In einem praktischen Administrationsfall sollte in einem CRM-System die Umwandlung eines „Interessenten“ (Lead) in ein „Verkaufspotential“ (Opportunity) so angepasst werden, dass drei zusätzliche Datenfelder automatisch übernommen werden. Funktional handelt es sich um eine triviale Anforderung: Drei Felder existieren sowohl im Ausgangs- als auch im Zielobjekt, und ihre Werte sollen beim Konvertierungsvorgang übertragen werden. Technisch erwies sich die Anpassung jedoch als überraschend aufwendig. Weiterlesen

Überlegungen zur Möglichkeit und Unmöglichkeit des Gebrauchs von Klarnamen in der politischen Öffentlichkeit des Fediverse.

Der Anlass für diesen Versuch ist die Ankündigung von Michael Blume am 27.01.2026, seine Serie des „morgendlichen Tässle Kaffee“ auf Mastodon zu beenden. Er schreibt, er stelle sich „mit Klarnamen täglich Anwürfen und Angriffen anonymer Accounts“ und beende seine jahrelange Serie als Zeichen stillen Protests in Folge der Attacken gegen ihn am Holocaust-Gedenktag. Dieser Vorgang macht mich betroffen und weckt in mir den Wunsch, ihm beizuspringen. Mehr noch aber führt Michael mir vor Augen, wie dringend es ist, hinsichtlich des Gebrauchs von Klarnamen, Pseudonymen und Kampfnamen begrifflich Klarheit zu gewinnen. Diese Klärung ist Ziel dieses Essays. Der bürgerliche Name stellt keine neutrale Form politischer Verantwortlichkeit dar, sondern er stellt eine institutionelle Kopplung zwischen Person, Biographie und politischer Äußerung her – mit erheblichen Folgen für Anerkennung, Konfliktverarbeitung und demokratische Deliberation. Es hat Gründe, warum Willy Brandt nicht als Herbert Ernst Karl Frahm in Erinnerung ist. Mein Ausgangspunkt ist, Identität als fragile Erzählung zu begreifen. In einer individualisierten Gesellschaft wird gerade dadurch jede politische Äußerung zum persönlichen Risiko. Denn die Poppersche Trennung von Person und Idee ist nicht gesichert. Pseudonymität und institutionelle Entpersonalisierung verstehe ich deshalb als Technik, politische Teilhabe zu stabilisieren. Das zeigt gerade der Blick auf Pseudonyme und Kampfnamen in der Geschichte. Namensführung verhält sich stets eben auch zur Struktur von Öffentlichkeiten. Weiterlesen

SearchKit-Vorlage für eine Themen- und Fallliste

[
[
"SavedSearch",
"save",
{
"records": [
{
"name": "Themen_und_Fallliste",
"label": "Themen- und Fallliste",
"api_entity": "Case",
"api_params": {
"version": 4,
"select": [
"id",
"subject",
"status_id:label",
"case_type_id:label",
"start_date",
"end_date"
],
"orderBy": [],
"where": [],
"groupBy": [],
"join": [],
"having": []
}
}
],
"match": [
"name"
]
}
],
[
"SearchDisplay",
"save",
{
"records": [
{
"name": "Themen_und_F_lle",
"label": "Themen- und Fälle",
"saved_search_id.name": "Themen_und_Fallliste",
"type": "table",
"settings": {
"description": null,
"sort": [],
"limit": 50,
"pager": [],
"placeholder": 5,
"columns": [
{
"type": "field",
"key": "id",
"label": "Fall-ID",
"sortable": true
},
{
"type": "field",
"key": "subject",
"label": "Betreff Fall",
"sortable": true,
"link": {
"path": "",
"entity": "Case",
"action": "view",
"join": "",
"target": "",
"task": ""
},
"title": "Zeige Thema/Fall"
},
{
"type": "field",
"key": "status_id:label",
"label": "Fall Status",
"sortable": true
},
{
"type": "field",
"key": "case_type_id:label",
"label": "Falltyp",
"sortable": true
},
{
"type": "field",
"key": "start_date",
"label": "Fall Startdatum",
"sortable": true
},
{
"type": "field",
"key": "end_date",
"label": "Enddatum des Falls",
"sortable": true
}
],
"actions": true,
"classes": [
"table",
"table-striped"
],
"actions_display_mode": "menu"
}
}
],
"match": [
"saved_search_id",
"name"
]
}
],
[
"Afform",
"save",
{
"records": [
{
"name": "afsearchThemenUndFLle",
"type": "search",
"title": "Themen und Fälle",
"placement": [],
"placement_filters": [],
"icon": "fa-landmark",
"server_route": "civicrm/themen-und-faelle",
"is_public": false,
"permission": [
"access CiviCRM"
],
"permission_operator": "AND",
"submit_enabled": true,
"create_submission": false,
"manual_processing": false,
"allow_verification_by_email": false,
"autosave_draft": false,
"navigation": {
"parent": "Cases",
"label": "Alle Themen und Fälle",
"weight": 1
},
"layout": "

\n

\n \n \n \n

\n \n

\n",
"confirmation_type": "redirect_to_url"
}
]
}
]
]

SearchKit-Vorlage für eine einfache Kontakteliste

[
[
"SavedSearch",
"save",
{
"records": [
{
"name": "Kontakt_finden",
"label": "Akteure finden",
"api_entity": "Contact",
"api_params": {
"version": 4,
"select": [
"id",
"contact_type:label",
"sort_name",
"contact_sub_type:label",
"Contact_Website_contact_id_01.url",
"Contact_Email_contact_id_01.email"
],
"orderBy": [],
"where": [],
"groupBy": [],
"join": [
[
"Website AS Contact_Website_contact_id_01",
"LEFT",
[
"id",
"=",
"Contact_Website_contact_id_01.contact_id"
]
],
[
"Email AS Contact_Email_contact_id_01",
"LEFT",
[
"id",
"=",
"Contact_Email_contact_id_01.contact_id"
],
[
"Contact_Email_contact_id_01.is_primary",
"=",
true
]
]
],
"having": []
}
}
],
"match": [
"name"
]
}
],
[
"SearchDisplay",
"save",
{
"records": [
{
"name": "Akteure",
"label": "Kontakte / Akteure",
"saved_search_id.name": "Kontakt_finden",
"type": "table",
"settings": {
"description": null,
"sort": [
[
"sort_name",
"ASC"
]
],
"limit": 50,
"pager": [],
"placeholder": 5,
"columns": [
{
"type": "field",
"key": "id",
"label": "CiviCRM-ID",
"sortable": true
},
{
"type": "field",
"key": "contact_type:label",
"label": "Kontaktart",
"sortable": true
},
{
"type": "field",
"key": "sort_name",
"label": "Sortiername",
"sortable": true,
"link": {
"path": "",
"entity": "Contact",
"action": "view",
"join": "",
"target": "",
"task": ""
},
"title": "Zeige Kontakt"
},
{
"type": "field",
"key": "Contact_Website_contact_id_01.url",
"label": "Kontakt Webseiten: Webseite",
"sortable": true
},
{
"type": "field",
"key": "Contact_Email_contact_id_01.email",
"label": "Kontakt E-Mails: E-Mail",
"sortable": true
}
],
"actions": true,
"classes": [
"table",
"table-striped"
],
"actions_display_mode": "menu"
}
}
],
"match": [
"saved_search_id",
"name"
]
}
],
[
"Afform",
"save",
{
"records": [
{
"name": "afsearchAkteureFinden",
"type": "search",
"title": "Kontakte / Akteure finden",
"placement": [],
"placement_filters": [],
"icon": "fa-list-alt",
"server_route": "civicrm/akteure",
"is_public": false,
"permission": [
"access CiviCRM"
],
"permission_operator": "AND",
"submit_enabled": true,
"navigation": {
"parent": "Search",
"label": "Kontakte / Akteure finden",
"weight": 0
},
"layout": "

\n

\n \n \n

\n \n

\n“,
„confirmation_type“: „redirect_to_url“
}
]
}
]
]

Weiterführende Überlegungen zu Issue Management mittels CiviCRM in kommunalpolitischen Arenen

Ausgangspunkt der dargelegten Überlegungen ist die laufende Konfiguration einer CiviCRM Standalone-Instanz im Projekt unter https://worms.social auf der Grundlage meiner Erörterung einer Umsetzung eines Stakeholder- und Issue Managements mit CiviCRM. Die konkrete Instanz soll dem Stakeholder- und Issue Management in der kommunalen Arena dienen sowie der Organisation und der Durchführung von Aktionen. Handlungsleitend ist hier die Idee, dass der Aufbau einer im Fediverse föderierenden Struktur lokaler Öffentlichkeit wie kein Selbstläufer ist, sondern dass ein Onboarding interessierter Kreise einer kommunalen Arena im Fediverse aktiv gesteuert werden muss, wobei CiviCRM das Arbeitsmittel für diesen Prozess ist. Weiterlesen

Umsetzung eines Stakeholder- und Issue Managements mit CiviCRM

Issues im Kontext von Organisationen, Personen, Gremien und ArenenIn diesem Essay beschreibe ich, wie Mitglieder eines politischen Vereins (z.B. einer politischen Partei, eines Verbands, einer Initiative, usw.), politisch ambitionierte Personen, Social Entrepreneure oder Mitarbeiter*innen partikularinteressenvertretender Agenturen, „Constituent Relationship Management“ oder auch „Citizen Relationship Management“ mittels der Software CiviCRM nutzen können, um (1) Organisationen und Personen als Anspruchshalter (stakeholder) in politischen Arenen zu erfassen und (2) deren Ansprüche (stakes) in Arenen oder an Themen (issues), die in diesen Arenen bearbeitet werden. CiviCRM wird dabei zu einem Teil der alltäglich genutzten Infrastruktur politischer Arbeit, in der eine beliebige Anzahl an Nutzer*innen in unterschiedlichen Rollen zu einer beliebigen Anzahl an Themen und Ereignissen zusammenarbeiten können.

Weiterlesen

Zur Reform der politischen Parteien

Ich versuche im Folgenden die Informationsverarbeitungsleistung einer politischen Partei als ihre eigentlich interessante und wesentliche „demokratische“ Funktion herauszustellen. Ich vertrete die These, dass ca. bis in die 1980er Jahre dies ihr Wesenskern gewesen ist. Die Entwicklung seither ist im Grunde eine Art von Verfall und Bedeutungsverlust. Ich frage mich, wie wir zum informationsverarbeitenden Wesenskern des politischen Vereins zurückkehren und stelle dazu eine erste Überlegung an. Weiterlesen