Who owns the Post?
I've been writing about how we could make a “publication” system work for the Fediverse; a one similar to Medium's where authors are free to submit to any publication and still have their articles displayed on their own profile too.
On the Fediverse—or, more specifically, on Write.as—we have not profiles but “blogs”. This causes some issues because a blog works in some sense like a publication itself. So if someone scrolls through a blog and clicks on a post, which version of the post should they be directed to: the locally-hosted blog one, or the one hosted on the publication? Should there be two hosted versions at all? If not, who gets to do the hosting?
Or, to boil it down to one question: Who owns the post?
The Meaning of Ownership
What does it mean to “own” a post? The most basic meaning is that you have control over it: to publish, edit, manage visibility, and even delete it. But when publications come in, there's another form of control too: that of being able to display the post under a certain format and branding.
As an example, take the blog of George Monbiot. He writes posts at https://monbiot.com, and they show under a “theme” of his choosing. But Monbiot also has some posts published by The Guardian, where you read them under the Guardian heading, and with the Guardian's fonts, widgets, and so on.
Monbiot's personal and Guardian blog are, technically speaking, two separate entities. They are two separate websites, and the post is (as far as I know) copy-pasted from one to the other. If you click the post from Monbiot's blog it'll go to his blog version; if you click it on the Guardian front-page, the Guardian-hosted version will show up instead.
Medium does things slightly differently. Since it's an integrated platform, it can make all clicks lead to the publication's version of the page—that is, with the publication's header and branding around the post.
So if you browse through Manasa Kashi's profile you'll see posts published in various publications. Click on a post, and it'll send you to that publication. This is useful because—imagine writing for various websites, like The Guardian, The Independent, and so on, and still having a follwable “profile page” to say “Hey, here's everything I published anywhere; take a look!”
Medium has another difference: authors can remove a post from a publication: in that case, it'll vanish from the publication's page, and clicking it from the profile will show it without any branding (which is to say, with Medium's default one).
This is a neat setup, but it won't federate well. Let's take a closer look at the main features of the setup:
- Authors can submit and withdraw posts
- Publications can accept or reject posts
- Authors and Publications can edit and delete posts
- Publications display their branding (ie. host the post)
- Authors link to the Publicaton's version of posts
The “can edit” causes its own problems, but the main issue is of who gets to host the post.
- If the publication hosts it to show the branding, what happens when the author withdraws a post?
- If the author hosts it, how do publications show branding?
- If they each host a copy, are there duplicate posts, or is one considered the “master copy”? And if so, which one?
Let's look at each of these options and see how they'll work out.
Hosted by Publication
If publications host a post, then authors lose control over it the moment it's published. They can't withdraw it from the publication to sent to a new one; neither can they edit or delete it or even assert their ownership in any ActivityPub-supported way.
This is in some way how articles usually work: you send it to a magazine or website, and they put it up on their server. After that, you can't do anything with the article directly; you have to contact the editors to make changes for you.
Even editing and deleting can probably be taken care of through OAuth. Users can sign in with their own server's account, and do editing on the publication's server by automatically refreshing. In some sense they'll have an account on the publication's server too, but they'll still retain their unique Fediverse identity.
That leaves branding, and withdrawal of posts. But how often do people withdraw posts from publications? Very rarely. Maybe “withdrawal” could be left out; people can always delete the post and create a new one for a new publication if they so desire. Similarly, they could agree to give up styling rights to the publication; after all if you write for The Guardian you don't expect them to implement your own custom CSS for you!
So this could be a workable solution. But, if you think about it, it's not much different from calling your ordinary Write.as blog a “publication”, posting other peoples' articles with a credit line in the beginning, and making them reshare each post of theirs when you publish it.
Hosted by User
User-hosted posts is probably easiest to implement. All the editing and everything is taken care of; publications merely “boost” the posts Mastodon-style. But this leaves publications as nothing more than a “front page”, like those paper.li newsletters that merely link to off-site posts.
Letting the publication edit other posts before “publishing” (read: boosting) would be a bit harder, but maybe we can take the OAuth idea from the last section and turn it the other way round.
This works too, but it's not much different from an “editor” asking you to edit your piece before boosting your posts.
Hosted by Both
Letting both users and publications host their own version of a post could yield the best of both worlds—or the worst. It's quite simple on the implementation ends: publications basically copy-paste the post into their own new one, with a credit-line. (Of course, it could be more formalised with OAuth or something). The user's blog version and the publication's version are two separate entities, like George Monbiot's blog and Guardian posts. Each version can have its own edits, branding, and more.
The downside is, this splits the identity of the post. Search-engines and social networks will see them as separate things; traffic and responses won't be synchrosronised. This doesn't matter so much on the Fediverse where share-count is not the priority, but it's still not ideal.
We should keep in mind that Write.as won't be the only possible “publication” platform. I don't know how Wordpress' ActivityPub plugin works now, but my guess is that each blog gets its own identity. And if the blog has multiple users, I doubt the users get their own. So that's a lot like the “publication-hosted” posts I described above, and it might make sense to replicate it. On the other hand, authors don't get any independent identity there; I wonder if there's an ActivityPub-friendly way to manage it.
Can an ActivityPub post have multiple authors? If so, it would be helpful.