GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Conversation

Notices

  1. Embed this notice
    silverpill (silverpill@mitra.social)'s status on Sunday, 08-Feb-2026 06:04:46 JST silverpill silverpill
    • 洪 民憙 (Hong Minhee)

    @hongminhee

    >There's no going back.

    We absolutely must go back. Either we have a vibrant ecosystem where building stuff is a pleasant experience, or fediverse slowly dies while linked data cultists harass developers about nonresolvable URLs in @context.

    JSON-LD adds nothing to ActivityPub, it only creates problems. Time to move on.

    In conversation about 13 days ago from mitra.social permalink
    • Embed this notice
      silverpill (silverpill@mitra.social)'s status on Sunday, 08-Feb-2026 06:04:41 JST silverpill silverpill
      in reply to
      • Lutin Discret
      • 洪 民憙 (Hong Minhee)

      @lutindiscret @hongminhee I have no idea, it is literally useless. JSON-LD is a form of gatekeeping.

      In conversation about 13 days ago permalink
    • Embed this notice
      Lutin Discret (lutindiscret@mastodon.libre-entreprise.com)'s status on Sunday, 08-Feb-2026 06:04:44 JST Lutin Discret Lutin Discret
      in reply to
      • 洪 民憙 (Hong Minhee)

      @silverpill @hongminhee can someone explain what was it supposed to bring?

      It sounds like people are attached to xml with schemas whike everyone is using schemaless json (xmpp vs matrix...).

      In conversation about 13 days ago permalink
    • Embed this notice
      silverpill (silverpill@mitra.social)'s status on Sunday, 08-Feb-2026 06:11:19 JST silverpill silverpill
      in reply to
      • marius
      • 洪 民憙 (Hong Minhee)

      @mariusor @hongminhee The @context is not supposed to be required in the first place, but here we are adding it to every activity and wasting bandwidth because Mastodon developers didn't read the spec.

      In conversation about 13 days ago permalink
    • Embed this notice
      marius (mariusor@metalhead.club)'s status on Sunday, 08-Feb-2026 06:11:20 JST marius marius
      in reply to
      • 洪 民憙 (Hong Minhee)

      > while linked data cultists harass developers about nonresolvable URLs

      @silverpill I don't consider myself a cultist but I still think that putting invalid URLs in any payload where they are supposed to be meaningful is disrespectful towards anyone that consumes your API. Please don't do that.

      @hongminhee

      In conversation about 13 days ago permalink
    • Embed this notice
      silverpill (silverpill@mitra.social)'s status on Sunday, 08-Feb-2026 06:23:29 JST silverpill silverpill
      in reply to
      • Lutin Discret
      • Phantasm
      • 洪 民憙 (Hong Minhee)

      @phnt @hongminhee @lutindiscret

      >Also it was supposed to be entirely optional

      Yes, exactly, here's ActivityPub:

      https://www.w3.org/TR/activitypub/#obj

      Implementers SHOULD include the ActivityPub context in their object definitions.

      Here's ActivityStreams:

      https://www.w3.org/TR/activitystreams-core/#jsonld

      Implementations producing Activity Streams 2.0 documents SHOULD include a @context property with a value that includes a reference to the normative Activity Streams 2.0 JSON-LD @context definition using the URL " https://www.w3.org/ns/activitystreams".

      In both cases it's a SHOULD, this means I am allowed to not include @context if I have a good reason to do so.

      I have plenty of reasons but Mastodon can't process an activity if there is no @context. its_always_mastodon.jpg

      In conversation about 13 days ago permalink

      Attachments


    • Embed this notice
      Phantasm (phnt@fluffytail.org)'s status on Sunday, 08-Feb-2026 06:23:30 JST Phantasm Phantasm
      in reply to
      • Lutin Discret
      • 洪 民憙 (Hong Minhee)
      @lutindiscret @silverpill @hongminhee It was supposed to bring document schema validation (you shouldn't be able to fool a JSON-LD consumer into accepting invalid documents) and instead it added complexity that few know how to deal with and subtle vulnerabilities with plain JSON consumers due to the ability of overriding types.

      Also it was supposed to be entirely optional, but the current spec editors would like you to believe otherwise.
      In conversation about 13 days ago permalink
    • Embed this notice
      silverpill (silverpill@mitra.social)'s status on Sunday, 08-Feb-2026 06:30:49 JST silverpill silverpill
      in reply to
      • Lutin Discret
      • arcanicanis
      • 洪 民憙 (Hong Minhee)

      @arcanicanis @hongminhee @lutindiscret The trap is real, I barely avoided it myself. I read SocialHub a lot when I was learning about ActivityPub and got an impression that JSON-LD is super important so it was on my to-do list for a long time. Fortunately, I got distracted by other tasks.

      In conversation about 13 days ago permalink
    • Embed this notice
      arcanicanis (arcanicanis@were.social)'s status on Sunday, 08-Feb-2026 06:30:50 JST arcanicanis arcanicanis
      in reply to
      • Lutin Discret
      • 洪 民憙 (Hong Minhee)

      My first ActivityPub project was very literally just wasting my time solely on trying to make a JSON-LD-first ActivityPub library to try to abstract away it from the library consumer (within reason), back around the time before ActivityPub had reached W3C Recommedation status.

      I would have saved myself some amount of months by just having not get snagged into that trap, and could have instead actually shipped a usable implementation back then.

      Everyone else that actually shipped an ActivityPub implementation in the beginning were the ones that treated it solely as static JSON.

      I'm not saying JSON-LD is hard, nor difficult to understand (and there are some niche projects where I do want to use it)---some of it's probably even an upgrade from similar things in the XML world, but it piles on more overhead that everything has to be expanded, checked against context, just to handle different representations, all while you'll still invariably have to interop with implementations that treat it as static JSON anyway.

      In conversation about 13 days ago permalink
    • Embed this notice
      silverpill (silverpill@mitra.social)'s status on Sunday, 08-Feb-2026 06:35:26 JST silverpill silverpill
      in reply to
      • Lutin Discret
      • arcanicanis
      • 洪 民憙 (Hong Minhee)

      @arcanicanis @hongminhee @lutindiscret Linked data is good for scientific applications, but this is not what we're building here.

      In conversation about 13 days ago permalink
    • Embed this notice
      silverpill (silverpill@mitra.social)'s status on Sunday, 08-Feb-2026 06:42:43 JST silverpill silverpill
      in reply to
      • Lutin Discret
      • Phantasm
      • Blurry Moon
      • 洪 民憙 (Hong Minhee)

      @sun @phnt @hongminhee @lutindiscret JSON-LD: not even once

      In conversation about 13 days ago permalink
    • Embed this notice
      Blurry Moon (sun@shitposter.world)'s status on Sunday, 08-Feb-2026 06:42:44 JST Blurry Moon Blurry Moon
      in reply to
      • Lutin Discret
      • Phantasm
      • 洪 民憙 (Hong Minhee)
      @silverpill @phnt @hongminhee @lutindiscret I have wasted at least a full day on my latest AP project trying to get json-ld to work. again. I never learn.
      In conversation about 13 days ago permalink
    • Embed this notice
      silverpill (silverpill@mitra.social)'s status on Sunday, 08-Feb-2026 21:42:26 JST silverpill silverpill
      in reply to
      • marius
      • 洪 民憙 (Hong Minhee)

      @mariusor I don't remember having such discussion. The SHOULD keyword is defined in RFC-2119:

      This word, or the adjective "RECOMMENDED", mean that there may exist valid reasons in particular circumstances to ignore a particular item, but the full implications must be understood and carefully weighed before choosing a different course.

      There are many valid reasons to not include @context. We also have almost 10 years of implementation experience and by now full implications are very well understood: by ignoring this recommendation we make messages smaller and developer experience better. No downside at all.

      @hongminhee

      In conversation about 13 days ago permalink
    • Embed this notice
      marius (mariusor@metalhead.club)'s status on Sunday, 08-Feb-2026 21:42:28 JST marius marius
      in reply to
      • 洪 民憙 (Hong Minhee)

      @silverpill aaah, I see. I think we've had this discussion before (or at least I had it with someone else).

      For me "SHOULD" falls in the category of the robustness principle: "be conservative in what you do, be liberal in what you accept from others".

      So for me if you treat "SHOULD" in a spec as non mandatory you haven't really implemented the spec.

      @hongminhee

      In conversation about 13 days ago permalink
    • Embed this notice
      silverpill (silverpill@mitra.social)'s status on Sunday, 08-Feb-2026 21:42:40 JST silverpill silverpill
      in reply to
      • marius
      • 洪 民憙 (Hong Minhee)

      @mariusor @hongminhee

      @context is a recommendation, not a requirement.

      ActivityPub:

      https://www.w3.org/TR/activitypub/#obj

      Implementers SHOULD include the ActivityPub context in their object definitions.

      ActivityStreams:

      https://www.w3.org/TR/activitystreams-core/#jsonld

      Implementations producing Activity Streams 2.0 documents SHOULD include a @context property with a value that includes a reference to the normative Activity Streams 2.0 JSON-LD @context definition using the URL " https://www.w3.org/ns/activitystreams".

      In conversation about 13 days ago permalink

      Attachments


    • Embed this notice
      marius (mariusor@metalhead.club)'s status on Sunday, 08-Feb-2026 21:42:41 JST marius marius
      in reply to
      • 洪 民憙 (Hong Minhee)

      @silverpill I'm sorry, I'm not aware of that and I thought I read the specs pretty thoroughly. Could you point me in the right direction for where you got this information from?

      @hongminhee

      In conversation about 13 days ago permalink
    • Embed this notice
      silverpill (silverpill@mitra.social)'s status on Sunday, 08-Feb-2026 23:19:33 JST silverpill silverpill
      in reply to
      • marius
      • 洪 民憙 (Hong Minhee)

      @mariusor @hongminhee Authentication is not limited to signature verification. I think fetching from the originating server is an authentication method too

      In conversation about 12 days ago permalink
    • Embed this notice
      marius (mariusor@metalhead.club)'s status on Sunday, 08-Feb-2026 23:19:34 JST marius marius
      in reply to
      • 洪 民憙 (Hong Minhee)

      @silverpill lol, that's simply madness to me. See the sibling reply to Julian why I think signatures, which is what I imagine you mean by "authenticated" are an unnecessary contrievance.

      I meant "data object" in this context as the end-result binary data type that your application deals with, which for my preference, needs to match the structure of the incoming payload as closely as possible.

      @hongminhee

      In conversation about 12 days ago permalink
    • Embed this notice
      silverpill (silverpill@mitra.social)'s status on Sunday, 08-Feb-2026 23:19:36 JST silverpill silverpill
      in reply to
      • marius
      • 洪 民憙 (Hong Minhee)

      @mariusor @hongminhee I don't know what is vocabulary data object.

      An ActivityPub object is valid if it is authenticated. If a consuming implementation doesn't understand some of its properties, it should just ignore those properties. No coordination is necessary.

      In conversation about 12 days ago permalink

      Attachments


    • Embed this notice
      marius (mariusor@metalhead.club)'s status on Sunday, 08-Feb-2026 23:19:37 JST marius marius
      in reply to
      • 洪 民憙 (Hong Minhee)

      @silverpill regarding size, ActivityPub is such a verbose protocol that the hundred or so of raw bytes you save through omitting context, are most likely negligible through the prism of connection compression. So to me that's not entirely a "valid reason".

      And as developer myself, I think that contexts, even in a non valid JSON-LD implementation, offer enough guidance for building a data vocabulary for them to have plenty of value.

      Do you propose we replace contexts with Open API specifications, or how do we coordinate what's a valid vocabulary data object in a federated network? And how do you propose that others discover these specs?

      @hongminhee

      In conversation about 12 days ago permalink
    • Embed this notice
      silverpill (silverpill@mitra.social)'s status on Sunday, 08-Feb-2026 23:48:37 JST silverpill silverpill
      in reply to
      • marius
      • 洪 民憙 (Hong Minhee)

      @mariusor Signatures increase message size but reduce the number of network requests. They are optional, too.

      @hongminhee

      In conversation about 12 days ago permalink
    • Embed this notice
      marius (mariusor@metalhead.club)'s status on Sunday, 08-Feb-2026 23:48:39 JST marius marius
      in reply to
      • 洪 民憙 (Hong Minhee)

      @silverpill personally I feel like the various activity/object signing methods that get used in recent FEPs are more egregious from a size point of view, when the in spec behaviour for obtaining canonical versions of a resource is to fetch them from their server, instead of relying on random object signing that introduces so much more friction.

      @hongminhee

      In conversation about 12 days ago permalink

Feeds

  • Activity Streams
  • RSS 2.0
  • Atom
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.