Die rege Diskussion zeigt, das an diesem Thema Interesse besteht - dafür möchte ich Euch sehr danken.
Freifunk möchte dezentral sein und das sind die lokalen Nutzergruppen (Communities) auch. Sie organisieren sich selbst und schließen sich teilweise mit anderen lokalen Nutzergruppen zusammen. Die Art der Zusammenarbeit ist dabei sehr unterschiedlich. Mal eher spirituell, mal handfest, in dem man gemeinsame Infrastrukturen schafft oder die Infrastrukturen einer anderen Community mitbenutzt oder die eigenen zur Mitnutzung freigibt. Zusammenarbeit findet nicht nur in und zwischen organisierten Communities statt, auch Einzelpersonen binden gelegentlich bei einer bestehenden Community an, um die Brücke ins Internet zu schlagen, ohne geografisch zu dieser Community zu gehören. Diese vielfälltige Vernetzung der Menschen untereinander ist es, was gelebte Dezentralität ist. Der Nachteil ist, dass dieses Geflecht für viele Leute, die Freifunk als ein kleines Hobby ansehen und auch für neue Freifunker, ein quasi undurchsichtiges Geflecht ist - ein Wildwuchs.
Trotz einer dezentralen Organisation der „Bewegung Freifunk“ gibt es, sinniger Weise, einige zentrale Services wie die Community-Map und freifunk-karte.de welche auf das zentrale Community Directory aufsetzt. Wer da nicht drin sein möchte muss es auch nicht.
Das Community Directory mag nicht perfekt sein, es bringt jedoch zumindest etwas Licht ins Dickicht, da es regionale Anknüpfungspunkte für Freifunker besser sichtbar macht. Es versucht nicht alle Eigenheiten einer jeden Community zwingend in einer gemeinsamen Datenstruktur abzubilden - es ist jedoch ein guter erster Schritt auf dem Weg regionale Zuordnungen herzustellen.
Als kleinste granulare Stufe auf der Landkarte sehen wir die „Stadt“. Natürlich könnten man auch versuchen noch granularer zu werden, was jedoch die Komplexität erhöht und Bedienbarkeit einschränkt. Je kleinteiliger wir werden, desto schwieriger wird es eine gute Qualität in den Daten aufrecht zu erhalten. Ich spreche mich gegen eine weitere Detailierung aus: also keine Stadtteile, keine Straßenzüge, keine Häuser und keine komplexen (haus-genaue) Polygone auf der Landkarte. Als kleinste darstellbare Einheit benutzten wir das Wort „Stadt“, meinen damit aber eine geschlossene Ortschaft (Stadt, Kleinstadt, Gemeinde, Dorf). Das ist m.E. ein guter Kompromiss für ein solches Projekt. Was passiert mit dem Bauernhaus auf dem freien Land, welches außerhalb von geschlossenen Ortschaften liegt? An dieser Stelle sind wir, aus gutem Grund, in der API nicht ganz Minderheiten-freundlich. Diese Person kann sich mit seinem Knoten technisch bei irgendeiner Community anschließen. Eine eigene Community, die sich in das Community Directory eintragen kann, ist er aber als One-Man-Show nicht. Eine Community soll versuchen quasi „jederzeit“ ansprechbar zu sein, dafür sollen sich mindestens 2-3 aktive Personen zusammenfinden - in der Fläche wird das sehr schwer (geringe Anwohnerzahl) - daher werden sich in der Praxis fast immer die „Sogwirkung“ nächsten „Stadt“ bilden. Das ist quasi der kleinste gemeinsame Nenner was die regionale Zugehörigkeit angeht. Als Landbewohner mit hoher lokaler Identifikation kann man das doof finden (da hilft einem vielleicht der die tolle Natur drüber hinweg), aber wer einen Freifunk-Router aufstellt um anderen (unbekannten) einen freien Zugang, zu so etwas globalen wie das Internet, zu schenken, der denkt doch eigentlich eher in größeren Zusammenhängen. …hoffe ich zumindest. Think bigger! Freifunker, der Du das hier liest, fühle Dich bitte trotzdem in Deiner lokalen Identität ernst genommen.
Auch wenn Freifunk dezentral ist, bedeutet eine zu starke Zergliederung auch immer eine Schwächung - Teile und Herrsche (Historisch war das oft eher: „werde beherrscht“) - je kleingliedriger wir sind, desto weniger finden wir in den Medien und in der Politik statt, das schränkt das Wachstum des Projektes unnötig und künstlich ein. Die aktuelle API mit „Stadt“ als kleinste Einheit macht für mich absolut Sinn und stellt meiner Meinung nach eine gute Balance dar.
Zur Zeit gibt es keine Möglichkeit mehrere Communities pro „Stadt“ abzubilden. Der aktuelle Modus ist, ähnlich wie bei Domains „first come, first served“. Wenn eine Gruppe jedoch einschläft halte ich es für Sinnvoll, dass eine andere Community aus dieser „Stadt“ zukünftig stattdessen in das Community Directory aufgenommen wird. Bis wir einen besseren Modus haben um überlappende Communities abzubilden schlage ich den „the winner takes it all“ Modus (wie im britischen Wahlkampf) vor. Also die Community die (deutlich) die meisten (aktiven) Mitglieder hat bzw. die meisten Knoten betreibt - denn das dürfte für die API-Clients den größten Mehrwert haben. Persönlich meine ich das Fusionen auf „Stadt-Ebene“ angestrebt werden sollten - gemeinsam ist man stärker und es reduziert die Komplexität. Die jeweilige Community ist natürlich frei darin, weiterhin „ihr eigenes Ding“ zu machen und in „Stadt-interner Konkurrenz“ zur eingetragenen Community agieren. Persönlich denke ich, sollte das keine Community tun - Ich mag Menschen die Zusammenarbeit fördern, lieber als Separatisten - aber das ist nur meine persönliche Meinung. Wenn es zwingende Gründe gibt (mir fallen gerade keine ein), die eine weitere Zerfaserung des Netzwerkes rechtfertigen stehe ich diesen (dann) Minderheitsgruppen der jeweiligen „Stadt“ aber trotzdem helfend zur Seite, auch wenn sie damit dann aktuell in die selbstgewählte „Unsichbarkeit in der API“ verschwinden. Wer den Wettbewerbgedanken wirklich „aufreiten“ will muss aktuell halt zusehen, dass er zur Mehrheit wird. Solange die Spielregeln klar sind, finde ich das auch Fair.
Vorschläge / Proposals zum Thema „Spielregeln für die Landbesetzung“ (mit Augenzwinkern) für das Community Directory solten wir dann hier sammeln:
Bei den Community API Dateien geht es primär um die organisatorische Seite - auch wenn wir viele Felder für die technische Seite in den API Dateien haben (das sind zumindest die Wurzeln der API). Bei der technischen Seite gibt es, zugegeben, sehr viel Verwirrung auch leider auch Interpretationsspielraum - ich hoffe das können wir in den nächsten Monaten gemeinsam zunehmend klarer definieren - dazu sollten wir aber einen separates Issue auf Github aufmachen. Ihr seid herzlich eingeladen.
Vorschläge / Proposals zum Thema „Technische Seite“ für die Community API Datei solten wir dann hier sammeln:
Was sind „Meta Communities“? Alle unsere Communties sind gleichberechtigt, es gibt keine Hierachien! Wenn sich mehrere lokale Nutzergruppen gemeinschaftlich mit anderen Nutzergruppen organisieren wollen oder schlicht eine Verbundenheit zu einander ausdrücken wollen, dann kann jede dieser Communities das Feld „metacommunities“ mit dem gemeinsamen Namen gelegen. Es gibt keine Pflicht zur Bildung von Meta Communities - man kann also auch ohne eine Meta Community zusammenarbeiten. Das Feld „metacommunities“: das ist dann der Name der Meta Community. Dieser Name soll NICHT identisch mit dem Namen einer der beteiligten Nutergruppen (Communities) sein. Es ist quasi nur ein Label / Etikett. Jeder der es „trägt“ gehört zu dieser Meta Community. Das Etikett sagt jedoch nichts über die Art der „Verbundenheit“ aus - diese kann esoterisch oder auch handfest sein, sie kann organisatorisch oder auch infrastrukturell sein. Es gibt keine Hierachie! Eine Meta Community ist KEINE eigenständige Entität, es ist nur eine gemeinsame Flage. Wenn eine der teilnehmenden Communities etwas (wie auch immer geartetes) Besonderes ist, dann gibt es dafür derzeit kein Merkmal in der API - Vorschläge sind willkommen, falls es dafür Bedarf gibt.
Vorschläge / Proposals zu „Meta Communities“ für die Community API Datei solten wir dann hier sammeln:
Technische Anbindung von Knoten:
Es dürfen auch Knoten außerhalb der eigenen Community angebunden werden - auch wenn diese dann im Niemandsland oder im Stadtgebiet einer anderen Community liegen. Berlin dürfte z.B. Knoten aus Bayern anbinden. Wie gesagt alle Node-Betreiber (Freifunker) sind frei in Ihrer Wahl, wo sie sich technisch anbinden wollen oder zu welcher Community sie sich zugehörig fühlen wollen. Für die API ist das kein (ernstes) Problem. Die Community, bei der der Freifunker angebunden ist muss dann dafür sorge tragen, dass sein Knoten z.B. in einer NodeList dieser Community, oder bei technischer Anbindung an eine Schwester-Community (aus der selben Meta Community; meine Wortschöpfung), eben durch diese, auftaucht, damit API-Clients diesen Knoten auch finden können.
Knoten auf der Map
Aktuell ist zwar noch die genaue Darstellung solcher Knoten ungelöst, also wie konkret diese Knoten einer Community oder einer geografischen Region zugeordnet werden sollen.
Es gibt Communities die alle Knoten in der Stadt darstellen, egal ob Sie von der eigenen Community betrieben werden oder nicht - wiederum andere Communities zeigen nur die eigenen Knoten an (ggf. über die „Stadtgrenzen“ hinaus) und wiederum andere Communities sind an optimaler Usability für nicht-Freifunker - also WLAN-Hotspot-Nutzer (ich nenn sie mal „Endkunden“, auch wenn es keine „Kunden“ sind) - interessiert und zeigen alle Hotspots an (eigene und fremde Communities, als auch offene WLAN-Hotspots die nicht zu Freifunk gehören). Auch gibt es aktuell Diskussionen, ob eine NodeList für alle Communities in einer Meta Community zentral bereitgehalten werden sollen, oder ob diese je Community API Datei in Teile zerlegt ausgeliefert werden soll. Solange das noch nicht entschieden ist (also Teil der API Spezifikation ist), darf das in allen o.g. Varianten in der API Datei eingetragen werde. Auch hier erwarte ich noch eine interessante Diskussion:
Vorschläge / Proposals zu „Freifunk NodeList Schema“ solten wir dann hier sammeln (ich glaube dieses Repo ist bei dem Thema führend):
Ich wünsch mir, dass alle Communities mit „Besonderheiten“ versuchen die API in diesem Sinne zu verwenden, zumindest aktuell. Gerne helfe ich dabei.
Am Beispiel „Insel Sylt“:
Die kleinsten Einheiten auf dieser Insel sind:
- die Gemeinde „List (Sylt)“
- die Gemeinde „Hörnum (Sylt)“
- die Gemeinde „Wenningstedt-Braderup (Sylt)“
- die Gemeinde „Kampen (Sylt)“
- die Gemeinde „Sylt“ (inkl. aller Ortsteile: Westerland, Tinnum, Morsum, Rantum)
Demnach würde ich hier 5 Community API Dateien anlegen und bei allen das Feld "metacommunity z.B. auf „Inselfunk Sylt“ setzen - oder halt ein anderer Name, der Euch gut gefällt.
Die Communities würde ich z.B. so benennen:
- Freifunk List
- Freifunk Hörsum
- Freifunk Wenningstedt-Braderup
- Freifunk Kampen
- Freifunk Sylt
Alternierende „Meeting Places“: das ist echt etwas „Besonderes“, was die Community API Datei derzeit nicht kann. Sinngemäß geht es darum, dort den Ort zu benennen, bei dem es am einfachsten ist, jemanden von Freifunk anzutreffen. Wenn Ihr 2 Orte habt, muss von euch aktuell eine Entscheidung getroffen werden, welche die „wichtigere“ / „primäre“ Adresse sein soll. Persönlich würde ich mich für den Ort mit mehr „Publikumsverkehr“ / besserer Verkehrsverbindung entscheiden, wobei beide gekannten Orte jeweils am anderen Ende der Insel sind. Das würde für mich als Kriterium schon mal ausscheiden. Wenn beide „gleichwertig“ sind könnt Ihr für die API auch einfach würfeln. Das macht den Perfektionisten nicht glücklich, ist aber ein pragmatischer Ansatz. Diese Adresse würde ich dann in alle Dateien eintragen. Die Besonderheiten, die in der API aktuell nicht erfasst sind, sollten m.E. dann prominent auf Eurer Website auftauchen: hier also einen deutlichen Hinweis auf 2 Orte inkl. Hinweis zur Alternierung.
Für zukünftige API Versionen können Vorschläge diesbezüglich gerne diskutiert werden.
Vorschläge / Proposals zu „Meeting Place“ für die Community API Datei solten wir dann hier sammeln:
Bei Bedarf bitte melden, ich helfe gerne.
Am Beispiel „Freundenberg (Siegerland)“:
Die technische Anbindung von Knoten oder auch technische Begriffe, wie „Domain“, haben für die Bestimmung der Anzahl an Communities (API Dateien) keine bzw. kaum eine Bedeutung. Eine Community gibt es erst, wenn es mind. 2-3 aktive Leute in dieser „Stadt“ (hier Gemeinde) gibt.
In der Meta Community „Siegerland“ sind aktuell folgende Communities:
- Freifunk Freudenberg (Stadt inkl. Stadtteile: Büschergrund, Alchen, Dirlenbach, Oberholzklau)
- Freifunk Siegen (Stadt)
- Freifunk Hilchenbach (Stadt)
Ich würde folgende Community anlegen (wenn es dort mind. 2-3 aktive gibt):
- Freifunk Niederfischbach (eigenständige Ortsgemeinde)
Und diese für diese dann ebenfalls „metacommuntiy“ auf „Siegerland“ setzen.
Hinweis: Für eine Meta Community ist es nicht erforderlich, dass sich die „Stadtgrenzen“ berühren, es sind also auch virtuelle Verbünde möglich z.B. „Freifunk Elfenwiese“ (über ganz Deutschland verstreut; erfundenes Beispiel).
Wenn es in „Betzdorf“ keine Freifunker gibt, dann gibt es auch keine API Datei.
In Betzdorf gibt es meines Wissens aktuell keine Freifunk Community.
Die „Präzision-Level der API“ ist das „Stadtgebiet“.
Bei Bedarf bitte melden, ich helfe gerne.
Puh, ganz schön lang, aber hoffentlich hilft es Licht ins Dunkel zu bringen.
Ich freue mich weiterhin auf rege Teilnahme.