What do y'all think about mailing lists and IRC as sole communication channels?
Say you want to contribute to a project and find out the only way to do so is by discussing the issue on IRC or the mailing list, then submitting the patch per email.
Agree with many of the other comments here saying that they'd be very wary of such a project based on what these choices say about the project's maintainers. Something else is that while I have real affection for email and particularly IRC based on past experience, I don't think these two are without problems. Email is so asynchronous that many folks feel obligated to treat writing messages to a list more formally. This is not totally misguided since everyone subscribed gets this message delivered to them. IRC, on the other hand, is so synchronous that you should reasonably worry if anyone will be there to talk with, and about whether or not there are searchable archives.
Something (like GitHub) that can be quick but is also perfectly serviceable for asynchronous communication really does have advantages, imho.
Mailing lists intimidate me but I haven't ever tried to communicate by one. IRC is probably fine.
I'll be honest though, I'm not going to submit a patch to a mailing list unless there are pretty clear and easy instructions. Forking a project and opening a pull request on whatever forge (like GitHub, GitLab, and others) is easy. I probably do it once every three months or so when I find a bug I know I can fix. Mailing lists are just enough trouble (with my current level of understanding) that I'm probably not going to do it.
I'll give an example. I found a bug in the JDK that was fixed in 17 but not in 11 and I was trying to figure out how to report it or backport it myself. It was crazy the amount of hoops I needed to jump through and I gave up. I'm not saying the project should be different so it fits my needs or anything, I'm just using this as an example of hurdles discouraging me from contributing. I think the vast majority of devs are probably at the same place and don't want to fool with mailing lists. (I'm not saying projects should stop using them.)
IRC is fine, so are mailing lists; I use both, plus various git forges, to contribute to open source projects.
IRC is still going strong on OFTC and Libera.chat
I get that the younger folks like discord, but seriously it's a proprietary mess that locks everything behind a wall and tries to extract payment from each and every user.
One issue with IRC is that there's no archiving by default. That means discussions and context for decisions are lost. This can be fixed, though. But the default setup for social chat isn't optimal for project planning.
These technologies, although archaic, clumsy and insecure, are not a fatal problem - these are still open and widely accessible anyway.
However, this case may indicate that the projects author is an autocratic hermit type, locked in a bubble with his ancient tech and not really welcoming outside contributors and bug reports, so these IRC and maillists come with worse things such as CVS, C89 code, build system handwritten in shell which only works on author's machine, and complete unwillingness to discuss, fix, modernize and make the software more portable, so not only contribution attempt would be a waste of time, but simply using such project could pose risks.
Of course that's not necessarily the case and it may be just good old IRC and maillists, and that should not be the problem for most people. For me personally though, for I contribute to hundreds of F/OSS projects, this is a show stopper, as I absolutely want to minimize routine tasks. One-two git/gh commands is what I'm used to, while installing extra software, going through registrations, copypasting patches, monitoring additional sites for feedback does not work. In the best case I would fire-and-forget, so if someone on some god forgotten self-hosted gitlab asks to fix a thing in my PR I will never see it. Or more likely, I would put such contributions into my contribution queue with lowest priority, and since the queue of what I want to improve is always growing and never shrinking, it effectively cancels them.
And I could add that you don't really need realtime communication channels to contribute - technical stuff may and should be discussed in async mode as in issue/PR comments (or email reply thread in the worst case), where unrelated discussions don't happen in parallel, message size is not limited, history is preserved, nobody is in rush to reply, you don't need to actively wait for reply and cannot miss it because you've disconnected, someone forgot to tag you or it was just list in the chat.
Summarizing, the project should be on [the most popular VCS hosting at the moment], which is currently GitHub, any other choice makes it much less accessible and welcoming. For chat use whatever you want, for it's not related to contributions. If you think otherwise, at least stick to open protocols.
I think it's super based. All these clowns talking about open source while using Discord and GitHub (yes, that's me included). You want to submit a bug report to Git itself? Well, you gotta send a bug report to the mailing list. Then some guy will be like "oh shit can you fix it also?" and I'm like "haha no" so the dude submits a fix himselg within 4 hours, and obtains the raging hard boner of internet developer clout
Great system, pgp keys are actually useful. And everyone knows you have to be at least an 8/10 in handsomeness to be running an IRC server. Also, Matrix is trash, I'm serious, modern IRC is cool
Oh it's just an over complicated pile of low quality stuff. Still substantially behind XMPP, which was a fine solution. Somehow still behind IRCv3 in terms of raw usability and apps too. IRCv3 is a new spec that made a lot of improvements
I investigated all three in depth and decided IRCv3 is what I want to use for my server / apps. I even run a public web client that acts like Discord. IRC has the bigger communities still
If you really care about encryption, maybe there's a reason you'd do something different, but I just want private chat servers with good UX
I agree with those saying mailing lists are intimidating. I don't know if others are using dedicated tools or something but I find web based mailing list UIs just incomprehensibly bad and difficult to navigate.
If mailing lists had a view like reddit / lemmy / slashdot / hackernews, I might be more willing to use them, but that wouldn't solve contributions for me. I have no idea how to format emails to comment on code and then follow ensuing discussions. And how would CI work?
Personally I am comfortable with that as long as there is a public git repo. An issue tracker is the one thing I'd miss the most. I think how well this goes down will greatly depend on the project's target audience. notmuch is a project that I follow closely and very occasionally contribute to that works this way.
I never really used IRC, but in my experience contributing to projects which use mailing lists is very easy - you just send a mail with some code.
Of course you could use git-send-email, and you could create diffs and patches, but I actually think for a new contributor the mailing list workflow is the simplest since it doesn’t actually require knowledge of the various tools experienced developers use.
I write this from personal experience BTW - the first projects I contributed to used mailing lists, which allowed me to contribute even as a self taught programmer who had no experience with any VCS yet.
I'm fine with IRC (actually prefer it as I use it all the time).
I agree with others that a mailing list is more intimidating and more of a hassle, but if there is a web archive, I can live with that. It wouldn't be my preference, but it wouldn't be an insurmountable barrier (I have contributed to Alpine Linux in the past via their mailing list workflow).
I would be less willing to contribute/participate in discussions if newer platforms such as discord, slack, or matrix are used. Of those three, I would prefer discord, then slack, then matrix.
As it is, I only use Slack for work, and mostly avoid discord and matrix except for a few mostly dead channels/servers.
I understand that this is not the mainstream view and that most people prefer the newer platforms, but personally, I am not a fan of them nor do I use them.
Primarily an issue tracker on codeberg, gitlab, github, or something with support for pull requests / merge requests for contributions. Direct communication is secondary for most projects, IMO unless it's big/used enough that users require direct support - in which case: Matrix.