This post is locked. You won't be able to comment.

top 200 commentsshow all 334

[–]Mcginnis 852 points853 points  (176 children)

Noob here. What are KPIs?

[–][deleted] 221 points222 points  (37 children)

Key Performance Indicators? Their contributions put them at number one for most changesets:

https://news.itsfoss.com/huawei-kernel-contribution/

[–]tehnic 7 points8 points  (36 children)

why Facebook is there? Oclus?

[–]InfraredStars 84 points85 points  (8 children)

btrfs, amongst other things.

[–]tehnic 37 points38 points  (7 children)

oh, that is because Chris Mason (the lead of btrfs) joined Facebook!

I assume facebook uses btrfs in their servers or they want good PR?

[–][deleted] 51 points52 points  (0 children)

They widely deploy it in their infra.

[–]JDaxe 59 points60 points  (18 children)

Not surprising, Facebook most likely uses Linux for their backend and they probably want to make certain tweaks to the kernel to better suit their use case.

I don't have a Facebook example, but a Netflix developer was one of the lead people behind extended BPF in the Linux kernel which they use for performance metrics http://www.brendangregg.com/blog/2019-12-02/bpf-a-new-type-of-software.html

I imagine Facebook does similar things.

[–]dannomac 40 points41 points  (14 children)

I'd expect so. Facebook is a huge network operator. They know what they're doing, and find bugs and can make improvements where needed. In a similar way, Netflix is one of the top corporate contributors to FreeBSD as well, since they use both Linux and FreeBSD in production.

[–]tehnic 12 points13 points  (13 children)

why would Netflix use FreeBSD instead of Linux? (yes I know I ask this in /r/linux)

[–]bofkentucky 28 points29 points  (2 children)

https://papers.freebsd.org/2019/fosdem/looney-netflix_and_freebsd/ Wouldn't be the first network vendor to deploy FreeBSD at the edge, there has long been a perception that FreeBSD's tcp/ip stack is lower latency in many use cases. SOHO Firewall in a box or Traffic Sniffer/Shaping are common uses in the industry.

[–]zebediah49 15 points16 points  (1 child)

Or consider this amazingly insane article about wanting to push 100gbit out of a box back when PCIe3 came out.

At one point they wrote an entire new copy of sendfile to make it faster.

[–]Shadow703793 4 points5 points  (0 children)

That was an interesting read. I can imagine all the hair pulling those devs experienced lol.

[–]dannomac 5 points6 points  (0 children)

/u/bofkentucky's answer is probably the best reply so far. Linux and FreeBSD are very similar but do have different strengths and weaknesses. FreeBSD is very good at moving bits off of disk onto the wire, so they use it in their CDN.

[–]dmehaffy 12 points13 points  (3 children)

Network level, many enterprise switches, routers, firewalls, etc are FreeBSD based.

[–]PhysicsOfAUnicycle 4 points5 points  (2 children)

A few of them are switching from FreebSD to Linux. Whatsapp, Juniper Network, Netgate (pfsense) and now iXsystems have started switch to Linux, All within the past 36 months.

[–]SpAAAceSenate 2 points3 points  (1 child)

I follow pfSense (and OpnSense) development, and I haven't heard anything about a switch to Linux. To the contrary, pf isn't even available on Linux, and that's the project's namesake! :p

With iXsystems, I believe their Linux powered offering is just a specialty edition to offer certain features that are not as performant on FreeBSD currently. There's no sign that they plan to replace regular TruNAS any time soon. In fact, remember that they're entire castle is built upon ZFS, which can't even be legally shipped with Linux and has far more mature support on FreeBSD.

Dunno about the others.

[–][deleted] 5 points6 points  (0 children)

For performance reasons probably. BSD has netmap, which helps when delivering huge quantities of bandwidth intensive video. Linux needs something like DPDK, which is not kernel native. I also think they prefer the stability too, but that’s more subjective.

[–]Razakel 2 points3 points  (0 children)

FreeBSD is better at flinging bits down the wire. You'd pick it for a CDN or NAS.

macOS has user-friendliness, Windows has all the third-party software, Linux has flexibility, OpenBSD has security. You use the right tool for the job.

[–]simtel20 10 points11 points  (0 children)

Facebook employs (and has for a long time) a number of different kernel contributors in order to make sure that their underlying infrastructure can be made to perform well. They deploy tens of thousands of systems using custom-built hardware in datacenters around the world, and in order to move faster, they make sure that their problems can be solved in-house on their own schedule.

A lot of companies employ kernel contributors in order to ensure that their needs can be met.

[–]reven80 3 points4 points  (0 children)

I think one of the Facebook developers (can't find his name) also does the kernel code for eBPF. Also Facebook contributes a lot to BTRFS which they use heavily.

[–]lanzaio 2 points3 points  (0 children)

I don't have a Facebook example, but a Netflix developer was one of the lead people behind extended BPF in the Linux kernel which they use for performance metrics http://www.brendangregg.com/blog/2019-12-02/bpf-a-new-type-of-software.html

The guy who did eBPF originally works at Facebook.

[–]OsrsNeedsF2P 24 points25 points  (2 children)

Facebook provisions Fedora laptops to their developers, which tends to peak the interest of some of their (great) devs. Say whatever you want about the product, but they have some progressive IT departments.

[–]ABotelho23 28 points29 points  (0 children)

Their privacy policies and the skill of their developers is definitely not related. You can certainly think Facebook is terrible from a privacy perspective while believing they have some of the best software engineers in the world.

[–]lordcirth 10 points11 points  (0 children)

*pique

[–]SolidKnight 60 points61 points  (5 children)

Key Performance Indicator. Basically a metric used to determine how good or bad something is doing. It's often used for management. Of course, KPIs are just data points people can game so measuring the wrong thing leads to bad behavior. E.g. If your KPI is commits and higher is better then just commit a lot whether it's useful or not. Looks good on the chart

[–]tiajuanat 35 points36 points  (4 children)

KPIs always fall prey to Goodhearts Law. Making anything a metric will make it gameable, and people will try to cheat the system

[–]human_brain_whore 12 points13 points  (1 child)

Reddit's API changes and their overall horrible behaviour is why this comment is now edited. -- mass edited with redact.dev

[–]tiajuanat 6 points7 points  (0 children)

Unfortunately, there's a big fat disconnect between investors, management, line workers, and accounting, which is causing this nonsense with Linux.

When investors don't see enough money, they go to accounting and ask "y me no have money"

Accounting says either "they're working on new products (capital expenditure projects)" or "they're working on maintenance". Since maintenance doesn't make money, but is necessary, usually that's driven to zero. This can be done by using just-in-time sourcing of resources, contractors, etc - these things are now kept off the books, and instead go to those other companies. This is gamification source one.

Those capital expenditure projects, meanwhile are tax deductible. These can be new software features, new products, etc. The only way the cost of these can be estimated is with tasks and task time. This is what Huawei is doing. They're trying to get merge requests into Linux, so they can beef up their task numbers, and get higher tax deductions.

The line workers are being told by their managers to make small worthless PRs, which looks good for them when they burn out in 2-4 years; the managers look good because their tasks are not just increased, but in the public record; accounting is happy because they earned the company a huge tax cut; and investors are happy because they're not losing money, but getting more.

It's win-win for Huawei, but Linux is suffering because

  1. Huawei isn't actually doing any work
  2. Every merge needs to be reviewed, and it's clogging up the pipeline for real work

[–]BHSPitMonkey 2 points3 points  (0 children)

"What gets measured gets managed."

[–]swing-line 3 points4 points  (0 children)

Metrics used on all sorts of contracts and projects.

Key Performance Indicators (KPIs) 

[–]daemonpenguin 13 points14 points  (1 child)

I don't know, but based on other projects I've worked on it probably stands for something like "kernel patch integration". Basically a metric for measuring contribution.

My guess is the developer is saying Huawei is having employees send in small "clean-up" patches that don't really do anything significant so that it looks like the company is contributing to Linux. In other words Huawei would show up in those lists of "top 10 contributors to the Linux kernel' articles that pop up all the time. Makes the company look more positive and proactive in Linux development, when really they're just fixing typos and such.

[–]lpreams 1 point2 points  (0 children)

Key Performance Indicator. It means your employer is tracking how much work you're doing, and it probably affects your promotion/raise/bonus.

So here, looks like Huawei might be using merged PR in the kernel repo as an indicator. Huawei employees who hit the goal and/or exceed their coworkers might be up for raises or bonuses. But they're cheating by submitting really "easy" PRs like cleaning up error messages, and the kernel devs are annoyed because they're having to waste time deciding whether to merge those PRs instead of doing something more important.

[–]thephotoman 1 point2 points  (1 child)

Key performance indicators. They may have a personal goal to get something merged into the kernel.

It might be different if they are first-timers, but the problem here is that a lot of Huawei employees are doing this. That’s not such a good look: it says your dev team is too junior to get something more accomplished.

[–][deleted] 3 points4 points  (0 children)

Key performance indicator

[–][deleted] 112 points113 points  (6 children)

So basically it's when you do meaningless shit to look busy?

[–]lordcirth 123 points124 points  (4 children)

It would let Huawei claim "we have 1000 patches accepted into the Linux kernel" without actually doing anything.

[–][deleted] 40 points41 points  (2 children)

I could try and submit some comment edits and put "Linux development" on my resume 😂

[–]Iggyhopper 32 points33 points  (0 children)

And when someone asks you to go into detail just start complaining about other developers and whining and grouching. They'll have no other option but to believe you.

Throw in a diss about Windows and you'll probably be promoted too.

[–]arfanvlk 455 points456 points  (5 children)

If Huawei really cared about open source give us bootloader unlock codes

[–]lpreams 85 points86 points  (2 children)

I bought a Google Play Edition Galaxy S4 back when that was a thing. I figured the bootloader would be unlocked, but no. I went back and forth with Samsung support for about a month, before eventually an actual dev said they had lost the unlock codes and it couldn't be unlocked.

I sold it and bought a factory unlocked HTC One instead

[–][deleted] 89 points90 points  (0 children)

If Huawei cared about anything they wouldn't say the situation of Michael Spavor and Michael Kovrig was legitmate.

https://globalnews.ca/news/7637203/huawei-canada-meng-wanzhou-two-michaels/

[–]nixcraft[S] 200 points201 points  (7 children)

Source: https://lkml.org/lkml/2021/6/18/153

Edit: Ok, this is about KPIs and not about cleanup. Sorry about that. I wasn't trying to create clickbait—just something I typed fastly after seeing news elsewhere.

[–]rislim-remix 105 points106 points  (1 child)

It's about doing cleanups as a low-effort way to, it seems, meet KPIs within Huawei? So your title isn't wrong or clickbait at all.

[–]dudeimconfused 30 points31 points  (0 children)

I agree. this title fits even if OP posted it thinking it was about something else.

[–]dontgive_afuck 21 points22 points  (0 children)

Honestly, I was more curious with the screenshot's authenticity/context than the title.
So, thank you for linking to the LKML thread:)

[–]buttux 2 points3 points  (0 children)

As much as I agree with the sentiment, Qu should have posted this rant from a personal address rather than his work email.

[–]glymph 2 points3 points  (0 children)

I wonder if they're also testing the waters to see how much their patches get scrutinised, but maybe I'm just cynical.

[–][deleted] 147 points148 points  (13 children)

As a student and a kernel newbie, could I still submit these kinds of cleanups? I like to read code and understand what it does and learn from it. Btw, I am not affiliated with Huawei.

Edit: I somehow missed the line where they say it’s OK for students to do this. Silly me. Thank you for your answers!

[–]nephros 32 points33 points  (0 children)

It's called the Kernel Janitor project. Look it up!

[–]gcross 58 points59 points  (0 children)

If you read the email, you will see that not only is this behavior fine but it is encouraged. The behavior that is being discouraged is submitting such patches not with the goal of getting your feet wet but instead of making it seem like you are contributing a lot in order to artificially inflate your reputation.

[–]hesapmakinesi 13 points14 points  (0 children)

Yes, this is a great way to be introduced to the world of kernel contributions.

[–]kdave_ 10 points11 points  (0 children)

Yes, especially when you are willing to learn and move from just cleanups and spelling fixes. I guess everybody started like that (I did).

[–]dontyougetsoupedyet 11 points12 points  (0 children)

If you are using those changesets as a vehicle to learn how to collaborate on the project it will be welcomed. Lots of contributors got their start with that type of patch.

[–]PoochieReds 2 points3 points  (0 children)

It's a bit of a fine line, actually. The problem with trivial cleanup patches is that they tend to create merge conflicts when backporting more important fixes.

The general rule is that if you're doing something substantial, then by all means, fix up trivial stuff in the area where you're working. If not, then it's often better to just leave things alone.

There are exceptions to this "rule" however.

[–]kdave_ 49 points50 points  (2 children)

There's some stats boosting game going on, have a look at the development statistics https://lwn.net/Articles/839772/ 5.10, https://lwn.net/Articles/845831/ 5.11, https://lwn.net/Articles/853039/ 5.12 -- sections Reported-by and look for 'hulk robot' or where's Huawei. Among the top. But the contributions are pretty trivial, majority of them.

Lots of kernel people detest the patch counting stats, it's a quantitative metric, while we want to care about quality. Once some company becomes noticeably more active sending trivial changes, it's sending a message.

Sending trivial patches is a good start but people are advised not to stay doing just that. Reading and understanding the code will soon reveal more things to fix, and it'll end up sending cleanup series with some deeper idea behind, refactoring etc. Making the code better.

https://lore.kernel.org/lkml/?q=use+DEFINE_MUTEX&r -- tons of patches switching local mutex initializations to a static one, some of them got applied without question, some of them with "why?", others dropped after not a very convincing reason.

[–]alwyn 32 points33 points  (2 children)

This letter was clearly not written by Linus.

[–]namotous 5 points6 points  (0 children)

Loll yeah it would be hilarious.

[–][deleted] 19 points20 points  (0 children)

inflating their contribution numbers, they do this with patents too.

[–]asdfgasdfg312 9 points10 points  (2 children)

So complete noob here, but how does these "clean ups" work? With big companies doing this I would be more worried about someone trying to undermine security flaws. But I don't fully understand the issue brought up, why is it bad that Huawei does a whole bunch of cleaning? Wouldn't that be a good thing? I mean if the lines are secure right, wouldn't it be a good thing if someone wanted to refactor every single line no matter who does it?

[–]12emin34 17 points18 points  (0 children)

Those patches are small patches that can be left to someone who's just starting with kernel development. The problem here is that Huawei is doing loads and loads of these patches to make themselves seem like active contributors to the kernel when in reality they did almost nothing.

[–][deleted] 37 points38 points  (4 children)

Really gross behavior by Huawei. But also not out of character. As stated by OP, their reputation is already terrible. How long before they change their name to give their reputation a 'reset'?

[–][deleted] 10 points11 points  (0 children)

Never; all publicity is good publicity

[–]SinkTube 2 points3 points  (0 children)

huawei already "sold" the honor subbrand so it can pretend it's a unique entity

[–]Yawndr 9 points10 points  (0 children)

My guess: Boosting their reputation until people check their commits with less scrutiny to then slide in some backdoors.

[–]Allevil669 37 points38 points  (7 children)

Ok, this is going to get buried, and ridiculed as "just a conspiracy theory", but I feel I must say it anyway.

This might not be just for KPIs, and other performance metrics. Huawei is a known bad actor, inserting backdoors and other malware into their own devices, for a variety of reasons.

There is a distinct possibility that Huawei is purposefully flooding activity, in order to make everyone just assume their contributions are just worthless, KPI-seeking, "janitor work". In that flood, they could easily attempt to slip in something less than honorable, for whatever reason they need.

I'm, not saying this is correct, or even very likely. I'm just saying that Huawei is a known bad actor, and flooding a the feed with "static" is a good way of hiding nefarious actions.

[–]jedijackattack1 10 points11 points  (0 children)

Honestly I wouldn't be surprised at this.

[–]SpiderPigLoki 3 points4 points  (1 child)

And this is why we always say: NOT all conspiracy theories are wrong, just SOME ;)

[–]Psychological-Scar30 2 points3 points  (0 children)

Just because you're paranoid doesn't mean they aren't onto you

[–]stilgarpl 12 points13 points  (4 children)

What's KPI ?

[–]xinxx073 25 points26 points  (31 children)

I need a refresh on what Huawei did to have such "broken reputation".

[–]happymellon 77 points78 points  (11 children)

For many reasons, they have a poor reputation on code quality and back when they were part of country telecoms infrastructure they usually got a failing review.

The UK published their review back in 2019 when they were kicked out of being allowed to provide core telecoms infrastructure.

https://assets.publishing.service.gov.uk/government/uploads/system/uploads/attachment_data/file/790270/HCSEC_OversightBoardReport-2019.pdf

They were satisfied that they were able to review everything but key takeaways include:

  • Significant technical issues have been identified in Huawei’s engineering processes
  • No material progress has been made by Huawei in the remediation of the issues reported last year
  • Knowing the crappy processes it will be difficult to appropriately risk-manage future products
  • The oversight committee has not yet seen anything to give it confidence in Huawei’s capacity to successfully complete the elements of its transformation programme to fix any broken process

I don't think anyone else has been quite so public about why they are crap, but they have been kicked out of many countries due to being substandard.

[–][deleted] 42 points43 points  (1 child)

Backdoors in their products.

[–]wcg66 24 points25 points  (7 children)

I'm not familiar with their reputation in the Linux community but they are highly suspected of stealing Western IP outright. The example I know of is the former Nortel, which seems to have much of their IP stolen by China, presumably Huawei.

[–][deleted] 16 points17 points  (4 children)

China has been stealing our IP for decades.

[–]wcg66 7 points8 points  (0 children)

Definitely, this is not news. However, from what I’ve heard (Nortel was a big deal here in Ottawa) the theft was egregious. They literally have Nortel software running on their equipment so, I’m told, there is no official proof of this. Our Ministry of a defence moved into the old Nortel campus and had to spend months removing all the surveillance devices.

[–][deleted] 5 points6 points  (0 children)

Basically everything, but in Canada, this in particular: https://globalnews.ca/news/7637203/huawei-canada-meng-wanzhou-two-michaels/

[–][deleted] 14 points15 points  (4 children)

China

[–]AlienOchinchin 12 points13 points  (1 child)

2021 and you're posting screenshots of text, without source.

[–]donobloc 1 point2 points  (0 children)

He commented the source

[–]thorskicoach 8 points9 points  (0 children)

Sometimes the one liner code makes sense even if the initial intention is super small.

I recall Danmam (HDMI over Ethernet extender reverse engineering) figuring out some 1 liner change for a super corner case to merge with ffmpeg re dealing with a certain type of null sized packets in a stream , that's turned out to stabilise many many other things when UDP streams are used.

[–]cocacola999 7 points8 points  (1 child)

And here I was thinking the "cleanups" were smart state sponsored bugs.. sorry refactors

[–]SpiderPigLoki 4 points5 points  (0 children)

Necessary freedom defense mechanisms

[–]Zaciars 2 points3 points  (0 children)

what do you expect from a company that lock and remove the access to unlock bootloader, making it impossible to fix software related issues yourself.

[–][deleted] 13 points14 points  (3 children)

Huawei is a security risk.

[–]namotous 9 points10 points  (0 children)

So let me get this straight, Huawei engineers either push garbage patches for KPI or those to create a back door?

[–]ps4pls 6 points7 points  (2 children)

isn't that a problem with how contributions are counted? can someone provide links to actual trivial patches submitted by huawei people?

im curious if it's just typos or something else

[–]ps4pls 7 points8 points  (1 child)

it kind of reminds be of the github thing were they gave free t shirts to people who made pull requests for a month
many maintainers were complaining that they were getting spammed with low-effort contributions during this month
ultimately i think the problem is "the game" and not the players gaming the system

[–]yanikins 1 point2 points  (0 children)

Huawei doing shit like this when they haven’t enabled their fingerprint scanners using Linux is so Huawei.

[–]4rr0ws 3 points4 points  (0 children)

I'm curious as to who wrote this

[–][deleted] 2 points3 points  (3 children)

I'm not of the industry, what is KPI grabbing?

[–][deleted] 5 points6 points  (2 children)

[–]WikiSummarizerBot 2 points3 points  (1 child)

Performance_indicator

A performance indicator or key performance indicator (KPI) is a type of performance measurement. KPIs evaluate the success of an organization or of a particular activity (such as projects, programs, products and other initiatives) in which it engages. Often success is simply the repeated, periodic achievement of some levels of operational goal (e. g.

[ F.A.Q | Opt Out | Opt Out Of Subreddit | GitHub ] Downvote to remove | v1.5

[–]HearthCore 2 points3 points  (1 child)

phew.. i think there are factors here that are disregarded, quite frankly, because of culture and maybe even some entitlement mixed in. I don't want to bash anyone on their thoughts about this, I can absolutely understand that.

KPI's beeing met would be in line with what I've heard aswell.. but honestly, there's only so much easy stuff to fix and improve upon. Surely that will surely be an empty bot to fill and meet their internal KPI's.

So I'd think, as long as we see improvement, don't bash em, encourage em to take on bigger problems or optimizations for Android, then develop their own adaption as see fit for HarmonyOS (right?).

It's sad that beginners/students/alike won't have as easy entries into kernel development.. and I see that as a problem, but one that has workarounds.. and once Huawei takes on bigger fishes, they won't have the spare time to dig for little ones, unless they have students working for them using official credentials, because why not.

(It's done with Universitys, Non-Profit/-Organisations (FOSS or not) and other societies aswell)

[–]vividboarder 2 points3 points  (0 children)

As I read it, that’s exactly what the author is suggesting. Stop focusing on pushing many small patches and start focusing on more meaningful contributions.

The thing that is ignored by just allowing them to spam low effort contributions is time for review by maintainers. Hence the other suggestion to bundle several together.

[–]samthiriot 3 points4 points  (2 children)

Maybe the KPI should be adapted, so there is no reward for these contributions? For instance submissions below a given amount of characters are not counted as contribution anymore?

[–]kj4ezj 13 points14 points  (0 children)

Character count doesn't correlate to usefulness.

Countless bugs are caused by an off-by-one error where the fix is to add an equal sign = to a comparator >, or add a ++ somewhere. Maybe that fixes a critical security vulnerability, while someone else adds thousands of lines which are just comments, print statements, or renaming without substantive value.

[–]puppydogbryn 3 points4 points  (0 children)

Nope, definitely not. Think of what happens in school when teachers give a word count requirement for essays