Nothing stopping them, except, you know, the law... They can certainly display content that was not marked for public display. They will then proceed to get sued out of existence... If they do this automatically I'll just privately post a music file with copyright protected music. Which is perfectly fine to do if it is indeed hidden from everyone. If they then publicly post it that's on them and now I get to see the Music Industry fight the Zuck :D
The largest instances have either already announced their intent to block Facebook or stated that they are monitoring the situation and will react quickly and decisively should anything untoward happen. There is no Fediverse without federated third parties. All Facebook could show in that case was... Literally their own walled garden. How is that different to them not even implenting activitypub in the first place? It isn't. Their only power is to ask if they can participate. Literally no one is going to waste a minute on any efforts of theirs that could even remotely be perceived as taking control.
A fediverse client designed to give you access to raw federation. - GitHub - JustusW/UnifiedFediverseObserver: A fediverse client designed to give you access to raw federation.
![GitHub - JustusW/UnifiedFediverseObserver: A fediverse client designed to give you access to raw federation.](https://beehaw.org/pictrs/image/3a005f64-f9a5-413b-a3b3-bd91568cf285.png?format=webp&thumbnail=256)
Hello everyone,
I've only begone my true journey into the Fediverse last week, despite being part of Mastodon well before that. What I learned and am learning coincidentally covers a lot of questions and uncertainties that I see all over the Fediverse. So I'll share my experience and path towards understanding federation. Hopefully many people will read it and grow in understanding this crucial technology and if you personally have something to add I would be delighted to hear it!
First off you may want to head over to the linked repository and install the package, otherwise you can of course follow these instructions using curl or any other commandline tool that allows you to make raw requests. (You will simply need to provide the header: "Accept": "application/activity+json".)
Now, what does all of this actually do? Let's start with a very basic example and simply click on the Load Button.
The first thing you will now see is
OrderedCollectionPage:https://mastodon.social/users/JustusWingert/outbox?page=true
Congratulations! This is your first #fediverse object you looked at via #activitypub! Now, uh, what is it? Actually it is simply the type of the object we accessed and its id. Id? You may ask, because that looks suspiciously like a url, doesn't it? Well, the reason for that is, that it is a URL. As a matter of fact, any persistent object in the fediverse is expected to have a unique id, helping us to identify everything. And that unique ID is the URL required to access that very object. Your useraccount, the list of your followers, your messages, even communities here on #lemmy, everything has an id. The thing you are looking at right now is the first page of my outbox on Mastodon.
You don't only see an OrderedCollectionPage, but also several Announce objects that refer to individual toots I made.
If you look closer you will notice that UFO has printed several URLs on your screen alongside some attribute names. Almost all the way at the top of the result you will find a label named "Actor", that is what #activitypub calls the person responsible for the Object you are looking at. In case of Announce that is the user who created the new object being announced.
If you click on Actor, UFO will automatically load that endpoint using activitypub. The result of that request is a Person object and you will also see three additional URLs: outbox, following and followers. In this case the outbox is located at https://mastodon.social/users/JustusWingert/outbox
In the fediverse we all have our own outbox, this is how we communicate our thoughts to the rest of the world. If you click on it, you will then see the actual outbox, which is something called an OrderedCollection. These come in several different flavors we will explore in the future, but in the case of a mastodon user outbox all we actually get is two IDs pointing us to the first and the last page of our outbox. This functions pretty much like a book, in order to look at the page you simply click on the link and UFO will load it.
Recognize where we are? Yup, we have made a loop and are back where we started. But that's not the only path you can now take! You are now able to use any endpoint with an outbox in order to explore what they are doing and who they are talking with. And then you can look further who those people in turn are talking with, and so on, and so forth.
I hope you enjoyed these first steps, and I'll be around and make future updates. There's a lot to explore! And we haven't even begun looking at how individual Fediverse Servers talk with each other!
Have a nice day! Justus
Hi, I'm well aware of those APIs, but the idea was to find a unified way using ActivityPub. As it stands AP seems to actually have this glaring omission at its core. I'm somewhat baffled how this skipped past so many interations. What you mentioned is certainly a valid option to access data on lemmy. But it won't work on Mastodon, or any other service only linked via ActivityPub Federation. And that's a problem. It splits the network apart at the seams.
You actually described my expectation in that last paragraph. I fully expected to have to invent a curated list of endpoints. What I instead found was that even given an endpoint (like beehaw.org) there is no way to discover what is on that instance. Which is a big issue. I've discussed this a bit (albeit extremely slowly) with the folks in the activitypub irc, and pretty much got it confirmed. If you want to develop a service that is intent on delivering any form of public content at all, supporting activitypub, then you have no protocol based way of communicating this content to anyone. So going by that the lemmy implementation is actually "correct", in as much as the protocol simply fails to provide guidance for this critical step.