⚠️ We’re now entering the “extinguish” part of “Embrace, extend, extinguish”.
-
"the identifier is foo" does not mean "the identifier MUST always be expressed using the literal sequence of characters f, o, o".
It does literally mean that. Furthermore, ActivityPub requires identifiers to be dereferenceable URIs, so even in an alternative reality where "X is Y" has a different meaning,
as:Public
is not a valid identifier.ActivityStreams requirements don't matter because we're implementing ActivityPub, not ActivityStreams.
@silverpill @trwnh @raucao I don't think this is accurate or helpful. The first sentence of the AP spec: "The ActivityPub protocol is a decentralized social networking protocol based upon the ActivityStreams 2.0 data format.". Later, "ActivityPub uses ActivityStreams for its vocabulary." AS2 is referenced many times in the spec. It definitely *does* matter in an ActivityPub context.
-
@silverpill @bengo "We’re now entering the “extinguish” part of “Embrace, extend, extinguish”
He means that an unspecified large corporate player, who adopted AP at some point, is now moving past the Embrace and Extend phases to literally Extinguish the protocol or the smaller competitors using it.
I'm the first person to support him in banging the drum about this all day long, if he could point me to where this is happening. Alas, insta-block instead of explanation, strongly suggesting BS.
@raucao from my own perspective as a user and developer for the fediverse, the only perpetrator of EEE strategies is Mastodon.
They're the ones that implement only the parts of the spec that suits them, and add other unrelated bits, and inadvertently bully everyone else into supporting the same or face not being federated with the majority of the fediverse.
I suspect that's not what @bengo meant, but you never know.
-
@silverpill @trwnh @raucao I don't think this is accurate or helpful. The first sentence of the AP spec: "The ActivityPub protocol is a decentralized social networking protocol based upon the ActivityStreams 2.0 data format.". Later, "ActivityPub uses ActivityStreams for its vocabulary." AS2 is referenced many times in the spec. It definitely *does* matter in an ActivityPub context.
-
@silverpill @steve @raucao <Note> is <as:Note> is <https://www.w3.org/ns/activitystreams#Note>, but only "Note" is consistent with compacted JSON-LD.
Fundamentally, identifiers are expressed in different ways depending on context. The prefix mechanism produces compact URIs, which are still intrinsically URIs despite their lexical form not being a valid URI. If you care about referents, you need to expand them.
"as:Public" is canonical for object properties (type:id). Disliking this fact doesn't make it untrue.
-
@silverpill @steve @raucao <Note> is <as:Note> is <https://www.w3.org/ns/activitystreams#Note>, but only "Note" is consistent with compacted JSON-LD.
Fundamentally, identifiers are expressed in different ways depending on context. The prefix mechanism produces compact URIs, which are still intrinsically URIs despite their lexical form not being a valid URI. If you care about referents, you need to expand them.
"as:Public" is canonical for object properties (type:id). Disliking this fact doesn't make it untrue.
@silverpill @steve @raucao The only thing I can really suggest is dropping the use of the prefix mechanism by undefining the `as` term, then rewriting all other term definitions to not use the `as:` prefix. This might make sense since the media type nominally guarantees the meaning of certain terms, and you really shouldn't define your own custom terms in the `as:` namespace, so maybe it's okay to say that no one should ever use `as:`. Is that the resolution you'd prefer?
-
@silverpill @steve @raucao The only thing I can really suggest is dropping the use of the prefix mechanism by undefining the `as` term, then rewriting all other term definitions to not use the `as:` prefix. This might make sense since the media type nominally guarantees the meaning of certain terms, and you really shouldn't define your own custom terms in the `as:` namespace, so maybe it's okay to say that no one should ever use `as:`. Is that the resolution you'd prefer?
@trwnh @steve @raucao I am not convinced that there is a problem in the first place.
ActivityPub says the identifier is
https://www.w3.org/ns/activitystreams#Public
. JSON publishers use full URI. Server implementations that perform JSON-LD processing (e.g. Iceshrimp) also produce full URI, they figured it out. Then, why make a change?If this issue is purely theoretical, then it must be addressed without changing ActivityPub.
-
@trwnh @steve @raucao I am not convinced that there is a problem in the first place.
ActivityPub says the identifier is
https://www.w3.org/ns/activitystreams#Public
. JSON publishers use full URI. Server implementations that perform JSON-LD processing (e.g. Iceshrimp) also produce full URI, they figured it out. Then, why make a change?If this issue is purely theoretical, then it must be addressed without changing ActivityPub.
@silverpill @trwnh @raucao These kinds of discussions fascinate me. "Yeah, it's not right, but what's the problem?"
It reminds me of ...
-
@silverpill @trwnh @raucao These kinds of discussions fascinate me. "Yeah, it's not right, but what's the problem?"
It reminds me of ...
Iceshrimp has hacky workarounds for interop reasons with plain JSON consumers who fail to understand the currently canonical fully conformant normal form of "as:Public" and only understand the non-canonical full URI. Hacky workarounds shouldn't be the norm. If one were to build an AS2 validator right now, the validator would produce documents that cause interop issues. That's the problem we're trying to solve. Issues like this prevent validation from being feasible.
-
Iceshrimp has hacky workarounds for interop reasons with plain JSON consumers who fail to understand the currently canonical fully conformant normal form of "as:Public" and only understand the non-canonical full URI. Hacky workarounds shouldn't be the norm. If one were to build an AS2 validator right now, the validator would produce documents that cause interop issues. That's the problem we're trying to solve. Issues like this prevent validation from being feasible.
trwnh@mastodon.social but
as:Public
is not a dereferenceable URL. Needs to be special cased anyway.End of the day nothing changes, it needs special handling for all the cases anyway.