
Libinput's bus factor is 1 (2019) - luu
https://who-t.blogspot.com/2019/10/libinputs-bus-factor-is-1.html
======
WesolyKubeczek
I said it before, will say it again:

this should be a problem of Red Hat management. I'm sure they are very much
aware Hutterer is overwhelmed (what with blog posts, talks even, and all), but
they won't hire anyone to work with him.

In that blog post, there's a call to share the load but do it as free labor:

"Anyway, I'm largely writing this blog post in the hope that someone gets
motivated enough to dive into this. Right now, if you get 50 patches into
libinput you get the coveted second-from-the-top spot, with all the fame and
fortune that entails (i.e. little to none, but hey, underdogs are big in
popular culture)."

I believe if that position came with a Red Hat paycheck, finding a #2 wouldn't
be such a problem.

~~~
freedomben
I work for Red Hat but not on that stuff and I'm not commenting as a RH
employee (and have zero insight into how that area of the company works).

Red Hat doesn't make much if any money on desktop, yet as you mentioned RH
does employ people to work on it. It's already largely a charitable service to
the community. As much as I do wish they'd hire more people and make the
touchpad amazing, it seems a little entitled to criticize them for not digging
even deeper into the charity pockets.

~~~
phkahler
First, I agree with you. Redhat has no obligations here, and if they did
increase their "charity" contibutions there are several areas that could use
help. That said, it's not charity. They have an interest in keeping the
desktop useful for developers who also do some free work for them. I would
also argue that making Linux a first-rate desktop operating system would be
incredibly beneficial to Redhat/IBM. They also shouldn't be the only ones
working toward that, so keeping it minimal might be a good way to get others
to contribute - weather paid by someone or not.

~~~
freedomben
You make some fair points. It's not pure charity since RH does receive
indirect benefits from it, but I'd still say it's mostly charity. Maybe you
have specifics in mind, but the "free work" I can think of (open source
upstreams) is something that equally benefits RH competitors. It's more of a
"rising tide lifts all boats" sort of thing. So while RH does receive some
benefit from it, it still seems largely charitable to me.

~~~
phkahler
RH doesnt really have competitors at the moment. None of comparable size
anyway, and that's prior to IBM. Microsoft seems to be interested though.

Go big or go home?

------
seltzered_
Related: The "linux touchpad like a macbook" discussions:
[https://news.ycombinator.com/item?id=23235609](https://news.ycombinator.com/item?id=23235609)

[https://bill.harding.blog/2020/05/17/linux-touchpad-
prelimin...](https://bill.harding.blog/2020/05/17/linux-touchpad-preliminary-
project-funding-survey-results/)

[https://github.com/sponsors/gitclear](https://github.com/sponsors/gitclear)

~~~
nextos
I personally think it's the hardware. I've run Linux on a MacBook Air 11 Late
2012 from the day I purchased the machine and it feels identical to macOS.

Luckily, for those using desktops who still want to use a trackpad, the Magic
Trackpad works really well out of the box too. And there are not many other
options in the market.

I used to prefer trackballs from Logitech, but current models are nowhere as
smooth as those from the 1990s and early 2000s.

~~~
abrowne
I agree that's a very large part of it. I have booted Ubuntu on innumerable
PCs and Macs while working in repairs, and touchpads vary hugely even when
running the same software. The recentish "Precious Touchpad" standard
Microsoft has for PCs tend to work better in my experience, even under Linux.

As a former Mac user, I can also recommend whatever is in the HP EliteBook I'm
using now.

~~~
abrowne
Clearly meant "Precision Touchpad" …

------
Jonnax
I guess the problem is that nobody is generating revenue in a meaningful way
with desktop Linux.

Firms running Linux on servers can pay their employees to contribute to open
source.

But a peripheral input driver? Ubuntu had a shot at being "Desktop Linux" but
it didn't pan out.

Especially when remote desktop on Linux is not very good. (I've only used VNC
and XRDP) not to mention a lot of extra packages.

~~~
fest
> Especially when remote desktop on Linux is not very good. (I've only used
> VNC and XRDP) not to mention a lot of extra packages.

You mean using linux to connect to remote PCs? What are the issues you are
facing?

I've been happily using remmina (it does use something else for the actual RDP
connection IIRC) on Ubuntu to connect to headless Windows box via RDP for
CAD/ECAD work for the last year or so.

The windows box is in local gigabit network though.

~~~
Jonnax
Oh no the other way around.

Having a remote Linux box that I want to get a remote desktop into.

Remmina is really good, I agree.

~~~
neurostimulant
Back then I simply used x forwarding from ssh. It felt snappy and native
enough, assuming your bandwidth and latency is good enough.

------
pmontra
I skimmed through the issues at
[https://gitlab.freedesktop.org/libinput/libinput/-/issues](https://gitlab.freedesktop.org/libinput/libinput/-/issues)

I wondered how a single person can verify, fix and test issues related to
touchpads on a number of different laptops. Either Hutterer has a room filled
with hardware or the people opening the issues become testers of the fix.

I looked at the closed issues and it's probably the latter case. This means
that there is an extra filter compared to the Linux projects I raised issues
to: know about issue trackers, find the issue tracker, be able to test a fix.

On the software development side, this looks like a difficult project to keep
running because the interactions with so many occasional testers.

~~~
Jasper_
Having worked with Peter, he indeed has a room full of laptops (Red Hat mails
them to him every time they run into a customer issue!), but it's still a lot
of work to test all of them and new laptop models get cranked out every day.
It's a very difficult task for a single person.

------
Scarblac
It has happened twice during my career that a colleague got actually,
literally hit by a bus.

Both of them were back at work after a week, one of them had problems with
their arm for a while longer but this risk is way overblown.

~~~
speedgoose
It's a metaphor to illustrate than someone can suddenly disappear. It can be a
bus, a plane crash, a murder, jail time. It happens once a while.

~~~
bregma
We have been instructed to use the phrase "lottery factor" during our cynical
rants. Everyone feels much better. I guess it's because of the "if I won the
$70 million jackpot I'd just come back to work" meme.

I'd buy a bus with my winnings and put the lottery factor into effect for my
former coworkers.

~~~
AnIdiotOnTheNet
The problem with the "lottery factor" is that if someone wins the lottery, you
can still theoretically go to their new mansion with a wrench and beat the
information out of them.

------
jonchang
I've found that this article was really illuminating with respect to some of
the issues around `libinput`:
[https://lwn.net/Articles/801767/](https://lwn.net/Articles/801767/)

~~~
asveikau
When I read about this stuff a part of me says "why does this stuff keep
getting rewritten?" I was using Xorg years and years ago and never had any
kind of input issues.

Example from the lwn article:

> The xf86-input-evdev driver is in maintenance mode at this point. The last
> commit was in May 2018 and, since the 2.10.0 release four years ago, there
> have been a total of 19 commits.

Maybe that's actually a sign that it's good enough and doesn't need major
adjustments? But here it is presented as if it is a problem.

~~~
kelnos
It's probably fine for keyboards and regular mice, but touchpads are...
well... touchy. I've never had reliable palm rejection on a touchpad under
Linux. The situation with kinetic scrolling is ridiculous (to be fair,
Hutterer has decided that sort of thing doesn't go in libinput, because it
doesn't have enough context to implement it properly, which I agree with).
Drag-and-drop on a touchpad has poor UX, and god forbid you need to drag with
multiple fingers. Even two-finger and three-finger click (right and middle
click, respectively) are unreliable at times.

I say this not to criticize, but only to point out that the driver is not
"done". I am _incredibly_ impressed with Peter Hutterer's skills that things
work as well as they do, given that he's essentially the only person working
on it. It could use more eyes and hands.

~~~
sanxiyn
You seem to be in agreement that keyboards and mice driver is, indeed, done.

~~~
kelnos
Yes, that's... what I said. But xf86-input-evdev also handles touchpads.
xf86-input-synaptics, the other driver mentioned by TFA that is either
unmaintained, or done, depending on your point of view, is definitely for
touchpads. They're certainly not "done" when it comes to touchpads.

~~~
badsectoracula
Perhaps the solution should have been to split the touchpad specific bits and
focus on that and leave the keyboard and input code alone instead of wasting
time to rewrite code that works? It sounds like they made their life harder
for no reason.

------
albertzeyer
Ok, now I see why there is so less (or basically none) progress on my feature
request of having mouse wheel acceleration (since 2010, even with a patch,
[https://bugs.freedesktop.org/show_bug.cgi?id=29905](https://bugs.freedesktop.org/show_bug.cgi?id=29905)
and
[https://gitlab.freedesktop.org/xorg/xserver/issues/405](https://gitlab.freedesktop.org/xorg/xserver/issues/405)
and
[https://gitlab.freedesktop.org/libinput/libinput/-/issues/7](https://gitlab.freedesktop.org/libinput/libinput/-/issues/7)).

------
anarcat
this fits my theory that the average bus factor is ~1:

[https://anarc.at/blog/2019-10-16-bus-
factor/](https://anarc.at/blog/2019-10-16-bus-factor/)

Cynics have also suggested the average is closer to zero, but I still have
hope that we at least need buses for a catastrophe to happen. ;)

~~~
carapace
> Lobby governments and research institutions to sponsor only free software
> projects.

Good idea!

------
hiram112
It's too bad that such important pieces of the Linux desktop are so
underfunded and neglected, though I can understand there just isn't enough
revenue for even Redhat, Suse, etc. to justify hiring more developers.

But with all these little issues that cause problems for individual users on
all the different scrollpads and touchpads and other non-standard hardware,
nobody knows the true harm it may cause and how many users decided to get a
Mac or even Windows because some esoteric hardware they owned just wouldn't
work, but could have been fixed with just a small patch had the developers
been available. This will become even more true as WSL2 becomes a more viable
alternative.

Personally, my 'jumpy' touchpad on a new Dell Latitude I'd purchased a few
years ago was my final straw in using Linux for development work. It was
nearly useless with several different distros without an external mouse, and
after getting used to Macbook's touchpad, I just couldn't rationalize using
Linux when the touchpad is something I use so much.

Fonts are another one of these issues that I think could be solved more easily
than even a few years ago - several important patents have expired and Google
and others donated very high quality fonts to the community. Unfortunately,
there just isn't the amount of paid developers working to ensure that things
look good out of the box on every monitor, and so fonts often look horrible,
especially to new users who are coming from Mac and Windows, where the issue
was solved by full time UI experts a decade ago.

~~~
nsajko
If I may ask, why do you care about your touch pad? At least for me, it pains
me to use a touchpad while knowing I could interface with the computer faster
with a mouse.

BTW, the jumpiness is probably configurable, see
[https://wiki.archlinux.org/index.php/Mouse_acceleration](https://wiki.archlinux.org/index.php/Mouse_acceleration)

For example (if you want to use X Windows), when I do

    
    
      xinput list
    

I get

    
    
      ...
      ⎜   ↳ ETPS/2 Elantech Touchpad                  id=15   [slave  pointer  (2)]
      ...
    

and then I would do

    
    
      xinput list-props 15
    

and play with "Coordinate Transformation Matrix", or "libinput Accel Speed"
for speed and acceleration.

------
SkyMarshal
Anyone know of a site that tracks bus factor for open source software
projects? Would be useful in seeing where vulnerabilities are and where
financial support is needed.

I suppose Github and other repositories would be an ideal place to do that
since they already have visibility into commits.

------
carapace
The bash shell is maintained by a single unpaid volunteer.

------
rurban
That's good. So there is a high chance this project is high quality.

Also previous experience burned him, when he said yes way too often. What if
Stroustrup would not have been that notorious yea sayer?

~~~
eru
> What if Stroustrup would not have been that notorious yea sayer?

Perhaps we wouldn't have to deal with C++ in the first place? His tactics were
part of what made the language popular.

~~~
rurban
Agreed. C# had for a short time higher momentum. C++ is okay, just the
hodgepodge of weird and abnormal syntax decisions did long lasting harm. Got
much better recently though.

~~~
eru
Syntax isn't even the worst thing.

Eg they still import modules via (automated) copy-and-paste.

------
hinkley
As I have asked a few coworkers, sometimes repeatedly, over the years:

Do you have a bus number of one because nobody cares, or because nobody cares
enough to put up with the code (or worse, you).

You have to entice people in sometimes, and many of us are great at other
things but terrible at this.

~~~
numpad0
If nobody cared wouldn’t it be zero?

~~~
hinkley
I've gotten trapped taking over a project/tool that 'needed to be done' but
nobody wanted to do it.

The worst one, my recommendation was to get rid of it and do something else. I
worked on making it more approachable but it was slow going and thankless
work, as the previous maintainer had tried to do (he swapped out a
grammatically unsound DSL for a set of functions and macros in Python)

When I had succeeded in getting the bus number on my other responsibilities
above 3, I left. And this is when one of my coworkers noticed that all but one
former team member were associated with this code when they left, so maybe we
should listen.

I think the takeaway from this is sometimes it's you, sometimes it's the
situation, but unless _you_ change something, nothing will change. And even if
you do change something, you can't always win. I strongly believe starting
over is the last resort, but it _is_ a resort.

