Alternatives to IRC

I would start with setting up a slackin page, and see if you get any takers, if you get people to move there, it is a lot easier to do the rest later. MVP (Or as Blue Jay fans call it: Donaldson).

Can't argue with that, but I find I have no big problem keeping my teams straight .. they can even be themed differently: http://slackthemes.net/

Private groups and direct messages aren't part of export -- only public channels.

To be clear, for what you're talking about, I think using different slack teams, rather than e.g. private groups, would be easiest.

Hey man, on this laptop I'm using 5 different screen sessions, with around 20 shell sessions in each, and my life is in vimwiki ...

@martior people were piling on and contributing quite happily during the conference ..

> "Ceterum censeo Carthaginem esse delendam"

or in other words: why does Plone still not have a gopher:// interface ...

1 Like

Well, yes & no .. in IRC a message is a string of letters, in Slack it has a timestamp-based ID, it's associated with a specific userid (not just displayname), etc. You have webhooks . Inline images and file snippets are really nice. And while you have IRC always on, your conversation partners don't, so that also changes with who you can communicate comfortably.

Absolutely. So export has to be complete and reliable, and people have to think hard before spending a lot of money writing a Slack integration (if the integration earns them money, they have to think about how long before it's more than it cost to write). However for chat the value is delivered one message at a time. If we have one year of awesome conversation on Slack, that's not going to be discounted if Slack vanishes.

Yeah like Mattermost :wink: For Slack archiving to Plone.org, I think wget + import script could work. That remains to be proven of course.

For the record, I'm sad to be looking like a shill for Slack ...

At the conference after Guido's talk I asked when there will be a PloneIntranet cloud that can accommodate the Plone project as one little team amongst thousands. Of course that question presupposes a whole business model and may be completely unrealistic.

But I'd love it if a completely free alternative came along. Ditto for github. Is gitlab ready to supplant github? What would the considerations be? (It's not only features.)

Well, github was lightyears ahead when we moved there. And a lot of plone developers where already using it. We considered it low risk since git is distributed and we basically had backups on all our developers computers in a wore case scenario. But now we use it for issues too, and they are a bit more locked in. Moving to github was a lot of work, so you will need someone very eager to get us off. Also github have seemed like a good web and open source citizen without any shenanigans.

The biggest thing github has going for it is that it is free for us and we do not have to host it ourselves. We have a lot of GB of data there, and it is a mission critical service we want to have very high uptime on. Github also might give us some network effects, not sure about that though, but most developers is familiar with the service so it is a very low barrier to entry and no account management for us.

I can no longer here the everything-must-be-free karma.
Use the tools that work for your and that give you the functionality that you need for a reasonable price-functionality...life is too short for tinkering around with toys and crap.

-aj

3 Likes

I'm older than @polyester - I win!

I thought for the duration of our discussion here we would stop inviting more people into the plone.slack.com, hence revocation of admin rights since admin rights are required to invite people (another reason why I think the Slack model is not a good fit for us).

But if you can set up the export scripts to a searchable site and you can set up that Slack plugin to allow open invites, that would be a good step to showing whether it would be a workable solution.

You're not a shill - it's clear you are passionate for what you believe in, and who among us isn't of the same ilk? :smile:

Yes, these are all the reasons why I'm pushing Slack:

  • it really kicks ass as far as chat apps go .. find me one quote on the web that is less than impressed;
  • a lot of Plone (and other) devs are already using Slack too, like those 8000 React guys;
  • Slack doesn't have a long history, but it was founded by Stewart Butterfield et al, who built flickr, which was a great open culture citizen, pioneering CC-licensing of content, and with full user control over their content. (It languished at Yahoo!, sadly, but it still works.)
  • Slack is free for us, and uptime is pretty mission critical for them too ..

Regarding migration concerns,

  • Moving to Slack is basically making sure export works. Even with zero export, we're still beating our current IRC situation.
  • Moving off Slack would mean picking up the conversation elsewhere. It would be sweet to import conversation history there, but hardly essential -- we don't have the mailing list archives in discourse, do we?
  • As @pigeonflight has mentioned, younger users aren't on IRC.

I would say export is not mission critical when you start, it is nice to have, but I am not even sure we want that. Do we want 10 year old chat logs indexed?

1 Like

+1 for gopher.

2 Likes

"In reality, getting a useful answer that is not rude out of an IRC channel is an art."

I dont think its a question of the medium used, but of the people behind.
Do you think thats different with s/IRC/SOMETHINGELSE/g? Why?

So we are IT folks and what do we do? We're discussing TOOLS. Thats usally our problem.

We need different kinds of mediums for different kinds of communication. IRC in past worked out good for the average experienced IT folks, but it failed for newbies. Same is true for mailing-lists these days. In past they worked, today it seems they are not good for newbies - I guess because of an over all cultural change in communication.

So we need mediums/channels that are easier to access. But what do we need?

For asynchronous communication community.plone.org is a good thing. It bundles all mailing-lists, and categorize content via hierarchical tags.

For synchronous communication we need a medium that is - given this discussion:

  • simple to use (low barrier, ttw, available on all platforms),
  • open for everyone (no invites, just talk),
  • accepted by the circle of people giving advices.
  • archived (best if each communication can be categorized),
  • scales up to many users
  • no need to host by ourselves
  • (may I missed something?)

Now the tools discussed:

  • IRC is all but
    • not that simple (but fair) and
    • not archived,
  • Slack is all of the above but
    • not open and
    • does not scale and
    • not yet accepted (but this may change).
    • not archived publicly by default (but its possible with a bot/exports)
  • Jabber/XMPP is
    • not that simple,
    • not yet accepted (but this may change)
    • not archived by default (but possible with services)

So we should really make such a check-list as I proposed above and start reviewing tools on base of the needs of our newbies - and stop talking about tools first.

2 Likes

Yes, in the end we are applying checklists like that in our heads, it would be good to write it down. A couple of remarks:

  • the Slack code is not open, but the export format and API is. This prevents lock-in.
  • Slack certainly scales, it's passed 1,000,000 users, grown from 15,000 in 2014. Restricting the size of individual (free) teams to multiple 1000s does not seem problematic to me. The Wordpress public team is pushing 7000 now. When we reach that scale, we should have more options. Some that occur to me are a paid support team with SLA which subsidises the free team, different teams for frontend/core/integrators/users/edu/... (similar to having different mailing lists, right?), and different teams for other languages.
  • Slack is not purely synchronous. That's a big part of its appeal. I have some very intermittent contacts on different teams, in different timezones, and with Slack our conversations stay on track as we come and go.

Yeah, we should stop talking about tools and instead use tools for talking. Slack improves the quality of the conversation beyond IRC, to such an extent that to me it's obviously worthwhile.

Whether the Plone Foundation takes an official stand on Slack or not is another story. Sprints already use Google Hangouts and Docs and etherpads and whatnot to coordinate. They don't need approval to use whatever gets the job done. If it were up to me I'd ban the use of MacBooks for open source development :grin: as a matter of principle! But they are some of the best hardware out there, and many people choose them.

I didn't expect using Slack to be in any way controversial, really. I just thought it hadn't occurred to anyone before. I haven't seen one material objection raised. All alternatives mentioned so far aren't even in the same ballpark, or don't actually exist (such as a viable XMPP-based alternative).

Well, that's true, but IRC culture arises in part from the technology. Because it's so open, it's prey to trolls and to newbies who don't know how to formulate a question, and are frustrated by not getting a response. In reaction, longtimers can be extremely terse and pointed. It's noisy because there's no distinction between #general and #techtopic.

Slack has various mitigating features: @notifications help to make sure that questions & answers aren't missed, sticky messages and searchable history make it easier to get context and avoid asking the same thing over and over. Editable and deletable messages (such as discourse and stackexchange have) make it possible to add missing info to questions and remove ill-considered heated words.

These are all features that platforms like stackoverflow/discourse/github have introduced to improve the quality of conversation. I have no reason to think that they will be any less worthwhile in Slack.

Hmm OK, but I don't really see how limiting access to the tool furthers the discussion. It just forces people who want to check out the assertions made here to join some other team or to create a new one.

I tend to think of Admin rights in Slack as more akin to commit rights on GitHub. Sure it comes with responsibility, but it enables effective work. Perhaps Slack Admin rights can be tied to Foundation Membership or signing of a committer agreement. If anyone abuses Admin authority, it's easy enough to revoke their rights and fix the config. Admins can't mess with other people's messages.

(And as mentioned, invites can be automated and don't actually have to come only from Admins.)

This is a blanket statement that should be qualified.

  • Not open: it's not a black/white choice, we use many partially open tools, there's a difference between open code and open data.
  • Fragmentation of the conversation: we already cope with multiple channels, Slack has XMPP/IRC gateways, we should have an open archive (ideally on plone.org), IRC already restricts the conversation (younger users are not on IRC, and non-techies are NOT on IRC; also the more non-techie you are, the less useful IRC is, because the less likely you are to be always-on or to be an irccloud customer).
  • Use Mattermost, Gitter, Discord, XMPP: we could go with bitbucket, sourceforge, gitlab, but we don't because github obviously wins, at the moment. If some truly compelling alternative comes up, we should certainly check it out.
  • Slack is for closed groups: it works fine with automated signups.
  • It doesn't scale: if a single team grows to 7000+ members, Slack caps signups. While I don't think that this is a problem that Plone will face in the near term (though I'd love to be wrong), I actually tend to agree that multiple smaller (~1000 members) teams makes for better conversations than a single massive team.

There are some more 'human' factors for me too. Note these are not necessarily objections, but they do play a role:

  • the ephemeral, synchronous nature of IRC. When I'm not on it, I'm not on it. Great! I can ignore stuff! Discourse does a great job for asynchronous conversation. Slack for me is a weird mixture of synchronous and asynchronous; it makes it difficult to switch off for a bit when I have other stuff to do; it keeps bugging me when somebody mentions me...
  • community inertia. It's taken the good part of a year to get people to start using Discourse. We just can't be switching tools too often.
  • lurk factor. My irc sits unobtrusively in a terminal screen, in a far corner. Slack is just very loud, shouts emojii in my ear, and demands attention, especially if it starts beeping on my phone. Now, again, that's great for a dedicated team.

so, for me it's mostly the mixup of synchronous and asynchronous that just not fits my brain very well. And indeed, the possibility to ignore/switch off when I'm on a deadline, on holiday, or just plain ole' not that into Plone for a night...

Great ! a real discussion started!

I'm fairly agnostic in this discussion, but for me the statement above, even if tenuous, validates the discussion at least, and potentially the move away from (or to augment) IRC to a newer platform.

IRC might be best, but if younger/newer folk don't think it is then we need to think twice. I'm here to persuade people that Plone is great technology, I don't want to have to persuade them to adopt IRC before we start the discussion!

Well, I think you do not got what I tried to say....

For those chats --- use IRC! Or Telegram! Or ChatSecure!

You can actually set yourself away, and tune notifications:

Desktop Notifications

  • For activity of any kind
  • Only for Highlight Words and direct messages
  • Never
    You can override your desktop notification preference on a case-by-case basis for channels and groups from the channel or group menu.

And you can set email and mobile notifications seperately as well.

It took about 3 days of conference for people to start talking on Slack. 500+ messages from 50+ people in about 9 days.

Turn down the notifications. Set yourself away. For me, Skype is the intrusive one.