Federating by Commune design

I intend to present an idea heavily based on the marvellous proposals by rysiek and pettter. It is about breaking the garden walls and creating community servers (a “Commune” is the concept of a multi-user server setup with federating software) And it is up to us techies, the 1%, to do this for the rest of teh internets. I take no responsibility for any originality in this post (perhaps there is none), it is just a summary of great minds that think alike.

First, some background. There are about a zillion free, federating software implementations of federated social technology operating on various homegrown protocols and/or APIs. Few of these interoperate. If they interoperate, it is seldom a very reliable or user friendly experience. While we probably can live with this, and may find the debugging fun to do, the 99% are appalled and turn away. This far I believe everyone agrees.

The goal, in my opinion, is to have freedom not just with the choice of service provider but of course also with software. The benefits of an all-encompassing protocol is that anyone can implement it, making it possible to design implementations not just for web and desktop clients – but also embedded hardware that will build the future Internet of Things. I suppose most of you reading this are still on the same track. Except that we still can’t seem to “devise a single, workable protocol“.

Some of my personal preconceptions

Before I describe the idea, here is where I might diverge from the general line of thought, I wish to point out that my ideas are derived from reasoning regarding “Fedsocweb and the FreedomBox“. I strongly believe that there can’t be a single, global state (“I don’t have the full conversation from three federating nodes” etc.).

A last, important, detail is that I believe that the “federated social web” is not trying to protect rebels in dictatorships with this (like FreedomBox or TOR do). We’re trying to pass control of information closer to the originating party and away from a single hoarding third party – and be social while doing it! It may help from mass data analysis, but pure anonymity is a somewhat different business.

The simple idea of reusing technology

To sum it up, I believe we don’t have to design anything new. We already have the tools necessary, mostly fine-tuned and ready for federated services. Existing software, protocol and infrastructure performs just fine already, here are some of them. This is not an exhaustive list, and it’s in a pretty arbitrary order. I just wanted to get it out there in text:

  • Sender/receiver authentication.
    GnuPG is designed for this, though somewhat hard to use. However, if the GPG stuff is entirely handled by each respective software, having access either to the same keys or properly assigned subkeys, users don’t have to bother with the tricky interface.
  • Visualize and enrich communication for the user’s liking.
    HTML5, CSS (+JS in some occasions) do this. An e-mail can contain all of it and today’s clients support it out of the box. HTML is relatively easy to textify for anyone with a braille terminal or CLI-preferral-syndrome. XMPP clients generally support something like this too in messages.
  • “Archival publishing”, media storage and sharing
    WordPress is a blog tool, there are many more too. For publishing music and video – I believe the future is bright for MediaGoblin. For replacing the networked streaming I’m not as experienced, but anything mpd to the HTML5 player in ownCloud would probably do good.
  • Asynchronous forum discussions, spanning over weeks or longer.
    Mailing lists are splendid for this purpose. They even support modern technologies like images and hyperlinks! Heck, even referring to previous posts, threading, CCs and BCCs! It may require a more natural “start-a-discussion-group” interface to mailman however, to attract the 99%.
  • Instant messaging/”status updates” with archiving.
    XMPP + related XEPs. Granted that not all clients present it exactly like you want it, but this solution would motivate further such development. Especially archive negotiation is lacking in many clients today.
  • Voice and video communication
    XMPP’s Jingle specification does this. And browsers soon have WebRTC + PeerConnection by default, so you who lean that way can use the Jingle plugin to Strophe.js.
  • Event planning and calendar synchronization.
    Afaik e-mail combined with the iCalendar format (and CalDAV for synchronization) support this to a large extent already. Work must probably be done on user interfaces to properly present “attending” user identities etc. (relate them to extended metadata).
  • Propagate your personal contact information.
    VCards. E-mail and XMPP have natural affinities for this. Preferrably, this information is updated and propagated through XMPP and put into e-mail attachments whenever desirable.
  • Evil integration of non-federating services
    There exist modules and scripts for many XMPP servers that allow the heathens who communicate over, say, Skype or Facebook Chat, to integrate these network contacts into their “local” rosters. For use with any XMPP client.

A side note for those who suffer from “not invented here 2.0″, and don’t appreciate Real Software™ as much as I do: Yes. You can build an app for that. There are HTTP accessible APIs (or we build them!). You can have it running in the cloud. It’s buzzword-compatible. It’s extensible.

That new supercool web-only feature you want? Well, The Simpsons already did it. And e-mail too.

Concretely, how is it done?

The combination (tying together) of these technologies implies that we would essentially devise that single, workable “protocol” – but rather than building one from scratch, we build upon existing, well-established networks. It is sort of like building a meta-package for your favorite software packaging tool: configuration files for binding authentication/access together and giving users a personal choice of software:

Swift, Empathy or irssi+bitlbee for IM/MUC? How about Roundcube for your webmail, with a Candy XMPP chat plugin? Otherwise there’s Thunderbird as a hefty all-in-one.

Stuff that may differ with world views

I believe many may react strongly to my suggestion for GPG key usage. For one it’s not user-friendly enough, so I suggest that any Commune instance to make sure any local GPG private key is accessible – and recoverable – for the administrator. I think this is ok because you’d have to trust your administrator anyway (compare it to the big F’s control over the identities of the 99% today). And if you understand this risk thoroughly, you’re probably competent enough to run your own (private) Commune instance – where you keep a new, truly private, private key.

Remember also that you can have several identities with different rosters (“friends lists”), or you might categorize users within your roster – a native part of XMPP. Say for example that you create a group (or “aspect” or “list” or “filter”) – and then allow only these to access the media catalog you shared called “Full archive of RIAA intellectual property”. Your public share – if any – would perhaps be “My local cache of web.archive.org”

So how do, say, Commune and FreedomBox differ?

FreedomBox is trying to do the meta-package-thing as a specific .deb for APT in Debian, focusing on private individuals’ security and privacy. Commune would be designed for communities (or groups or organizations or even individuals), where the 1% are given the “trust of root” and the 99% happily use a working, federated service run by someone they trust.

A lot of federated communities each running their own instance of a “Commune” would increase the possibilities of integrating (and extending) functionality for client software. But until then, you’re at least not on a separate federated network – as anyone you’d communicate with by e-mail or IM are already using the protocols!

Post scriptum

No, I haven’t put all of this together. There’s no Commune Demo Site. Sorry about that. But the idea has struck me several times while tying together my GNU Social-based Free & Social user database for postfix/dovecot for email and Prosody for XMPP. So I figured I’d type it all together at last.

Please keep discussions and commenting on the W3 fedsocweb CG mailing list in an appropriate thread. The comments on my blog (and WordPress in general) generally give a bad user experience after 3 replies or something. .)

En rättvisemärkt mobiltelefon, kanske?

Fairphone - Greetings from KolweziJag börjar sakta men säkert inse att min superkompetenta N900 faktiskt strax kommer att ge upp, hårdvarumässigt och prestandamässigt. Därför har jag letat efter mobiltelefoner att ersätta denna med något annat som stöder ett operativsystem lika kompetent som GNU/Linux – och helst även har ett taktilt tangentbord. Förhoppningen är förstås att Jollas kommande GNU/Linux-telefon kan byggas ut genom deras “Other Half”-skal till en tangentbordskompatibel variant (utan trådlösa bluetooth-länkar).

Jag har dock funnit ännu en intressant telefon utöver den Jolla utvecklar. Den matchar inte önskemål kring operativsystem och tangentbord – men dock resonerar leverantören positivt kring produktionsled och rättvisa arbetsförhållanden. Det är en i princip rättvisemärkt telefon kallad Fairphone – och den bygger på möjligheten att urvinna tenn och andra metaller från gruvor i Kongo som garanterat inte ger pengar till krigsherrar. Produktionsledet i Kina därefter ska enligt uppgift garanteras bra arbetsförhållanden.

Jag är alltid skeptisk till dessa avtal som “garanterar” saker, men precis som med alla andra produkter man handlar så får man bedöma trovärdigheten utifrån leverantören. Exempelvis hamnar dessa Fairphone-folk ett par steg högre än H&M. Det verkar absolut som en genuin verksamhet.

Och för folk i västvärlden är väl €325 inte alltför mycket pengar? Bara för en bra sak, liksom.

Jolla släpper hårdvaruinfo om sin telefon (med förhandsbeställning)

Jolla, ett finskt företag med de smartaste hjärnorna från f.d. Nokia, har nu släppt information on sin kommande hårdvaruplattform. Detta handlar alltså om en mobiltelefon som återupplivar den enorma potentialen i fullflexade GNU/Linux-operativsystem. Mer info finns bl.a. på deras hemsida och diverse nyhetsartiklar på nätet.

Jolla_PoppyRed_HomeFast inte nog med att de faktiskt använder ett bra operativsystem – själva användargränssnittet är nyskapande också. Det är mycket av en vidareutveckling från den knappfria mobilen som Nokia N9 kom med – förutom power/volym på sidan alltså – genom att användaren får mer, snabbare kontroll över styrningen av program utan att behöva gå in i dem.

Jolla - the Other Half phoneDäremot så avskyr jag personligen avsaknaden av fysiska, taktila tangentbord i dagens mobilutveckling. Det känns därför mycket skönt när Jolla även har presenterat “the Other Half” – en vidareutveckling konceptet “mobilskal”. Istället för att bara vara en flashig bild, eller innehålla en NFC-tagg, så verkar det som att the Other Half erbjuder konkret, praktiskt användbar hårdvaruutbyggnad genom skalet.

Det är inte sagt vilken teknik som används i skal-kopplingen än, men man kan nog anta USB. Detta gör att man – eller i alla fall tangentbordsfascister som jag – har möjligheten att ansluta ett tangentbord genom kontakten bara genom att byta ut ens baksida av telefonen. Säg att det är USB, då finns ju heller inga problem med inbyggd USB-hubb som möjliggör flera funktioner i samma skal etc.

Det enda problemet jag personligen har är att skärmen är så stor. Jag vill egentligen ha något som faktiskt passar i fickan. Samt förmodligen att hela operativsystemet inte är fri mjukvara, men då finns ju alltid Nemo Mobile-projektet, som Jollas Sailfish OS bygger på.

För den som vill stödja framtiden inom mobilindustrin – och en sådan baserad i större grad på fri mjukvara och öppna standarder – gör bäst i att antingen inte köpa en mobiltelefon alls, eller stödja några som åtminstone försöker: join.jolla.com

Inför nolltaxa i Västerbotten!

Skickade nyss in följande som medborgarförslag till Umeå kommun (och en variant med Västerbotten istället har skickats som insändare):

Nolltaxa är skattefinansierad kollektivtrafik och Piratpartiet i Umeå tycker att det är jättebra! Det innebär positiva miljöeffekter av mindre bilkörning – samt ett effektivare nyttjande av skattemedel.

Länstrafiken i Västerbotten driver idag ett ofantligt dyrt system, som vid inköp kostade c:a 30 miljoner kronor inklusive böter för olaglig upphandling. Detta trots att kalkyler enligt Umeå Hackerspace visar att tekniken är långt mycket billigare än så.

Dagens betalsystem där chauffören uppmanas kontrollera resenärers biljetter utsätter denna yrkesgrupp för arbetsmiljöproblem – särskilt när maskinerna ofta krånglar. Utöver denna kontrollmetod hyrs externa kontrollanter in för att trakassera och misstänka samtliga resenärer för felaktiga resbiljetter. Uppdateringar av systemet måste ske genom leverantören istället för exempelvis sund konkurrens mellan lokala företag.

Fri kollektivtrafik i andra städer minskar bilkörningen vilket på sikt sänker skattefinansierade utgifter som vägbyggen och reparationer. Färre skadas i trafiken och behöver skattefinansierad sjukvård. Ungdomar skulle kunna resa mycket mer till och från vänner – även utanför städerna – vilket ökar den sociala tryggheten. Listan är fortsatt lång över positiva effekter som följer en kollektivtrafik för alla – allt i linje med en effektiv, solidarisk skattemodell.

Skattefinansierad kollektivtrafik fungerar redan i flera samhällen runtom i Sverige – från Kiruna till Avesta. Samhällseffekterna är positiva för såväl ekonomi, miljö och ur sociala aspekter. En suverän lösning tycker vi i Piratpartiet och ställer upp till val på det 2014! Vilka är med oss?

De som håller med kan stödja detta medborgarförslag som önskar:

  • att Umeå kommun (t.ex. genom sitt ägande i Länstrafiken i Västerbotten) ska införa längre testperioder med gratis kollektivtrafik.
  • att utvärdera dessa testperioder och göra ett väl underbyggt beslut kring fortsatt nolltaxa i kollektivtrafiken.

Mikael Nordfeldth (Pp)

Uppdatering 2013-04-10: Tydligen får man inte signera medborgarförslagen i Umeå med ett föreningsengagemang, så i det förslag som kommer att behandlas står det bara mitt namn. Notera även att jag inte är den enda som vill ha något liknande detta.

Uppdatering 2013-04-17: “Gratis buss i Umeå” skriver Västerbottens Kuriren som rubrik kring detta förslag om skattefinansierad kollektivtrafik.

Ultra-buss-rage i Umeå

Mina erfarenheter av kontakt med såväl Nobina som Länstrafiken i Västerbotten har varit generellt sett dryga. Apdåligt designade system är min antifavorit.

Nu senast försökte jag registrera mitt busskort på deras hemsida, för att få någon slags återställningsgaranti ifall jag tappar bort kortet eller att någon elak person raderar det. Det gick inte. Så jag skickade in följande kommentar via kontaktformuläret på sidan, där jag passade på att kommentera lite mer av vad jag upplevde för hemskheter i proceduren:

Jag kan inte registrera mig på er hemsida under “Mina sidor”.

Jag får heller inga felmeddelanden (förutom att telefonnummer-fältet var rött innan jag fyllde i det).

Jag FÅR dock ett “Ditt konto har nu skapats”-meddelande, vilket får mig att tycka att det borde ha skapats. MEN JAG KAN INTE LOGGA IN.

Samt att ni INTE (INTE INTE INTE INTE INTE) borde ha lösenord i klartext i formuläret.

Vänligen sluta slösa skattepengar på dåliga system. Jag blir måttlig irriterad.

Hade varit nice om de haft en kod-repertoar som man kan granska och skicka in patchar till, så de (och vi kunder) slipper dras med så hemska erfarenheter.

European Death Star support from Swedish Pirate MEP

The best April fool’s jokes are the ones that are serious.

I present to you Amelia Andersdotter (pirate MEP) promoting the construction of a European Death Star:

“I have in fact already devised a plan to become the supreme Chancellor of the European Union.”

Isn’t she awesome? Also, she has a deep understanding of what it means to have power, and be in a leading position.

“…part of the political leadership is to be able to create the institutions that you need in order to achieve your goals.”

Bussig info kring kontaktlösa kort i kollektivtrafiken

Länstrafiken i Västerbotten har, som invånarna i byarna här i norr lär ha märkt, bytt system för kollektivtrafiken (bussar och tåg). Efter att ursprungligen ha köpt ett rejält osäkert system, samt haft en svängom med olaglig direktupphandling verkar Länstrafiken i Västerbotten hänga kvar på leverantören FARA Sweden AB av någon anledning.

Som intresserad av säkerhet, kryptologi och implementationer av dessa i verkligheten betraktar jag absolut detta system som en utmaning att förstå, kommunicera med och kort sagt sätta mig in i! Som engagerad i Umeå Hackerspace så har jag märkt att det finns samma intresse från fler än mig, och vi har redan alla arbetat under rätt lång tid med NFC-säkerhetsanalyser som del av redaktionsarbetet på mmn-o.se. Nu börjar datamängderna kulminera i och med att Länstrafiken i Västerbottens nya system redan fått sprutt.

Som ytterligare informationsbit är det tydligt att Västerbotten inte är ensamma i spelet utan relationerna är knutna till “Resekortsföreningen” (f.d?) och den s.k. RKF-standarden de utvecklade och idag förvaltas i bolagen Resekortet i Norden AB samt Resekortet i Sverige AB (för de svenska kollektivtrafikbolagen). Hela standarden bygger i dagsläget på “Mifare Classic”-kort (samma kontaktlösa typ som Västerbotten använt tidigare), men implementationerna har numera antagit de snäppet säkrare “Mifare Plus”-varianterna. Skillnaden ligger på hårdvarunivå och fokuseras huvudsakligen kring kretsarna som sköter slumptalsgenerering.

För närvarande hanterar dock redaktionen för mmn-o.se polisiära insatser som slagit till mot verksamheten och vi försöker återfå hårdvara och data som beslagtagits. Det finns tyvärr inte mycket juridik som stöder säkerhetsanalytiker och skyddar mot polisen, men vi hoppas att utgivningsbeviset åtminstone ska låta oss bevara våra källor anonyma.

Radiotjänst, UmeTV och slutna “tv-mottagare”

Det finns mycket att säga om att datorer (stationära, bärbara och handhållna) numera räknas som tv-mottagare. Vi börjar med det som ligger kronologiskt först i ordningen, nämligen NÄR datorer kan ha börjat räknas som tv-sändningsmottagare i förhållande till de senaste månadernas utveckling. Vi borde nämligen ha fått dessa rabalder redan 2009 när UmeTV sände hela sin programtablå på internet.

“Det har inte någon betydelse om det är TV4, Kanal 5, SVT eller något annat programbolag som sänder TV-programmen.”

Så skriver Radiotjänst om varför de börjat ta ut betalt för onlinesändningar. Det var minsann inte svaret för ett par år sedan när UmeTV, lokal-tv-sändningarna i Umeå kommun, pionjärade branschen och sände samtliga sina program online.

Anledningen till att UmeTV inte sänder på nätet nu är att Radio- och TV-Verket (idag Myndigheten för radio och tv) började kräva extra kostnader för att tillhandahålla sändningsarkiv och grejer på internet. De pengarna finns inte (särskilt eftersom licensavgifterna för tv inte bidrar till lokaltv-stationer).

Men än intressantare kanske är vad en “tv-mottagare” är. Radiotjänst beskriver på sin hemsida (tillagd fetstil):

En dator är avgiftpliktig när tre kriterier är uppfyllda:

  • Internetuppkoppling
  • Det måste finnas en utsändning/vidaresändning d.v.s. en sändning som är avsedd att tas emot av allmänheten och som samtidigt och utan särskild begäran är tillgänglig för vem som helst som vill ta emot den (rundradiosändning)
  • Det måste finnas en utsändning av TV-program, d.v.s. “ett samlat schemalagt programutbud”

Internetuppkoppling – men inte någon möjlighet att faktiskt avkoda tjänstens material? Tidigare har ju alla kunnat “ta emot” sändningen, som med internet, med hjälp av en koppartråd. Faktum är att allt som leder ström har tagit emot analoga tv-sändningar i luften sedan de började sändas. Vad som dock har gällt som krav för betalning har ju varit en mottagare i form av demodulering, så man faktiskt avkodar sändningarna till ljud och bild.

För att jämföra med något i de aktuella nätsändningarna så är internetuttaget ett fysiskt objekt. Att lägga till ett abonnemang gör att det leder elektrisk ström (koppartråd/antenn) – men för att ta emot sändningen på ett sätt som människor kan ta in behövs särskild videoavkodning. Personligen använder jag endast fri mjukvara så långt det går – och i den skaran ingår inte det Flash-plugin som såväl svtplay.se som tv4play.se och alla andra kräver att man installerar för att titta på sändningen.

För egentligen borde man väl kunna argumentera att om ens granne har internetabonnemang och trådlöst nätverk i lägenheten – ja då kan du ju “ta emot” sändningen i din lägenhet, eller hur? Åtminstone med Radiotjänsts nuvarande argumentation, särskilt då eventuellt lösenord på nätverket kan jämställas med mottagarmjukvaran Adobe Flash som metod att tillgängliggöra sändningen för en själv.

Och vad är att “utan särskild begäran” ta emot sändningen? Att göra ett HTTP-anrop till en nedladdningssida (strömning) är ju en mycket särskild begäran. Eller är det något juridiskt språk för att säga “licensavtal”? (för då är det ju en EULA, installation och hela kitet för Adobe Flash, vilket plötsligt blir flera särskilda begäranden)

PS. UmeTV sände förresten i ett öppet och fritt videoformat som vem som helst kunde ta emot utan sluten mjukvara. Det är sjukt mycket mer public service än SVTs Adobe-kramande sändningar som kräver sluten programvara som ingen vanlig dödlig får veta hur den fungerar.

TPB AFK visas på lördag i Umeå

TPB AFK poster for Hamnmagasinet screening

TPB AFK visas på Hamnmagasinet i Umeå 2 mars klockan 19:00

Hamnmagasinet, Ungdomens Hus i Umeå, visar dokumentären TPB AFK (The Pirate Bay – Away From Keyboard) nu på lördag 2 mars, klockan 19:00. Speciellt riktat, om jag får tolka det, till alla ungdomar som vuxit upp med fri kulturdelning de senaste 10 åren sedan TPB startade 2003.

Eventet är drogfritt, så vänta med alkoholen om du hade tänkt dricka något på lördag kväll. I övrigt är det bara att dyka förbi och få kalla kårar av den orättsstat som Sverige har förvandlats till.

Popcorn och chips bjuds det på i alla fall!

Fedsocweb and the FreedomBox

I can’t remember when I started hearing about the FreedomBox, though it feels the idea has been circulating since much longer than the project announcement in early 2010. Either way, it is a project aiming at disrupting the centralisation of cloud [dis]services that are so popular right now.

The FreedomBox is a tiny router-like computer which intends to provide easy-to-use, privacy-minded web browsing, sharing of files and secure e-mails. A prominent feature in the list is enabling anonymous internet usage through services like Tor. All these are good projects with lots of code that just have to be put together. That is unfortunately not the case for the bullet point “Safe social networking”.

The untrusted third party

Social networking today is centralised. The workflow is generally dependent on a website you (or a designated “app”) visits where it is possible to exchange messages with other people also registered on that same site. If you wish to communicate with a friend not using the specific service, either one of you must register a new account with the other person’s service. One’s only relation with the new service is the person one wishes to communicate with – still users supply personal information such as e-mail address, name and often a commonly used password.

There is no reason to believe this new service would treat you or your personal information with respect. Think of it, this service gladly acquires your security credentials (storing them where and how?!), use your account data in business deals with third-party companies you’ve never even heard of, continuously send you messages unless you have unchecked all the appropriate boxes in their proprietary, non-standardised settings configuration. And. Lots. More.

The FreedomBox’s role in this situation is to provide you as an individual a social environment. An environment that the user controls, rather than the provider. Think of it as a party at your home – where you control the guest list – or going out to a night club where beefy guards pick and choose arbitrarily who gets in and who is thrown out. In a safe social environment there should be no need to supply a strange company private details just because they control your friends’ communication habits.

A federated social web box

As mentioned however, not all the necessary code is written for this step. The FreedomBox is not yet quite ready to take the step into a decentralised social environment on its own. There’s some key functionality that is missing, incomplete or simply not working today. To understand what the issues are, some main differences with a centralised and a federated social network are listed here:

  • Discovery.
    • With a centralised service discovering new connections and initiating communications is a no-brainer. Just search your own database and if you can’t find something, it’s simply not there. When trying to find a certain person (by e-mail or otherwise) one will often be encouraged to invite them.
    • Federated networks will often find that the user is not local. Information, messages and metadata are located on other servers and today there are countless algorithms (and formats) when looking for contacts. Unfortunately very few federated services today can exchange information flawlessly.
  • Distribution.
    • Again, a centralised service knows exactly which harddrive and memory segment contains certain data – and adding stuff to an inbox or activity stream is nothing more than saving that data to a file in the right place. If it doesn’t work, the entire service doesn’t work – and you might get a fail whale.
    • Federated distribution is hard. Realtime distribution is not a problem, but where do you send the info? And should any further metadata be broadcasted to (see “Discovery” above)? How do I distribute an updated [text|document|media] properly? What happens if the remote server is currently offline?
  • Privacy.
    • This is where centralised services have it the easiest but are the worst. Not only is information distributed to unknown third party consumers but database leaks, software bugs and such will cause problems for many more users in a centralised environment than on a single-user platform with limited data.
    • Federated services are good at privacy. If you don’t want to leak information, just don’t federate. Or don’t federate to untrusted entities. Create a pseudonym (or five). Lots of functionality here exists in software and protocols. The only unsolved issue to date is federation of private texts. GPG can do this though.
  • Statefulness.
    • In a centralised environment there is only one state. A user, post or relation exists or it doesn’t. This extends to user identities: “There can be only one!”. This enables certain control for trademarks, and definitely simplifies work for the software developer.
    • Federated states are fragmented. Heavily so. The positive side is that anyone can get their own username, like with e-mails. If you’re disappointed that your.name@example.com was taken, choose your.name@example.net instead – or any other fully qualifiable e-mail address. The downside is that network lag or temporary downtime can cause replies to be delivered before the original post and other curious dilemmas.

I believe the most interesting dilemma is the statefulness. That discussion includes all the difficulties of distributing stuff, deleting stuff and of course how to handle situations where perhaps different policies are applied to things like friendships/subscriptions. Perhaps one server won’t allow non-”friended” users to deliver messages, whilst an entire discussion thread arises on all other servers where this message was delivered. If the discussion includes some of the “friended” users – how should those messages be handled if part of an “non-friend” discussion? Is it even possible to standardise these behaviours in a manner that will satisfy all users?

Nevertheless, I believe the FreedomBox will play a big role in adapting federated social web services to a more stateless community. Discovery and distribution must assume not every entity is available 100% of the time. Privacy issues must be handled with standardised (reliable) protocols and algorithms. The data storage must then also allow for retrieving data via a distributed data model where the current full state is not necessarily stored on a single place.