Whether we’re aware of it or not, we all benefit enormously from open source software. Most web servers and most browser engines are open source. The operating system that powers most internet servers is open source. Critical components of MacOS and Windows are open source. We the People are really good at making free software for each other.
But one thing open source hasn’t been able to do is to own and operate a platform like Twitter or Facebook or Reddit. It’s too expensive, and involves too many difficult challenges, like content moderation and resilience. The concept of federation addresses that gap in the open source world by saying “Rather than having one massive expensive server “instance” that runs everything, what if we could split a service up into thousands, or hundreds of thousands of small server instances that intercommunicate? This approach to service design is called “federation” and has a bunch of advantages:
- Massive expense is not a problem – the burden is shared
- No single server has to copy all of the content – just the content its own users want to see
- Individual instances can have different philosophies, e.g. set their own content moderation policies
- Individual instances can block other instances they deem problematic
- Resilience – if an instance goes down, the rest of the network stays up