Email or username:

Password:

Forgot your password?
Hector Martin

For Asahi, I contribute code across the entire stack: from bootloaders to the kernels to libraries to desktop environments to web browsers. I keep saying the Linux kernel development process is horrible, so what about the rest?

Let's talk about a project that does things right. KDE is a project of comparable scale to the Linux kernel. Here it its patch submission process:

1. I write the patch
2. I open the merge request *
3. The maintainer directly suggests changes using the interface, fully integrated with gitlab.
4. I click a button to accept the changes. They get turned into Git commits automatically. I don't even have to manually pull or apply patches.
5. I ask about Git history preferences, get told to squash them.
6. git pull, git rebase -i origin/main, clickety click, git push -f (I wouldn't be surprised if there's a way to do this in the UI too and I just don't know)
7. They merge my MR.

The whole thing took like 5 minutes of mental energy total, once the initial patch was ready.

Seriously, look at some of the timetamps. It wasn't even 15 minutes of wall clock time from the first suggestion to final commit. Less than an hour from opening the MR. And then it got merged the next day.

And this is why I love contributing to KDE and why they're our flagship desktop environment. :)

* This of course does not consider one-time setup costs. For KDE, that was opening up an Invent account, which takes 5 minutes, and I didn't have to learn anything because I already know GitLab and anyone familiar with any forge will quickly find their way around it anyway. The kernel, of course, requires you to learn arcane processes, sign up for one or more mailing lists, set up email filters, discover tools like b4 to make your life less miserable, manually configure everything, set up your email client with manual config overrides to make it handle formatting properly, etc., and none of that is useful for any project other than the small handful that insist in following the kernel model.

11 comments
Tram 日本 🐈 :aichi:

@marcan there really is no logical reason to maintain the status quo from the the last century for this use case

endrift

@marcan I've only contributed a bit of code to KDE but it was a much smoother process than LKML. Much like basically everything that is actively maintained and uses an interface like GitLab.

Keith Gable :whyfox:🇺🇦🌻

@marcan leave a comment with a line that is /rebase. Can be the only text, then it is silent and doesn’t leave a comment but rebases anyways.

Locally you git pull --rebase

If the project is configured a certain way, this shows up as a button

Hector Martin

@ZiggyTheHamster The goal there was the squash though (hence interactive rebase), can it do that?

Keith Gable :whyfox:🇺🇦🌻

@marcan it can, but it’s a MR strategy. I forget some people want their MRs to be squashed separately from the merge process.

The config I prefer as a GitLab repo owner is to do squash merges with semi linear history, and then the merge button does that for you (and you can rebase in the UI without the command). This is so easy to work with and is the best of both worlds because you can always look at the pre-squashed history in the MR.

Keith Gable :whyfox:🇺🇦🌻

@marcan so in your case I don’t think you can do it differently, but they can configure the project to make this automatic

Pavol Babinčák

@marcan add comment "/rebase" against your MR and GitLab will take a care of the rest.

Just a tip, if you would like to save couple of commands in the shell. 🙂

Haelwenn /элвэн/ :triskell:
@marcan
Meanwhile FreeDesktop and the like:
- Get stuck on their Gitlab because they locked down it so much to counter spam that you'd need to ask each project for access (of course with the "Request Access" button of Gitlab not being appropriate)
- Send the patch to their mailing-list
- Few days later have to explain that their setup is near impossible to use, and also send URL to the commit in case they don't into email

Bare mailing-list sucks (you can have email with CIs btw) but having to interact with the various Gitlab setups is horribly annoying.
And if there's one thing email has perfected over the ages it's spam mitigation for everyone, while on Gitlab it's a proprietary Enterprise addon.
@marcan
Meanwhile FreeDesktop and the like:
- Get stuck on their Gitlab because they locked down it so much to counter spam that you'd need to ask each project for access (of course with the "Request Access" button of Gitlab not being appropriate)
Drew DeVault

@marcan
>KDE is a project of comparable scale to the Linux kernel.

lol tho

Go Up