I really think that open source federated services are the future. There are now a bunch of these services all using the same protocol called ActivityPub. PeetTube is a YouTube alternative, PixelFed replaces instagram, Lemmy is an alternative to Reddit, and Plume is like medium. There are a few other projects as well. All of these services are able to talk to each other and allow users to share data across them creating one large federated platform. Meanwhile, traditional commercial platforms like Fb, Twitter, and Youtube have zero incentive to allow users to move data between them.
Another important aspect of the Fediverse is that it's much harder to censor and manipulate than centralized networks. There is no single company deciding what content can go on the network, and servers are hosted by regular people across many different countries.
A federated network that's developed in the open and largely hosted non-profit is the way internet was intended to work in the first place before it was hijacked by corporations. I'm very glad to see that decentralized networks are finally starting to get popular again.
I agree it's the future - however their positives - the net benefit - has challenges that must be designed for as well.
It will have to unfold that you decide what trusted federated network you follow - whereby access, the freedom to that decision (or not) will act as a canary for when democracy and freedom is more or less at odds with tyranny; control of systems of information as a mechanism, or symptom of fear by not having access to what everyone says (good and potential bad actors) will be a forcing mechanism toward people developing real trust - our own ability to trust, to be healthy, open minded and open hearted enough, that we naturally organize into trusted-social hierarchies - a chain of command.
The line between tyrannical and democratic behaviour of a suppressed or free state is quite clear and obvious once you're paying attention and know where to look (when you have the ability to see what's going on, which of course is difficult when there are physical systems of censorship and suppression).
'has challenges that must be designed for as well.'
one of the challenges I been thinking about for some time, and spoken with a few.. choosing your filters.
At the moment, I am thinking it could be a set of 'bouncer-bots'; maybe these are built into browser extensions?
A federated list of bouncer bots where people can describe, vote, add notes, fork.. so that people on the 'other side' of whatever.. can detail why they think 'sam's no sex in the fediverse bot' is too strict, or not strict enough..
I think choice not only in servers to follow (which may be made behind the scenes without in-your-face-knowledge to the newer users.. should become more choice of groups of bouncer bots to filter or not filter.
A concern pops into mind, that his works okay so long as people are honest about groups they are in, like 100 people downvote this fakenews filter but they identify as XX'.. and that may be good at first.. but what stops a fourchn group from coming in and storming the votes with 200 people vote Y as fakenews and they identify as YY's..
so filter options for opinions on the bots and comments that are voted up by people who self identify as ZZ and have identity verified by phone number? or twitter or signal.. and checkboxes to include only poeople like that, and to remove vote counts and comments by people have been flagged as trolls, or only people flagged as trolls that have been flagged by accounts that were verified by phone.. etc..
Then how to handle those who would try to game that.. but I think after time there will be some pretty popular and solid block-lists and people will have more options for choosing their syphon filters which some may block entire sites, some may block just articles by author FG but not whole site..
heck I'd like some that added a line across the top with extra info, like your bouncers block 10% of this portal due to reasons, and 1,000 have said this portal hides facts about LGB or whatever..
Yes, interesting, good ideas. These fit into a system I have been developing, evolving "on paper" - called Reputas.
Basically create a system that allows leaders - thought leaders, policy leaders, security-safety leaders, etc - to be as transparent as they can by sharing and evolving (with version control to review their history of changes) their current understanding and reasoning, and present - if they have one - their arguably better solution.
There will need to be centralized bodies who are the curators, governors - moderators - of these different competing filter systems. There will need to be many - the more the better, to some degree - and they can and will learn from each other, and lead to discourse between leaders; or there will be a frontrunner that gains a large lead at the beginning - a similar trajectory like Elon Musk has lead with Tesla et al, whereby the status quo systems had no incentive to innovate and create a much better, necessary system that is better for society, for the environment. Twitter with its audience may become one such curator - however Jack is heavily bought into Bitcoin and I think that will lead him astray and not allow him to evolve Twitter's network development adequately. Facebook and Mark have the potential as well to evolve to a new system - though I think their advertising financial model (shallow and cheap mass manipulation of society) as their leading design metric will corner them as well. Neither of those founders have understood or let go of fear and control, and so they are designing, thinking, from a control and greed perspective - of scarcity vs. abundance mindset, also why I think the VC industrial complex won't last too much longer (relatively speaking) - the abnormal, e.g. unnecessary pressures it applies to organizations to scale fast and exit, and only expecting 2% of their investments to give them their ROI on 100% of their investments as another terrible, lazy investment strategy that they've confined themselves as part of their strategy to convincing LPs casino or lottery-like risk of getting an ROI after 10 years.
One goal of this system would be to allow society and peer review, and also would act as allowing the OP to gauge the state of the union (or lack therefore) - where society is at compared to their own understanding of all that is this crazy, magical, arguably infinite universe where the past-present-future all exist at the same time and there's likely universal hierarchy, a chain of command, that has evolved towards a single consciousness that some call God; or those who are passionate and interest enough to engage critically, in a non-violent way, can then engage and argue their points - to which then would give me an opportunity to further explain and counter their points.
I also think Joe Rogan's podcast model is an evolving archetype, but where individuals with such reach - and growing - as his, should hold a practice of non-violence to include reviewing and updating knowledge and thoughts from their old content, as to not be perpetuating older knowledge; a momentous task, however important and the reward will come as someone like Joe refines himself, becoming a better and better role model, and as systems are designed to fluidly support such an effort. For example, old information from when Presidential candidate Andrew Yang (currently suspended his campaign) spoke with Joe Rogan - he had updated, evolved his policies a little bit since then, primarily that the $1,000/month Universal Basic Income/Freedom Dividend (as he calls it) - would now start at 18 and go until you expire (die), whereas before his policy plan was 18 to 65 I believe, when social security would kick in; there should have been a mechanism in place, where both Joe and Andrew agree to update - or overlay the video content - so people are exposed to this updated information, and so prior, aged information, isn't perpetuated - which will only lead to confusion and people not having as accurate of an understanding.
I won't have downvotes or at least if they are as part of the decentralized systems, downvotes (for most if not all content) won't have any impact in the systems I would design.
As you brainstorm, you're right that there are different possibilities of bad actors or bad behaviour that have to be managed for - and why it's good to have more groups observing and attacking these possible patterns through evolving their own system. Verified identities of various levels will certainly be a necessary filter type - and people will have to decide what leadership they trust the most, is doing their best, is as transparent and follows adequate process for them to trust more than less.
The ultimate purpose has to be leading global society towards a healthy condition, a democratic state that supports freedom with a practice of non-violence and forgiveness. Society in general, worldwide, is generally very unhealthy - physically, emotionally, mentally, and perhaps spiritually. There is a path of healing though - I've been forced to find it and continue to struggle to venture to problem solve and heal different health issues I've had throughout my life. I still don't know if I'll make it, I cycle through becoming very suicidal due to post LASIK eye surgery I did 7+ years ago; there will be a long, thorough book, if it ever gets written.
Send me an email matt@engn.com if you want to be part of what I eventually hope to create; I currently struggle daily with chronic pain, so Hacker News is a temporary distraction each day where I can keep my mind busy and away from the pain - hopefully getting some dopamine hits and reenforcing excitement for what is possible in the future.
Why? They are better for serious techies who care a lot about privacy and data control. But the huge majority of people don't value this highly and they come with major downsides. They are harder to implement, they are harder to monetize, they are harder to curate against objectionable content.
This feels like "year of the linux desktop" to me. There are tons of great things about linux desktops for tech people but it never took off for obvious reasons.
I was curious about Lemmy, but it is really not easy to find on Google. I was able to find this through a google search for "lemmy activitypub" which took me to a random github issue which linked here, presumably it's the right site?
edit: nvm I see that Mastodon is more like twitter. I don't think I really understand why I'm having to create separate accounts on each instance if they can all communicate with each other?
ActivityPub is a protocol that does very little with a whole lot of words in the spec.
Accounts are not federated, there's no reasonable way of automating your switch to another server assuming yours dies, so forth, so on. Mastodon has a feature claiming to do the last one, but it doesn't actually work, because it's not backwards compatible and only works with relatively modern Mastodon instances (which most are not).
Also, you don't really a heavy expectation of privacy using ActivityPub. It's very trust-based, and not in the good way.
A lot of the function of ActivityPub would be better served by RSS feeds, the rest would probably be better served on a protocol like Zot; Diaspora would also give you a better expectation of privacy than ActivityPub.
Zot, though, fixes basically all of those problems, and is really pretty cool. You have one identity that you can use everywhere, all of your followers come with you because it wasn't an afterthought, access control actually does control access, so on, so on.
The way it works with email is that I create an MX record on the DNS server to tell people where mail for *@mydomain.com should go.
When I switch email hosters, I change that MX record. The downside is that it only works for the domain as a whole but not for individual email addresses.
Does ActivityPub have something like this as well?
There's no support for messages addressed to @mastodon.xyz to really point to @social.me directly, unless you do some server-side tricks yourself.
But the similarity to email is in that accounts are not federated. xyz@gmail.com is an independent email, including storage, from xyz@outlook.com - might be a different person entirely.
The 'federated' part of email is that xyz@gmail.com can send email to xyz@outlook.com, practically as if both were on the same server.
This is what ActivityPub does for social networking.
Right, so I think there are actually two separate issues here. One is federation, which is similar between email and ActivityPub as you point out.
The other is user identity. That's the part where email appears to be more flexible by relying on DNS to seperate user identity from email hosting (for the small minority of users who own their domain name).
Section 3.1 of the ActivityPub spec says that objects (I think this includes users) are identified by "publicly dereferencable URIs, such as HTTPS URIs, with their authority belonging to that of their originating server" [1].
Now, I wonder if an "originating server" is actually required or if it's sufficient to control the domain to which this URI belongs. It seems to me that it should be rather simple for ActivityPub implementations to support a mechanism similar to MX records. For instance, TXT records could be used to achieve the same thing.
Yes, you're right that email is more flexible here, however the issue is that lets say you have your own domain name, but use fastmail. If you loose your fastmail for whatever reason and didn't have backups, you get to keep your email identity if you point your MX to a new provider, which means people can still contact you, but you won't have any of your old email.
ActivityPub servers could do something similar here and in fact Mastodon in a sense supports this, (as you point out, the Actor's identity is essentially the URL of their profile, which could change host), but the problem then becomes that old interactions with the user will have 'ghost replies'. Understandably, as far as I know to save on storage and improve response times, not every interaction a user has on the fediverse with different users is copied to his/her server, that is replies in a thread from different users on different servers are still stored on their servers. Therefore if someone in a thread deletes their server, their responses/interactions will essentially disappear to anyone viewing that thread, so I might be replying to something a user said, but you won't be able to see what I am replying to etc.
Mastodon supports import/export, so that an Actor/user should be able to move servers and as long as they import their toots+followers + use the same domain, you shouldn't notice a difference, but I don't believe this is supported by the protocol directly.
Accounts (I believe ) are similar to email addresses. So it's like having an account userX@gmail.com and trying to migrate that to userX@yahoo.com. Essentially the account is tied to the domain/server.
Communication happens at server level where different instances can choose to federate with one another. Your account lives on a particular server along with the data associated with it such as your posts.
Also see PeerTube which is an attempt to provide a federated youtube based on activitypub. What I like about peertube vs others is that the primary development focus is on video and not monetisation althought there is a plugin system which would allow something in the future.
Full disclosure. I am the dev of Thorium an android PeerTube client. If anyone wants to help with development please let me know
Another example of ActivityPub is learnawesome.org (which intends to be an equivalent of GoodReads but for all media formats, not just books). I recently implemented ActivityPub support in their webapp, so it's now possible to subscribe to a LearnAwesome user's book/course reviews and get that feed in Mastodon or any other ActivityPub client.
The ActivityPub standard is straight forward and was quite fun to implement actually. Here is the issue in case someone is curious how to do it in a Rails app: https://github.com/learn-awesome/learn/issues/121
You can search for things, browse their reviews, add things to your collections, add reviews, follow people interested in the same topics, subscribe to topics to make a personalized dashboard - just like GoodReads. But you can do it for all kind of media like podcasts, courses, blogs, livestreams etc.
Hopefully constructive feedback: the namespace Thorium is already heavily saturated in the Google Play store; while you're the only one on F-droid, there's competition with what appears to be well established apps with high ratings for some sort of solution named Thorium. $0.02, might be easier to rebrand sooner rather than later.
How do you find content to watch on PeerTube? I have my own Mastodon instance running where I can subscribe from to PeerTube chanels so they show up when they upload something but I have no idea how and where to find content.
I'm not really sure either. I have never heard of PeerTube until this thread. I was wondering the same thing. I found this https://joinpeertube.org/instances#instances-list. I tried to filter down to particular kinds of content with mixed results.
* I found an interesting music instance which had some cool music videos. Well worth the while. Though now I can't find it while on another computer.
* I tried to find an instance with some kind of software dev/programming videos. Haven't been able to find anything really yet.
That's about as far as I've got yet. Maybe there's room to improve search/discovery. Or maybe I just need help being pointed to the right spot.
Many months ago I found lots of Youtube clips of shows from the 80's and 90's from a TV station in another country (locally produced shows).
I had been looking for that stuff for years and then given up. Some years later I see it's on Youtube. I'm ecstatic.
I go now and way too many of those clips have been taken down. I really doubt the TV station did this - they are practically defunct. My guess is it was some kind of automated DMCA thing because the opening credits contained clips of well known pieces of music.
This is tragic. I hope PeerTube can be a place for such videos.
If the content contains illegal material people would be taking on legal risk by hosting it. However since the network is decentralized, there would be many small servers to police and prosecute, likely making it overwhelmingly costly to do, like torrents. Soft illegal stuff like what you describe could probably survive. I predict yes.
Peertube is really cool in theory buy they are pushing torrent crap that displays the viewers public IP to all the other viewers and that is a major deal breaker for me.
I've never understood why they set it up this way instead of just letting you host the videos normally.
Hi, you are using the right stack for this kind of project, very promising!
I have only two questions I could not answer myself by reading the docs, it would be great if you would like to answer these:
A) Groups: for many use cases of "social softwares" groups are a very basic requirement - I can not see any way to have a group inside an instance or a way to simulate groups by using Pleroma in a multi-tenant way, like one Pleroma instance for each group served from the same code installation (ecto has a db prefix feature, maybe this could help with a quick path for a "multi-tenancy-as-groups" feature?). Am I missing something or are groups simply not there yet?
B) EU data protection: would you say that Pleroma is safe for (naive) users to install in the sense of EU conformity or is it a risk currently for a single person to offer a Pleroma instance in EU? I could not find any information about this very important topic - what again made me wonder if developers are realizing the importance of this issue at all?
Would be very interesting to read your ideas about these issues!
BTW the docs at https://docs.pleroma.social/readme.html would be more readable if the sidebar could be adjusted to the width of the containing text - HTML + CSS allows that, it should be used! Also having "Top" - a navigation directive - listed as an actual chapter name seems a little strange.
groups are a very complicated topic, everybody wants them but nobody can agree on what exactly they are. Either way, we are working on them for Pleroma, they are necessary for a lot of other nice features that we want to have in the future. See https://git.pleroma.social/pleroma/pleroma-meta/issues/14
I'm wondering if EU data protection rules are fully supposed to be applied by small businesses. Because then it has very hard to properly follow consequences for contact list management (smartphone and paper phonebooks, etc.)
Pleroma is pretty great. I was able to spin up a few digital ocean servers and built one up on a raspberry pi. Pretty easy, also used a lot of options testing and playing around. yunohost.org was pretty great to use as a tester to install and play around with all sorts of stuff, Mastadon etc.
I have only known about activitypub for a few years but never ventured into learning about it. If I wanted to contribute eventually how and where should I start? Thanks.
Make a library for the protocol for your favourite programming language, if one doesn't already exist. (For instance, Rust needs one. There are efforts towards that already, but they're not brilliant.)
If there are existing projects, pick the one you think is nicest. If you don't think any are nice enough, make your own. Expect lots of complaining and criticism; that means you've helped enough people that they've started taking your work for granted.
How does this deal with spam? Feels like it would be very easy to create bots on all sorts of nodes in this "fediverse" that start spamming folks with garbage
I've been curious for a while and have tried Mastodon, but am always left with... ok, now what?
Messages ("toots") propagate through followers. So an account that spams excessively is quite likely to be unfollowed or blocked by its followers. Probably also reported.
There's also hashtag spam, which propagates via hashtag search. The one instance of that I've run into is geocoded (e.g., city-name) spam, mostly sex-oriented. That all originated from a single instance, which I've now blocked.
There's a user I follow from that instance -- the follow overrides the block, so I see that person's posts.
It's possible that hashtag spamming might reach toxic levels. For now, that's not been the case. People spamming their own followers should be ... pretty self-limiting.
This is a technical reference, though you should get a notion of capabilities from it. The UI controls are under the "Getting Started" pane, or individually on List or User panes.
I have about three primary ones, simply "A", "B", and "C", by priority.
"A" is small and a select set of high-quality contacts I interact with frequently. "B" is far more generous. "C" is mostly oversharers. In practice I don't have that visible.
I'll pin "A", "B", and "Home" (all following) most often.
There are a few additional utility lists, infrequently used. Two sets for press/media ("Press" and "Voluble press", the second rarely gets used). One of a set of Mastodon admins.
You'd probably want "Family" and "Family I Have to Follow" or something like that. And can probably figure out which goes where and what to do with them.
Another option would be to have your general and family-specific accounts / instances, and treat those as you prefer. No reason not to segregate your social circles as suits you.
I follow ... just under 666 profiles. That's a lot, though lists keep the flow managable and interesting.
My pinned toots give a few other suggestions. This being one I live by, effectively, block liberally:
"Would be"? There are already way too many bots on Mastodon, many of them do unpaid advertising for commercial news outlets (reposting their RSS feeds). I guess people who run them think they're doing "fediverse" a favour, but they're only getting more eyeballs and ad views for those outlets.
The solution is liberal and frequent use of blocking, but it's a solution that does not scale well.
actually, it's a solution that scales pretty well. I help run an medium sized mastodon instance, and I managed to silence every spammy news aggregator with a couple hours of effort, It only takes a few seconds to respond to reports of new ones, and now the couple hundred people who use my server don't need to worry about RSS spam at all. Small communities allow for more effecient moderation.
Sorry for being unclear - I was referring to blocking on user level, where everyone can decide for themselves what they consider spam, instead of leaving it "for the admin".
On user level, people could cooperate and make lists of spam accounts. There could be various lists with different values that determine who belongs on the list. People could subscribe to the lists that suit them and add all users on those lists to their block list.
The problem on the Fediverse is when these bots post in "public" instead of "unlisted", so everyone gets the posts in the public timeline, which gets overrun by bots.
Yes, that is exactly my problem with such bots. They turn RSS - a thing which you have to go out of your way to opt in to - to something which you have to go out of your way to opt out of.
I agree on the low quality of the global public channel (both Diaspora and Mastodon have one), but if you pick a good server, the local public channel tends to be quite useful for discovering new and interesting stuff - or people.
There is a human element in the new user signup path on a lot of Masto instances. For a while I had mine set to “there’s a form on the front page to fill out with an freeform text field to say why you want an account here” until the day a whole bunch of people with suspiciously similar email account names all requested new accounts and filled that space with links to buy viagra and cialis. Now it’s gone back to “ask me elsewhere, or ask a friend who is on the instance, and I will hand off an invite link”. An admin can leave her instance set to open signups, but eventually she’s probably going to turn that off once it grows to a size she starts to feel uncomfortable handling.
You could always set up your own instance to spam people, but you’d quickly find the entire instance blocked. There’s a few hashtags where admins tend to share bad actor instances they’ve run across, and you’d start seeing instances you’d never made contact with blocking you preemptively.
> An admin can leave her instance set to open signups, but eventually she’s probably going to turn that off once it grows to a size she starts to feel uncomfortable handling.
Strangely, I didn't get that much spam registrations on my instance (French-speaking; created in early 2017). There was a dozen accounts with ads for laser pointers and currently I'm getting accounts in vietnamese which don't post anything; but that's all.
On the other hand, I had to silence some instances because they had way too many bots flooding the public timeline, mostly with porn.
If you only have few dozen to few hundred users (think a few families, or maybe a small to medium corp) it not that hard to moderate. Hell even few thousand is manageable.
Plus if one instance is constant problem you can just block it.
Remember all those small forums, wikis, and wordpress blogs with open comments? Some admins spent hours manually reverting automated linkspam. Others didn't. The solution was to pay centralized services like google's recaptcha or disqus with the user's data.
Mastodon is looking okay so far. But I don't think spammers are seriously targeting it yet.
I mean that is the whole point of federated services. If we just end up replacing one big silo with another (even if its OS at start), we haven't done much.
Micropayments may be a great mechanism to reduce spam, if you can get people to pay at all.
Bitcoin is a terrible mechanism for micropayments. Right now, to get a transaction completed in 10 - 30 minutes (next - 3 blocks fee), it costs $0.77. If you're happy to wait an hour, it costs $0.36. (Source: https://billfodl.com/pages/bitcoinfees)
True, but payment channels can solve that. They work and are implemented in some clients and servers, but haven't become too popular yet, except in the (not working very well) lightning network.
The entire model is flawed. You don't want federation (small tribes). That's not why people use FB, IG, Twitter. They use it because that's where the people are--network effects. The only reason I'm posting here is because this is where your message can reach people. Federation means you will never ever get network effects. Dead on arrival.
It's possible to have decentralization with network effects. Just have one canonical network. Tor and Bitcoin are good examples.
Downside (or upside?) is that you can't have moderation or else whoever does the moderation becomes the new jack and it's not decentralized anymore.
> The only reason I'm posting here is because this is where your message can reach people
Actually you're posting it here because this is where it can reach the niche group interested in the subject, and that you're also interested in belonging to. That's a lot different than "go where the people are" because nowadays there's just too many people online, and unless you're doing mass marketing you probably don't want to talk to all of them.
To me the most attractive part of fediverse is exactly that, small niche tribes, so very low levels of noise, off-topics and nonsense. It's not ideal as a general-purpose marketing channel, but for users on a receiving side of it (and that's most of us) it makes it even nicer.
People want both. Big world and small tribes. People are constantly building new community everywhere for non-technical reasons, even if similar communitys already exist. Why do you think they do that?
Small tribes have better control and more trust. Big crowds are lacking this for the individuals.
Federation does NOT mean small tribes. This is the meme that needs to die.
You can make the argument that discovery of new people is harder on a federated system, but this a problem analogous to trying to find content on the early web and this is a solved problem already.
> this a problem analogous to trying to find content on the early web and this is a solved problem already
The early web died. The problem was solved by killing it and replacing it with big institutions. It got replaced by the superior network effects of Facebook feeds, Reddit feeds, Instagram, Twitter, or the very site you're scrolling through now.
Twitter is the bar or the town square. Mastodon etc. is people's living rooms.
BS. Your argument has two problems: you are confusing ActivityPub with Mastodon, and you are confusing the aggregation part with the content itself.
The early web might have been eclipsed by the big companies, but don't be fooled by availability bias. How much of the internet is powered by Wordpress.org? Quite a lot to be considered "dead".
How many people still use some kind of RSS Reader? Google killed its offering more for a lack of way to monetization than for a lack of users. (Also, I don't remember people saying "RSS is dead, there is no way to discover who to subscribe to.")
Look at messaging protocols, Matrix also is still small compared to WhatsApp/Messenger/iMessage/Slack/Discord/whatever but their are numbers are growing. Far from dead.
Mastodon is people's living rooms only because the current users are mostly refugees from the centralized platforms, and yes, they are making this mistake of conflating instances with tribes. But this temporary and specific to Mastodon. As more systems start adopting ActivityPub and the more pulverized the user's become, the less this will be an issue.
I don't think I understand what you mean by Mastodon being people's living rooms.
I mean, a user's identity is @username@domain, and I can follow local or remote users equally easy, and most of the time I don't even notice where they are posting from.
If that's my living room, it sure looks like a living room that's wide open and the size of the planet.
I just went with OP's metaphor. It makes sense when you take in consideration how a lot of Mastodon instances are being created and being kept closed from the federation by the admins or being too trigger-happy to block other instances on the grounds of "people over there say mean and offensive things". For some of them, it is indeed just a bunch of kids hanging out in their rooms
> and you are confusing the aggregation part with the content itself
If they aren't the same, that's a bug. The lesson of Facebook et al should be that aggregation and content should be in the same place. People use these sites after a long day of work and don't have the time or energy to plug in other fragmented software to make it work--even technical people. They just want to consume and share content. They would see this fragmented ecosystem vs. the shiny all-in-one network with social proof of all their friends and celebrities.
> But this temporary and specific to Mastodon
It's endemic to all of these alternative platforms because they select for (other than curious technophiles) people who were too extreme for the mainstream platform.
Here's how to solve it and to get what you actually want:
One decentralized global network with self-directed moderation (following/friends). The problem with Facebook et al is not the UX or the quality of implementation. It's that the protocol is owned by one corporation. Why can't you just clone Facebook in every single aspect except the computers it runs on (everyone's rather than Facebook's).
Now I don't know if you are just trolling or technically clueless. You are criticizing the implementation of a application protocol and one the same breath you affirm that "the way to solve it" is by using a completely decentralized system?
ActivityPub itself is not tied to Mastodon or any federated protocol, all it is concerned about is format of messages and some authentication mechanisms.
The early web died. The problem was solved by killing it and replacing it with big institutions. It got replaced by the superior network effects of MySpace accounts, Slashdot threads, Flickr, delicious and Geocities. All of which will continue to exist forever more.
Most of the dominant platforms today have only existed for less then 20 years. That's... only yesteryear. There's absolutely zero guarantee that they will be around for another 10, 20 or 30 years.
Why? Because it's par for the course for empires to come and go. Ma Bell had an absolute monopoly on a telephone network in the U.S. until they got broken up in 1982. That happened. Few large corporations are over 100 years old, and even so, they aren't the same they were back in the day.
The Internet still consists of the same basic building blocks and technology as it did 10, 20 or 30 years ago. TCP/IP, UDP,... Beyond your wireless access point, it's all just fiber and UTP spanning the globe. Oh, and data centers with racks of computers to linked one another. Beyond computing power and other trappings, it's all conceptually not that different from what it has always been.
I've always found it a strange how we have been myopically staring at FAANG companies in the Valley over the past 20-30 years. You know how that has come to be? Damn excellent marketing on their part. That's all it ever was.We all know it, but we don't really admit to it. And so we laud them as these powers of nature that you can't get around. Even though they are anything but, really.
For all intents and purposes, large swathes of the Internet and the Web are dark, but they are very much there. For instance, there is more then just English in the world. The Web in Asia looks radically different, beyond what Baidu or Alibaba offer.
Sure, the early web has died. But neither do you find 19th century newspapers or obscure popular literature in modern bookstores. You'd got to a library or an archive for those. We have the Internet Archive for good reason.
What hasn't died is the technology and the basic ideas of that era. Those are very much alive in small communities all over the Internet. And that's totally valid and in no way inferior to what large platforms offer.
Yelling that "x has died" and "the problem was solved", well, no, that's a very simplistic take on reality. If something works perfectly for someone, well, why do you forcefully imply that what they want is without value and thus a waste of time? Por que no los dos, right?
As too FAANG, ask yourself this: When they publish reports about their numbers of users, how much of those represent actual use of those platforms? How many accounts are truly dead and unused? How many people are really using Twitter on a daily basis for hours on end and aren't just hopping all over the place? Why would we accept those reports at face value? Because they are valued billions of $?
Remember, it's all about keeping the music playing and the party going. And today's "big instutions" aren't the first DJ's at the decks, nor will they be the last. History always catches up in the end.
And meanwhile, others will always do their own thing, write code, build cool things and invent new ways of communicating.
I disagree with the words "died", "problem" and "solved".
The early Web didn't die. It evolved into what we have today. And that's the normal way of how things go.
Much like the Roman Empire has kept and still keeps on deeply influencing modern Western culture.
Hence why I disagree with the words "problem" and "solved". That assumes that history has come to an end and the Web will be and forever be like it is now. Stasis. End of story. Which can't be further removed from the truth.
Nobody can predict the future exactly, but what we can be sure of is that nothing is permanent and everything changes, because change is literally what has shaped human history.
Early web did not died, it evolved. It gained neccessary tools and platforms. The web from the early days still exists, it's just not the only face the web has now.
Email is federated at a lower layer. At the UX layer, it is not federated. Fully qualified email addresses are like usernames. If you ask a random email user, they would think it works like this. If you ask a random Mastodon user, they know that they have to join a relatively isolated silo. Also most uses of email are peer-to-peer. In the case of two people emailing each other, the number of peers is 2. This is not directly comparable to public social networks.
Email was once the main way social networking was done via mailing lists. This was kind of federated, because you had to ask the listserv to add you to the list. The federated aspects of email are what caused it to die and get replaced by forums which in turn got replaced by Reddit and Twitter.
(Notice the trend? Mailing lists -> forums -> Reddit. From federated to centralized. Network effects.)
The Fediverse is federated on exactly the same layer as email. You have a username of the form user@domain,this is the same in both Mastodon and email.
You can send messages to anyone regardless of the instance they're on. This is also exactly the same on both Mastodon and email.
Precisely how are these different in any relevant way?
The fediverse has conversation streams that are mostly in public indexes, which other people can observe and interact with. In addition to these conversations comprised of statuses representing activities, it is also possible to follow the authors providing said content so that their latest posts show up in your stream, regardless of whether those posts pertained to that conversation or not.
Email, conversely, often is a limited-scope conversation that can only be observed or interacted with between the people participating in said message. Of course, this changes slightly with the use-case of mailing lists, which often provide a public archive of prior messages. But email content is generally not accessible from the web in the same manner that a status is.
Sure, but when I said "in a relevant way" I was talking about differences that are relevant in the context of the conversation.
There was nothing wrong in your description of the differences between the Fediverse and email, but none of those differences explain the previous poster's assertion that the protocols work at fundamentally different levels.
They don't, though[1]. It's often the lowest-common-denominator because everyone has it. But if a more streamlined alternative, like Slack, is available then it will be preferred over email.
A quick look at websites talking about email trends finds that the only people who are bullish on email are marketers. And that's why everyone else hates it: it's predominantly spam. So if you want to compare ActivityPub to email you'd better have a strong argument for why it won't just become another vehicle for spam if it ever becomes widespread.
It is fine for both to exist. FB|ig|Twitter is like getting to NY's times square - a lot of new people/ads, and then coming back home to your federated tribe (perhaps with new friends you found at the times square).
I don't disagree, but it's not 100% true that the only people who use centralized social networks do so for the network effects. YouTube in particular is used by a lot of people because of content discovery, not just the network effects.
No real reason except no one has tried yet. It's extremely difficult to get search right, although Moore's law and tensorflow has probably made it easier to attempt today. Latency would be significantly worse than major search engines though. I think for the people who care about the open web, having a libre alternative search engine should be the highest priority. It's one of the few classes of software/services that no one has tried replicating open source.
No, you don't need a search engine for that. Blogs and YouTube channels commonly link to similar channels and content. A search engine is a form of content discovery, but it's not the only one, and technically we already have a form of federated content discovery.
Because the company with the de facto monopoly on web search is the same company that bought the company with the de facto monopoly on user generated video content.
> ActivityPub prevents that a social media platform becomes a silo (see photo) that can’t communicate with other platforms.
I wish that were true. In practice, server admins are more than happy to block federation with entire other domains (and all associated users, hundreds or thousands at a time) based on little more than gossip and rumor.
Imagine if email services worked this way! “subscriber@otherhost is rumored to be slightly politically oriented in a way we don’t like, so we as admins have prevented everyone@thishost from mailing everyone@otherhost, and vice versa”.
“the internet treats censorship like damage and something something”
I’m glad that, in practice, you can still email people who are destination-server-adjacent to users your local mailserver admin hates. (Of course, mailservers can configure to drop mail from specified MXes too—but they don’t. Usually they get spam-foldered.)
PS: I’m on the fediverse at @sneak@sneak.berlin and would love more people to follow.
> In practice, server admins are more than happy to block federation with entire other domains (and all associated users, hundreds or thousands at a time) based on little more than gossip and rumor.
If that is easily possible this is doomed from the start, IMO.
You get into situations where you are at the mercy of a single person.
The linked issue's closing comment is even more backward.
The issue opener did not asked for talking to people which do not want talk to him.
Blocking between users is one thing, and can be good to have. Their issue was that the whole federate instance doesn't peers with him, out of theirs or the federated instance in questions people choice or support.
Peering needs to be done unconditionally, even over edges, IMO. Blocking needs to be in the sole control of the user, not the admin of a federation server. All else doesn't makes this better than Facebook, or any other single server instance without federation.
> How is it worse than Twitter, which can also ban you?
Who said anything about twitter and worse?? Shouldn't this be better than Twitter?
> What about instances that are mostly spam? What about instances that are dedicated to harassment (eg. Kiwifarms)?
Why is that an issue? You do not get spewed their spam in your face as long as you do not follow anybody?
It has to be the users decision, anything else is doomed to be abused against users.
And if this would become an issue, and one want's to have a more drastic approach to handle bad apples a decision of the a federates instances users, i.e., a conses or quorum, needs to decide.
> you're free to use an instance with a block policy that aligns with your opinion
No, you do not understand the basic issue here. Not only the block policy of the instance I'm on is the issue, but all the others. So how does your proposal solves this?
Agreed on all points, except that with Mastodon is always possible to create a single-user instance where (a) you are in control of the blocklists and (b) admins of other instances will be less likely to block you.
(b) less likely is, well, less likely. Better but not of use, as seen in the linked issue you can easily "loose" access to 19000 other people, just due to one admin with whatever reasoning, good or bad, they have - in a "Fediverse" it should be never the decision of the admin for the users.
At least if the goal is not having silos and decentralization.
> Imagine if email services worked this way! “subscriber@otherhost is rumored to be slightly politically oriented in a way we don’t like, so we as admins have prevented everyone@thishost from mailing everyone@otherhost, and vice versa”.
This actually does happen. It's not as common as it is with ActivityPub servers, but it exists. Most mail servers do have ways of rejecting or blackholing content from specific addresses or domains. The functionality became necessary for dealing with spam mail. :/
Yeah, you are not wrong but to me this seems something of a mastodon-exclusive cultural issue. They are confusing federation with tribalism. I've also already read some excuse like "you can always create an account in the other instances if you want to follow anyone there" but to me this just seems like they are missing the point and/or coming up with a way to avoid the harder of work of implementing proper user-level filtering controls.
You can do that on email no problem, and its common as heck for major email providers to block on little more than a mail server being in the same IP block as a bunch of spammers.
Its not the same you say? Yet no email admin is prevented from doing things as you describe.
>I wish that were true. In practice, server admins are more than happy to block federation with entire other domains (and all associated users, hundreds or thousands at a time) based on little more than gossip and rumor.
That's the prerogative of the instance owner. If the instance owner doesn't want to see certain posts, or undesirable posts from certain users, they don't have to. It's their own server, and they can choose what content to host on there.
If you don't like that fact, you can go to an instance which has few or little in the way of defederation (and there are many), or you can host your own instance. But what's unreasonable is to demand that server owners should have to allow certain communication on their platforms. If the owner demands you must wear a chicken hat when you post, you'd better wear the chicken hat. Or just go elsewhere, if you don't like that rule.
Would you demand the same thing of HN? Should there be no moderation at all? What about Twitter? If I were the owner of an instance, and I found out I'm seeing child porn on my server's timeline, would it be unreasonable of me to unsubscribe from that user, or defederate with their instance, if their instance has a habit of allowing that material? Let's say it's not illegal, but morally undesirable to the owner of the instance. Why should that change anything?
You have freedom of speech, but you (and the instance owners) have freedom of association. To take away one necessarily lessens the other. By joining to an instance, you agree to the administration policy, and that includes defederation policies. Just as you shouldn't be annoyed at being banned for spamming (e.g. on the basis of an anti-spam rule), you shouldn't be annoyed at the instance owner defederating (e.g. on the basis of a "no child porn" rule).
You seem to be confusing my complaining about a behavior (instance operators being stupid) and my being entitled to force them to behave in a non-stupid way. This is a common misunderstanding.
You're preaching to the choir about "their server, their rules". I just think that censorship is dumb, and server admins that do this are dumb. They're entirely within their rights to be dumb on their own hardware.
I do run my own instance. And thousands of people, some of whom I wish to read, have been denied the possibility of me following them (despite their toots still available on the public internet for anyone, myself included, to view) because one such admin has been this type of dumb.
I agree that's a problem. But I don't think we can blame the technology for that. After all, an email server admin can do the same thing, but they rarely do.
This is a cultural thing, and instances that engage in excessive blocking tends to become isolated islands eventually.
If you don't properly moderate your instance, your instance will have to be blocked entirely because you can't expect every instance host to moderate every user on every instance individually. This is the solution to decentralized moderation and I think it's great.
> Imagine if email services worked this way! “subscriber@otherhost is rumored to be slightly politically oriented in a way we don’t like, so we as admins have prevented everyone@thishost from mailing everyone@otherhost, and vice versa”.
Entire instances don't get blocked just because of one user's political opinion.
The most extreme case I can imagine is that of a couple of subscriber@otherhost being harmful to other instances, and the admins of "otherhost" refusing to do anything about it. So some instances ("thishost") would preventively block "otherhost" if they don't want to deal with every single harmful user from that instance.
But if that block policy of "thishost" is publicly advertised, then what's wrong with that? It's like users choosing a blocklist provider on Twitter.
> Entire instances don't get blocked just because of one user's political opinion.
Not often, but it has happened with a couple of instances. There's a group of 7 or so that's trying to wall itself off entirely from anybody who federates with anyone who federates with the crap instances, which I think is excessive – just defederate with the crap ones and soft-block those that don't at least soft-block the crap ones; that's sufficient for most cases.
However, it's a minority of instances that do that, and I don't know of one where the users don't know. The system works; I can still see stuff on the utter shithole corners of the Fediverse, if I choose (hint: I don't), but it's not pushed in my face.
Just because they want to push things in my face, doesn't mean everybody has to let them “unless I opt out”. That's an opt-in kind of thing, in my book.
Question concerning a potential impl I'm pondering: Are there any realtime/streaming approaches with ActivityPub? Can a chat application be reasonably implemented on it today or is the inbox/outbox federation concept too limiting? Are there any examples of such services out there and how reusable/generic are their approaches?
Pleroma has built in support for connection to an xmpp server, to share account data.
We are also working on a proper ActivityPub chat, but this was put on ice for a while because it require Group support for many cases, and that's another complicated topic in a federated world.
Overall, the speed of federation is very good, but we will be releasing a new federation transport over websockets in the next few weeks which should make it realtime in nearly all situations.
In the next version of my ActivityPub system which integrates chat, I'm using XMPP, with a reference to the user's XMPP JID from the user's ActivityPub actor.
The upside is that everyone can use standard XMPP clients like Dino or Gajim to chat. As I'm doing video streaming over HLS, they can also use VLC or similar to watch videos - the rest of it is then just standard ActivityPub. The web application is built on Converse.JS and Video.JS.
Nope. HLS is an open standard without DRM - it's basically just an extended playlist of MPEG Transport Stream files, which the client repeatedly requests to find the next part of the stream. These can be generated with e.g. gstreamer; at the moment I'm using nginx-rtmp-module to generate them but intend to replace that with a more flexible/tailored option.
It can be used to transport streams with DRM, though, but there's nothing special about that - it'll transport anything that goes in a MPEG Transport Stream.
Pleroma worked on a real time chat implementation for a while, but iirc they went back and forth on whether to use ActivityPub for it and never ended up building anything. IMO, it would require a few extensions on the client to server side, but the server to server side is already flexible enough for you to build a pretty good chat.
as far as streaming more generally, mastodon has had real time streaming for all of its main views since day 1, so it's definitely doable. using mastodon actually feels more real-time, in my experience, then using Twitter—its more directly comparable to seeing new posts and notifications come in on Tweetdeck. The latency between two different mastodon servers is generally a second or two, which is plenty good for microblogging. Obviously more steaming focused impls could do much better.
It sounds pretty much what Facebook has done with login with Facebook for developers. Except that the network effects aren't controlled by 1 commercial company but is an open source effort.
Exactly for their notorious reputation. A lot of developers are going to change their mind about Twitter. To survive Twitter needs to innovate and become more open.
The fact that Twitter has never made any profit and lacks a viable business model and yet is backed by "rich dudes" makes me assume that it is this vitriol inducing hate speech factory on purpose. There is no sane discourse possible on this platform and that is for a reason and not by accident.
Thus I would rather see Twitter die or fade away than see it succeed.
Twitter has made up all their losses from 2010-2017 in just 2018 and 2019. They’re on pace to possibly hit $2B in profit in 2021. They are a pretty healthy, profitable company right now. Their PE ratio isn’t high for a tech company.
That’s misleading. They talked about considering the problem and creating a team to investigate solutions.They were clear about the fact that they would consider existing projects if they match their requirements.
I think the truth lies between federated and p2p. Personal or at least very small instances only.
Would be cool if we could get something like remoteStorage going, but with a one-click-way of getting your personal instance up and running and also a simple way to transfer that from provider to provider.
I had this epiphany the other day, any distributed application was actually a messenging system. (I can hear Alan Kay scream afar). Wasn't there a project like this ? a guy making some whatsapp revolution turning it into a generic app platform ? I forgot.
Not entirely but so far that's the best match. Also I didn't mean something current, just that this dude pivoted a message exchange app into a generic application platform, which is what activitypub feels like (and good ol' message passing distributed programming too)
It appears "Installing from source" is the only option?
Are there no distributions packaging mastodon and its dependencies such that I don't need to have gcc/build-essential and piles of -dev packages installed to run it?
Yikes, do you know of any activitypub-compatible implementations actually packaged by distros? gnu social perhaps? diaspora?
I checked out Pleroma after seeing it mentioned on that freshports mastodon page, which seemed a bit less onerous with just the OTP component but they don't distribute an i686 build, that's unfortunately what the dusty old colo I'm looking to run this on has.
You might be interested in Yunohost, which is a Debian-based distro packaging popular server applications (also with an easy installer, aimed at non-technical people): https://yunohost.org/
I just spent an hour trying to get that package happily installed in a fresh debian sid debootstrap running in nspawn and it seems to be broken. They're requiring an old 1.2.x ruby-zip version, and sid seems to only have 2.0. Even after kludging past that, things break down again on unmet sass version requirements.
So true to the 'unstable' name, this package isn't currently usable.
the rating system could be circular (by lack of beter name)
users would up and down vote things they like or not. value is them extracted from contradiction(!) if user A liked content X while B does not and user B liked Y we assume A does not like Y. with lots of fine gradients like that I assume the high noise will eventually be drowned out by the signal.
The great thing about the fediverse is if you still want to use mastodon, you can find a better instance that suits your needs, or run your own instance.
There is an account migration feature. If you create a new account on a different instance, you can migrate the old account to the new one.
This basically sends messages to your followers instructing them to follow your new account instead. This is all transparent to both you and your followers.
That is not the same as moving your old account to a new instance. If your old server actually dies, your old account data is just gone. And if it dies before you get a chance to migrate, then you're really out of luck.
I just don't understand why people feel such a strong desire to cling to the federated servers model when these problems are solved in decentralized protocols already...
The original question to which I replied were not talking about the case where the server goes offline. If Facebook were to go offline, you'll have the same problem, only worse.
As for your final remark, I really can't see a good way to handle such a situation at all. And I've never heard about any protocol that can handle it. What protocol are you talking about?
So let's make it portable? There should be an easy way to transfer your account/content to another verse without losing data. Then keeping a mapping from the old@firstverse -> new@secondverse and verses only allowing a limited amount of immigration transfers per some period to prevent abuse.
And then what? Write a script that systematically re-posts it all on your new account?
> and you can host mastrodon on a raspberry pie, what are you talking about
The amount of time and dedication required to do such a thing is not just outside of the ability of most people, but it is also not worth the effort for such a trivial thing as tweets.
Moving accounts is supported; your old account posts a machine-readable "moved to x@y" message, which tells your followers to automatically switch to the new location.
It's not really a 'power trip' is it? It's his instance and he can do whatever he wants. Aren't most of the folks claiming censorship also claiming to be for 'individual freedom'?
Another important aspect of the Fediverse is that it's much harder to censor and manipulate than centralized networks. There is no single company deciding what content can go on the network, and servers are hosted by regular people across many different countries.
A federated network that's developed in the open and largely hosted non-profit is the way internet was intended to work in the first place before it was hijacked by corporations. I'm very glad to see that decentralized networks are finally starting to get popular again.