MediaGoblin is a free software media publishing system anyone can use and run!
But…
Say you uploaded an awesome photo of a mountain on your MediaGoblin instance…
The present reality of network freedom isn't pretty…
So, let's build something better :)
Mostly federating social activities:
Propagating most "activities" across servers:
Federation isn't a new concept.
Some older federation standards:
Great image from Michał 'Rysiek' Woźniak on active, community-engaged federation projects. Except, add Pump.io!
As long as we're making Star Trek metaphors…
MediaGoblin decided to follow Pump for its federation work. But why?
That's "mostly it", see more at the Pump API spec document
{ "id": "http://coding.example/api/activity/bwkposthw", "actor": { "id": "acct:bwk@coding.example", "displayName": "Brian Kernighan", "objectType": "person", "url": "http://coding.example/bwk" }, "verb": "post", "object": { "id": "http://coding.example/api/note/helloworld", "content": "Hello, World!" "objectType": "note" }, "published": "1973-01-01T00:00:00" }
Subject, Predicate, Object!
It's pretty simple, easy to unerstand, and solid tech.
We're in "season one": good foundations, but a hard sell to newcomers.
The protocol is the glue of federation here, and yet we don't seem to agree on what protocol to use…
We now have a smattering of incompatible protocols:
Let's make this shit official
Lots of pictures from Star Trek, which is proprietary and by Universal Pictures, but fair use and stuff.
Sources:
Plus this thing by Rysiek:
This talk CC BY-SA 4.0 International