Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Building a JSON Path community - an open invitation to Slack #521

Open
gregsdennis opened this issue May 1, 2024 · 13 comments
Open

Building a JSON Path community - an open invitation to Slack #521

gregsdennis opened this issue May 1, 2024 · 13 comments

Comments

@gregsdennis
Copy link
Collaborator

gregsdennis commented May 1, 2024

Before the IETF took over the specification effort, Glyn created a Slack workspace for collaboration and community building. Once the effort became an IETF project, the Working Group decreed that Slack was an unacceptable place for discussion because it was ephemeral and could not be archived by IETF. Thus all discussion was confined to the IETF mailing list and GitHub issues. (GitHub issues were actually only hestitantly included because those updates could be archived via some other IETF process.)

Now, as a result of that decision, there is no community for JSON Path, and the new RFC 9535 seems to have gone relatively unnoticed, except for the few places where I've advertised it, like with tooling providers and StackOverflow.

With the publication, the IETF WG has disbanded, and I think the effort to start building a community around the standard is long overdue.

Mailing lists and Github issues are fine, but email is archaic, and newer developers prefer more real-time communication. This is my experience of ~10 years working with JSON Schema.

JSON Schema's community has thrived by using a combination of GitHub issues/discussions and Slack (no mailing lists). Participants don't care whether their conversations are archived because it's generally:

  • one-off questions
  • chat about tangential tech
  • chat about completely unrelated things

Discussions around actual spec development are redirected to GitHub, where it's a bit more "official" and public. But that's not to say that offline conversations can't also be had, so long as the result is posted back to an issue.

However, building a community around JSON Path isn't about discussing the direction of the spec. It's about providing help to those trying to use and implement the spec. This kind of discussion doesn't need to be archived (it's probably better than it's not), and it needs to be more real-time.

A community needs a space to have these kinds of conversations, and restricting all conversation to email lists and GitHub actively prevents such a space from forming.

Glyn has left the Slack workspace to me, and I intend to grow the community there. I invite anyone who wants to join for some conversation.

@cabo
Copy link
Member

cabo commented May 1, 2024 via email

@gregsdennis
Copy link
Collaborator Author

The “because…” was the killer argument...

These are not spec-development topics! They don't need to be archived. The argument is saying that every conversation about JSON Path needs to be archived specifically by IETF. That's simply not true.

I'm merely providing a communal space for such conversations.

What you have been describing is typically done in a much better way by stackoverflow. And by ChatGPT

StackOverflow is a question/answer site, yes, but it can't build a community; neither can AI bots, which were just becoming a thing when the topic came up before.

I'm doing this to provide a space for users and tooling maintainers to have conversations, not just post a single question and get a selection of variable-quality answers.

JSON Schema does this. OpenAPI does this. .Net does this (but with Discord). There are a lot of specifications which have communities built around them, and the WG refused to acknowledge the value that community provides.

What I don't understand is the opposition. If you don't want to participate, then don't. But no one has the authority to say that I'm not allowed to do this, not even the IETF or specification authors.

@cabo
Copy link
Member

cabo commented May 1, 2024 via email

@He-Pin
Copy link

He-Pin commented May 7, 2024

slack is not available in China:(

@gregsdennis
Copy link
Collaborator Author

From what I can tell, the app is legal but it's blocked by China's firewall. Maybe use a VPN?

Looks like Discord is actually banned.

@He-Pin do you have a recommendation for a community app?

@danielaparker
Copy link

@gregsdennis , why not just create a github community repository and enable discussions?

@He-Pin
Copy link

He-Pin commented May 8, 2024

How about discord, I can actually access it with a VPN

@gregsdennis
Copy link
Collaborator Author

JSON Schema uses both GH Discussions and Slack, but they're used differently.

GH Discussions

JSON Schema uses GHD primarily for large org-level or spec decisions that need to be public. The benefits of this are:

  • the discussion is in the open
  • the discussion is well documented
  • anyone (with a GH account) can participate

Here's an example: https://github.com/orgs/json-schema-org/discussions/671

Some people do start discussions to ask questions, but usually that kind of thing shows up in Slack. GHD does have an "answer" mechanism, but I don't see it used much. Generally, questions like "does JSON Schema support X?" don't need the three benefits above (certainly not the "well documented" one).

Overall, the UX is okay, but I find it a bit clunky at times. When trying to reply to threads, I often end up creating new ones because the text boxes are just stacked. I see others having this problem as well. Here's one instance where someone corrected this mistake:

image

Secondly, the UI doesn't update immediately when a comment is made, which makes real-time conversation difficult. It seems to cater more to async communication, which can be fine.

I recognize these are minor things, but they can be annoying, and I just prefer the Slack/Discord experience.

Slack / Discord

JSON Schema uses Slack for general, real-time conversation.

We have channels for all kinds of things:

  • #specification - Discussion/questions about the specs. This is generally questions like "what does the spec say about X?" But we also will have preliminary discussions about potential changes, which may or may not lead to an issue being opened. If anything does need to change, though, we always open an issue for it and recap/link any discussion.
  • #implementers - Channel for maintainers of JSON Schema tooling. Often discussion here is more geared toward things like "How do people implemented X from the spec?" Having the comradery of other maintainers makes for better tooling and a better ecosystem.
  • #in-the-wild - Where are we finding people using JSON Schema? This really just serves to edify the community and show the kind of impact we're making.
  • ... and so much more!

Ultimately, it's more social, but the topic of conversation is technical.

I'd prefer not to have both Slack and Discord. They serve the same purpose: real-time conversation.

Personally, right now, I'd prefer Slack. I already have several integrations set up:

I'd have to set those up in Discord. It probably can be done, but I'm less familiar with Discord admin.

How about discord, I can actually access it with a VPN - @He-Pin

If you can access Discord with a VPN, you should be able to access Slack with a VPN.

@gregsdennis gregsdennis changed the title Building a JSON Path community - an invitation to Slack Building a JSON Path community - an open invitation to Slack May 20, 2024
@gregsdennis
Copy link
Collaborator Author

gregsdennis commented May 20, 2024

If @glyn, @cabo, and @goessner don't object, I'd like to set up GH Discussions here as another channel for people with questions.

@glyn
Copy link
Collaborator

glyn commented May 20, 2024

I'm neutral on GH Discussions, but going off Slack rapidly because of their default AI scraping policy (and hence the negative privacy and environmental implications).

@gregsdennis
Copy link
Collaborator Author

Good callout @glyn.

Ref: https://www.securityweek.com/user-outcry-as-slack-scrapes-customer-data-for-ai-model-training/

I have requested opt-out for the JSON Path workspace.

@gregsdennis
Copy link
Collaborator Author

Received this in response to my opt-out request:

Thank you for reaching out to Slack support. Your opt-out request has been completed.

For clarity, Slack has platform-level machine learning models for things like channel and emoji recommendations and search results. We do not build or train these models in such a way that they could learn, memorize, or be able to reproduce some part of customer data. Our published policies cover those here (https://slack.com/trust/data-management/privacy-principles), and as shared above your opt out request has been processed.

Slack AI is a separately purchased add-on that uses Large Language Models (LLMs) but does not train those LLMs on customer data. Slack AI uses LLMs hosted directly within Slack’s AWS infrastructure, so that customer data remains in-house and is not shared with any LLM provider. This ensures that Customer Data stays in that organization’s control and exclusively for that organization’s use. You can read more about how we’ve built Slack AI to be secure and private here: https://slack.engineering/how-we-built-slack-ai-to-be-secure-and-private/.

@He-Pin
Copy link

He-Pin commented May 21, 2024

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants