Email or username:

Password:

Forgot your password?
Top-level
Jan Wildeboer 😷:krulorange:

I am throwing this out here not to come over as a grumpy old man, yelling at the clouds. But because I guess many enthusiastic, young people simply never experienced the olden ways. Maybe they want to explore them a bit and see for themselves if there could be something viable in it for them. Especially wrt async communication. Is all! 5/7

37 comments
Q

@jwildeboer I've been contributing/following a few big projects that only use mailing list based contributions (Yocto, U-Boot bootloader, Linux kernel, libcamera, Buildroot). The last few years we've seen a lot of people voicing their discontent at that workflow and requesting we do everything with GitHub/GitLab "or else you will never get a contribution from me".

So I am not sure those young people are that interested in that old workflow.

Jan Wildeboer 😷:krulorange:

@0leil And I support them with that. The very old workflow of creating patch/diff and sending that around is dark magic :) With issue and PR management a la Github/Gitlab/Gitea/Codeberg a lot has become a lot better.

Q

@jwildeboer well... it is **a** workflow... which has nothing in common to mailing list based contribution.

GitHub/GitLab's PR workflow is an absolute disaster/nightmare for per-commit/patch review. Gerrit does that a bit better with patchsets but it gets difficult to read pretty quickly, even with topics.

GitLab/GitHub is just NOT necessarily compatible with some project's workflow.

I actually wrote a multiple pages long email on why no GH/GL for Yocto a while back, maybe I should put it in an article so it's easier to explain everything instead of being limited to a few 100s of characters at once :)

@jwildeboer well... it is **a** workflow... which has nothing in common to mailing list based contribution.

GitHub/GitLab's PR workflow is an absolute disaster/nightmare for per-commit/patch review. Gerrit does that a bit better with patchsets but it gets difficult to read pretty quickly, even with topics.

Jan Wildeboer 😷:krulorange:

@0leil Please do! I will also start a blogpost on how Discord etc mess up communication in a project (IMHO) by mixing synchronous and asynchronous communication together in a way that isn't helpful but, again IMHO, damaging to the flow.

Anthk

@jwildeboer @0leil It sucks, period. A mail list/usenet gives you all anytime.
And IRC will work even with a 386 in a hurry.

Jonathan Frederickson

@0leil @jwildeboer Per-commit review is a point that I hadn't considered. With GitHub's PR UI only making the end result of all commits together apparent, I could see someone introducing a security vulnerability in a commit, fixing it in another, and then tricking a packager into publishing the version with the vuln...

ManicDee

@jfred @0leil @jwildeboer per-commit doesn’t make sense when you are just going to deliver all those commits in one PR, same effect as squashing commits when accepting the PR.

Main issue I see is trying to do too much in one PR.

Q

@jwildeboer ah and before I forget, there's this tool called b4 now that aims at making patch sending for mailing lists a bit easier. I personally have switched to that for the last 1+ year, I am NOT looking back. git-send-email? I now say no no :)

Q

@jwildeboer

I'm still in my early thirties but I think I was probably one of the last generations where GitHub was not in basic monopoly for anything-git. At university it was still a decision which to use and some were still using Dropbox :)
So I think it was less of an issue back then, because not EVERYTHING was on GitHub. Now it gets more difficult to get people to do a bit more effort to contribute, is my feeling.

Jan Wildeboer 😷:krulorange:

@0leil I come from the time when version control was an esoteric topic at first, tarballs and patches ruled. Then I started using CVS and along came Sourceforge, which many projects used. That was what git and GitHub are now, more or less. So yes, better tools, but still the same (centralised) setup. Forgejo/Codeberg are working on integrating ActivityPub by using #ForgeFed [1] and I have high hopes that that will introduce truly better ways and real progress.

[1] forgefed.org

loleh πŸ’Ύ

@jwildeboer @0leil interesting! Does this mean we might be able to follow a @repository@codeberg.org one day soon?

EmpathicQubit/Earth 616 Ver.

@0leil @jwildeboer I'm around the same age, and in university for my group's final project I literally created a user on my computer for Git and people SSHed into it

unusual zone of infecundity
@0leil @jwildeboer i wonder how much the learned helplessness that comes from overreliance on these monopolizing monolith platforms contributes to people's later inability or unwillingness to contribute
Kevin Granade

@0leil @jwildeboer after running a largeish project for a decade now I am immediately skeptical of anyone saying, "you won't get contributions from me unless you change something".

In practice this has always landed somewhere between "when pigs fly" and "don't threaten me with a good time".

Q

@kevingranade @jwildeboer The issue is that most FOSS projects are underfunded, understaffed, overworked or its devs/maintainers on the brink of burn out or - most likely - all at the same time. Having more contributors and especially retaining them is crucial, so it's not always easy to say "please, more contributors" and then shun people away with "yes but not by changing our contributor workflow". If we keep hearing from different people we lost potential contributions because the contribution workflow was unacceptable to them, we have to decide whether the loss of their theoretical contribution was worth it. I don't have the answer.

@kevingranade @jwildeboer The issue is that most FOSS projects are underfunded, understaffed, overworked or its devs/maintainers on the brink of burn out or - most likely - all at the same time. Having more contributors and especially retaining them is crucial, so it's not always easy to say "please, more contributors" and then shun people away with "yes but not by changing our contributor workflow". If we keep hearing from different people we lost potential contributions because the contribution...

Q

@jwildeboer I have contributed with Gerrit, GitLab/GitHub and mailing lists. Nothing works 100%. Every workflow is broken in some way and it's just always in the way.

It's just that when one person is used to one workflow, they learned to live with those and it hurts to see how you work now not work in another workflow.

I for myself have given up on something that's nice to use and I'm just internally complaining at everything :) ol' grumpy man yelling at the clouds like you said

Jan Wildeboer 😷:krulorange:

Seeing how quite some commenters (want to?) take the wrong conclusions from my thread: I am all for the GitHub/gitlab/forgejo/codeberg based approach of managing issues, PRs, releases in "modern" ways. It made drive-by contributions so much easier! I am however not sure if discord et al are better for asynchronous communication and feel that mailing lists with public archives were a superior approach that we gave up on prematurely. HTH! 6/7

Miah Johnson

@jwildeboer IRC wins for discussions by not requiring anything. You want to chat? Click the JavaScript client link and chat. You can install a optional client if you plan to chat often. You don't need to register or provide any personal details.

Matrix/Discord etc all fail with onboarding and high hardware requirements for a client. I can sign into IRC using any computer with networking, even obsolete hardware. NetBSD on a Apple llc, IRC on a palm pilot. Take your pick.

Wanja

@miah @jwildeboer Sure, IRC runs on anything, but it still doesn't work for most people. I say this as somebody who's spent over a decade on IRC.

To get the very, very basic, not at all optional feature "message history", you need to run a bouncer. Which is a tall order for most people.

The amount of people on computers too slow for Matrix is much smaller than the amount of people who can't/won't run a bouncer.

Miah Johnson

@muvlon @jwildeboer As stated earlier. Message history is not a required feature. You simply never go into a social event and ask people for their discussion history for the evening.

I don't know why people using irc think this should be the norm. If you want message history, there are frequently logs for heavily used channels.

Let me ask this question, do you read _every_ line of text that was written while you were absent? And then I'd ask "Do you _need_ to read every line?"

Wanja

@miah @jwildeboer No, I don't read every line, but I read a lot of scrollback. And I did run my own bouncer for almost the entire time I was using IRC. And when I didn't, it felt like a decidedly "second class" experience.

Dave Lane πŸ‡³πŸ‡Ώ

@miah @jwildeboer with Matrix - yeah, it's a bit more involved, but you can join from *any* Matrix instance, if you have found one you trust. It's #libre technology, so it's consistent with libre dev. Discord is a non-starter for libre projects in my opinion. I agree with you Jan - wrote this a while back: davelane.nz/notslack

P. Larsen

@jwildeboer Discord isn't good for most things outside of "smilies". Just a hair better than Slack which doesn't say uch.

Csepp 🌒

@egoalter @jwildeboer It does have better moderation tools, replies, text formatting, internal links, onboarding tools, etc.
Kaniini (long time IRC supporter/dev/sysop) had a nice thread summarizing how much better the *admin* experience is on Discord and how very few of the open source alternatives get that that should be their focus.

Asterisk

@csepp @egoalter @jwildeboer It is a lot better than Matrix. I manage the chat infrastructure of an OSS project that spans Discord, Telegram, and Matrix (it's geared towards the kinds of people that use those services as well as neckbeards, ok fine it’s @blendOS), and while Matrix has Draupnir which works okay, it's hard for us to use anything else because Discord has the best admin tools and bots available.

khm
this is what solo-trip SUV drivers sound like to climate change activists

"I like to sit up high, the experience is so much better" etc

CC: @csepp@merveilles.town @egoalter@fosstodon.org @jwildeboer@social.wildeboer.net @blendOS@fosstodon.org
mhd

@jwildeboer I think the long-form and comprehensive discussions you usually find on mailing lists are quite different from the focused ones that should be in issues.

Granted, you can do minute back and forths about diffs and patches in email and try to dissect strategic concerns in github issues, but I think that separating the two alone is worth doing it via email, never mind that I think the different composition environment forces a bit of switch in mind set – text boxes in web browsers are rather casual and ephemeral.

D's NNTP-backed fora might be another good approach here, but alas, who has a good, dedicated Usenet client anymore, so this just ends up as yet another web forum.

I used to think that Wikis were the next level of common strategic discussions, multiple people authoring a proper design document. But it turns out that this isn't a good fit for both collaborative endeavors and the way a lot of people prefer to communicate, i.e. it gets tiresome for most rather wiki-wiki.

@jwildeboer I think the long-form and comprehensive discussions you usually find on mailing lists are quite different from the focused ones that should be in issues.

Granted, you can do minute back and forths about diffs and patches in email and try to dissect strategic concerns in github issues, but I think that separating the two alone is worth doing it via email, never mind that I think the different composition environment forces a bit of switch in mind set – text boxes in web browsers are rather...

david_chisnall

@jwildeboer For #CHERIoT, we're using Signal for the public chat. It is similar to IRC and I've set it to auto-delete messages after one week. This ensures that people don't think of it as a place for discussions that they might want to reference in the future. We have the rule that you describe: if there's a discussion that has longer-term value there, someone should write it up.

GitHub Discussions and Issues are for our persistent discussions and where people write up the conclusions from the chats. They're easier to search than mailing list archives and they're readable / searchable without creating an account on GitHub.

The Signal group is easy to join (click on a link or scan a QR code) and doesn't require agreeing to anyone's abusive lack-of-privacy policy. The desktop app uses Electron, but somehow uses a fraction of the memory of other chat things.

@jwildeboer For #CHERIoT, we're using Signal for the public chat. It is similar to IRC and I've set it to auto-delete messages after one week. This ensures that people don't think of it as a place for discussions that they might want to reference in the future. We have the rule that you describe: if there's a discussion that has longer-term value there, someone should write it up.

feld
@david_chisnall @jwildeboer Signal is a clever use for this, but I think for many projects it would be best if there was accessible chat history and search.

You've got me thinking though...
luca

@jwildeboer
Not really software, but I've tried running a project consisting of mostly young people with a mix of discord and github. Where they decide stuff on discord then someone (practically me) takes the conclusion and puts it in a repo

I'm pretty sure IRC/Matrix are a high barrier of entry for them, as they already use discord for everything. So in that sense, IRC is the locked down platform
Mailing are a bit different in the sense that everyone has an email, but it still requires some unusual forms of communication which isn't as easily migratable from discord

There is also a small use case where discussions must happen in private, so that goes against the full openness nature if your suggestion. For example moderation concern discussions. Which discord just so happens to have private channels to use. IRC/Matrix also do of course, but just wanted to mention a use case for locking down discussions behind a barrier.

(The use of github (and git in general) is also hard for them, but more so because they're not software developers, so it's not as applicable to the topic)

@jwildeboer
Not really software, but I've tried running a project consisting of mostly young people with a mix of discord and github. Where they decide stuff on discord then someone (practically me) takes the conclusion and puts it in a repo

I'm pretty sure IRC/Matrix are a high barrier of entry for them, as they already use discord for everything. So in that sense, IRC is the locked down platform
Mailing are a bit different in the sense that everyone has an email, but it still requires some unusual...

chx

@jwildeboer drive-by contributions yes but the moment two non maintainers want to try to work on something together GH/GL fails so hard. The Drupal project added some automation on top of GL to make it possible but it's bumpy.

Jan Wildeboer 😷:krulorange:

More reading material (free for all) from my daily library that you may find useful:

- theopensourceway.org (from 2020, but full of timeless knowledge)
- Social Architecture by the late Pieter Hintjens at hintjens.gitbooks.io/social-ar

From that book, chapter 4, the C4 (collective code construction contract) annotated description is the one thing you should REALLY read :)

7/7 and end

Dan :nixos:

@jwildeboer Documentation is so so important. It's such a pleasant experience when you find a well-written explanation of a complex project. Guix/Guile are the gold standard for me in this respect, but many good projects exist.

h3mmy :v_enby:

@jwildeboer I think some of the comment threads are missing the point. The tools of choice don't matter as much as the accessibility.

For OSS projects, we want a codebase, associated docs that are accessible. Install/usage instructions, etc and some manner of contacting the maintainers. Then some form of issue tracker.

If I'm looking for bugs, I like to search through all of the above to see if there is any relevant info already out there. This could be a mailing list archive, a bugzilla issue, GitHub issue, etc. What matters to me in that moment is finding the information. I don't need to login to any of these tracking mechanisms, and they're easily indexed by search engines which makes my quest simple.

When the issue tracker, discussions, and means of contacting the maintainers are in a walled garden like discord or slack, it adds barriers. Additionally, I can't just search across different issue trackers. I have to individually go to each one and use a proprietary search (if available).

1/

@jwildeboer I think some of the comment threads are missing the point. The tools of choice don't matter as much as the accessibility.

For OSS projects, we want a codebase, associated docs that are accessible. Install/usage instructions, etc and some manner of contacting the maintainers. Then some form of issue tracker.

h3mmy :v_enby:

@jwildeboer

I'm often working through tracking an issue from an application layer all the way down to the kernel and some old big in malloc that makes things weird. I should be able to use a search engine to get to the different bits of correlated information. Some apps have a discord only knowledgebase and I have to sacrifice anonymity to join a server, do their onboarding, search through things, find a linked bugzilla ticket that is closer to what I'm looking for, then leave the server to get rid of the clutter, then go from there. Usually I'll bounce through some mailing lists, some GitHub discussions, a code review with a discussion on a specific chunk of code, then more mailing lists, a detour to Wikipedia to confirm something, etc. Along this journey, I don't have to sign up for anything other than those walled gardens of discord/slack. I don't really want a future where I'm hopping between several proprietary apps to find a chain of discussions for *open-source* projects.

2/

@jwildeboer

I'm often working through tracking an issue from an application layer all the way down to the kernel and some old big in malloc that makes things weird. I should be able to use a search engine to get to the different bits of correlated information. Some apps have a discord only knowledgebase and I have to sacrifice anonymity to join a server, do their onboarding, search through things, find a linked bugzilla ticket that is closer to what I'm looking for, then leave the server to get rid...

h3mmy :v_enby:

@jwildeboer

Don't get me wrong, I use discord for lots of things. Discord is not a good knowledgebase, and I resent the projects that use it like one. Not to mention how many pings come at me during the brief stints in some of those "support" servers.

3/

Grant

@jwildeboer Some time ago I created a feature for a popular code editor. I thought it would be helpful to others so I posted the code on the 'issues' thread. But actually, I should make a pull request and a fork and feature..merge.. I don't know. It's 6 lines of code, take it or leave it. I know "Pull request" is probably a matter of course if you're already a frequent open source contributor, but it'd be nice to dip my toes in the water without pushing me into the deep end.

Go Up