removes shortcode from articles (for now)

This commit is contained in:
Drew
2025-04-07 09:57:20 -06:00
parent 8e615fa92b
commit 5456e5ccd8
6 changed files with 103 additions and 309 deletions

View File

@ -14,15 +14,11 @@ links:
tags: [decentralization, open source, organizations, social media, software, standards]
---
{{< i >}}
How do you introduce yourself?
{{< /i >}}
*How do you introduce yourself?*
My name is Evan Prodromou, and I'm a software developer, entrepreneur, and architect from Montreal, Canada. I'm best known for my work on distributed social networks, and in other circles for wikis and AI. I have a lot of different hats.
{{< i >}}
Let's get to know some of those hats. How would you outline the trajectory of your life and career? Where did you start and where are you now?
{{< /i >}}
*Let's get to know some of those hats. How would you outline the trajectory of your life and career? Where did you start and where are you now?*
I did well in school and ended up going to UC Berkeley as a physics student in the eighties. The University of California was an incredibly exciting time to be in physics---I had more Nobel laureates in my department than there were in all of the Soviet Union at the time. These were all the people who came out of the Manhattan project and were still producing great work from Lawrence Berkeley Labs and Lawrence Livermore Labs.
@ -44,9 +40,7 @@ This was 2008. Twitter had just launched at South by Southwest in 2007. They had
This was mid-2000s, and there was this open-source inevitabilism---this sense that if you've got a word processor, we're going to make an open-source word processor that's going to be as good or better, and we're going to wipe out your business. If you've got a server operating system, we're going to make an open-source server operating system. No matter what commercial corporate organizations could make, we would undercut the value by making an open-source alternative.
{{< i >}}
Some worked better than others.
{{< /i >}}
*Some worked better than others.*
Yes, exactly. So I was like, "Oh boy, I'm going to be the one that makes the open-source Twitter." I started building it and shared it with this group of people who had been at this Franklin Street meeting. They were excited about it. They were working on Identi.ca, they were sharing and having conversations there.
@ -86,9 +80,7 @@ I think we kind of hit a high point in those early 2010s with Google Buzz. Googl
The way Google Buzz worked was that you could pull all your different social network presences together and then rebroadcast them through open standards. They used the same stack that we did---they were using ActivityStreams and PubSubHubbub and Salmon. We thought it was awesome. Around 2011 or 2012, engineers at the Google I/O conference did demo a three-way interaction between Google Buzz, Cliqset, and StatusNet using OStatus. They had this whole conversation happen live on stage. It was this great moment, like "Wow, this is really taking off!"
{{< i >}}
I don't remember that---it's the dream we're still chasing, right?
{{< /i >}}
*I don't remember that---it's the dream we're still chasing, right?*
But Google Buzz had a fatal flaw. The way that they kickstarted your social graph---the number of people that you're connected to---was using your Gmail contact list. Almost immediately there started being stories about people who were like, "Wait a minute, my abusive ex-boyfriend now has access to all my social networking stuff because I had his email address in my contact list." It was just a bad example of "Hey, we're going to use this data that we've collected for you as part of this one system to kickstart this other system."
@ -98,23 +90,17 @@ For me, it was a bad time because we had run out of money and had no additional
So I wrote a new software package called pump.io that was written in Node.js. The previous version had been in PHP. It basically took everything that we had learned from five years of running a social network and applied it to the new structures. So instead of using Atom, which is an XML standard, we used JSON. This was almost entirely me solo, working by myself, because I'd lost all my employees.
{{< i >}}
Because you were paying the server costs, you wanted to enable other people to migrate off it and run their own servers?
{{< /i >}}
*Because you were paying the server costs, you wanted to enable other people to migrate off it and run their own servers?*
Partly. But also because it meant I could run my servers much more cheaply.
{{< i >}}
It reduced the load.
{{< /i >}}
*It reduced the load.*
Exactly. I converted from StatusNet to pump.io and transferred StatusNet---which became GNU social---to some enthusiasts at the Free Software Foundation who were like, "We want to keep running with this." I was like, "Great, take it, go with it." Then I built this pump.io project. It turned out great---Identi.ca is still running and still uses pump.io software. It is nowhere near its peak though. It was about 5 million users; now it's probably like 500 users, maybe. It's a very small number of people.
I did this pump.io software, released it, and moved Identi.ca to it, and then kind of walked away. I had done what I intended to do, and I was like, "Hey, that dream of a distributed social network is gone. These big social networks like Twitter and Facebook are no longer one among many---they are essential infrastructure, they're part of the way that the Internet works."
{{< i >}}
Just as they were shutting down their open APIs.
{{< /i >}}
*Just as they were shutting down their open APIs.*
Absolutely. At this time, Twitter had a big event called the Chirp Developer Conference, which they had been organizing for like six months---"Come to the Chirp conference, exciting stuff!" Then, just before the conference, they had a big blog post---I think it was from Ev Williams---that was like, "Hey, we're shutting down the API for all but a few uses." We were at the conference. Our software actually had a Twitter-compatible API, so we were encouraging developers to take their tools and port them to use StatusNet instead. We had some interest there, but it was mostly these folks who had become dependent on these big networks and who had been part of making them successful---they were kind of out in the cold.
@ -134,9 +120,7 @@ Let me rewind a second and talk about OpenSocial. About the time that Facebook P
But all these other ones were like, "Hey, we have to build our own platform." The solution that they came up with was, "We can't compete with Facebook by all having our own different ways for building applications." So they built a single way for building widgets on a homepage called OpenSocial, and it covered one part of the problem. They didn't have any federation involved. The idea was if I build a zombie bite app and put it in Orkut, it should also work in Hi5.
{{< i >}}
So it enabled developers to simultaneously develop for all these smaller networks.
{{< /i >}}
*So it enabled developers to simultaneously develop for all these smaller networks.*
Yes---you could just build something once and then register it on all these different services.
@ -172,9 +156,7 @@ That left the group around OStatus, and one of the people who had been a develop
So we had these submissions---the RDF people had gone, so we had these two sets of submissions. One was from the IndieWeb group and then the one Erin did, which became called ActivityPump. That was the name because it took pump.io plus activities. The idea is you were pumping it out. It wasn't a great name.
{{< i >}}
But it was also a kind of tribute to what had come before.
{{< /i >}}
*But it was also a kind of tribute to what had come before.*
We couldn't agree on any one of the models. Finally, Tantek and I sat down, and Tantek was like, "Hey, look, we can just publish all of these. Let's just go ahead and do it. That way we don't have to argue about which one's right and which one's wrong. Let's just get them out, and they'll be official W3C standards, and they're out there."
@ -192,17 +174,13 @@ And they did. So Eugen Rochko and a couple of other friends and collaborators bu
I think we finished the actual spec in January 2019. We were done, and we had this popular open-source project using it. A bunch of other open-source projects started using the protocol---PeerTube for video, then Funkwhale for audio. It had a nice, lively little community happening with hundreds of thousands of people on the network. One of the last things we did with the standard was change the name from Activity Pump to ActivityPub. ActivityPump was a terrible name.
{{< i >}}
I think both names have their virtues.
{{< /i >}}
*I think both names have their virtues.*
Well, the social media space had almost a tradition of ridiculous names for a while.
Once ActivityPub was done, I set it as my goal to make Identi.ca compatible with this new standard. I had handed pump.io off to a maintainer named AJ, and they were working on it. I kind of drifted off. I worked at Wikipedia for two years and then worked for a couple of startups, and I really was not working on distributed social networking, which was such a relief, to be honest.
{{< i >}}
Everything you've just described sounds so exhausting.
{{< /i >}}
*Everything you've just described sounds so exhausting.*
Social networks are really hard when they're not popular, and they're hard for other reasons when they become popular. The scaling problems with social networks go up exponentially. Your resource demands grow as your number of users grow because they have more conversations, more connections. Your needs as the systems grow are way bigger, which is why so many social networks collapse.
@ -210,9 +188,7 @@ It's a lot of time, a lot of effort. After 2013, this was no longer my full-time
Christine and, to some extent, Jessica continued at the W3C. We had this group called the Social Web Community Group, or Social CG, and it kind of picked up where the working group left off and worked on extensions and documentation and things like that, helping developers work together. But one of the things that happens when you publish a standard that takes years to get create is it becomes very fossilized, very ossified. You can add on to it, but you can't really go back and say, "Oh, it would have been better if we had done this." We had a working network of thousands of servers. If you change how it works fundamentally, half of those servers or three-quarters of those servers are going to be cut off. So you have to just do backwards-compatible changes, iterative changes rather than really big changes.
{{< i >}}
Do you have any regrets about what is in that ossified standard?
{{< /i >}}
*Do you have any regrets about what is in that ossified standard?*
I don't have huge regrets. If I have any, it's that I did not help get us to a working reference implementation before I stepped back. There are some parts of the stack that were never built out. Mastodon had to define how servers authenticate each other. There was a lot of work that went into filling in the gaps in this structure that could have been done with a reference implementation instead.