----------------------------------------
       Federation and gopher
       June 27th, 2018
       ----------------------------------------
       
       Some of you guys were talking about a "federated gopher" on
       Mastodon the other day. At first I was all into the idea and
       getting ready to chime in with support. But then I started
       thinking about what that would mean and I hit a wall. I think my
       understanding of federation in recent context has skewed away from
       the community idea. With all the work on ActivityPub and the new
       clients popping up in the Fediverse I feel like I should probably
       spend the time to figure out what it is everyone is talking about
       when they use the word Federated.
       
       Since we're talking definitions here, I figured I should start by
       telneting to my happy dictionary [0] that I described in an old
       phlog post [1]. Then I ran my query: "define english federation".
       Here's what popped out:
       
         <security> The establishment of some or all of business
         agreements, {cryptographic} trust and user identifiers or
         attributes across security and policy domains to enable more
         seamless business interaction.
       
         As {web services} promise to enable integration between
         business partners through {loose coupling} at the application
         and messaging layer, federation does so at the identity
         management layer, insulating each domain from the details of
         the others' authentication and authorization.  Key to this
         loose coupling at the identity management layer are
         standardized mechanisms and formats for the communication of
         identity information between the domains.  {SAML} is one such
         standard.
       
       From the sound of that definition, gopher is already federated in
       that identity information between domains is inherent to the
       protocol because it's irrelevant. There's no authorized use
       mechanism here and the act of hosting content on a server is
       enough to identify the source. Since I host on gopher.black, if
       your use of gopher queries my server you have used standard
       mechanisms and formats for the communication of that information
       between the domains, right?
       
       Maybe the reason I'm having such difficulty is because my only
       exposure to federation as an idea has been via things like
       Mastodon which have far more interoperable parts. Content from one
       independent system is consumed and becomes content within another
       one, and the source of that content, the author, server, etc, all
       need to be accounted for in the communication. That requires more
       than gopher for sure.
       
       Even so, I'm not satisfied. I think there's more to federation
       than that definition. The context in how people discuss it seems
       to imply something else, but I can't put my finger on exactly what
       that might be. Distributed systems like IPFS come up a lot in
       those discussions, but I don't see a black & white relationship.
       
       I guess my slow brainmeats can't get past the idea that federation
       means I control my shiz but it can interact with everyone elses
       shiz in the same way. Am I so far off? Let me know with a reply or
       email or mastodon or a hand written letter.
       
       Yes! Hand written letters are my absolute favorite. They
       demonstrate all that extra effort, they're physical treasures, and
       I get to silently judge your personality through bullshit
       handwriting interpretation that I make up on the spot. Everyone
       wins! Send me an note with a reference to a pgp key and I'll send
       you back my mailing address on the down-low.
       
       Cheers, fedi-gophers
       
 (TEL) [0] Telnet to dict.org
 (DIR) [1] CLI Tricks: Dictionaries