reactphp / reactphp

Event-driven, non-blocking I/O with PHP.
https://reactphp.org
MIT License
8.94k stars 726 forks source link

Discussion about the communication channel #429

Closed mmoreram closed 4 years ago

mmoreram commented 5 years ago

ATM, ReactPHP has IRC as the official communication channel.

From my point of view, if we want to increase this community, which in fact should be insane, we should try to transform this community in order to be more easy for the people to ask, respond and solve problems. Otherwise, frustration is what people have, and this is usually synonym to "bounce rate".

I can understand that some people don't like Slack because is not open source, but as far as I see, Slack communities are, at this precise moment, the most growing communities. That could help a lot ReactPHP to start growing as it deserves.

This is my proposal. Let the discussion start :D

hdogan commented 5 years ago

+1 for Slack

... or maybe Gitter?

clue commented 5 years ago

I think you're raising a very important issue – good communication is crucial for the success of an open-source project! At the same time, good communication can be incredibly hard. Fortunately, this is not a one-way street and we very much appreciate any input! :heart:

I don't think anybody's going to argue that IRC is perfect, but at the same it's also easy to find good arguments against any other software solution. Tbqh, I don't think the "perfect solution" exists. I think what we've focused on in the past is finding a platform that is vendor-neutral and does not require a significant effort from a maintainer's perspective, so we're actually providing several ways to reach out to us (refs #412).

As a first step, I think GitHub's issue trackers are a good fit for many common questions and perhaps our preferred way for questions. It provides a decent search feature, issues/questions can be marked solved and they provide good linking support to avoid repetitive questions/solutions.

Additionally, people can also reach out directly to us via Twitter using the #reactphp hashtag or the @reactphp handle.

On top of this, many people prefer StackOverflow, Reddit and other third-party platforms.

I think @cboden summed up the issue quite nicely:

My concern with an official mailing list or subreddit is curation. I wouldn't want to officially support a help forum if we couldn't ensure everyone is helped. I can't speak on anyone else's behalf but I know that I personally couldn't guarantee the time to do so.

mmoreram commented 5 years ago

Gitter would be a nice option as well :)

WyriHaximus commented 5 years ago

Was just looking at gitter and it seems to have improved a lot since last time I've used it. Was going to suggest Discord as alternative but gitter might the sweet spot. It even has smartphone and linux apps :tada:

PurHur commented 5 years ago

Just to put another option in the discussion: StackOverflow Chat. People are likely to already got a StackOverflow account and you can join via an simple url.

WyriHaximus commented 5 years ago

Same with Gitter, there is already a room with more people in it then IRC plus is has support for Gitlab, Github, and Twitter login. Gitter also has Desktop and smartphone apps, and an IRC gateway. SO's chat always feels awkward to me tbh, also the notification delivery to the app can take hours.

woodworker commented 5 years ago

The Rust Team is trying Discord

https://internals.rust-lang.org/t/exploring-new-communication-channels/7859

The big plus over Slack is no invite bot needed and if you have already one discord account you dont need to create a new one for every new "server"

bosunski commented 5 years ago

I've been working with ReactPHP alot in the past months and one of the major problem i have is communicating to people that can help when i get stuck in some ways.

Using IRC however proved quite hard when I tried that's why I use twitter to ask some questions. My concern is about the others who are like me who needs help in one way or the other.

I think it's time we give a platform like gitter or slack or discord a try that is more friendly for people to communicate, i know that it's not all the things about these solutions are perfect, but i think we will be of help for to more people who are just starting out with this amazing technology.

IMHO, gitter or slack or discord will be a good idea.

edhelas commented 5 years ago

I would like to propose XMPP, https://xmpp.org/, it's the IETF standard, integrates very well with many tools. There's plenty of clients https://xmpp.org/software/clients.html and some "anonymous auth" for those that would like to join the room "without creating an account" (https://www.jsxc.org/).

All the other solutions are pretty much proprietary/walled-garden solutions, they have their advantages (including slick UI/design/features) but it still brings question regarding the long term viability of the solution (protocol changes, project is dropped…).

mmoreram commented 5 years ago

Many proposals here, I would like to remember that choosing a tool for building a community that will work on top of is something difficult because of that. Because is for the community. And in order to make it happen, the community has to be there. Only as a tip.

sitedyno commented 5 years ago

Already on IRC. Anything but Slack.

weierophinney commented 5 years ago

From the perspective of somebody who can say "been there, done that" with regards to the ZF community...

First, our community exploded when we moved from IRC to Slack, which was one of the hopes when we made the decision. IRC clients tend to be clunky (though, honestly, with tools like IRCCloud, this is becoming less true over time), conventions are odd (I can get messages from literally anybody on any channel whatsoever on the same server, even if they're not related to the channels I actually subscribe to? WHY WOULD ANYBODY WANT THAT?), and, more importantly, moderation is really hard. (We had to setup actual IP bans at one point due to a persistent troll. It took months to figure out the pattern.)

Slack on the other hand? Most of our users were already familiar with it, due to work. It was easy.

Except.

There's always an exception. This time, there were many.

For OSS, you HAVE to go with the free tier, because otherwise it gets prohibitively expensive really fast. And that means:

On top of this, there are some important tools missing for ensuring the safety of your users: the ability for individual users to mute and/or block other users. You can mute a channel, but not a user. Admins can ban a user, but that bans them across the board, which will make deciding to make such bans harder.

To be fair, the only chat tool I've found that DOES implement mute or block tooling is Discord. But then you have to worry about whether or not a significant part of your user base will even have access — because many businesses block Discord for being a "gaming platform", which means users who are participating on their company time... cannot do so.

Gitter has had issues requesting these features open for 3-5 years at this point, so it's anybody's guess whether or not they will ever implement them.

Mattermost does not have them, and I cannot find any information on whether or not they are on any development roadmaps at all. (Mattermost has another strike against it, in my opinion: you have to self-host. This can be an expensive proposition for an OSS community, not just from the point of view of expenses related to hosting, but those of maintaining and administering the server as well.)

So, tl;dr: simpler tools with dedicated clients and slick UIs will get you more users, but they either do not have tools for community safety, and/or they leave you at the whim of their corporate overlords with regards to ensuring consistent access.

kelunik commented 5 years ago

To be fair, the only chat tool I've found that DOES implement mute or block tooling is Discord. But then you have to worry about whether or not a significant part of your user base will even have access — because many businesses block Discord for being a "gaming platform", which means users who are participating on their company time... cannot do so.

Stack Overflow chat would be another option that implements this feature, but unfortunately, you need some Stack Overflow reputation to participate in the chat.

They, however, don't have a public API, but we've written a bot for Room 11 (the PHP room there), which can be re-used in parts if automation is desired. RSS feeds have built-in support.

WyriHaximus commented 5 years ago

but unfortunately, you need some Stack Overflow reputation to participate in the chat.

That's the thing that bugs me with SO, it adds an extra hurdle we have no control over before joining the chat.

Still pondering about @weierophinney post and going to have a chat with the rest of the core team about this soon

mmoreram commented 5 years ago

FMPOV, chosing a communication channel shouldn't be that hard. Meanwhile, the whole community is completely lost. The faster we solve this, the sooner people will have somewhere where to ask for help, and the sooner we will be able to help them.

nadar commented 5 years ago

I started working with ReactPHP, in order to fully understand the mechanism of how to solve my main problems with async request only a few questions with answers would allow me to "unlock the full ReactPHP universe" - but i could not find any community channel. creating an issue is wrong, gitter channel has only unanswered questions, irc seems not to be very active neither, twitter seems to be the wrong Platform for asking questions. What would you recommend me?

WyriHaximus commented 5 years ago

We have been trying a few things out and have a candidate to move to. However we still need to confirm this with everyone in the team before making the move and announcing it.

@nadar Noticed your message a few minutes after you left. Tag me next time, should be around most of the day tomorrow

WyriHaximus commented 4 years ago

Earlier this week we decided to move to Gitter, our new official channel will be: https://gitter.im/reactphp/reactphp

Announcements and PR's to update things are going out as we speak.