Fediverse

Wer sich mit sozialen Netzwerken wie Mastodon beschäftigt, wird den Begriff des Fediverse bereits gehört haben. Das Kofferwort, bestehend aus Federation und Universe, bezeichnet ein Netzwerk verschiedener sozialer Plattformen, die nicht von einem einzigen Anbieter betrieben werden, sondern auf vielen unabhängigen Servern laufen und mittels offener Protokolle miteinander verbunden sind.

Anders als in den klassischen Walled Gardens à la X, Facebook oder YouTube, wo jede Plattform ein geschlossenes System darstellt, können im Fediverse Nutzer plattformübergreifend miteinander interagieren. Oft genügt bereits ein einziger Account, um Inhalten über verschiedene Dienste hinweg zu folgen und zu kommentieren, z. B. um über Mastodon einem Pixelfed-Account zu folgen.

Ein Ausschnitt des Fediverse

Ein großer Vorteil der Föderation ist die Robustheit. Es gibt keinen Single Point of Failure. Fällt eine Instanz aus oder wird abgeschaltet, betrifft das nur dessen Nutzer, nicht aber das gesamte Netzwerk.

Spezial-Communitys können eigene Instanzen mit spezifischen Moderationsregeln oder Features betreiben, die auf ihre Bedürfnisse zugeschnitten sind. Nutzer haben die Wahl, sich einer Instanz anzuschließen, deren Ausrichtung und Richtlinien ihnen zusagen, oder selbst einen Server aufzusetzen.

Andererseits bedeutet die dezentrale Föderation auch, dass kein einzelner Akteur vollständige Kontrolle über Inhalte und Abläufe hat. Zentralisierte Netzwerke können schneller agieren, einheitliche Richtlinien durchsetzen und technisch einfacher skalieren, da alle Daten an einem Ort liegen.

Im Fediverse müssen sich die Betreiber der einzelnen Instanzen abstimmen, um z. B. Spam oder Missbrauch einzudämmen. Jede Instanz moderiert primär für sich. Auch sind föderierte Systeme komplexer. Der ständige Austausch zwischen Instanzen erfordert robuste Protokolle und kann die Infrastruktur bei hohen Aktivitätspeaks erheblich beanspruchen.

Im Rahmen des Artikels soll vorrangig auf den Teil des Fediverse eingegangen werden, der die ActivityPub-Spezifikation nutzt. Andere Mitglieder des Fediverse im weiteren Sinne, wie Bluesky als Nutzer des AT-Protokolls oder Diaspora mit dem gleichnamigen Protokoll, werden nur angerissen.

Geschichte

Der Grundgedanke von Dezentralität war schon früh im Internet verankert; das E-Mail-System ist bis heute ein anschauliches Beispiel für ein föderiertes Netzwerk. Jeder kann E-Mail-Server aufsetzen und in der Theorie ohne Probleme mit anderen E-Mail-Servern kommunizieren. Auch wenn es im E-Mail-System in den vergangenen Jahrzehnten zu enormen Zentralisierungen gekommen ist, ist es im Kern immer noch ein dezentrales System.

Mit dem Web der späten 90er und beginnenden 2000er Jahre entstanden persönliche Websites, Webringe, RSS/Atom-Feeds und frühe Blogging-Ökosysteme. Technisch dominierten zwar zentralisierte Plattformen wie Blogger.com, aber gleichzeitig gab es einen starken Drang zur Selbsthostbarkeit.

Besonders RSS und Atom können als gedankliche Vorläufer des Fediverse gelten, da sie schon früh das automatische Abonnieren von Inhalten über verschiedene Server hinweg ermöglichten.

OStatus

Sozial wurde Föderation im Web Ende 2008. Das damals von Evan Prodromou entwickelte Protokoll OpenMicroBlogging, ab 2010 OStatus genannt, kombinierte mehrere offene Standards, namentlich Atom, PubSubHubbub, Salmon und WebFinger, um Follower-Beziehungen, Status-Updates und Interaktionen serverübergreifend möglich zu machen.

Allerdings war OStatus technisch fragmentiert, schwer erweiterbar und bot keine echte Möglichkeit, komplexere Interaktionen standardisiert abzubilden.

Mit Identi.ca, welches 2008 gestartet wurde, und dem zugrunde liegenden Software-Stack StatusNet entstand das erste große föderierte Microblogging-Netzwerk. Später nutzten auch GNU social und Friendica Varianten des OStatus-Stacks.

Zeitgleich entwickelte sich mit Diaspora ab 2010 eine weitere föderierte Plattform, die auf einem eigenen Protokoll basierte, aber das Prinzip dezentraler, selbstverwalteter Instanzen ebenfalls konsequent umsetzte.

2013 wurde die Plattform Identi.ca auf pump.io migriert, woraufhin StatusNet faktisch eingestellt wurde. Auch wenn die pump.io-Plattform mittlerweile Geschichte ist, legte sie einige technische Grundlagen für das spätere ActivityPub.

Die im Juli 2014 gegründete W3C Federated Social Web Working Group entwickelte einen neuen Standard, welcher besagte Vorarbeit nutzte, um ActivityPub zu spezifizieren und zu standardisieren. Evan Prodromou fungierte hierbei als Mitautor. 2018 wurde ActivityPub schlussendlich als Webstandard verabschiedet.

ActivityPub erleichterte die Entwicklung dezentraler Plattformen erheblich. Mastodon, das anfangs noch OStatus unterstützte, setzte früh auf ActivityPub und wurde dadurch zum wichtigsten Motor des modernen Fediverse.

Wachstumsschmerzen

Neben der Vergrößerung des Fediverse durch neue Instanzen und Plattformen haben auch kommerzielle Anbieter das Fediverse für sich entdeckt.

So sorgte Meta für Schlagzeilen, als es mit Threads einen eigenen Microblogging-Dienst à la Twitter bzw. X startete und ankündigte, diesen mit ActivityPub kompatibel zu machen.

Die Reaktionen darauf waren im Fediverse gemischt. Einerseits sehen viele darin eine Stärkung der offenen Standards. Dennoch gibt es Bedenken, ob ein großer Player die Kultur des Fediverse verändert oder gar dominiert. Einige Mastodon-Instanzen kündigten prophylaktisch an, Threads gegebenenfalls zu blockieren, falls Meta versucht, zu viele Daten abzugreifen oder eigene Regeln zu diktieren.

Matt Mullenweg zeigte sich begeistert über das Fediverse und sieht darin eine Renaissance des offenen Webs. WordPress selbst kann nun per Plugin zu einem Fediverse-Teilnehmer gemacht werden, wenn auch mit Einschränkungen.

FediDB zeigt das Fediverse in Zahlen

Mittlerweile verfügt das Fediverse (laut FediDB, Stand Dezember 2025) über 12 Millionen registrierte Nutzer, davon sind etwa 890.000 Accounts aktiv, bei insgesamt 1,4 Milliarden Statusmeldungen und über 35.000 Instanzen bzw. Servern.

ActivityPub im Detail

Technisch betrachtet besteht die heutige Föderation aus zwei eng verzahnten Bausteinen. ActivityPub definiert die Mechanik der Kommunikation, also wie Clients Inhalte an einen Server senden und wie Server Aktivitäten an andere Instanzen verteilen.

Was dabei übertragen wird, legt ein zweiter Standard mit dem Namen ActivityStreams 2.0 fest. Dieses JSON-basierte Vokabular beschreibt die semantische Ebene, also welche Objekt- und Aktivitätstypen es gibt; von Note über Image bis zu Create, Like oder Follow.

Erst im Zusammenspiel beider Standards entsteht ein interoperables soziales Netzwerk. ActivityStreams liefert die Bedeutung, während ActivityPub den Transport, Zustellung und die Föderation übernimmt.

ActivityPub definiert zwei APIs. Zum einen eine Client-zu-Server-API (C2S), über die Nutzerinhalte auf dem eigenen Server erstellt, abgerufen oder gelöscht werden können. Zum anderen wird eine Server-zu-Server-API (S2S) definiert, über die föderierte Kommunikation zwischen verschiedenen Servern bzw. Instanzen erfolgt.

Während die C2S-API in der Theorie von den Clients, wie einer App oder einem Webinterface genutzt wird, wird die S2S-API für die Kommunikation zwischen den Servern genutzt.

Interessanterweise müssen nicht beide APIs implementiert werden. So implementiert z. B. Mastodon nur die S2S-API und nutzt stattdessen eine eigene Client-API.

Dies hängt damit zusammen, dass die Implementierung beider APIs optional ist und Mastodons eigene Client-API deutlich älter als ActivityPub ist. Dazu heißt es in der Spezifikation:

ActivityPub implementations can implement just one of these things or both of them.

Die Client-zu-Server-Seite von ActivityPub ist zwar spezifiziert, wird in der Praxis jedoch nur sehr begrenzt genutzt.

Die Energie floss bei den meisten Plattformen in das föderierte Server-zu-Server-Protokoll, dass die Dienste des Fediverse tatsächlich miteinander verbindet.

Actors

Nutzer in ActivityPub werden von einem sogenannten Actor repräsentiert und besitzen jeweils eine eindeutige Adresse, bestehend aus einem Nutzernamen und der Domain der Heim-Instanz.

Wichtig ist hierbei, dass zwischen dem Fediverse-Handle z. B. @ und der eigentlichen Adresse (https://fedi.example/users/alice) unterschieden wird. Das Handle wird hierbei mehrheitlich mittels Webfinger zur URL aufgelöst. Technisch betrachtet werden Handles nicht in der ActivityPub-Spezifikation behandelt, da dort nur Actor-URLs erwähnt werden.

Ein Nutzer kann im Kontext von ActivityPub z. B. eine Person, eine Applikation, eine Gruppe, ein Service oder eine Organisation sein. Dazu heißt es in der Spezifikation:

ActivityPub does not dictate a specific relationship between „users“ and Actors; many configurations are possible. There may be multiple human users or organizations controlling an Actor, or likewise one human or organization may control multiple Actors. Similarly, an Actor may represent a piece of software, like a bot, or an automated process. More detailed „user“ modelling, for example linking together of Actors which are controlled by the same entity, or allowing one Actor to be presented through multiple alternate profiles or aspects, are at the discretion of the implementation.

In- und Outboxen

Jeder Actor verfügt über eine In- und eine Outbox. Die Inbox enthält die Nachrichten, die von außerhalb empfangen wurden, während die Outbox die zu sendenden Nachrichten enthält.

Wenn ein Nutzer einen neuen Beitrag absendet, landet dieser zunächst in der Outbox. Der Server sendet diese zu den Inboxen der Follower-Server.

Umgekehrt kommen eingehende Nachrichten anderer Instanzen in der Inbox des Nutzers an.

Follow und Accept

Damit ein Actor allerdings überhaupt entsprechende Nachrichten erhält, muss er mindestens einem anderen Actor folgen. Dies geschieht, indem er eine Follow-Activity an einen anderen Actor sendet. Der Remote-Server antwortet mit einer Accept-Activity, wenn er den Follow erlaubt.

Erst wenn der Ablauf erfolgreich abgeschlossen ist, gilt auf Protokollebene eine lokale Follow-Beziehung als etabliert. Nur dann beginnt der Server des Actors, neue Aktivitäten aus seiner Outbox an die Inbox des Followers zu pushen.

ActivityPub im Beispiel

Doch wie sehen die Operationen auf Protokollebene aus? Für den Fall, dass ein Nutzer einem anderen Nutzer folgen möchte, sendet seine Instanz eine Follow-Activity an die Inbox des Remote-Actors. In diesem Fall möchte Bob dem Nutzer Alice folgen:

POST https://fedi.example/users/alice/inbox
Content-Type: application/activity+json

{
  "@context": "https://www.w3.org/ns/activitystreams",
  "id": "https://social.example/users/bob/activities/follow-123",
  "type": "Follow",
  "actor": "https://social.example/users/bob",
  "object": "https://fedi.example/users/alice"
}

Was im Request nicht aufgeführt ist, aber faktisch zum Fediverse dazugehört, ist eine Signatur im Header:

Signature: keyId="https://social.example/users/bob#main-key",algorithm="rsa-sha256",headers="(request-target) host date digest",signature="..."

Unsignierte Requests werden von den meisten Plattformen grundsätzlich abgelehnt.

Mit der Follow-Activity ist allerdings noch keine Follow-Beziehung etabliert. Der Remote-Server entscheidet, ob die Anfrage genehmigt wird. Wenn ja, sendet er eine Accept-Activity zurück. Erst mit diesem Accept ist die Follow-Beziehung etabliert. In diesem Fall bestätigt Alice die Anfrage von Bob:

POST https://social.example/users/bob/inbox
Content-Type: application/activity+json

{
  "@context": "https://www.w3.org/ns/activitystreams",
  "id": "https://fedi.example/activities/accept-follow-123",
  "type": "Accept",
  "actor": "https://fedi.example/users/alice",
  "object": {
    "id": "https://social.example/users/bob/activities/follow-123",
    "type": "Follow",
    "actor": "https://social.example/users/bob",
    "object": "https://fedi.example/users/alice"
  }
}

Wenn der Nutzer nun einen Beitrag schreiben möchte, so erstellt er eine Create-Activity, die in die Outbox seiner Instanz gestellt wird. Von dort wird sie automatisch an die Follower verteilt. Im Beispiel setzt Alice einen Post ab:

POST https://fedi.example/users/alice/outbox
Content-Type: application/activity+json

{
  "@context": "https://www.w3.org/ns/activitystreams",
  "type": "Create",
  "actor": "https://fedi.example/users/alice",
  "object": {
    "type": "Note",
    "content": "Hello, world!",
    "to": ["https://www.w3.org/ns/activitystreams#Public"]
  }
}

Der Remote-Follower empfängt die Nachricht in seiner Inbox:

POST https://social.example/users/bob/inbox
Content-Type: application/activity+json

{
  "@context": "https://www.w3.org/ns/activitystreams",
  "id": "https://fedi.example/users/alice/activities/create-123",
  "type": "Create",
  "actor": "https://fedi.example/users/alice",
  "object": {
    "id": "https://fedi.example/users/alice/posts/123",
    "type": "Note",
    "content": "Hello, world!",
    "to": ["https://www.w3.org/ns/activitystreams#Public"]
  }
}

Daneben sind natürlich auch andere Interaktionen, wie Likes im Rahmen der Kommunikation, möglich.

Protokoll-Fragmentierung

Auf dem Papier wirkt ActivityPub wie der gemeinsame Nenner des Fediverse. Ein Datenmodell, ein Protokoll und damit die Aussicht auf echte Interoperabilität.

In der Praxis zeigt sich jedoch ein paradoxes Bild. Trotz des gleichen Protokolls sprechen viele Plattformen unterschiedliche Dialekte. Es entsteht kein kohärentes Gesamt­netzwerk, sondern mehrere nur locker miteinander gekoppelte Subsysteme.

Ein Kernproblem liegt in der Architektur des Standards selbst. ActivityPub basiert auf ActivityStreams 2.0, und dieses Format ist absichtlich sehr flexibel und erweiterbar gestaltet. Viele Felder sind optional, Semantiken bleiben offen und unbekannte Eigenschaften müssen laut Spezifikation ignoriert werden. Required-Attribute werden stattdessen nur sehr sparsam eingesetzt.

So können zwei Plattformen vollkommen korrekt behaupten, ActivityPub zu unterstützen, und dennoch kaum sinnvoll miteinander kommunizieren. Eine Plattform sendet Objekte mit Mastodon-Erweiterungen, eine andere erwartet strikteres JSON-LD, eine dritte ignoriert Felder, die für eine andere Plattform essenziell sind.

Besonders sichtbar wird das am Beispiel Mastodon. Die Plattform ist mit Abstand die größte ActivityPub-Implementierung und gleichzeitig eine, die den Standard nur teilweise umsetzt.

Die Client-to-Server-API fehlt weitgehend, mehrere Activity-Typen werden nicht unterstützt und bei der Account-Migration setzt Mastodon auf ein eigenes Verfahren. Umgekehrt verlangt Mastodon Dinge, die ActivityPub selbst nicht vorschreibt. Dazu gehören HTTP Signatures für alle Server-zu-Server-Anfragen, bestimmte JSON-LD-Kontexte und diverse Mastodon-spezifische Felder.

Mitglieder des Fediverse

Im Fediverse existieren zahlreiche Dienste mit unterschiedlichen Schwerpunkten. Viele davon sind bewusst als Alternative zu bekannten zentralen Plattformen konzipiert. Einige dieser Plattformen werden im Folgenden vorgestellt.

Mastodon

Mastodon ist die bekannteste und mit Abstand größte Plattform im Fediverse. Es handelt sich um einen freien Microblogging-Dienst, der Twitter bzw. X ähnelt. Nutzer können kurze Texte mit Bildern, Umfragen usw. veröffentlichen und anderen Nutzern folgen.

Mastodon wurde 2016 vom deutschen Entwickler Eugen Rochko gestartet und hat insbesondere nach der Übernahme von Twitter durch Elon Musk massiven Zulauf erhalten. So stieg die registrierte Nutzerzahl innerhalb weniger Wochen sprunghaft an.

Mastodon im Browser

Für den Nutzer bietet Mastodon drei Feed-Spalten: die Home-Timeline (Beiträge der Accounts, denen man folgt), eine lokale Timeline (alles, was auf der eigenen Instanz gepostet wird) und die föderierte Timeline, die öffentliche Posts aus allen verbundenen Instanzen zeigt.

Mastodon selbst ist quelloffene Software unter der AGPLv3 und wird mittlerweile von der Mastodon gGmbH weiterentwickelt, finanziert u. a. durch Spenden. Technisch basiert die Plattform auf Ruby on Rails und React.

Lemmy

Für textbasierte Diskussionen, Linksharing und Community-Foren gibt es im Fediverse Lemmy. Dieses Projekt startete 2019 und ist ein freies, selbsthostbares Foren- und Link-Aggregator-System, das bewusst als Alternative zu Reddit entworfen wurde.

Eine Lemmy-Instanz

Inhalte werden in thematischen Unterforen, sogenannten Communitys, eingestellt. Andere Nutzer können Beiträge und Kommentare hoch- oder runterstimmen, und es gibt Diskussionsthreads.

Lemmy hat durch die Reddit-Turbulenzen einen Schub an Nutzern erfahren. Während es Anfang 2023 noch unter hundert Lemmy-Instanzen gab, wuchs die Zahl bis Juli 2023 auf über 1.500 an, mit rund 66.000 aktiven Nutzern pro Monat.

Manche großen Reddit-Communities haben Lemmy-Ableger gegründet, um eine zensurresistente, gemeinschaftskontrollierte Alternative in der Hinterhand zu haben. Trotz dieses Wachstums steht Lemmy noch am Anfang. Die in Rust geschriebene Software wird aktiv weiterentwickelt und ist unter der AGPL lizenziert.

Pixelfed

Pixelfed ist konzeptionell eine dezentrale Alternative zu Instagram. Die Plattform ging Ende 2018 an den Start und ermöglicht das Teilen von Fotos, Alben und Storys.

Pixelfed erinnert in seiner Oberfläche stark an Instagram. Es gibt einen Feed mit den Beiträgen der verfolgten Accounts, Bilder können gelikt, Hashtags genutzt, Fotos mit Ortsangaben versehen und Storys gepostet werden.

Pixelfed ist ebenfalls quelloffen und unter der AGPL lizenziert und wird vom Entwickler Daniel Supernault verantwortet. Technisch basiert es auf PHP und Laravel.

PeerTube

PeerTube ist das Fediverse-Pendant zu YouTube. Es wurde ab 2017 vom französischen Non-Profit-Verein Framasoft entwickelt, um eine Alternative zu zentralisierten Videoportalen wie YouTube, Vimeo oder Dailymotion zu bieten.

Die PeerTube-Instanz der Blender Foundation

Technisch setzt PeerTube auf ActivityPub und ergänzt es um Peer-to-Peer-Technologie, um die Belastung einzelner Server bei populären Videos zu reduzieren.

Es erfreut sich insbesondere in Europa zunehmender Beliebtheit bei öffentlichen Einrichtungen und der Open-Source-Community. Daneben nutzen einige Content Creator PeerTube als werbefreie, datenschutzfreundliche Ergänzung zu YouTube.

PeerTube hat auch institutionelle Adoption erreicht. Der Europäische Datenschutzbeauftragte betrieb das Portal EU Video auf PeerTube-Basis im Rahmen einer Pilotphase, nach deren Ende der Betrieb erst einmal nicht fortgesetzt wurde.

PeerTube ist freie Software und unter der AGPL lizenziert. Technisch setzt PeerTube auf TypeScript, mit einem Node.js-Backend und einem Angular-Frontend.

Mobilizon

Bei Mobilizon handelt es sich um eine Plattform für die Organisation von Veranstaltungen und Gruppen und stellt damit das Fediverse-Pendant zu Facebook Events oder Meetup.com dar.

Mobilizon wurde ebenfalls von Framasoft initiiert und im Oktober 2020 in Version 1.0 veröffentlicht. Die Idee dahinter war, zivilgesellschaftlichen Gruppen, Vereinen oder einfach Freundeskreisen ein Werkzeug zu geben, um Veranstaltungen zu erstellen, Teilnehmer einzuladen und sich zu koordinieren.

Die Software ist in der Programmiersprache Elixir geschrieben und nutzt als Frontend das JavaScript-Framework Vue.js. Es ist unter der AGPL lizenziert und damit freie Software.

Friendica

Friendica gehört zu den ältesten Föderations-Plattformen und besticht durch eine breite Protokollunterstützung im Fediverse. Gestartet bereits 2010 unter dem Namen Mistpark, war Friendica lange vor ActivityPub verfügbar und unterstützt bis heute mehrere Protokolle parallel.

Friendica kann als eine Art föderiertes soziales Netzwerk à la Facebook betrachtet werden. Es bietet klassische Social-Media-Funktionen, einen Nachrichtenstream, Freunde/Follow-System, Kommentare, Gruppen, Direktnachrichten und Fotoalben.

Friendica-Server können sich einerseits untereinander verbinden, andererseits aber auch Inhalte und Kontakte von externen Netzwerken einbinden. So lassen sich in einem Friendica-Account Kontakte von Diaspora, GNU social und seit einiger Zeit auch ActivityPub-Diensten wie Mastodon oder Pixelfed integrieren.

Friendica ist ebenfalls freie Software unter der AGPL und wird von einer Community entwickelt. Als selbst gehostete Lösung ist es relativ anspruchslos und kann auch auf kleinen Webservern betrieben werden.

Sonstige Dienste

Neben den bekannten Schwergewichten existiert im Fediverse eine ganze Reihe weiterer Dienste, die jeweils eigene Nischen adressieren.

So sieht sich Funkwhale etwa als föderiertes Pendant zu SoundCloud, Castopod als moderne Podcast-Hosting-Plattform, WriteFreely als Blogging-Plattform oder BookWyrm als soziale Heimat für Leser, vergleichbar mit Goodreads.

Fediverse in der Praxis

In der praktischen Nutzung des Fediverse stößt der Nutzer auf eine Reihe von Eigenheiten und Mechanismen, die sich von klassischen, zentralisierten Plattformen unterscheiden und daher besondere Aufmerksamkeit verdienen.

Instanzauswahl

Die Wahl einer Instanz wirkt auf den ersten Blick wie die Entscheidung für einen E-Mail-Provider. So sorgt die Föderation schließlich dafür, dass Dienste miteinander sprechen können. Doch in der Praxis hängt die Nutzung stark davon ab, wo man sich niederlässt.

Jede Instanz bringt ihre eigene Kultur, Moderationsregeln und technischen Rahmenbedingungen mit. Diese Unterschiede prägen den Alltag deutlicher als neue Nutzer es oft erwarten.

Besonders relevant ist der Fokus auf die Community. Ob Microblogging, Fotoplattform, Wissenschaft, Gaming oder Bücher. Praktisch für jeden sozialen Mikrokosmos existiert eine passende Instanz im Fediverse.

Die Instanzgröße verändert das Nutzungserlebnis spürbar. Kleine Knoten liefern Nähe und kurze Wege zur Moderation, mittlere Instanzen eine gute Balance, große Instanzen hohe Aktivität, aber auch mehr Rauschen.

Auch die technischen Parameter bestimmen die Alltagstauglichkeit. Von Uptime, Serverlast über Softwarestand und der Frage, welche externen Instanzen blockiert oder eingeschränkt werden. All das bestimmt, welche Inhalte sichtbar werden und welche außen vor bleiben.

Ein oft unterschätzter Punkt ist die finanzielle und organisatorische Nachhaltigkeit. Viele Instanzen werden ehrenamtlich betrieben; wenn Administratoren aussteigen oder Kosten steigen, kann ein Server verschwinden. Verschwindet die Instanz, auf der der eigene Account liegt, gehen sämtliche Daten verloren und sind nicht mehr abrufbar.

Hier sind in der Theorie Protokolle wie Zot bzw. Nomad im Vorteil, die nomadische Identitäten ermöglichen und nicht an eine einzelne Instanz gebunden sind.

Praktische Helfer, wie Fedi.Garden, Instances.social oder die Join-Fediverse-Guides z. B. joinfediverse.wiki erleichtern die Orientierung, ersetzen aber nicht den Blick auf Community, Governance und technische Basis einer Instanz.

Account-Migration

Je nach Plattform gestaltet sich die Account-Migration auf den Fediverse-Plattformen schwierig. So sind bestimmte Dinge semi-automatisiert, wie die Followerübertragung bei Mastodon, während Inhalte wie Posts nicht automatisch übertragen werden.

Die zentrale Limitierung bleibt die providergebundene Identität. ActivityPub verankert Identitäten in URIs, die den jeweiligen Server-Hostnamen enthalten. Damit sind Identitäten praktisch nicht portabel.

Bei einem Serverwechsel bleiben die historischen Post-URLs an die alte Instanz gebunden. Externe Links und Einbettungen verweisen weiterhin auf den alten Host und werden unbrauchbar, sobald dieser verschwindet. Modelle wie Bring-Your-Own-Domain oder W3C-DIDs könnten dieses Problem theoretisch lösen, existieren aber praktisch in keiner größeren Implementierung.

Fazit

Das Fediverse ist längst kein experimentelles Nischenprojekt mehr, sondern die bislang reifste Alternative zu zentralisierten Social-Media-Plattformen.

Die Stärken sind funktionierende Dezentralisierung, Community-Governance, Open-Source-Innovation und ein Rückzugsort jenseits kommerzieller Plattformlogiken.

Gleichzeitig bleiben die offenen Fragen erheblich. Finanzielle Nachhaltigkeit, Skalierbarkeit, moderationsfähige Strukturen bei Wachstum und echte Widerstandsfähigkeit gegenüber kommerzieller Vereinnahmung.

Aktuelle Forschung zeigt zudem nüchtern, dass die Idealvorstellung radikaler Dezentralität in der Praxis stark relativiert wird. Die Mehrheit der aktiven Nutzer konzentriert sich auf wenige große Instanzen, und mit Threads drängt erneut ein Player mit deutlicher Dominanz ins offene Ökosystem.

Auch klassische Lock-ins bestehen fort, etwa die fehlende Post-Migration oder eingeschränkte Interoperabilität zwischen Implementierungen.

Ob das Fediverse sich langfristig etabliert, hängt von einigen Faktoren ab: belastbare öffentliche Förderung, institutionelle Adoption durch Verwaltungen, Medien und Wissenschaft, Skalierung und Verschlüsselung sowie Governance-Modelle, die Koordination ermöglichen, ohne zentrale Kontrolle.

Ebenso zentral ist eine gesunde, einladende Community-Kultur, die bei weiterem Wachstum nicht verloren gehen darf.

Letztlich bleibt das Fediverse eine der spannendsten Entwicklungen des modernen Webs. Es erinnert an die frühen Ideale des Internets; offen, föderiert, interoperabel und zeigt, dass Alternativen zu den klassischen Monopolplattformen tatsächlich funktionieren können.

Dieser Artikel erschien ursprünglich auf Golem.de und ist hier in einer alternativen Variante zu finden.

Orthodoxe Dateimanager

Unendliche Mannigfaltigkeit in unendlicher Kombination. Frei nach diesem Grundprinzip der vulkanischen Philosophie könnte der geneigte Nutzer auch die Vielfalt der Dateimanager betrachten.

Neben den mit den Betriebssystemen mitgelieferten Dateimanagern, wie dem Explorer unter Windows oder dem Finder unter macOS, existieren viele weitere Dateimanager, mit teils recht unterschiedlichen Herangehensweisen.

Eine Klasse von Dateimanagern stellen die orthodoxen Dateimanager, auch Zwei-Panel-Datei-Manager genannt, dar. Diese nutzen ein Konzept, welches insbesondere dann seine Vorteile ausspielt, wenn viel und oft mit Dateien gearbeitet wird und eine flexible Arbeitsweise gewünscht ist.

Mit ihrer charakteristischen Zwei-Panel-Architektur und tastaturzentrierten Bedienung bieten sie eine Effizienz, die moderne grafische Dateimanager selten erreichen.

Definition

Orthodoxe Dateimanager verdanken ihre Bezeichnung nicht einer religiösen Konnotation, sondern ihrer Treue zu den etablierten Designprinzipien des Norton Commander, welcher erstmals 1986 erschien.

Der Begriff Orthodox File Manager (OFM) wurde durch Nikolai Bezroukov 1996 geprägt und bezeichnet die standardisierte Implementierung der Zwei-Panel-Philosophie:

I introduced the term „orthodox file managers“ in 1996 (see OFM Bulletin 1998) …

Das zentrale Element eines orthodoxen Dateimanagers sind zwei symmetrische Verzeichnisfenster (Panels), die es ermöglichen, Dateien direkt zwischen Quell- und Zielverzeichnis zu verwalten. Eines der beiden Panels ist aktiv (Quelle), das andere passiv (Ziel). Sämtliche Befehle beziehen sich auf dieses Verhältnis.

OFMs bieten einen einheitlichen Funktionsumfang: Kopieren, Verschieben, Löschen und Umbenennen über klar strukturierte Menüs und vordefinierte Shortcuts.

Die vollständige Tastaturbedienung steht im Vordergrund und erlaubt es, sämtliche Operationen ohne Maus durchzuführen. Die Belegung entspricht auch heute noch größtenteils denen des Norton Commanders:

F1: Hilfe
F2: Benutzermenü
F3: Datei betrachten
F4: Datei bearbeiten
F5: Kopieren
F6: Verschieben/Umbenennen
F7: Verzeichnis erstellen
F8: Löschen
F9: Menüleiste aktivieren
F10: Beenden
Tab: Zwischen Panels wechseln
Einfügen: Dateien markieren

Auch Archivformate wie ZIP oder TAR werden meist direkt unterstützt, oft so, als wären sie normale Verzeichnisse. Hierbei ist die Rede von virtuellen Dateisystemen. Diese abstrahieren verschiedene Speicherquellen, Archive, FTP-Server oder Cloud-Speicher und binden sie transparent als Verzeichnisse ein.

Ergänzt wird dieser Ansatz durch integrierte Dateibetrachter und Editoren, sodass viele Aufgaben innerhalb des Dateimanagers, ohne einen Rückgriff auf andere Anwendungen, erledigt werden können.

Orthodoxe Dateimanager sind eng mit der nativen Shell des Systems verbunden. Pfade und Befehle lassen sich direkt, innerhalb des Dateimanagers, an die Kommandozeile übergeben.

Trotz der Standardisierung der Kommandos und des generellen Aussehens ist die Anpassbarkeit ein weiteres Merkmal orthodoxer Dateimanager. Tastenkombinationen, Menüstrukturen und das Erscheinungsbild lassen sich in vielen Fällen an persönliche Bedürfnisse anpassen.

Spezifikationen

Nikolai Bezroukov prägte nicht nur den Begriff des orthodoxen Dateimanagers, sondern überführte diese Philosophie in einige Spezifikationen.

Die OFM-Spezifikation von 1999 hatte das Ziel, diese Philosophie zu standardisieren. Sie legt Grundfunktionen und Interaktionsmuster fest, um eine langfristig tragfähige Basis für Entwickler und Anwender zu schaffen.

Nach dem ursprünglichen OFM-Standard von 1999 wurde im Jahr 2004 eine Erweiterung veröffentlicht.

Ziel war es, neben dem fest etablierten Grundkonzept auch fortgeschrittene Funktionen wie Filter, benutzerdefinierte Sortierung und Archivverwaltung zu normieren.

Die letzte Erweiterung stammt aus dem Jahr 2012. Zu den wesentlichen Erweiterungen zählen flexible Panel-Größen, erweiterte Skriptintegration mit Variablenzugriff sowie die Vorbereitung auf Funktionen wie Tabs und Plugin-gesteuerte Dateiansichten.

Um übermäßige Komplexität zu vermeiden, wurden nur Features aufgenommen, die sich in mindestens einem Jahr realer Nutzung bewährt hatten.

Seitdem wurde die Spezifikation nicht weiter überarbeitet. Dennoch lieferte sie wichtige Impulse und eine Orientierung für die Praxis.

Geschichte

Einer der ersten Dateimanager mit textbasierter, aber visuell strukturierter Oberfläche war PathMinder von Albert Nurick und Brittain Fraley. Dieser erschien im Jahr 1984. Einen Monat nach der Veröffentlichung erschien mit DualView ebenfalls ein textbasierter Dateimanager.

Mit XTree erschien 1985 ein weiterer Vertreter, welcher ähnlich wie PathMinder eine Art Baumstruktur darstellte.

Der De-facto-Standard der orthodoxen Dateimanager wurde 1986 mit dem Norton Commander definiert, der durch geschicktes Marketing und technische Verfeinerung stilbildend wirkte.

Gestartet wurde die Arbeit am Norton Commander von John Socha im Jahr 1986. Zu dieser Zeit trug das Projekt den Namen Visual DOS bzw. VDOS:

I started work on what became known as the Norton Commander in the fall of 1984 while I was still a graduate student in Applied Physics at Cornell University. The first versions were entirely in assembly language, but that was too time-consuming, so I soon switched to a blend of C and assembly language at a time when most „real programmers“ wouldn’t touch C.


At the time I called it Visual DOS, with the abbreviation of VDOS instead of the usual two-letter abbreviations used at the time.

Norton Commander 1.0 erschien im Mai 1986 und definierte die Grundprinzipien, die bis heute Gültigkeit haben. Auch bot er erstmals einen integrierten Viewer und Editor, wodurch komplette Workflows ohne Anwendungswechsel möglich wurden.

Die Version 3.0 von 1989 gilt als Höhepunkt der DOS-Ära mit Hypertext-Hilfe und dem legendären Sternenhimmel-Bildschirmschoner.

Inspiriert vom Norton Commander erschienen ab Ende der 1980er-Jahre weitere orthodoxe Dateimanager wie der Volkov Commander oder der DOS Navigator.

In der Unix- bzw. Linux-Welt entstand 1994 mit dem Midnight Commander, von Miguel de Icaza, einer der bekanntesten orthodoxen Dateimanager.

Auch für Systeme wie OS/2 wurden orthodoxe Dateimanager entwickelt, wenngleich diese heute nur noch eine geringe Nutzerschaft aufweisen.

Vom Terminal zur GUI

Neben den textbasierten orthodoxen Dateimanagern entstanden mit dem Aufkommen von Windows auch grafische Umsetzungen dieses Konzepts.

Hier sind Entwicklungen wie der Windows Commander (1993), welcher später zum Total Commander wurde, sowie die Umsetzung des Norton Commander für Windows (1998) zu nennen.

Unter Linux entstanden grafische OFMs, wie der GNOME-Commander und Krusader.

OFMs im Einzelporträt

Heutzutage werden eine Vielfalt von orthodoxen Dateimanagern für unterschiedliche Systeme aktiv entwickelt und vorangetrieben.

Neben den hier vorgestellten orthodoxen Dateimanagern existieren unzählige weitere – von kleineren Prototypen bis zu ausgewachsenen kommerziellen Varianten.

Grundsätzlich müssen zwei Formen unterschieden werden. Die klassischen auf einer Terminal UI (TUI) basierten Dateimanager und die auf einer grafischen UI (GUI) basierten Dateimanager.

TUI-basierte Implementationen

Zu den TUI-basierten Implementationen würde aus heutiger Sicht auch der Norton Commander gehören.

Selbst im Zeitalter grafischer Systeme und Bildschirmauflösungen jenseits der 4K haben solche Dateimanager nach wie vor ihre Berechtigung.

Sei es auf der Nutzung im Terminal oder auf entfernten Rechnern per SSH.

Far Manager

Der Far Manager wurde 1996 von Eugene Roshal, seines Zeichens Schöpfer des RAR-Formats, entwickelt. Seit 2007 ist er freie Software unter der modifizierten BSD-Lizenz und wird aktiv entwickelt.

Er ist ein textbasierter orthodoxer Dateimanager für Windows, der die Tradition des Norton Commanders in die moderne Windows-Ära überträgt.

Der Far Manager erinnert an den Norton Commander

Die Zwei-Panel-Struktur wird durch eine Kommandozeile am unteren Rand ergänzt, die eine direkte Ausführung der Befehle ermöglicht. Dabei wird eine Art Autovervollständigung geboten.

Die Oberfläche unterstützt verschiedene Farbschemata und kann detailliert angepasst werden. Moderne Features wie Drag & Drop innerhalb des Dateimanagers werden, trotz der Konsolennatur, unterstützt.

Daneben verfügt der Far Manager über einen integrierten Text-Editor sowie einen Viewer. Auch die Unterstützung für Archiv-Formate und deren Einbindung ist gegeben.

Mit seinem umfangreichen Plugin-System und der Fokussierung auf Effizienz richtet er sich an erfahrene Anwender.

Verfügbar ist der Dateimanager für Windows, jeweils in einer x64 und einer ARM64-Version. Es existiert auch eine Linux-Portierung des Managers.

Midnight Commander

Der Midnight Commander gilt auf dem Terminal unter Unix- und Linux-Systemen als Standard-OFM. Erstmalig veröffentlicht wurde er im Jahre 1994 durch Miguel de Icaza, welcher später das GNOME-Projekt mitbegründete.

Der Midnight Commander unter macOS

Als GNU-Software unter der GPL in Version 3 veröffentlicht, läuft er in Textterminals und bietet seine volle Funktionalität sowohl lokal als auch über SSH-Verbindungen.

Seine Entwicklung kam mehrere Jahre zum Erliegen, aber seit 2009 wurde er mit der Version 4.6.2 wieder aktiv weiterentwickelt.

Die VFS-Implementierung unterstützt SSH, SFTP, FTP und zahlreiche Archivformate.

Für die direkte Arbeit mit Dateien steht ein eingebauter Texteditor zur Verfügung. Er bietet unter anderem Syntax-Highlighting für viele Programmiersprachen.

Ergänzt wird der Editor durch einen Viewer, der Text- und Binärdateien unterstützt. Die integrierte Suchfunktion hilft beim Auffinden von Dateien im Verzeichnisbaum. Die Farbgebung ist anpassbar, und verschiedene Skins stehen zur Verfügung.

Trotz der text-basierten Natur bietet der Midnight Commander eine Maus-Unterstützung in modernen Terminal-Emulatoren.

Unter Linux-Systemen kann der Midnight Commander über den Paketmanager installiert werden. Für macOS gilt das Gleiche, etwa über Homebrew. Daneben existiert mit mcwin32 eine Windows-Portierung des Dateimanagers.

GUI-basierte Implementationen

Neben den terminal-basierten Implementationen existiert eine große Auswahl an GUI-basierten Implementationen des OFM-Paradigmas.

Linux

In der Linux-Welt existierten einige historische OFMs, wie der Tux Commander, emelFM2 oder Sunflower, welche mittlerweile mehr oder weniger inaktiv sind. Gleichzeitig existieren dort aktiv weiterentwickelte orthodoxe Dateimanager.

GNOME Commander

Der GNOME Commander wurde ursprünglich 2001 vorgestellt und richtet sich an Nutzer der GNOME-Desktop-Umgebung. Die Anwendung ist in C++ geschrieben und nutzt GTK für die grafische Oberfläche. Interessant ist dass mittlerweile eine Reimplementation in Rust vorgenommen wird.

GNOME Commander unter Ubuntu

GNOME Commander integriert sich gut in GTK-basierte Desktop-Umgebungen. Standardmäßig glänzt er in einem Norton Commander-Blau.

Der Dateimanager ist eng in die GNOME-Desktopumgebung integriert und nutzt das zugrunde liegende GIO-Framework als Abstraktionsschicht für Dateien und andere Ressourcen.

Der Archivzugriff ist im GNOME Commander nicht so komfortabel gelöst wie in anderen orthodoxen Dateimanagern, da sie hier auf externe Tools verlassen wird und keine Integration in ein virtuelles Dateisystem erfolgt.

Daneben bietet der Dateimanager Unterstützung für erweiterte Dateiattribute, darunter Eigentümer, Benutzergruppen, Zugriffsrechte und Zeitstempel.

Ein Lesezeichen- und Favoritensystem erlaubt es, häufig genutzte Pfade als Schnellzugriffe zu speichern und wieder aufzurufen.

Weiterhin unterstützt der Dateimanager entfernte Verbindungen, was den Zugriff auf SSH-, SFTP-, FTP-, SMB-, sowie WebDAV-Server ermöglicht.

Das Projekt ist unter der GPL in Version 2 lizenziert und wird aktiv auf GitLab gepflegt.

Installiert werden kann der GNOME Commander über den jeweiligen Paketmanager der Linux-Distribution.

Krusader

Krusader wurde im Jahr 2000 vorgestellt und bietet eine moderne, grafische Interpretation der orthodoxen Dateimanager-Philosophie. Die Oberfläche integriert sich nahtlos in KDE und nutzt dessen Design-Sprache. Tabs, Toolbars und Kontextmenüs sind vollständig anpassbar.

Krusader unter Ubuntu

Die C++-Implementierung nutzt KDE-Frameworks, was den Zugriff auf verschiedenste Dateisysteme und Ressourcen ermöglicht. Dadurch lassen sich Netzwerkpfade und Archive wie reguläre Ordner behandeln.

Die Archiv-Unterstützung ist dank der KDE-Bibliotheken sehr breit aufgestellt: Krusader kann mit nahezu allen gängigen Archivformaten umgehen, darunter ZIP, RAR, 7Z und TAR. Die Archive lassen sich direkt durchsuchen und bei Bedarf entpacken oder erstellen.

Die Suchfunktion erlaubt nicht nur das schnelle Auffinden von Dateien, sondern auch die inhaltsbasierte Suche.

Zur Vorschau von Dateien nutzt Krusader den einen kombinierten Viewer und Editor.

Für Dateivergleiche steht eine eingebaute Synchronisationsfunktion mit grafischer Oberfläche zur Verfügung, die Unterschiede zwischen Verzeichnissen übersichtlich darstellt und verschiedene Synchronisationsmodi anbietet.

Andere Funktionen wie die Mehrfachumbennenung werden über externe Werkzeuge wie KRename realisiert.

Krusader ist unter der GPL lizenziert und kann über den Paketmanager installiert oder alternativ bezogen werden.

macOS

Auch für das macOS stehen eine Reihe von orthodoxen Dateimanagern zur Verfügung, darunter auch solche, die besonderen Wert auf eine gelungene Integration in das System legen.

Commander One

Commander One wurde 2015 von Eltima Software (jetzt Electronic Team) veröffentlicht und ist ein orthodoxer Dateimanager für macOS. Er kombiniert die klassische Zwei-Panel-Struktur mit einer modernen Cocoa-Oberfläche.

Die Zwei-Panel-Ansicht ist zentrales Element, ergänzt durch Toolbar, Pfadleiste und Dateidetails. Der Dateimanager unterstützt macOS-Finder-Tags, Quick Look und bietet native Hotkey-Unterstützung.

Die Anwendung wurde in Swift entwickelt und ist sowohl in einer kostenlosen Grundversion als auch in einer kostenpflichtigen Pro-Variante mit erweiterten Funktionen erhältlich.

Commander One

Klassische OFM-Funktionstasten werden weitgehend unterstützt, ebenso wie Drag & Drop und Kontextmenüs im Stil des macOS-Finders. Auch die einfache Möglichkeit versteckte Dateien anzuzeigen ist positiv hervorzuheben.

In der Pro-Version wartet Commander One mit erweiterten Archivfunktionen auf. Archive in Formaten wie ZIP, RAR, 7z oder TAR lassen sich nicht nur extrahieren, sondern auch direkt erstellen. Hinzu kommt eine leistungsfähige Cloud-Integration, die unter anderem Google Drive, Dropbox, OneDrive, Amazon S3 und WebDAV unterstützt. Auch Apples iCloud ist sinnvoll eingebunden.

Für den Zugriff auf entfernte Server bietet Commander One integrierte Clients für FTP, SFTP und SCP. Ein eingebautes Terminal-Fenster ermöglicht den direkten Zugriff auf die Shell, ohne die Anwendung zu verlassen.

Allerdings muss hier berücksichtigt werden, dass es Unterschiede zwischen der Version aus dem App Store und der von der Webseite des Herstellers gibt. Aufgrund der Sandbox-Beschränkungen sind einige Funktionen nur in der Version des Herstellers verfügbar. Dazu zählen z. B. das Beenden von Prozessen, das Mounten von iOS-Geräten und das Ignorieren der System-Einstellungen für die Funktionstasten.

Neben dem Bezug über den App Store kann Commander One auch direkt über die Webseite des Herstellers bezogen werden.

Marta

Marta ist ein moderner und minimalistisch gestalteter Zwei-Panel-Dateimanager für macOS, der 2017 als Indie-Projekt von Yan Zhulanow vorgestellt wurde.

Geschrieben in Swift und vollständig nativ, vereint Marta orthodoxe Bedienphilosophie mit der Ästhetik und Performance moderner Apple-Systeme.

Marta

Das Zwei-Panel-Layout steht im Fokus, unterstützt durch eine konfigurierbare Statusleiste und eine leistungsfähige Kommandozeile. Klassische OFM-Funktionstasten werden weitgehend unterstützt.

Ein modular aufgebautes Plugin-System, das derzeit auf Lua-Basis entwickelt wird, erlaubt die individuelle Erweiterung der Funktionalität. Daneben existiert seit der ersten Version eine Swift-API.

Bereits integriert ist eine Unterstützung für Archivformate wie ZIP, TAR, RAR und 7z, die sich direkt als virtuelle Verzeichnisse öffnen lassen.

Für den komfortablen Zugriff auf häufig verwendete Pfade stehen Favoriten sowie eine durchsuchbare Verlaufsfunktion zur Verfügung. Ein integriertes Terminal ist vorhanden und kann optional angezeigt bzw. versteckt werden.

Die Konfiguration erfolgt über Marco-Dateien, ein für Marta entwickeltes Format, dass die Konfiguration allerdings unnötig umständlich erscheinen lässt.

Die Software ist kostenlos, wird aktiv weiterentwickelt und kann über die offizielle Webseite oder Homebrew bezogen werden.

Nimble Commander

Nimble Commander ist ein weiterer ressourcenschonender und klassisch orientierter Zwei-Panel-Dateimanager für macOS. Die Anwendung wurde in Objective-C++ entwickelt und ist nativ für macOS geschrieben.

Nimble Commander

Im Zentrum steht ein übersichtliches Zwei-Fenster-Layout, das Terminal-Fenster ist nicht in dieses integriert, sondern kann über das „View“-Menü als Overlay aktiviert werden.

Daneben stehen Funktionen zur Dateiverwaltung wie Suchen, Umbenennen oder die Arbeit mit Archiven zur Verfügung. Nimble Commander unterstützt viele Archivformate, darunter ZIP, TAR, GZ, BZ2 und weitere Formate.

Auch ermöglicht der Nimble Commander es, in den Admin-Modus zu wechseln und mit entsprechenden Rechten zu arbeiten.

Die Konfiguration bietet zahlreiche Anpassungsmöglichkeiten, von Tastenkürzeln über Dateitypen bis hin zum Erscheinungsbild.

Nimble Commander ist unter der GPL in Version 3 lizenziert, damit freie Software, und kann über die offizielle Webseite, den App Store oder Homebrew bezogen werden.

Windows

Nachdem DOS über Jahre hinweg als bevorzugte Plattform orthodoxer Dateimanager gedient hatte, erfolgte mit dem Aufstieg grafischer Betriebssysteme eine allmähliche Migration dieser Gattung in die Windows-Welt – meist als Neuentwicklungen mit vertrautem Bedienkonzept.

Altap Salamander

Der Altap Salamander wurde ursprünglich 1997 unter dem Namen Servant Salamander von Petr Šolín und Pavel Schreib veröffentlicht und zählt zu den ältesten grafischen orthodoxen Dateimanagern für Windows. Entwickelt in Tschechien, bot das Programm von Beginn an eine schlanke, schnelle Alternative zum Windows Explorer.

Der Altap Salamander unter Windows

Altap Salamander kombiniert klassische Zwei-Panel-Ansicht mit einer aufgeräumten und funktionalen Benutzeroberfläche.

Die integrierte Archivunterstützung erlaubt den direkten Zugriff auf Formate wie ZIP, RAR, ISO oder CAB. Mit eingebauten Clients für FTP, FTPS, SFTP und SCP können Dateioperationen auch im Netzwerk durchgeführt werden.

Werkzeuge zur Dateiverwaltung runden das Paket ab. Dazu gehören Funktionen zum Verzeichnisvergleich, zur Datei-Synchronisation sowie zur Berechnung und Prüfung von Prüfsummen und die Suche.

Ein interner Viewer unterstützt die Anzeige im Text- und Binärmodus, während der genutzte Editor sich frei konfigurieren lässt. Durch das Plugin-System lässt sich der Funktionsumfang erweitern.

Während der Dateimanager lange Zeit als Shareware vertrieben wurde, wurde er nach dem Kauf von Altap durch Fine zu freier Software. Die freigegebene Variante, genannt Open Salamander, findet sich auf GitHub und ist unter GPL in Version 2 lizenziert.

Derzeit ist keine aktive Weiterentwicklung erkennbar, was darauf hindeutet, dass das Projekt momentan pausiert.

Technisch gesehen ist die Anwendung ein Kind seiner Zeit: eine reine WinAPI-Anwendung, ohne moderne C++-Paradigmen wie RAII, Smart Pointers oder STL; dafür mit reichlich tschechischen Kommentaren im Code.

Bezogen werden kann der Altap Salamander über die offizielle Seite des Herstellers.

FreeCommander XE

FreeCommander XE ist ein orthodoxer Dateimanager für Windows, der seit den frühen 2000er-Jahren entwickelt wird.

Die Anwendung wurde von Marek Jasinski initiiert und richtet sich an Nutzer, die ein flexibles, Zwei-Panel-basiertes Werkzeug für Dateiverwaltung unter Windows suchen.

FreeCommander XE

FreeCommander XE wurde in Delphi entwickelt und läuft nativ unter Windows. Das Programm wird aktiv weiterentwickelt und ist sowohl als kostenlose Version als auch in einer Donator-Version verfügbar. Diese Donator-Version scheint aktuell die 64-Bit Version zu umfassen.

Die Oberfläche orientiert sich an klassischen Prinzipien orthodoxer Dateimanager, wurde aber mit modernen Windows-Elementen angereichert. Zwei horizontal oder vertikal teilbare Panels bilden das zentrale Layout. Tabs, anpassbare Toolbars und farbige Dateiansichten sorgen für Übersichtlichkeit.

Eine eingebaute Kommandozeile, Kontextmenüs und Drag & Drop sind ebenso vorhanden wie Einstellungen zur Nutzeranpassung.

Für die Organisation und den Abgleich von Dateien steht ein integriertes Tool für Dateivergleich und Verzeichnis-Synchronisation zur Verfügung.

Die Archivunterstützung umfasst gängige Formate wie ZIP, RAR, CAB und 7z. Der Zugriff erfolgt je nach Format direkt oder über externe Anwendungen.

Die Netzwerkfunktionen ermöglichen den Zugriff auf Netzwerkpfade, UNC-Freigaben sowie FTP- und SFTP-Server.

Ein interner Viewer erlaubt die Anzeige und Bearbeitung von Texten, Bildern und Daten. Als Editor wird eine externe Anwendung konfiguriert.

Ein Batch-Umbenennungstool mit Unterstützung für reguläre Ausdrücke ermöglicht das gleichzeitige Umbenennen vieler Dateien.

Die Anwendung ist Freeware und kann über die offizielle Webseite bezogen werden.

Total Commander

1993, ursprünglich als Windows Commander gestartet, musste Christian Ghisler das Programm nach einer Aufforderung von Microsoft aus markenrechtlichen Gründen umbenennen. Total Commander gilt als einer der bekanntesten orthodoxen Dateimanagern für Windows.

Total Commander

Die Oberfläche von Total Commander ist funktional und anpassbar. Die klassische Zwei-Panel-Ansicht lässt sich durch verschiedene Ansichtsmodi ergänzen, von einfachen Dateilisten bis zu detaillierten Spaltenansichten. Die Symbolleisten sind vollständig konfigurierbar, und Nutzer können praktisch jeden Aspekt der Oberfläche ihren Bedürfnissen anpassen.

Die integrierte Archiv-Unterstützung erlaubt den direkten Zugriff auf Formate wie ZIP, RAR, 7Z, TAR, GZ und viele weitere. Ein FTP/SFTP-Client ist ebenfalls integriert und unterstützt neben klassischem FTP auch FTPS, SFTP und WebDAV. Verbindungen können gespeichert, organisiert und über Bookmarks schnell aufgerufen werden.

Die Such- und Filterfunktionen bieten Unterstützung für reguläre Ausdrücke, Volltextsuche im Dateiinhalt und einen integrierten Duplikat-Finder. Zusätzlich erlauben Schnellfilter das sofortige Eingrenzen angezeigter Dateien in Echtzeit.

Ein integriertes Synchronisationswerkzeug unterstützt verschiedene Abgleichmodi, darunter bidirektionale und asymmetrische Synchronisation, während das Multi-Rename-Tool Funktionen zum gleichzeitigen Umbenennen von mehreren Dateien bietet.

Mit dem integrieren Viewer können Textdatei bis zu 8192 Petabyte betrachtet werden. Auch Bilder und Multimedia-Inhalte können direkt angezeigt werden.

Total Commander verfügt über ein umfangreiches Plugin-System, das verschiedene Plugin-Typen unterscheidet.

Packer-Plugins (WCX) erweitern die Unterstützung für Archivformate.

Dateisystem-Plugins (WFX) ermöglichen den Zugriff auf alternative Datenquellen außerhalb des regulären Dateisystems, etwa auf FTP-Server, WebDAV, Cloudspeicher, die Windows-Registry oder laufende Prozesse. Diese Ressourcen erscheinen innerhalb des Dateimanagers wie normale Verzeichnisse.

Lister-Plugins (WLX) ermöglichen die Anzeige spezieller Dateiformate im internen Betrachter, z. B. für Multimedia-, Office- oder CAD-Dateien.

Inhalts-Plugins (WDX) stellen zusätzliche Dateieigenschaften bereit, die z. B. in benutzerdefinierten Spalten angezeigt oder für Such- und Filterfunktionen verwendet werden können.

Bezogen werden kann Total Commander über die offizielle Webseite. Dort kann ebenfalls eine Lizenz erworben werden.

Plattformübergreifend OFMs

Neben den bisher vorgestellten orthodoxen Dateimanagern, die meist auf ein einzelnes Betriebssystem beschränkt sind, existieren auch plattformübergreifende Lösungen.

Double Commander

Double Commander, dessen erste Version 2006 erschien, versteht sich als plattformübergreifende Lösung eines orthodoxen Dateimanagers. Die in Object Pascal geschriebene Anwendung bietet native Binaries für Linux, macOS und Windows.

Double Commander unter macOS

Die Bedienelemente sind größer und klarer als bei vielen Konkurrenten, was der Benutzerfreundlichkeit zugutekommt, allerdings auch als klobig empfunden werden kann. Tabs ermöglichen das Arbeiten mit mehreren Verzeichnissen pro Panel.

Die Oberfläche ist anpassbar, vom Farbschemata über Symbolleisten hin zu Tastenkombinationen.

Die Archiv-Unterstützung umfasst eine breite Palette von Formaten wie ZIP, 7Z oder TAR.

Die erweiterte Suchfunktion erlaubt nicht nur Dateinamen- und Pfadsuche, sondern auch die Nutzung von regulären Ausdrücken sowie die Suche im Dateiinhalt.

Eine integrierte Synchronisationsfunktion mit grafischer Darstellung erleichtert das Vergleichen und Angleichen von Verzeichnissen.

Abgerundet wird der Funktionsumfang durch einen integrierten Viewer, der Texte, Bilder und Dateien anzeigen kann.

Der Dateimanager nutzt die Total Commander Plugin-API, sodass Total Commander-Plugins unter Windows auch im Double Commander genutzt werden können.

Der Double Commander ist unter der GPL in Version 2 lizenziert und kann über die offizielle Seite bezogen werden.

muCommander

muCommander ist ein plattformunabhängiger, Java-basierter orthodoxer Dateimanager, der 2002 veröffentlicht wurde. Er setzt auf ein klassisches Zwei-Panel-Layout und ist besonders für Nutzer interessant, die einen leichtgewichtigen Dateimanager auf unterschiedlichen Betriebssystemen wie Windows, Linux, macOS oder BSD nutzen möchten.

muCommander unter macOS

Zwei Panels stehen im Fokus, ergänzt durch eine Shell, Pfadleisten, Toolbar, Statusanzeigen und ein Menüband. Das Design lässt sich über verschiedene Styles konfigurieren, ist aber nicht auf native Optik ausgelegt.

Der Funktionsumfang umfasst integrierte Unterstützung für zahlreiche Netzwerkprotokolle wie FTP, SFTP, SMB, HTTP, Amazon S3 und Bonjour. Auch Archivformate wie ZIP, TAR, GZip und BZip2 werden unterstützt und lassen sich direkt wie normale Verzeichnisse durchsuchen.

Praktische Funktionen wie Favoriten und eine Verlaufsansicht erleichtern den Zugriff auf häufig verwendete oder zuletzt besuchte Pfade. Der integrierte Dateibetrachter erlaubt die Vorschau von Text-, Binär- und Bilddateien.

Das Programm ist unter der GPL lizenziert und wird aktiv als Open-Source-Projekt gepflegt. Es kann über die offizielle Webseite, oder je nach System über den Paketmanager bezogen werden.

Mobile Adaptierung

Neben orthodoxen Dateimanagern für Desktop-Systeme existieren auch Lösungen für mobile Systeme, allem voran Android.

Allerdings sind solche Dateimanager unter Android und iOS eher selten, da diese Plattformen restriktiver im Umgang mit dem Dateisystemzugriff und Benutzeroberflächenparadigmen sind.

So existiert eine Umsetzung des Total Commander für Android, welche als Freeware vertrieben wird.

Der Total Commander unter Android

Ein weiterer mobiler Vertreter findet sich mit dem Ghost Commander, welcher ebenfalls das OFM-Paradigma implementiert, dies allerdings noch konsequenter umsetzt.

Ghost Commander

iOS-Beschränkungen verhindern echte orthodoxe Implementierungen. App-Sandboxing und File-System-Zugriffsbeschränkungen machen die charakteristischen Features nur schwer umsetzbar.

Daneben stellt sich im mobilen Bereich die Frage nach der Sinnhaftigkeit solcher Implementierungen, da die Vorteile wie eine schnelle Bedienung über die Tastatur, wenn überhaupt, nur in bestimmten Setups zum Tragen kommen.

Fazit

Orthodoxe Dateimanager repräsentieren ein Konzept, das sich über fast vier Jahrzehnte bewährt hat. Ihre Effizienz, Konsistenz und Erweiterbarkeit machen sie zu unverzichtbaren Werkzeugen für Power-User, Entwickler und Systemadministratoren.

Die Philosophie der tastaturorientierten, effizienten Dateiverwaltung bleibt relevant für all jene, die täglich mit großen Mengen von Dateien arbeiten müssen.

Besonders interessant ist, dass trotz des Alters dieses Konzepts die Entwicklung sehr aktiv ist. Heutige Implementierungen werden kontinuierlich weiterentwickelt und an aktuelle Bedürfnisse angepasst.

Diese Einheitlichkeit im Bedienkonzept, bedingt durch die informelle Standardisierung, sorgt dafür, dass Nutzer beim Wechsel zwischen verschiedenen orthodoxen Dateimanagern kaum Einarbeitungszeit benötigen.

Welcher orthodoxe Dateimanager für wen geeignet ist, ist eine Frage der persönlichen Präferenz. Hier kann nach Betriebssystem vorselektiert werden und auch die Frage, ob es freie Software oder auch ein kommerzielles Produkt sein darf, entscheidet.

Gemeinsam haben alle hier vorgestellten Dateimanager eine gewisse Basisfunktionalität. Die Differenzierung der einzelnen Dateimanager fängt meist erst bei den komplexen Features an.

Während z. B. der Total Commander mit vielen Funktionalitäten glänzt und über ein reichhaltiges Pluginangebot verfügt, kann er für einige Nutzer altgebacken oder überladen wirken.

Nicht alle orthodoxen Dateimanager sind in die eigene Landessprache übersetzt, sodass auch dies ein Entscheidungskriterium sein kann.

Unter Linux bieten sich je nach gewählter Desktop-Umgebung der GNOME Commander oder Krusader an, während macOS mit Commander One, Marta und dem Nimble Commander über gut integrierte Dateimanager verfügt. Auch für Windows-Nutzer stehen mehrere orthodoxe Dateimanager zur Verfügung, die nativ auf dem System laufen.

Wer betriebssystemübergreifend unterwegs ist, kann auf Multiplattform-Manager wie den Double Commander oder den muCommander zurückgreifen.

Je nach individuellen Anforderungen kann auch die Nutzung terminalbasierter Varianten wie des Far Managers oder des Midnight Commander eine sinnvolle Alternative darstellen.

Welche Lösung am besten passt, lässt sich meist erst im praktischen Einsatz beurteilen; eine individuelle Erprobung ist daher unerlässlich.

Zusammenfassend lässt sich sagen, dass orthodoxe Dateimanager ein effizientes Arbeiten mit vielen Dateien und komplexen Verzeichnisstrukturen ermöglichen; ganz ohne den Umweg über mausgesteuerte Bedienkonzepte. Dies spart Zeit, schont die Nerven und steigert die Produktivität.

Dieser Artikel erschien ursprünglich auf Golem.de und ist hier in einer alternativen Variante zu finden.

Rust-Cross-Compiling unter macOS

Unter Rust ist das crosscompilen, also das Erstellen von Binaries für andere Architekturen relativ einfach. Im Falle des Raspberry Pi 5, muss als Erstes die passende Zielarchitektur installiert werden:

rustup target add aarch64-unknown-linux-gnu

Da Rusts Standardbibliothek std auf C-Bibliotheken wie libc aufbaut, muss gegen das Zielsystem gelinkt werden; in diesem Fall das Linux auf dem Raspberry Pi. Dafür wird die entsprechende Toolchain benötigt:

brew tap messense/macos-cross-toolchains
brew install aarch64-unknown-linux-gnu

Nun muss das bestehende Rust-Projekt noch modifiziert werden. Dazu muss eine Cargo-Konfiguration unter .cargo/config.toml erstellt werden:

[target.aarch64-unknown-linux-gnu]
linker = "aarch64-linux-gnu-gcc"

Anschließend kann das Release erzeugt werden:

cargo build --release --target aarch64-unknown-linux-gnu

Nach dem Buildprozess findet sich das Kompilat im Ordner target/aarch64-unknown-linux-gnu/release/ und kann auf dem Raspberry Pi ausgeführt werden.

EUVD unter Rust nutzen

Bedingt durch die Kürzungen der US-Regierung, war es in den letzten Wochen durchaus denkbar, dass die CVE-Liste, mangels monetärer Mittel, ihre Arbeit hätte einstellen müssen. Das veranlasste die Agentur der Europäischen Union für Cybersicherheit (ENISA), ihre eigene Schwachstellen-Datenbank, die European Vulnerability Database (EUVD), früher vorzustellen. Neben der offiziellen Seite, wird auch eine API bereitgestellt.

Das Webinterface der EUVD

Mehrere spezialisierte Endpunkte stehen innerhalb der API zur Verfügung: /api/lastvulnerabilities, /api/exploitedvulnerabilities und /api/criticalvulnerabilities liefern jeweils bis zu acht aktuelle Einträge. Über /api/vulnerabilities lassen sich Schwachstellen detailliert nach Kriterien wie Score, EPSS-Wert, Veröffentlichungszeitraum, Hersteller oder Produktname filtern. Weitere Routen ermöglichen den Zugriff auf konkrete Einträge per ENISA-ID oder geben zugehörige Advisories aus.

Die erstellte OpenAPI-Spezifikation

Die Dokumentation der API ist allerdings eher rudimentär und nicht wirklich strukturiert gehalten, so werden z.B. die Response-Objekte nirgendwo definiert. Da ich die API in Rust nutzen wollte, führte dies zur Entwicklung des Crates euvd. Passend dazu habe ich eine OpenAPI-Spezifikation erstellt, welche die API möglichst vollumfänglich abbildet. Damit können auch Clients abseits von Rust für die EUVD-API erzeugt werden.

Der Content-Type ist text/plain

Die API selbst enthält noch einige Merkwürdigkeiten bzw. Inkonsistenzen. Dies fängt damit an, das JSON-Objekte zurückgegeben werden:

{
    "id": "cisco-sa-ata19x-multi-RDTEqRsy",
    "description": "Cisco ATA 190 Series Analog Telephone Adapter Firmware Vulnerabilities",
    "summary": "Multiple vulnerabilities in Cisco ATA 190 Series Analog Telephone Adapter firmware, both on-premises and multiplatform, could allow a remote attacker to delete or change the configuration, execute commands as the root user, conduct a cross-site scripting (XSS) attack against a user of the interface, view passwords, conduct a cross-site request forgery (CSRF) attack, or reboot the device.\r\n\r\nFor more information about these vulnerabilities, see the Details [\"#details\"] section of this advisory.\r\n\r\nCisco has released firmware updates that address these vulnerabilities. There are no workarounds that address these vulnerabilities. However, there is a mitigation that addresses some of these vulnerabilities for Cisco ATA 191 on-premises firmware only.\r\n\r\n",
    "datePublished": "Oct 16, 2024, 4:00:00 PM",
    ...
}

Der Content-Type seitens der API wird allerdings als text/plain;charset=UTF-8 definiert und entsprechend zurückgegeben. Dies führte unter anderem bei der Client-Generation zu Problemen, da der Text nicht standardmäßig in die bereitgestellten JSON-Objekte konvertiert wurde.

In den API-Objekten selbst wird mit Camel case gearbeitet, allerdings existieren aus Ausnahmen, wie die enisa_id, welche als Snake case geschrieben wird und die API an einigen Stellen etwas inkonsistent wirken lässt.

"enisa_id": "EUVD-2024-45012\n",
"assigner": "mitre",
"epss": 0.05,
"enisaIdProduct": [
...

An anderen Punkten wird wieder die Schreibweise in Camel case genutzt, wie z.B. beim enisaIdProduct-Feld. Auch eine Versionierung ist nicht zu erkennen, was die Frage nach dem genauen Updateprocedere der API aufwirft.

In Bezug auf digitale Souveränität fällt zudem auf, dass die API bei Azure gehostet wird, wie ein whois zeigt:

% IANA WHOIS server
% for more information on IANA, visit http://www.iana.org
% This query returned 1 object

refer:        whois.arin.net

inetnum:      20.0.0.0 - 20.255.255.255
organisation: Administered by ARIN
status:       LEGACY

whois:        whois.arin.net

changed:      1994-10
source:       IANA

# whois.arin.net

NetRange:       20.33.0.0 - 20.128.255.255
CIDR:           20.64.0.0/10, 20.128.0.0/16, 20.40.0.0/13, 20.34.0.0/15, 20.36.0.0/14, 20.33.0.0/16, 20.48.0.0/12
NetName:        MSFT
NetHandle:      NET-20-33-0-0-1
Parent:         NET20 (NET-20-0-0-0-0)
NetType:        Direct Allocation
OriginAS:       
Organization:   Microsoft Corporation (MSFT)
RegDate:        2017-10-18
Updated:        2021-12-14
Ref:            https://rdap.arin.net/registry/ip/20.33.0.0

Dies lässt strategische Autonomie vermissen, wenn solche Dienste auf einer Infrastruktur betrieben werden, welche unter ausländischer Rechtshoheit steht.

Um die API bzw. den Client in Rust zu nutzen, muss im ersten Schritt das Crate ins eigene Projekt eingebunden werden:

cargo add euvd

Anschließend können die einzelnen Ressourcen aufgerufen werden:

use euvd::apis::configuration::Configuration;
use euvd::apis::default_api;

async fn get_last_vulnerabilities() {

    // Preparation
    let config = Configuration::default();
    let result = default_api::get_last_vulnerabilities(&config).await;

    // Print result if successful
    if let Ok(response) = &result {
        println!("Response received:");
        for vuln in response {
            println!("• ID: {:?}, Description: {:?}", vuln.id, vuln.description);
        }
    }

    // Asserts
    assert!(result.is_ok(), "API call failed: {:?}", result.err());
}

Weitere Beispiele zur Nutzung der API finden sich im Integrationstest. Der Client ist unter MIT- und Apache-Lizenz lizenziert und auf GitHub und crates.io zu finden.

Rust auf dem Picoboy und dem Picoboy Color

In den letzten Tagen erreichte mich der Picoboy Color, nachdem ich schon einige Zeit im Besitz eines Picoboy war. Neben den üblichen Spielereien war ich daran interessiert die beiden Geräte mittels Rust zum Laufen zu bekommen. Also warf ich einen Blick auf das vorhandene Tooling und am Ende entstanden zwei Crates, zur Anbindung der Picoboys an Rust.

Die entstandenen Crates

Auf Basis der rp-rs-Projekte entstanden, neben den Board Support Packages auch neue Templates zum Start neuer Projekte. Die einzelnen Repositorys sind hierbei picoboy-hal-boards, picoboy-project-template und picoboy-color-project-template. Sie sind jeweils under der Apache- und der MIT-Lizenz lizenziert.

Der Picoboy und der Picoboy Color, mittels Rust programmiert

Über das Rust-Werkzeug cargo-generate, welches mittels:

cargo install cargo-generate

installiert werden kann, können neue Projekte über die bereitgestellten Templates angelegt werden. Für den Picoboy wäre dies:

cargo generate --git https://github.com/seeseekey/picoboy-project-template.git

Analog dazu für den Picoboy Color:

cargo generate --git https://github.com/seeseekey/picoboy-color-project-template.git

Die Beispiele zeigen die Nutzung der Steuerung, das Zeichnen auf dem Display und einige weitere Kleinigkeiten. Hier ist an einigen Stellen durchaus noch Verbesserungsbedarf gegeben, so können z. B. die Abhängigkeiten angepasst werden, sobald die Basisbibliotheken von rp-rs auf die aktuellen Versionen aktualisiert wurden. Auch ein Upgrade der st7789-Bibliothek auf den Nachfolger mipidsi wäre dann denkbar.

Das Zeichnen auf dem Display erfolgt im Moment noch direkt, hier ließe sich die Performance durch die Nutzung von embedded-graphics-framebuf verbessern. Ebenfalls denkbar wäre eine weitere Modularisierung, so könnte z. B. die Controller- und Display-Initialisation in separate Rust-Module ausgelagert werden.