“Please don't waste maintainers' time on your KPI grabbing patches”
lkml.org
lkml.org
In some companies, the amount of patents or Linux kernel patches you get accepted is direct measure of your success.
As you know, whatever you measure becomes a target -- these guys feel very pressed to get ANY kernel commits accepted, no matter how small, irrelevant or nonsensical. Because in the very end almost nobody sees the amount of value that a company creates for Linux users. What everybody is looking at is that "Company X is nth on the list of biggest kernel contributors".
So "KPI grabbing" is meant to mean the practice of not caring for the value or quality of your contributions but rather for the count of the commits or LoC you can get accepted.
This is damaging to Linux kernel developer community because it just creates work for maintainers without creating much or any value at all.
These maintainers are absolutely critical resource for the project and their number and availability translates directly to how much stuff can actually be done. So no wonder people are irked by it.
This is one of those ideas that I think should totally be a thing, and yet I think wouldn't work and thus shouldn't be a thing.
People will work for the carrot, so give carrots for the work maintainers want to see.
But mostly, maintainers want to just focus on their work and not be bothered by corporations and their developers trying to game the system just to prop up their position.
Given that it’s annoying enough that we have articles and comments on it, perhaps investing maintainers time into developing metrics that work for the maintainers isn’t a terrible idea.
Could you give an example of a non trivial patch which value would be unfeasible to assess objectively? I am not familiar enough with the maintenance process to understand how hard it is to measure objectively the quality of a patch.
For starters there isn't even an objectively established definition of value. You can't objectively measure something that only has subjective definitions.
In a free market you could say that the price could be proxy for the value (ie how much somebody can pay for it should at least theoretically correspond to its value for that person). But how you do that for an open source project?
The advice to companies using this KPI would be: let your own dev managers evaluate the quality of the commits of their engineers, and rate them on quality as well as quantity, then submit. Engineers will quickly stop creating busywork when their managers get wise to it.
You can totally build something that is a decent metric, but as soon as you create incentives to "game it" (optimize for the metric not the actual goal you're trying to measure), it will be gamed, and creating metrics that are resistant to that is nearly impossible in most cases.
Why not just keep commits as a metric, then estimate the quality of those commits by sampling. If the organization appears to be gaming the stats then flag it as such.
I do agree that tracking commit counts isn't very useful but tracking commit frequency, in my opinion, is quite useful. I'm obviously biased but I use commit frequency to tell me how fast a project is moving and what is the investment.
Take the following for example:
https://public-001.gitsense.com/insights/github/repos?p=impa...
by breaking down how frequently contributors commit on a daily basis, you can get a very good sense of investment and speed. In the case of the vscode project, Microsoft is investing a lot of resources into vscode and it is evolving at an extremely fast pace.
Software metrics in general isn't the issue, it's the lack of context around them that is the issue.
Disclaimer: I'm the creator of the tool that I'm linking to
Engineer's performance is measured, in part, by number of kernel commits. So, the number of kernel commits is a key performance indicator for the developer.
As such exactly what it is, will depend on company/industry/market/team/project/etc. It may be revenue or units sold or widgets made or turnover or customer satisfaction or days without accident etc. In principle, it communicates to teams what is important to business and helps everybody focus and sync.... with usual real-world caveats and implementation risks.
I imagine here, for a large-company linux team, a "KPI" was "how many commits you made" - they measure it, they track it, and reward/recognize/punish team members based on it. So people start working toward increasing the KPI in any feasible way - if you only want me to increase the KPI of commits done, OK, fine, I'll do some commits.
This is a great explanation, and I just wanted to nitpick that for some KPI's (e.g. percentage of defective components, or latency), you would aim to "decrease" the KPI, and in some rare instances, you'd want to keep the KPI within a range (e.g. resource utilization, or inventory size, when you want a predefined amount of buffer).
It's a shit system that does exactly the opposite of what it's supposed to do IMHO, but that kind of stuff doesn't belong in an ELI5 explanation :-D.
The issue isn't whether KPIs are good or bad but what you do with them.
KPIs don't need to be tied to actual people, usually they are tied to teams, systems, projects, processes, etc.
For example, a number of users resigning from our services might be a KPI.
KPIs are an important tool to understand what is going on and whether we are going in the desired direction or not and to communicate this to your teams.
KPIs are a tool for telling your organization what you think is important, to set the incentives in the right direction.
KPIs will not help you if you have no effing idea how to set incentives -- they are just a tool in case you know what you are doing.
Because they are just one step from being a target for your teams, you need to be very careful to communicate what you mean exactly when you set KPIs.
Now, if you make number of users resigning from your services a KPI, you immediately need to set some additional guarantees that this is not overused -- for example by making it difficult for your clients to resign. This might be another KPI (user satisfaction with regards to how easy it was for them to resign).
Humans are extremely good at gaming KPIs, and will do so as long as they're rewarded for it.
Organizations have hard time improving without measuring their performance and communicating incentives.
There isn't magical solution you can scribe on a paper and tell everybody -- this is exactly what you need to do to achieve success.
The best what you can do is compromise, it is unavoidable.
So we know setting targets can make wrong incentives. It is also not a reason to not be setting targets. It is a reason to make sure you damn set those incentives right and take close look that you are getting what you have intended.
You have a target that you can't measure directly, hence you measure a proxy. That only works for as long as people don't game it and aim for the proxy instead of the actual target. Also, in addition, at least in research every statistician worth their salt knows that their proxy is not the actual thing and only their best effort at approximating it, hence in good studies, limitations of the methodology are extensively discussed.
Importantly, the moment you realise that your proxy is being gamed, you need to switch proxy.
I think this is only one example of this annoying trend of pretending to be "data-driven" by coopting numbers and fancy statistics without also adopting everything we know about uncertainty and how we can quantify it. "Data" in many businesses often implies a level of clarity ("look, the graph always goes up") that often does not actually exist and I suspect that this can be hard to understand for certain types of managers.
If there's a single KPI and all the reward is tied to that without any balance, sure that will be gamed.
But if there is a well-defined, appropriately complex reward function aligned with the utility of whatever the organization delivers to the outer world, I would consider that a positive.
Output metrics chosen correctly also tend to represent things that the team/person has a reasonable degree of control over. For example, a developer KPI probably shouldn't be number of new customers because that's something they have vanishingly little control over, especially at an individual level.
The problem is that those things that a number of different teams are contributing to are probably the thing that the company cares about.
Metrics are either (1) targets or (2) things that you are trying to analyze in relation to the metrics that are targets or (3) a waste of the time you spent gathering them.
The reason metrics are often bad when they become targets is the metrics arr usually not actual direct measures of goals, but things assumed to be convenient proxies, but when you push hard on optimizing them, they stop being good proxies because as well as being easier to measure than the real objective, once you pick any low-hanging productive fruit they are inevitably easier to improve in ways that don’t improve the real objective as much as the proxy (or at all, or which negatively impact it.)
I don't think there is a a good solution. Maybe with radically shortened work hours and less pay disparity, the strives can strive off the job instead.
Mondragon please get in the tech biz.
/s
When there as many evaluators as evaluatees, no standard evaluation procedure is needed on the theory that all the different ways and biases will cancel out. That doesn't work over time, as clearly America's electorate gets interested in different things, but I am less worried about that for co-ops.
The hope for co-ops vs state democracy is two fold.
Firstly, because people do work many hours at their job, but don't necessarily spend any time running the state, I hope they are more informed and engaged.
Secondly, the "both options are bad, I hate this" problem should be addressed by A, proportional representation (just like should be done with state democracy states), but also B of switching jobs. The barrier of switching jobs is much lower than immigrating, which ought to more than any thing else reign in defeatist apathy. And Co-ops can still fire people, remember.
This isn't just theory. This is precisely why there are laws that prohibit rewarding people based on how they voted.
> This is precisely why there are laws that prohibit rewarding people based on how they voted.
Voting is not an evaluation method of the voter: the voter is the one doing the evaluating. Because the powers should not discriminate between voters as you say, the vote cannot be used to evaluate the voters on and individual basis at all.
Maybe the answer is that: no individual/team assessments of any sort. That makes no incentives. But that also doesn't help with fine-grained strategy.
...by not tieing incentives to it? I feel like I must not understand your question because this seems blindingly obvious...
> Voting is not an evaluation method of the voter: the voter is the one doing the evaluating. Because the powers should not discriminate between voters as you say, the vote cannot be used to evaluate the voters on and individual basis at all.
I don't even get where you got this strawman from.
> no individual/team assessments of any sort. That makes no incentives. But that also doesn't help with fine-grained strategy.
No, just dont use KPIs that are critical to understanding your business in assessments tied to incentices because that will distort your KPIs and make you less capable of understanding your business.
The original quote is
"Any observed statistical regularity will tend to collapse once pressure is placed upon it for control purposes."
Right, but my post, the post I was responding to, the post the post I was responding to was responding to, and the article in the link, was specifically about a situation where KPIs are tied to actual people. I'm not sure what you're arguing for or against.
Use SMART objectives (Specific, Measurable, Achievable, Relevant, Time-bounded) and set a realistic service uptime (e.g. how many nines you want in a given month/quarter/whatever) and KPIs directly enable good decisionmaking at all levels of the org.
Manager up in your grill about a choice you made? Point at the KPIs and say "this will help make it easier to meet our objectives for KPI 1.1" or whatever.
Now, if the people approving patches are just normal employees who can get fired if a kernel sponsor complains enough, it’s going to be much harder for them to successfully deflect all the bullshit without ever caving in.
Linux health happened *despite* Linus' manners, not because of them.
For one, I think it might be possible Linus's no-nonsense attitude is for the better of the organization as people who can't work with it are leaving causing Linux developers, on average, to be more no-nonsense and also able to coexist better with other no-nonsense people.
But, it is my conjecture only. We would never know how Linux would fare if Linus was another guy.
Wasn't the other person doing exactly the same, just on the "pro-asshole" side of the argument?
These are logically not the same structure of argument. I'm not making any character judgements about people involved in this discussion, or on the LKML either for that matter.
I'd agree with this for 99% of the time. There's a small 1% of the time though...where sometimes people really need to be told to fuck off.
On GPLv3 lots of calls for Linus to stop supporting GPLv2
"How do we get you to stop..."
https://www.youtube.com/watch?v=PaKIZ7gJlRU
And the list goes on and on. That said, his decisions seem to have worked out amazingly well. At some point I can imagine getting tired at having to repeatedly defend your views.
As someone who regularly deals with bugs and inconsistencies in Linux, I wouldn't say so. For me personally, I just want to be able to fix the issues, and would rather not spend the time bickering with someone who has some kind of personal vendetta about something that I don't know about. I try hard not to dump my baggage on other open source maintainers, I hope others can do the same.
I have trouble understanding why it bothers people so much that Linus is rude sometimes. You don't have to interact with him if you don't want. You can even contribute to the kernel without interacting with him. Whatever he's been doing has been working for going on 3 decades now, I don't see a burning need to change it because it bothers some outsiders.
There's this weird sense of entitlement. People want to elbow their way into this long-running and successful project and start telling everybody how they ought to behave. They think they have the right to contribute on their own terms without bothering to understand the project culture, and think it's everybody else's responsibility to make things easy for them and behave in a way they approve of.
If you really think the LKML is too toxic and hostile, to the detriment of the project, then feel free to fork it and start up a parallel project without the problems you see. Surely your friendly corporate-style culture will attract more contributors and soon you'll have the more successful kernel, right?
Personally, I like having somebody in charge of the core of the OS who's so concerned with correctness and hygiene that he gets upset when they're violated.
>feel free to fork it and start up a parallel project without the problems you see
Most Linux distros are basically already doing this. They all have their own patchsets. It's well beyond correctness and hygiene at this point, if you actually look at the changes that are being disputed, it already falls a lot more in the "cultural differences" category.
The cultural differences that cause distro forks are debates over free-vs-libre, what belongs in the kernel vs userspace, and standardization issues, not (afaik) "we won't submit this to the upstream kernel because we don't approve of the way they talk to each other there". And I think it's very important for the core kernel devs to hold the line on those issues.
Can people actually point to instances where he was rude?
There has been a longstanding problem of people submitting low-quality patches to maintainers - not to Linus personally - and that problem predated Linus stepping back for one release.
Linus was not ousted and continues to have nearly absolute control; he has, for decades, chosen to exercise that control by delegating ownership of parts of the code to other people. Those people receive and review patches and incorporate them into their repos, which Linus pulls in bulk. (This is the origin of the term "pull request," which predates GitHub's use of it.) He quickly reviews those patches to make sure there's nothing weird, but he generally trusts that his "lieutenants" are making good decisions.
That means that the time being wasted here is the time of individual maintainers, who are reviewing the patch, making a full judgment on it, and pulling it into their tree. Linus sees all such cleanups once per cycle and looks at them fairly quickly.
Almost all of those maintainers have been "normal employees" of various companies for many, many years. Again, take a look at the MAINTAINERS file.
Linus disagrees with you, so strongly that he invested a great amount of his time, reputation, and political capital in changing his behavior and that of his organization.
https://news.ycombinator.com/item?id=18000698
I think I'll trust Linus on that. Linux seems pretty successful.
My question remains: What is the basis of that? Do you work with him? Read his biography at least (assuming there is one)?
These organizations pushing trivial/garbage patches and wasting maintainers' time absolutely have to be called out by the community as unacceptable, so I'm glad to see the post. This is a massive waste of time, time which open source contributors/maintainers often are already short on.
A/B and telemetry-worship reminds me of something I posted on Fedi earlier. Pasting it below:
---
"Guys, I have an idea. Let's make a browser optimized for the kind of people who don't opt out of telemetry, and market it to privacy-conscious people." -- Top minds at Mozilla Corp
If you market to privacy-conscious people and you base all your decisions on data from telemetry, you're gonna get a very skewed perspective. You'll see disproportionate representation from fans (people who want to enable telemetry because they love Mozilla and want to help, and will rationalize any decision Mozilla makes) and very non-technical users who don't know what telemetry is and how opt-in/out works. Technical users who disable stuff like telemetry, analytics, etc. are going to look like a rounding error.
This explains a lot of Firefox's changes.
PKI measuring just commit count is pretty silly. Like SLOC. Cite folklore.org story of -10,000 lines added.
Whereas Qu's suggestions are useful, important. Am totally ignorant about Linux, kernel, etc. But maybe there's already a leaderboard where the hivemind helps prioritize work.
Are we doing Hacker News wrong? Should we have a system to encourage models of good and productive interchanges, which leave the participants happy and the product better? I think hostility is easier but I guess it's also addictive, even for us.
I don't want to be shocked by seeing this. I want to see more of this.
>I'm not saying cleanup is not important, in fact we have routinely cleanups of typos/grammar for btrfs. (And I guess mostly caused by myself?)
>Please at least merge all those small fixes into a larger patchset, and with a good cover letter to explain the reason (and auto-tool to do the change if possible) for all the involved maintainers, so that all of us are on the same page.
Sometimes their patches aren't even valid - they tried to fix "borken" to "broken" and the maintainer was not happy: https://lore.kernel.org/lkml/YK3wOkX6I78j73zD@gmail.com/ (this does come down to not being familiar with this particular bit of slang - but they push back and argue a bit which doesn't help)
Sometimes the maintainers are not happy just getting a patch that fixes one line of whitespace: https://lore.kernel.org/lkml/20210608105943.2376328c@oasis.l...
https://public-001.gitsense.com/insights/github/repos?q=auth...
They do appear to contribute regularly enough (relatively speaking) and based on some of the busfactor metrics, they are the sole maintainer or main maintainers for about 50 files.
And if you look at their one line change commits, they do seem to be valid:
https://public-001.gitsense.com/insights/github/repos?p=comm...
Disclaimer: I'm the creator of the tool for the links above
By construction, yes. You're only looking at their commits that were merged into Linus's tree.
I did not know "borken" either, but I am aware of "borked" and "broken". Based on that email thread someone else already attempted to fix this in the past.
Maybe it's an indication that the so-called "joke" is not actually funny and it should be adjusted to either "borked" or "broken" to not cause others to send the same fix?
("Borken" is a city in Germany, that's my only association with it )
Being German myself it's also the plural of "Borke" (i.e. the "bark" of a tree): https://de.wikipedia.org/wiki/Borke
Similar to the issue with Digital Ocean and Hacktoberfest https://blog.domenic.me/hacktoberfest/
People are always going to try to game metrics.
There were several months where I think we had contributors running a spell checker against patches as a review. They would miss obvious code syntax issues but would request lots of spelling changes (including British->American spelling).
You get what you measure. There's always going to be someone trying to do the absolute minimum to increment the number they get judged on.
The maintainer even said if someone else sent those patches it would be OK, but not if Huawei employees do it. If they distrust Huawei so much, why not just ban them from committing, the same way they did recently with university "security researchers".
Please at least merge all those small fixes into a larger patchset, and with a good cover letter to explain the reason (and auto-tool to do the change if possible) for all the involved maintainers, so that all of us are on the same page.
Patch series are an important part of a healthy review workflow because they allow both a micro and a macro view of changes. I have written about this before: http://nhaehnle.blogspot.com/2020/06/they-want-to-be-small-t...
I know GitHub does something like this already, but GitHub is more techie sharing, and LinkedIn is more about bragging based o what I see.
Yeah, it might've been slightly annoying to someone, but it's a visible waste of time overall.
Accreditation for the modification of petty and trivial issues is a nice and decent gesture, but overall unworthy of a paper trail binding me to any random none-of-my-business project for such a drive-by PR.
Personally, I would feel more comfortable sending that kind of inane PRs if the parent's way of merging was the standard one, but I know it isn't and therefore opt to keep separate accounts to compartmentalize (which unfortunately increases friction to such contributions).
I don't know about others, but before investing significant time in a project, my first action will be to read through the documentation, then the code (and accompanying comments), and then I'll make minor fixes along the way.
After this, I'll submit a PR with my changes. If a maintainer were to close my patch and then proceed to commit the exact same changes under their own name, I'd never contribute, use, or improve that project again. Why would I waste my time?
That kind of behavior displays an immense lack of respect for contributors.
So now there's a target that costs maintainers time, possibly lots of time, and costs huawei nothing.
There's really no control here to dial it back other than to ask 'please don't do this'.
My best guess: It creates a small amount of work for a maintainer to review and merge. This is worthwhile if a new contributor is learning their way around, and getting new contributors is very important to an OSS project. To have a large company submitting a bunch of these is a distraction for maintainers who have better things to do than support someone trying to inflate their metrics.
Linux as a project is big enough, and if maintainers are the bottleneck, maybe it's time to have sub-maintainers to whom such tasks could be delegated.
They already have subsystem maintainers. The result was an even faster process.
I think insisting on quality is way more reasonable.
I can 100% understand the concern here.
Possibly there is some sort of internal corporate metric or just personal bragging rights get tied to these kinds of patches. It costs the company nothing to incentivize this and the maintainers get all the work associated with it.
Like all metrics "When a measure becomes a target, it ceases to be a good measure." (Goodhart's law). There's really no reason for huawei to change other than for the maintainers to ask them to not do that thing.
I recall a talk from a maintainer once gave at some company (I forget where). He detailed what kind of patches get accepted and what don't. They were pretty straight forward standards, some more obvious than others (you know ... say what the patch does accurately).
It wasn't stated but he clearly expected some level of professionalism or just efficiency from the folks giving him work to look through their code on behalf of their company.
I don't think that's too much to expect.
https://news.itsfoss.com/huawei-kernel-contribution/
It's good for PR.
> I'm not saying cleanup is not important, in fact we have routinely cleanups of typos/grammar for btrfs. (And I guess mostly caused by myself?)
> Please at least merge all those small fixes into a larger patchset, and with a good cover letter to explain the reason (and auto-tool to do the change if possible) for all the involved maintainers, so that all of us are on the same page.
https://qz.com/1063073/in-china-you-now-have-to-provide-your...
From the online translation, the mention by one the commentators that the Kernel Maintainer is also Chinese...give me a bit of a chill...
To make it clear ...Not that I would not trust the maintainer, instead, my concern is that depending where he is based a window could be open to unpleasant pressure...
I am concerned about possible pressure from Huawei and its "shareholders": https://www.bbc.com/news/business-53172057 to a Kernel maintainer. Looking at the heavy down votes my post got its not a concern here...
From the email it looks like he works/worked in SUSE.
The maintainer happened to be Chinese and that gave you 'chills'. There are 1.4 billion Chinese and most of them live in China, there are also open source projects hosted in China, and a lot of open source contribution coming from people living in China, if only because there are many people there. The media links you posted are also made of conjecture ('Trump administration claims' is literally in the title) and you've then stretched them with your own imagination to arrive at your 'concerns'.
The concern was that in the Chinese group discussion commentators were mentioning he was Chinese. Now why would that be relevant indeed ?
It can be relevant because it open the possibility to him being pressured by a company that is partly owned by the Chinese Army. That is where the chill was coming from... Hopefully he is based in the US.
Now tell me, where is the racism ?
https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3372669
Who Owns Huawei? The Company Tried to Explain. It Got Complicated.
https://www.nytimes.com/2019/04/25/technology/who-owns-huawe...
It goes into the specifics of the Chinese laws governing employee share ownership, and why the employee shares are held by the union (it has to do with arcana of 1990s-era Chinese laws governing stock distribution by non-publicly-traded companies). Balding & Clarke fundamentally misunderstand why the union is used as a share-holding vehicle, and what the legal implications of that are.
> partly owned by the Chinese Army
None of the sources that you've posted supported this, The PLA is also specifically banned to operate/control business since 1998. The ownership structure of Huawei is also available in more detail here: https://en.wikipedia.org/wiki/Huawei#Ownership
If it's not some deep seated bias, what lead you to straight up invent or stretch claims like this?
This is a detailed refutation of that paper: https://pekingnology.substack.com/p/who-really-owns-huawei-a... It goes into the specifics of the Chinese laws governing employee share ownership, and why the employee shares are held by the union (it has to do with arcana of 1990s-era Chinese laws governing stock distribution by non-publicly-traded companies). Balding & Clarke fundamentally misunderstand why the union is used as a share-holding vehicle, and what the legal implications of that are. ===========
https://en.wikipedia.org/wiki/Labor_relations_in_China#All-C...
"Independent unions are illegal in China with only the All-China Federation of Trade Unions permitted to operate."
"The Trade Union Law in China forces the all trade unions in China dependent with the Communist Party of China."
The bottom line is that the union committee acts as a legal vehicle that allows more than 100 employees to hold shares, and that it can't just do whatever it likes with the shares, because of its legal responsibilities to the employees. This structure was used because decades ago, it was not possible (or at least legally tricky) for large private companies in China to issue shares to their employees.
"Huawei claims to be owned entirely by its employees, but verifying this claim is a tricky proposition...However, comparing Huawei to other Chinese corporations reveals that Huawei’s ownership is highly unusual." .... "Using Chinese corporate data, we determined that Huawei’s ownership structure is very uncommon, particularly for a company of its size. Fewer than three hundredths of one percent (0.0249%) of active Chinese corporations in our dataset are owned by trade union committees, like Huawei."
"...We set out to answer this question using Sayari’s database of 55 million Chinese corporate entities... ...Of these 55 million Chinese corporate entities, approximately 38 million are active."
"...But ownership by a “labor union committee” (工会委员会), like the Huawei case, is very rare. We identified just 4,547 active Chinese corporate entities that list a labor union committee as a shareholder. This represents just 0.0249% of the active non-household enterprise companies in our dataset. Among companies operating in the technology sector, ownership by a labor union committee is even more rare. Only 794 active technology companies in our database—or 0.0201%—are owned directly by a labor union committee..."
"...Of these 794 companies, Sayari was able to identify the registered capital in Chinese Renminbi for 526. Of these, just three had registered capital greater than 1 billion RMB (approx. USD $148 million); Huawei has registered capital of more than 16 billion RMB. Chinese companies of this size usually are major state-owned enterprises, publicly-traded, or both. In other words, it is practically unheard of in China for a labor union committee to own a company of Huawei’s size, scope, and global reach..."
"Who Controls Huawei?" https://www.ui.se/globalassets/butiken/ui-paper/2020/ui-pape...
"Technical dependency and the issue of party-state control over Huawei"
"...While at first glance Huawei’s line of defence appears convincing, there are also reasons for doubt. It is true that the company is privately owned by its employees, but there is reason to believe that ownership does not come with control..."
"...Huawei has not only profited from party-state support, but is operating in a specific political, legal and economic environment that makes it impossible for the company to be fully independent..."
"....The widespread distinction between privately owned enterprises (POEs) and state ownership is not decisive in China. It is not ownership but the issue of “state capture”that is pivotal... "
"...Following an official request, Huawei has confirmed to the author of this paper that party organisations exist within the company in accordance with Chinese law. The company has provided assurances that party organisations have no influence on the company’s business operations and that it is run by an independent management team. The party organisations are mainly responsible for educating employees. The general findings on the deep linkages between the economic and political elites, however, call into question whether such differentiation is adequate in the context of China’s political economy..."
"...China lacks an independent judiciary. While theCCP government speaks of strengthening the role of law in its governance, it follows a rule by law principle and does not intend to implement the rule of law. The CCP has an essentially instrumentalist understanding of law. Law is seen not as a constraint on power, but as a means of power. This means that legal certainty does not exist in areas of crucial political importance. Hence, laws do not provide reassurance against political interference in the business operations of Chinese companies..."
"...China’s Intelligence Law,raise even further doubts about whether the law could shield private sector companies from political interference. Article 7 of the Intelligence Law enacted in 2017 and amended in 2018 requires any organisation and citizen to “support, assist in and cooperate in national intelligence work”..."
"...Scepticism over Huawei’s independence from party-state control does not just stem from the political, legal and economic environment in which it operates....Huawei’s founder, Ren Zhengfei, is widely believed to have a past in China’s People’s Liberation Army. His daughter and the company’s Chief Financial Officer, Meng Wanzhou, is suspected to have held a public affairs passport.... A widely discussed and controversial analysis of the CVs of leading Huawei engineers found a large overlap with China’s security apparatus..."
"...This clearly demonstrates that the main control over Huawei does not lie with the employees of the company, who can only choose 83 people from a preselected list of 109 candidates, but with the nomination teams that hand-pick these people using vague criteria. Whoever wants to control Huawei needs to control the nomination teams. There are no adequate checks in place to ensure that it is not the Chinese Communist Party and its organisations within the company that are the ones exercising such control...."
"...What sparks further suspicion of the process is that none of the Huawei employees I have talked to was aware of the nomination process, even though it turns out that real power of selection lies with the nomination teams..."
"...In the light of these four factors – the general level of independence of the POEs, the legal environment and Intelligence Law, state support for Huawei and the company’s governance structure – it is very difficult to reject the claims of Huawei critics that the company is more than just a privately run company striving for economic profit..."
The article you linked acknowledges the legal reasons that Huawei's employee share ownership was set up the way it was (limits on the number of individuals that private Chinese companies were legally allowed to distribute stares to). Most of the concerns the author has with Huawei are really just general concerns about any company in China - namely that the state theoretically could exert influence over them.
Because the maintainer could've been a foreigner who sees a "huawei.org" email address and imagines that they might want to apply unpleasant pressure to get their typo fixes merged.
Having a Chinese name makes it a bit less likely that the maintainer is influenced by such stereotypes and makes the critique of Huawei harder to dismiss out of hand.
[0] https://www.justice.gov/usao-az/pr/former-raytheon-engineer-...
[1] https://globalnews.ca/news/7275588/inside-the-chinese-milita...
[2] https://blogs.cisco.com/news/huawei-and-ciscos-source-code-c...
https://www.zhihu.com/question/466111598/answer/1953367097
this comment is funny.
https://www.zhihu.com/question/466111598/answer/1953785089
Basically, they claim it's possible that it's not about KPI at all; but rather, Huawei has added some internal processes to try to raise code quality. But those processes, rather than focusing on things like algorithms, ends up mostly catching unimportant things like minor security issues in tests and code style issues in third-party code. So they suspect that these trivial patches are somebody internal to Huawei trying to satisfy their own internal processes by fixing upstream.
That would mean it's still about KPIs, just not those of the patch submitter.
Some of the projects were very large(Apache Arrow, a large Google project IIRC), and they were opening commits up against largely test images.. And a LOT of them. On one of the larger projects somebody rightfully asked "What's the value add here?" who was promptly ignored by what I can only assume is a project manager who start humoring the submitter by trying to help them get this entirely useless work merged. It turned into an epic fail-whale causing all the projects tests to fail and that initial dev spent "too much time" trying to untangle it all before putting their foot down and reverted the changes.
Other project maintainers got wise to these fishy PRs and after inspecting the submitters history just started telling them to sod off.
> When a measure becomes a target, it ceases to be a good measure
I too ponder the meaning.
Not that I have any idea if that's the case here, but I've worked in places like that. Idiotic approach.
The Kernel maintainers have a lot of people who want to submit code to the kernel, and have to maintain standards. I'd imagine there are a lot of emails like this one.
Good on Huawei if they are incentivising open source contributions. Shame on them if they are wasting OSS maintainer time. Presumably well done Qu for promoting some order in a chaotic world.
Pretend you were a dev, and your effectiveness was mostly described within your 500-engineer department in terms of "how many pull-requests" you merged each month. In the abstract, that seems like a reasonable metric to use - it does seem to correlate with actual output, and encourages smaller slicing (which is generally positive). But two years down the line, you find this one guy, consistently in the top 10 rankings, and you feel like he's just not accomplishing that much, so you start looking into his actual workstream. And you find that he does do normal work, but he produces 10 times as many 1-5 line PRs as the average, each of them adjusting some bit of copy or changing an error message. For the better! And his QA isn't bothered, because his work is very easy to verify.
But he's not actually one of the most effective devs in the company, and it's really irritating that his process-games (a) seem to work (the VP of engineering definitely knows him as a 'high output engineer') and (b) impose some unnecessary load on other bits of the company's process (like the QAs and burning CI credits).
That's the emotion in play here. "Stop wasting our time, we can see what you're doing."
I suppose the question is, who are the 100+ people who upvoted this, and why?
I am not using it "dishonestly", and I think that the conclusion it guides people to is completely reasonable and accurate - we should dismiss the majority of opinions that take the form "yup, that's just like China" or "China is doing this shit again? what a surprise."
The behaviors of individual workers in a system where they're being incentivized improperly don't have anything to do with China's current geo-political actions, and I get tired of so many people acting like 'China' (or 'the GOP' or 'California') is a single coherent entity with self-consistent behavior at all scales.
The fact that all these fixes are in separate patches means that its being used to game a Key Performance Indicator.
There is nothing wrong with either.
In short, DigitalOcean unwisely incentivised a bunch of people to make PRs on open source repositories unaffiliated with DO so they could get a T-Shirt. It went so far that some guy actually made a very popular YT video about how you can make a PR for a small typo fix (I guess I still fail to understand why you'd need a YT video to explain that). Maintainers were none too pleased.
Without more context I bet this thread is going to go off-topic.
- trivial patches are ok, if you are just doing it for practice. Like a student.
- trivial patches are not ok, if you are doing a lot of them and only for the purpose to get a higher contribution ranking (like commits per company)
Doesn't Kernel use sponsors approach, like Debian used to for packages? You can push anything, but you find yourself a competent maintainer who filters your work. Like puts your trivial commits in bulk ;)
See:
> > My contributions to the kernel in the past have mainly been on optimizing the performance of the ARM64 SMMU driver, > > including the iova optimization, strict mode optimization, and the lazy mode optimization. Also working on the > > development of some ARM SoC drivers.
> You indeed have done solid contribution to the kernel in the past, thus > better could have been done.
Also:
> Even without checking the git log, I can easily think of some big > contributions from your employer, like EROFS and F2FS. > Thus I don't have any doubt about that.
There's no professional reason to take such an unrelated jab so it feels more like this individual just found an opportunity to settle a score, or has a different problem with Huawei that's harder to support publicly.
NSA has implemented backdoors in software through bug fixes that appear to be just benign typo or spelling fixes but actually allow an exploit in combination with some other exploit etc. To any one accepting the patch it just looks like a typo fix maybe a little odd but nothing dangerous.
Huawei have the people with the skills to do really impressive work but they spend that time and resources fixing typos, this is a little odd.
>NSA has implemented backdoors in software through bug fixes that appear to be just benign typo or spelling fixes but actually allow an exploit in combination with some other exploit etc.
https://www.wired.com/2014/04/nsa-exploited-heartbleed-two-y...
To use an analogy, imagine you wrote a proposal at work and asked for feedback from your boss. Instead of a single substantive response, they send back a few dozen individual emails, each one a comment on word choice, or font size, or a suggestion for a paragraph break. Even if each one of them might have some minor merit, it was done in the most time wasting way possible, maybe because their boss measures their work output by how many emails they send.
Huawei isn't the kernel boss, but they are essentially submitting feedback. Qu is saying that, for a company the size of Huawei, one that is massively reliant on Linux and has developers' time dedicated to it, he expects them to make their own submissions in a less time wasting fashion. He also suggests the proper way to do it.
> If you're hired to do this stuff, you're on your own, you better know what you're doing.
Huawei pays professional developers to contribute to the kernel. Of course they should be held to a higher standard. They should be working on something substantial, not fixing minor problems. Surely there are far more important things to work on. Failing to prioritize important issues coupled with incentives for kernel contribution means they are putting in minimum effort for maximum personal gain at the expense of maintainers.
>>It's essentially saying anybody else than Huawei sending cleanup patches is welcome but Huawei is not.
? I don't think you can because the article does not say that.
Can it be said that the “no nonsense” behavior often exhibited by maintainers of Linux kernel could be one of the reason the project grew to become what it is today
But that could be good or bad depending on whether you think Linux has lived up to its potential or not.
https://public-001.gitsense.com/insights/github/repos?q=comm...
Scroll down to the bottom for a breakdown of the file types.
To review the file changes (click on the files) and commits, look at the following:
https://public-001.gitsense.com/insights/github/repos?p=comm...
Disclaimer: I'm the creator of GitSense and there is a bug where the window size won't show 90, but it is for 90 days.
What's that "broken reputation"? Apart from the media circus about 5G. Anything that Huawei has done wrong related to the Linux kernel or the open source community generally speaking?
The maintainer says there has been a torrent of trivial fixes from Huawei, and this is just more of the same. Someone wants to get ahead at work on the back of Linux maintainers, just like in the recent example with the University of Minnesota.
As someone who works at a big corp with regular OSS contributions, this doesn't surprise me at all. Recently a "Look at how amazing we are" e-mail was sent out to my team touting the number of PRs submitted to a widely-used OSS project.
If your management incentivizes it, you'll try to game the system.
Nice that there is still some sanity on LKML.
I am not a grsec fan but here https://grsecurity.net/huawei_hksp_introduces_trivially_expl...
Huawei is not being singled out here because huawei or china but because of a specific behavior that's being called out here.
what you guys are doing is really KPI grabbing.Presumably here (I don't know if it's been proven) people in that org are being measured by how many commits they make, ignoring the depth or quality of the commits. Because it's someone's idea of a Key Performance Indicator (KPI.) So people are "grabbing" easy commits.
Recently I find one patch removing a debug OOM error message from btrfs selftest.
It's nothing special, some small cleanup work from some kernel newbie.
But the mail address makes me cautious, "@huawei.com".
The last time we got some similar patches from the same company, doing something harmless "cleanup". But those "fixes" are also useless.
This makes me wonder, what is really going on here.
After some quick search, more and more oom error message "cleanup" patches just show up, even some misspell fixes.
It's OK for first-time/student developers to submit such patches, and I really hope such patches would make them become a long term contributor.
In fact, I started my kernel contribution exactly by doing such "cleanups".
But what you guys are doing is really KPI grabbing, I have already see several maintainers arguing with you on such "cleanups", and you're always defending yourself to try to get those patches merged.
You're sending the patch representing your company, by doing this you're really just damaging the already broken reputation.
Please stop this KPI grabbing behavior, and do real contribution to fix the damaged reputation.
^^ Original message
Not sure where he said it'd be okay if anyone else sent it - but I can see why a string of "cleanup" from a company can be seen as more as metric manipulation than any actual worthwhile contribution.
We detached this comment from https://news.ycombinator.com/item?id=27630257.
The other problem is a fair number of Eastern managers don't know or care about the business or management details, they all of want the prestige of a title with the least effort. A lot of no-name businesses in China are more BS than corporate ones elsewhere. After-all, why is there such a huge market for white business actors?
Actually, with this email and the viral on HN, I think this quotation is true for Qu Wenruo. He/she has just damaged the already broken reputation.
Not only Huawei, but also other companies will take a look at this accident to get the learned lessons.
Even the editorialized subject of the post on HN is polemic.
What is this problem with Huawei? It is the US government that is doing the economic war against China and because of that, decided to cripple Huawei.