Proteggere le piattaforme aperte

Logo di Feddit Logo di Flarum Logo di Signal Logo di WhatsApp Logo di Telegram Logo di Matrix Logo di XMPP Logo di Discord

Schützen Sie offene Plattformen

Dieser Beitrag wurde zuletzt aktualisiert von 2 Jahren tut

Dies ist ein automatisch aus dem Italienischen übersetzter Text. Wenn Sie unsere Arbeit schätzen und sie gerne in Ihrer Sprache lesen, denken Sie über eine Spende nach, damit wir sie weiterhin durchführen und verbessern können.

Angesichts des enormen Erfolgs (wir haben ihn wirklich sehr geschätzt und wir freuen uns sehr darüber) des Artikels WhatsApp und die Domestizierung der Nutzer, haben wir beschlossen, den zweiten Teil dieses Artikels zu übersetzen. Die Originalartikel wurden ursprünglich von geschrieben Rohan Kumar, zum Glück in Creative Commons License. Dank dieser Lizenz war es uns tatsächlich möglich, sie frei zu übersetzen, ohne auf Urheberrechtsprobleme zu stoßen. Sie haben uns um die Übersetzung des zweiten Teils des Artikels gebeten, ebenfalls in Creative Commons. Das ist es, was wir Ihnen gleich mitteilen wollen Plattformen offen halten, in das wir übersetzen wollten Schützen Sie offene Plattformen.

Hier beginnt der ursprünglich von verfasste Artikel Rohan Kumar und unter Lizenz CC BY-SA 4.0 und wurde am 23. Februar 2021 verfasst und am 3. März 2021 aktualisiert.

Schützen Sie offene Plattformen

Dies ist der zweite Artikel in einer Reihe von Beiträgen, die Situationen identifizieren, in denen Zahnseide (Freie Software) allein reicht nicht aus, um die Freiheit der Nutzer zu gewährleisten.

Mein vorheriger Artikel, WhatsApp und die Domestizierung der Nutzer, erhielt mehr Aufmerksamkeit als ich erwartet hatte. Einige Antworten gaben mir viel Anlass zum Nachdenken 1 insbesondere im Hinblick auf Aktionen das wir unternehmen können. Mein Vorschlag ist, zuerst diesen Artikel zu lesen; Was es ist, wird erklärt die Domestizierung des Benutzers und warum es ein Problem ist. Ich habe drei Gegenmaßnahmen aufgelistet: Zahnseide, Einfachheit und Plattformen offen.

Für komplexe Probleme gibt es per Definition keine einfachen Lösungen. Es reicht nicht aus, einfach eine Plattform auszuwählen (oder zu erstellen), die die Domestizierung der Benutzer vermeidet, wenn diese Plattform geändert werden kann. Der Preis der Freiheit ist ewige Wachsamkeit; Wir müssen uns nicht nur für die richtige Plattform entscheiden, sondern auch sicherstellen, dass sie sich sowohl in der Gegenwart als auch in der Gegenwart um ihre Benutzer kümmert in der Zukunft. Pflegen Sie eine Plattform Zahnseide leicht zu pflegen es ist mehr einfach 2 als den Schutz einer Plattform offen.

Wie können wir verhindern, dass aus einer offenen Plattform in Zukunft eine geschlossene Plattform wird?

Wie kann eine offene Plattform geschlossen werden?

Es gibt drei Möglichkeiten, eine Plattform zu erstellen offen werden geschlossen:

  1. eine erzwungene Migration auf eine andere Plattform;
  2. eine einzelne Implementierung wird dominant und überspannt Spezifikation und Implementierung;
  3. Dominante Implementierungen, die zu viele nicht standardmäßige Funktionen und Verhaltensweisen übernehmen.

Diese drei Ansätze können sich überschneiden: Sie basieren häufig auf einer Plattformmonokultur und einem einzigen Anbieter, der sowohl den Client als auch die Server kontrolliert.

Erzwungene Migration

Wenn ein Anbieter alle Teile eines Dienstes kontrolliert (z. B. sowohl einen Client als auch einen Server), verfügt er über die Mittel, das zu erstellen, was ich nenne eine Plattform in einer Box: eine Teilmenge einer größeren offenen Plattform, die sich unabhängig weiterentwickeln kann, ohne Rücksicht auf Kompatibilität oder Interoperabilität.

Durch die Kontrolle sowohl des Servers als auch des Clients kann ein Anbieter den Client und den Server aktualisieren, ohne sich Gedanken darüber machen zu müssen, dass die Kompatibilität mit anderen Clients/Servern beeinträchtigt wird. Es könnte den Client aktualisieren, um Benutzer zu einem Server weiterzuleiten, der ein völlig anderes geschlossenes Protokoll verwendet. Dies ist vielen XMPP-Benutzern Anfang der 2000er Jahre passiert.

Fallstudie: Einmachen von XMPP

XMPP (früher bekannt als Jabber) ist ein offenes, föderiertes Instant-Messaging-Protokoll; Jeder kann seinen eigenen XMPP-Server einrichten und mit Benutzern auf verschiedenen XMPP-Servern kommunizieren, wodurch verhindert wird, dass eine Organisation Eigentümer der Plattform ist. Zwischen 2005 und 2014 wurde es von vielen proprietären Chat-Plattformen unterstützt: Google Talk, AOL Instant Messenger (AIM), Facebook chat (später bekannt als Facebook Messenger) e Skype Dies sind nur einige bekannte Beispiele. Auf einigen dieser Plattformen war sogar die Server-zu-Server-Föderation aktiviert.

Bedauerlicherweise sind die Benutzer dieser proprietären Dienste betroffen verpackt. Nur wenige Google Talk-Benutzer sprachen mit Skype-Benutzern und Skype-Benutzer sprachen selten mit AIM-Benutzern. Die Nutzer blieben auf ihren eigenen Unterplattformen. Das Ergebnis war, dass alle Benutzer darauf beschränkt waren, ausschließlich mit der Software ihres Anbieters zu sprechen: Ein Anbieter kontrollierte den gesamten Nachrichtenfluss, vom Client eines Absenders über den Server bis hin zum Client eines Empfängers. Den Benutzern stand nur eine einzige XMPP-Implementierung zur Verfügung, die von einem einzigen Anbieter angeboten wurde.

Jede der aufgeführten Plattformen hat ihre Benutzer schließlich daran gehindert, von XMPP zu migrieren. Dies wäre nicht möglich gewesen, wenn mehrere Implementierungen und Anbieter miteinander interagiert hätten. Stellen Sie sich vor, dass Bob BobClient und BobServer verwendet, um mit Alice zu kommunizieren, und Alice verwendet AliceClient und AliceServer. BobClient, BobServer, AliceClient und AliceServer sollten alle kompatibel bleiben und dasselbe Protokoll verwenden; Eine erzwungene Migration ist unwahrscheinlich, da dadurch die Kompatibilität beeinträchtigt würde.

Vergleichen Sie nun die Situation mit E-Mail: Trotz der Dominanz von Gmail bleiben andere E-Mail-Anbieter beliebt. Gmail-Benutzer müssen in der Lage sein, mit Nicht-Gmail-Benutzern zu kommunizieren und umgekehrt. E-Mail ist viel weniger verpackt im Vergleich zu den oben genannten proprietären XMPP-Plattformen. Dadurch konnte Google die E-Mail-Plattform nicht so einfach kontrollieren; Google kann Gmail-Nutzer nicht einfach auf eine Nicht-E-Mail-Plattform migrieren, die mit dem Rest der E-Mail-Landschaft inkompatibel ist, um seine Nutzer weiter zu domestizieren.

XMPP ist immer noch am Leben, aber seine aktuelle Popularität ist nur noch ein Bruchteil dessen, was es einst war.

Einfluss der Umsetzung

Standards sind eine Art Vereinbarungen, die getroffen werden, um die Kompatibilität zwischen Implementierungen sicherzustellen. Solche Vereinbarungen müssen von den Implementierungen selbst vereinbart werden. Wenn eine Implementierung dominant wird, erhöht sich auch ihr Einfluss auf die Entscheidungsfindung in Bezug auf gemeinsame Standards. Zu viel Dominanz kann zu einer Monokultur führen, in der die dominante Implementierung die einzige Implementierung ist, die den Spezifikationen entspricht.

Bei ausreichender Hebelwirkung kann eine dominante Implementierung als Referenzimplementierung dienen. Referenzimplementierungen sind in der Regel sehr nützlich und dienen als Informationsquelle zum Testen anderer Implementierungen. Probleme können auftreten, wenn die Spezifikationsentwicklung und die Referenzimplementierung auf Produktionsebene eng miteinander verbunden sind und die Machbarkeit der Implementierung durch Dritte im Entscheidungsprozess außer Acht gelassen wird.

Fallstudie: Matrix und Element

Ein Beispiel für dieses Phänomen ist Matrix. Matrix ist eine offene und föderierte Instant-Messaging-Plattform, ähnlich wie Lesen, Gerätetests … die Liste lässt sich beliebig fortsetzen und wächst jeden Monat 3. Der einzige Client, der alle notwendigen Funktionen implementiert, ist Element. Element ist nicht nur der beliebteste Client, sondern dient auch praktisch als Referenz-Client-Implementierung: Es wird von derselben Firma entwickelt, die die dominanten Server und die meisten Spezifikationen erstellt. Durch die enge Kopplung zwischen Element- und Matrix-Spezifikationen können Sie Funktionen in einem Tempo hinzufügen, das zu schnell ist, als dass andere Kunden mithalten könnten. Praktisch jeder Matrix-Benutzer muss Element irgendwann öffnen, um eine Aktion auszuführen, die in keinem anderen Client unterstützt wird. Serverseitig ist Synapse der einzige Server, der genügend Spezifikationen implementiert, um nutzbar zu sein, gefolgt von Dendrite an zweiter Stelle. Beide werden von derselben Firma hergestellt, die Element entwickelt.

Da es keine Clients und Server von Drittanbietern gibt, die die offiziellen ersetzen könnten, ist ein Anbieter nahezu in der Lage, alle Teile der Plattform zu kontrollieren. Die zunehmende Komplexität, die von Clients und Servern verlangt wird, könnte diese vorherrschenden Implementierungen, wie ich es getan habe, auch weiter festigen vorher erklärt. Matrix kommt einer Boxed-Plattform nahe, da der offizielle Client und der Server unabhängig voneinander bewegt werden können.

Ich glaube nicht, dass Matrix in absehbarer Zeit zu einer völlig geschlossenen Plattform werden wird; der Blogbeitrag „Über Privatsphäre versus Freiheit“ scheint es auf die Seite zu legen Gut der geschlossenen/offenen Frage. Anwendungen wie Gomuks Und FluffyChat Sie scheinen gut genug mit Element mithalten zu können, um als teilweiser Ersatz zu dienen. Allerdings finde ich den aktuellen Zustand problematisch und viel näher dran geschlossen im geschlossenen/offenen Konzept im Vergleich zu XMPP, IRC und E-Mail.

Feature-Creep nicht Standard

Plattformen sind mehr als ihre Protokolle. Unterschiedliche Implementierungen zeichnen sich durch ein einzigartiges Verhalten aus. Probleme entstehen, wenn einzigartige, nicht standardmäßige Funktionen dominanter Implementierungen über einen bestimmten Punkt hinaus wachsen und einen geschlossenen Kreislauf innerhalb einer offenen Plattform bilden.

Fallstudien: E-Mail-Anbieter

Nachdem ich meinen vorherigen Artikel gelesen hatte, haben mich einige Leute kontaktiert und nach meiner Meinung zu bestimmten E-Mail-Anbietern gefragt. Es gibt nicht viel, was einen Standard-E-Mail-Anbieter auszeichnet, wenn er nur einen einfachen E-Mail-Server hostet. Um sich abzuheben, implementieren E-Mail-Anbieter häufig viele Funktionen, die über die Einhaltung von E-Mail-Standards hinausgehen.

Die überwiegende Mehrheit der E-Mail-Konten stammt von einer kleinen Handvoll dominanter Anbieter, die von großen Unternehmen unterstützt werden (Gmail, Yahoo! Mail, Yandex Mail, Mail.ru, iCloud und andere). Anbieter wie Gmail sind dafür bekannt, fortschrittliche Spam-Filter zu implementieren, die sich vor allem an Nicht-Mainstream-E-Mail-Anbieter richten. Benutzer, die E-Mail-Server selbst hosten oder kleine Anbieter nutzen, lösen häufig Fehlalarme aus und ihre Nachrichten werden fälschlicherweise als Spam gekennzeichnet, bis es ihnen gelingt, eine E-Mail-Adresse zu erstellen Ruf 4. Das Hinzufügen eines solch komplexen Spamfilters stärkt das E-Mail-Oligopol, indem es eine Eintrittsbarriere für Neulinge schafft. Absender mit geringem Volumen werden beispielsweise diskriminiert gefunden Migadu:

Wir haben bereits bösartige Spamfilter und falsch konfigurierte Server gesehen. In einigen Fällen haben die Server der Empfänger absichtlich korrekte E-Mails abgelehnt, nur weil wir ein Absender mit geringem Volumen sind. Ironischerweise sollte ein idealer Absender genau so sein. Um die „Zulässigkeit“ zu verbessern, bieten sie offensichtlich ihren eigenen gehosteten E-Mail-Dienst zu einem hohen Preis an.

Ein weiteres Beispiel: E-Mail-Anbieter mögen Hey.com, Protonenpost Und Tutanota Sie bieten viele Funktionen, die mit IMAP/POP3 nicht kompatibel sind. Protonmail und Tutanota verwenden ihre eigene, nicht standardmäßige E2EE-Implementierung (anstatt sich auf die Verbesserung der Benutzeroberfläche für Vanilla PGP zu konzentrieren), während Hey.com eine serverseitige Mail-Organisation anbietet. Benutzer dieser Dienste müssen offizielle Web-, Desktop- und Mobil-Clients verwenden 5. Diese drei Anbieter kontrollieren sowohl den Client als auch den Server und bieten ihnen die Möglichkeit, sich an einen Anbieter zu binden. Natürlich gibt es eine Grenze für die Bindung, die diese Anbieter erreichen können: wie ich in erklärt habe XMPP-Fallstudie, Diese Anbieter müssen weiterhin SMTP unterstützen, um mit der breiteren E-Mail-Landschaft kompatibel zu bleiben.

Lösungen

Die Situation scheint daher nicht die rosigste zu sein. Versuchen wir, uns auf die Maßnahmen zu konzentrieren, die Benutzer und Anbieter ergreifen können, um die Plattformen offen zu halten.

Was Benutzer tun können

Erwägen Sie als Benutzer die Verwendung von Clients und Servern, die von verschiedenen Personengruppen erstellt wurden, um das Blockieren der Plattform zu erschweren. Wählen Sie Implementierungen, die weniger Probleme verursachen Feature-Creep. Was einen Kunden auszeichnet, sollte nicht sein welche Funktionalität, die es hat, aber als diese werden umgesetzt. Natürlich ist es großartig, einige einzigartige Funktionen zu haben; Probleme treten auf, wenn die Anzahl der eindeutigen Merkmale einen bestimmten Schwellenwert überschreitet. Die Befolgung dieser beiden Praktiken fördert die Einhaltung von Standards, Zuverlässigkeit und Kompatibilität, anstatt sie zu implementierenInnovationWählen Sie langweilige Technologie anstatt immer glänzende neue Funktionen.

Versuchen Sie, sich außerhalb der Stadt zu wagen Mainstream Werfen Sie einen Blick auf weniger beliebte Anbieter oder Anwendungen. Alle Implementierungen beginnen irgendwo, und eine Vielzahl von Implementierungen verhindert, dass eine Regel ein Oligopol bildet.

Berücksichtigen Sie bei der Auswahl eines Kunden und Anbieters die Anreize des Anbieters. Wem gegenüber sind Ihre Lieferanten rechenschaftspflichtig? An Nutzer oder Investoren? Haben sie den Punkt der finanziellen Nachhaltigkeit überschritten?

Ich behaupte nicht, dass durchschnittliche Benutzer irgendetwas tun falsch; Vom Durchschnittsnutzer zu erwarten, dass er sein Verhalten zum Wohle der Allgemeinheit ändert, ist naiv. Dieser Rat richtet sich an die Untergruppe der Benutzer, die technisch versiert und bereit genug sind, über die von ihnen gewählten Plattformen nachzudenken, und richtet sich indirekt an die Personen, die sie beeinflussen können.

Was Lieferanten tun können

Konzentrieren Sie sich nicht zu sehr auf die Skalierbarkeit, sondern darauf, dass serverseitige Software einfach zu installieren und zu integrieren ist. Schließen Sie die Registrierungen, falls Ihre Beispiel Es wird zu groß und ermutigt die Menschen, verschiedene Anbieter zu nutzen. Es gibt im Fediverse mehrere Fälle, die dies bereits tun. Ich sage nicht, dass die Skalierung nicht wichtig ist; Ich sage vielmehr, dass die Reduzierung der Eintrittsbarrieren für neue Anbieter ein wirksamer alternativer Ansatz zur Skalierung ist 6.

Betrachten Sie die Copyleft-Lizenz. Copyleft ist eines der mächtigsten Werkzeuge, die uns zum Schutz der Benutzerfreiheit zur Verfügung stehen, indem es die Erstellung abgeleiteter Werke verhindert, die darauf abzielen, die Benutzerfreiheit einzuschränken. Dadurch wird es für alternative Implementierungen schwieriger, Änderungen beizubehalten, während sie dies versuchen dürfen die Benutzer. Dort GNU AGPLv3 es ist besonders effektiv, weil es die Verteilung von serverseitigem Code für Netzwerkdienste erfordert; Eine virale Verbreitung von AGPLv3-lizenzierter Software hätte das Canning von XMPP-Benutzern in den frühen 2000er Jahren abschwächen können.

Referenzimplementierungen sind in Ordnung, wenn sie nicht zu dominant sind. Stellen Sie sicher, dass andere Implementierungen aufholen können. Verlangsamen Sie bei Bedarf die Entwicklung einer Spezifikation, lassen Sie Entwickler anderer Implementierungen am Entscheidungsprozess teilhaben und helfen Sie ihnen, ihre Implementierungen zu verbessern. Sich schnell zu bewegen und Dinge kaputt zu machen, ist nicht der beste Ansatz.

Beispielsweise würden Element und die Matrix.org Foundation die meisten meiner Bedenken zerstreuen, indem sie Folgendes tun:

  • Reduzieren Sie Neuanmeldungen auf dem Matrix.org-Homeserver, indem Sie Benutzer auf alternative Server verweisen, die von anderen Personen betrieben werden.
  • Gehen Sie bei neuen Funktionen sehr konservativ vor, bis mehr Server- und Client-Implementierungen mit Element, Synapse und Dendrite gleichziehen.
  • Konzentrieren Sie sich auf die Reduzierung der Systemanforderungen zum Hosten eines Servers und verringern Sie so die Eintrittsbarriere für neue Anbieter. Dies ist mit der Entwicklung von Dendrite bereits im Gange.

Nachteile

Der größte Nachteil der eben gegebenen Ratschläge ist die Geschwindigkeit der Entwicklung. Die Aufrechterhaltung der Kompatibilität und Spezifikationskonformität verlangsamt die Geschwindigkeit, mit der neue Funktionen hinzugefügt werden können. Als er behauptet Moxie, Signal wäre möglicherweise nicht in der Lage gewesen, so viele Funktionen zu implementieren, wenn es eine offene Plattform wäre; Spezifikationsgebundene Entwicklung ist per Definition gebunden. Die Anzahl der Benutzer wird durch den kleinsten gemeinsamen Nenner unter den beliebtesten teilnehmenden Implementierungen begrenzt.

Offene Plattformen mit mehreren Anbietern und Implementierungen leiden häufig unter einer geringeren Benutzerfreundlichkeit, insbesondere wenn es darum gehtOnboarding. Anstatt einfach die offizielle App/Website zu öffnen, müssen Benutzer zwischen mehreren Clients und Anbietern wählen. Für Gelegenheitsnutzer, die einfach nur etwas ausprobieren möchten, kann dies (zum Schlechten) abschreckend sein. Eine der besten Möglichkeiten, das Erlebnis zu verbessern Onboarding bietet Ihren technisch nicht versierten Freunden Ratschläge; Sie kennen sie gut und können ihnen wahrscheinlich helfen, eine fundierte Entscheidung zu treffen.

Parallelen zu anderen Situationen

Programmiersprachen, die auf einem Standard statt auf einer Referenzimplementierung basieren, sind in der Regel besser portierbar, verfügen über viele gute Implementierungen und werden mit der Zeit wahrscheinlich nicht verschwinden. Beispiele hierfür sind C, C++, Common Lisp, JavaScript und POSIX Shell. Vergleichen Sie dies mit einer Sprache wie Python: So viele Pakete hängen von der Herangehensweise der CPython-Referenzimplementierung an C-Erweiterungen ab, dass alternative Implementierungen wie PyPy ständig Bürger zweiter Klasse bleiben müssen.

Der auf Standards und Konsens basierende Ansatz bei der Plattformentwicklung und die daraus resultierende Ineffizienz sind in vielen Bereichen, auch außerhalb der Softwareentwicklung, ein sichtbarer Kompromiss. Die meisten Formen der Demokratie leiden unter Bürokratie und Machtkämpfen, die den Fortschritt ersticken. Einige haben argumentiert, dass die Ineffizienz der Demokratie ein Merkmal und kein Fehler sei. Wie Nathan sagt Myhrvold:

Der Grund dafür, dass Gesellschaften mit demokratischen Regierungen bessere Orte zum Leben sind als ihre Alternativen, liegt nicht in der intrinsischen Güte der Demokratie, sondern darin, dass ihre hoffnungslose Ineffizienz dazu beiträgt, das zugrunde liegende Potenzial des Bösen abzuschwächen. Der Zwang, die Popularität konstant aufrechtzuerhalten, ist einfach eine zu große Last, als dass man sie ertragen könnte. Glücklicherweise wird also sehr wenig gemacht, was extrem schlecht oder extrem gut ist.

Nathan Myhrvold

Der vielleicht größte Vorteil der Abkehr von der Mentalität „Beweg dich schnell und mach Dinge kaputt“ besteht darin, dass es nicht nur schwierig wird, einen Service schnell zu verbessern, sondern dass die Abkehr von dieser Art von Mentalität es auch schwierig macht, einen Service schnell zu verschlechtern.

Danksagungen

Denver Gingerich Hat mir zu Beginn des Schreibprozesses beim Brainstorming geholfen und nützliche Informationen für den Abschnitt über XMPP bereitgestellt.

Dank an Barna Zsombor und Carbolymer für das gute Feedback zum IRC.

  1. Insbesondere dieser Kommentar[]
  2. Bitte beachten Sie, dass die Wörter „einfach“ und „einfach“ nicht austauschbar sind, obwohl es einige Überschneidungen gibt[]
  3. Sie sehen Diese Woche in der Matrix, ein wöchentlicher Blog mit Updates zur Matrix. Schauen Sie sich insbesondere die Spezifikationsaktualisierungen an.[]
  4. Der offizielle Rat von Google Und AWS Beschreiben Sie dieses Verhalten im Detail[]
  5. Protonmail bietet sein eigenes an Brücke Das übersetzt die Protonmail-API in IMAP, sodass Benutzer ihre bevorzugten E-Mail-Clients verwenden können. Dies ändert jedoch nichts an der Tatsache, dass Benutzer offizielle Clients verwenden müssen; In diesem Fall ist das Programm der offizielle Client Brücke Dasselbe[]
  6. Ich habe mich entschieden, den frechen Untertitel „Skalierbarkeit ist schlecht“ nicht zu verwenden, weil ich befürchtete, dass Leser einer bestimmten orangefarbenen Website den Witz zu ernst nehmen könnten[]

Treten Sie Communities bei

Logo di Feddit Logo di Flarum Logo di Signal Logo di WhatsApp Logo di Telegram Logo di Matrix Logo di XMPP Logo di Discord




Wenn Sie Fehler im Artikel gefunden haben, können Sie diese per Klick melden Hier, Danke schön!

Von skariko

Autor und Administrator des Webprojekts Die Alternativen