new from me: FR#156 - Share Where?
on @Mastodon 's new Share button, the Mastodon API and protocol ownership
new from me: FR#156 - Share Where?
on @Mastodon 's new Share button, the Mastodon API and protocol ownership
The Mastodon API is open source, but it is not an open standard. It is designed, maintained, and changed by one project, without input from the rest of the ecosystem.
Not without. The design of this API is shaped by the needs Mastodon users. Sometimes PRs are submitted by developers of 3rd party clients and by developers of other servers. Independent implementers of Mastodon API often extend it, and copy each other's extensions, there is even a discussion about Mastodon API Enhancement Proposals (similar to FEPs).
So I think that by now it is very much an open standard.
ActivityPub API may have W3C's stamp or approval, but that doesn't mean anything if nobody uses it.
P.S. Does your blog not federate anymore?
@[email protected] yea I was about to ask, @[email protected]
AP.space has everything up until this one I think. @[email protected] isn't posting anymore.
@julian @silverpill @laurenshof
yeah, unfortunately I had to turn off federation for my wordpress blog. a persistent issue with how the cache interacts with ap makes the website show raw json when it gets popular. this has been a structural issue for a long time, and after it happened 4 times in a row on my most recent posts ive decided im done with it, because it was a major net negative on my distribution
It would probably be really good for the ecosystem if @Mastodon was explicit about reuse and reimplementation of its API.
In particular, a license or IP non-assertion pledge that says, as far as Mastodon is concerned, anyone can clone their API in a new implementation, regardless of code license, and Mastodon won't assert patent, trademark, copyright, or other rights against them.
@[email protected] can one even patent an API 🤔
That said, if the interface contract defines some behaviour that requires a patented technique, you might not be able to implement the interface correctly without violating the patent.
For example, back when the compression used in GIF format was patented, you couldn't implement a `encodeGIF(filename)` interface correctly without violating the patent.
A non-assertion pledge by Mastodon makes it clear that third-party developers don't have to worry about that. "We think you can clone this API without violating any of our patents [especially because we don't hold any!], nor trademarks or other IP protections. We will not make it hard for you to implement this API freely."
There was a huge fight about this (in US courts, at least) between Google and Oracle. It was over copyrights, not patents, but I think it still applies.
The US Supreme Court ruled that it was fair use to implement someone else’s API.
It should be “settled law” but that doesn’t stop someone else from suing you anyway, or making life difficult (as Apple does) for 3rd party API implementators in other ways.
More info for those interested: https://www.google.com/search?q=oracle+java+api+lawsuit
I think that’s why Mastodon’s pledge is important. They’re basically saying: you’re safe to use our API, no matter what we might be able to enforce legally.
It’s the right thing for them to do.
@benpate @julian @fediversereport there are a few tools for this. One of the easiest would be publishing the API definition as a Report from the W3C Social Web Community Group. The Contributor License Agreement (CLA) for community groups covers most of what you need and has been well reviewed by expensive lawyers: