git-ssb is pretty nice, and I'd recommend anyone interested to check it out! The last time I checked it out it suffered from some incompatibility bugs from different parts of the stack, though, which are sadly not unusual with a project with such a large surface area and high code churn.
Mailing lists. Many providers, easy setup. Pull requests are an artificial addition to git workflow, it was designed with email patches as the main way to send contributions. Bug tracking is fine with mailing lists too.
Mailings lists (and e-mail as such) are seriously cumbersome to use as a way to send contributions and even more so when you want to track bugs. Every email archive software also looks like it was made in the 80s and is disgusting, slow and unreasonably difficult to use and also lacks any kind of organizational features that issue trackers have. It is absolutely not "fine", it's borderline tolerable at best.
So you are saying that sending an e-mail is seriously cumbersome? Excuse me, but for me it is a lot more steps from local edit to a contribution using Github. For Github I (1) have to create a fork (2) set it as a remote in my local copy, or if I forgot how to do it, (2.1) pull another one and copy my changes to it, (3) push my changes to my fork, (4) open a pull request in Github, which takes 3 context switches. Meanwhile for email I (1) look at README to find the email of development mailing list, (2) set it up for git send-email(https://git-send-email.io/) and (3) send my patches upstream, all with me staying withing my editor with an integrated terminal. No need to open up gmail or thunderbird, or even mutt or aerc. Contribution workflow is a lot more streamlined. If you don't like mailing lists for issue tracking, there is git-bug or plethora of different bugtracking software for you.
How do you deal with continuous integrations and making sure things like CLAs are signed? How does issue tracking integrate there? Answer: it doesn't, it's all a major PITA to arrange.
> For Github I (1) have to create a fork (2) set it as a remote in my local copy, or if I forgot how to do it, (2.1) pull another one and copy my changes to it, (3) push my changes to my fork, (4) open a pull request in Github, which takes 3 context switches.
You mean you don't create a fork by cloning the repository onto your PC when using e-mail? Or that somehow `git send-email` is harder than `git push`? I disagree having done both. I'd gladly remove `send-email` from git for it's negative effects on FOSS, it's clearly making people think it's somehow nice to use or start using.
> there is git-bug or plethora of different bugtracking software for you.
All of them are absolutely terrible to use. The sooner all FOSS migrates to Gitlab the better - we're stifling FOSS' progress by using tools majorly out-of-date.
>How do you deal with continuous integrations and making sure things like CLAs are signed? How does issue tracking integrate there?
The same way that you do that on github: many mailing lists can send webhooks on email received, and then it's up to your CI and CLA bot to respond to that email accordingly.
> You mean you don't create a fork by cloning the repository onto your PC when using e-mail?
I mean that you must open up a browser, open the main project repository, click fork, and wait for a minute for the forking to complete so that I would be able to push to my github fork now. I don't need to waste my time doing such stuff when using email.
> Or that somehow `git send-email` is harder than `git push`?
`git send-email` is just as easy as `git push` and I see additional benefit in it integrates you message to maintainers too, not having to write it separately
> I'd gladly remove `send-email` from git
Good luck trying to do that, Linux, arguably the biggest and the most important project out there, the one for which git was originally created, still happily lives using email and mailing lists.
>for it's negative effects on FOSS, it's clearly making people think it's somehow nice to use or start using.
Excuse me, WTF? How is it negative exactly? It lets FOSS be vendor independent, it allows big projects to exist. Linux, PostgreSQL, *BSD, even git itself, uses email to collaborate. Clearly there is no negative impact as these projects are so successful.
> All of them are absolutely terrible to use.
My experience is quite the contrary. While the interfaces aren't necessarily the most beautiful thing you've seen, they have all the most common actions easily reachable. Sending bug reports to Mozzila, PostgreSQL, etc. was a good experience for me.
> The sooner all FOSS migrates to Gitlab the better.
Have you've even read the first comment of this thread? It is asking about distributed git. All of the FOSS migrating to Gitlab is a highly negative thing in my opinion. Firstly it doesn't leave space for using email, which a lot of big projects have accustomed to using, and migrating to another workflow would be a massive burden, and could discourage old contributors from contributing. Secondly, that puts all of the FOSS projects in one basket, making them more vulnerable for intervention. If <nation> wanted to deny access of FOSS projects for <another-nation>, it would just have to exercise power on Gitlab, which could fly under the radar of mainstream media, while if it was hosted on plethora of platforms <nation> would have to exercise power on all of those, which definitely couldn't go unnoticed.
Gitlab and github issue tracking isn't even that good. Many bigger projects use many states of bugs, like confirmed, in_progress, duplicate, etc. Github and gitlab just have open/closed, and that isn't good. If you want to find some bug to work on, it is a lot easier to filter on confirmed, than to look through the open bugs to find one that is confirmed, isn't being worked on by someone else, and isn't a duplicate of a bug that someone else is working on. All that Github and Gitlab bug tracker has is pretty UI, which doesn't mean good UX.
>we're stifling FOSS' progress by using tools majorly out-of-date.
The fact that those tools were created a long time ago, doesn't mean that they just stayed in those years. Tools are constantly being worked on. Linux was started in 1990s. Is it majorly out-of-date? I wouldn't say so. If it is, why are we all using it?
> Claiming you don't clone the repository to your local PC is just false and will probably take more time than it does on GH.
I clone the upstream repository first, if I see a project I want to poke at, I don't instantly fork and clone my fork.
> > Excuse me, WTF?
> This is what I ask every time I see someone saying e-mail is an okay way to do contributions, continuous integration and issue tracking.
I think you forgot this: "It lets FOSS be vendor independent, it allows big projects to exist. Linux, PostgreSQL, *BSD, even git itself, uses email to collaborate. Clearly there is no negative impact as these projects are so successful."
> It negatively affects basically every component of development for everyone not accustomed to the bad tooling.
There is such thing as a good contributor. Some rando that quits on not knowing how to use a bug tracker isn't a good contributor. Somebody who takes time to learn how to use the tooling will be more beneficial to the project, than a bunch of one-time contributors whose contributions just take time to look at from main contributors. I think that having some barrier of entry really helps to conserve the time of the maintainers.
> > Secondly, that puts all of the FOSS projects in one basket
> You are out-of-touch to the possibilities available right now, Gitlab can be self-hosted.
You can build your own Chromium, but that doesn't change the fact that the web engines are getting centralized. "I only need to test on Chrome" and such. The same with hosting. The fact that you can self-host Gitlab doesn't change the fact that if everyone is hosting on Gitlab, you are putting all of the tooling to one vendor. It will devolve into "But it works on Gitlab CI".
> Sending bug reports to those companies using GH/GL has been a way better experience for me.
And would you think of the maintainers? Managing GH/GL bug tracking is difficult, as it lack features. No advanced statuses means that maintainers have to rely on hacky statuses using labels, which can get hairy really quick.
> So what? There's a lot of old and bad "protocols" we've killed.
Oh, like HTTP and FTP? Oh, wait, we're still using those. Maybe IRC? Oh wait, that is still used in development. Should we kill all of those? They are definetly old and have problems. You know what is also old and has problems? Walking by foot. So lets stop walking by foot and use bikes everywhere. Oh, you can't ride a bike in a building? Seems like we'll need to change our buildings too!
> I clone the upstream repository first, if I see a project I want to poke at, I don't instantly fork and clone my fork.
And that takes at least as much as time as pressing fork does. Leaving pull request flow at least no slower than sending a patch. That's what you were claiming at start.
> Some rando that quits on not knowing how to use a bug tracker isn't a good contributor.
How do you know that a person who doesn't want to spend time on terrible tooling isn't a good contributor? Are you using a crystal ball?
> Somebody who takes time to learn how to use the tooling will be more beneficial to the project,
Or let's just focus on working on the code not spending time on the cumbersome tooling? That'd be even more beneficial.
> You can build your own Chromium, but that doesn't change the fact that the web engines are getting centralized.
Let's talk about this "issue" when GitLab, a FOSS solution, owns 10% of the marketshare.
> Clearly there is no negative impact as these projects are so successful.
Only very few FOSS projects are that successful, who knows how many more would be if better tooling were used from the start.
> It will devolve into "But it works on Gitlab CI".
And you claim it hasn't for Makefiles, awful automake, e-mail systems? If anything the use of newer tools reduces the monoculture and stagnation.
> Managing GH/GL bug tracking is difficult, as it lack features.
> No advanced statuses means that maintainers have to rely on hacky statuses using labels, which can get hairy really quick.
How big of a percent really uses "advanced statuses"? Clearly looking at Linux "advanced statuses" are not needed for even the biggest of projects. Systemd also manages very fine on GH.
> Oh, like HTTP and FTP? Oh, wait, we're still using those.
Thankfully both are dying. If you start bringing up stuff just for the sake of "see, old stuff is being used, it must be good" then keep in mind some countries also have gay people lynched, must be good, right? (Of course not.)
> Maybe IRC? Oh wait, that is still used in development.
But IRC's numbers are minuscule compared to all others. It pretty much shows that it's not as good as other solutions.
> Walking by foot. So lets stop walking by foot and use bikes everywhere. Oh, you can't ride a bike in a building? Seems like we'll need to change our buildings too!
Oh, the building is 5 stories, let's use stairs only! No, that's not how it works, we build elevators and escalators because stairs are not convenient. Oh, btw, there also are buildings where bikes and scooters are used.
EDIT: https://github.com/forgefed/forgefed