46 comments

[ 4.1 ms ] story [ 109 ms ] thread
Some context that isn't immediately clear: this company is selling a compiled version of the Linux kernel in some way. They are required to disclose their source code if asked and make it clear their code is GPL'ed. They are in violation of the GPL, since they are not doing that.
Only to their customers, not to the world. But most likely they are in violation.
(comment deleted)
The GPL license allows the customers to hand it over to the rest of the world. I think this is overblown unless the code is containing secrets like API or private keys but then they only have themselves to blame for disregarding security.
Couldn't they write proprietary software with an API, then modify (under GPL) the Kernel to call that API?

Their modified kernel with API calls is GPL while they keep their trade secrets... Am I correct?

I think so, this is what Google does with Android, but IANAL.

But it seems the company hasn't been doing that, so even if they make the change now, their old code is still in violation of the GPL, and anyone they distributed it to has the right to request it.

Nvidia with their binary driver as well, that's why the kernel marks it as 'tainted'.
Isn't "tainted" in the Linux kernel used to flag the presence of binary blobs? (and nothing to do with licensing)

All binary blobs in the Linux kernel aren't automatically illegal according to the GPL, right?

Binary blob kernel modules, in fact, have restricted access to the kernel frameworks (cannot access/use GPL symbols).

> I think so, this is what Google does with Android, but IANAL.

Google doesn't ship any proprietary kernel code as part of Android. It's all GPL and available to the public at large.

Some Android kernel parts are maintained separately from the kernel.org mainline tree (i.e. they maintain a fork) but that's not a legal issue (and they're getting better at it anyway).

If they have a custom kernel that only runs internally to provide some sort of SaaS, they don't have to disclose anything.
A moved comment by OP says this: "We are selling a product with a "custom linux kernel installed". Our engineers say that "most of the product is GPL code we've modified", and that since we are selling a product with this software in place, "we're shipping GPL'ed code""
I am afraid the GPL simply isn't worth the paper it's not written on these days, due to the community's idealistic standpoint of "negotiate, not punish". Without the legal teeth of an actual threat of litigation, or the actions of a "rogue" employee like this one, there's no motivation whatsoever to comply. Violations are absolutely rampant.
(comment deleted)
It looks like the manager was right and Francis wasn’t “mature enough” for that promotion.

One thing companies overlook is employee loyalty. In hindsight, they should have gotten rid of Francis and kept Lee.

Now they lost 2 engineers and maybe even the manager.

From what I read, it sounds like Francis kinda got screwed by being vetoed for promotion. There was at least a possible conflict of interest and the fact that Lee knew about the particulars enough to gloat about it doesn't look good for the company.

Employee loyalty is important to some degree. But knowing when your loyalty is being taken advantage of is also important.

You would rather reward Lee's toxic behavior than Francis' loyalty to the company by pointing out Lee's technical issues?
Which part of it isn't mature enough? He's just trying to argue for higher compensation. It looks like he is worth it based on how many problems he can cause for the company.
Lee gloating to Francis about not getting a raise is much less mature.
From what I've read, I'm not convinced the company has done enough to earn Francis' loyalty.

Francis has already invested ~years of time in this company and they've allowed other toxic people to poopoo his career. Sure they've fired Lee (who clearly needs to go) but Ling has yet to see any consequence, and they've stalled on reevaluating Ling's veto.

In the meantime Francis apparently has to stomach this news and wait til the next promotion cycle in six months, one year? This is Francis' life - why should he waste that opportunity cost when he could be {saving for a house|supporting a family} (or some other life commitment).

This is what you get when everything in your business is a process and dehumanized: to the stakeholders other than Francis, this is a headache - a fire to fight in your business as usual.

To Francis this is trajectory altering, of course he has a right to be furious.

It depends what business model and culture you want to nurture. Does enough loyalty stop before stockholm syndrome or even after?

Keep in mind that Francis got promotion vetoed against meritorious reason out of spite thanks to collusion of an inept engineer. What loyalty companu showed? Still considering promotion he would have gotten? That is not even amending damage done by politics.

Of course you'll get loyalty from inept people, they don't have much else to offer. I am not sure if that's a value you're looking for. You wanna have politicians, you promote loyalty, you wanna have engineers you promote merit and skills.

Going along without complaint when you are being screwed isn't maturity or loyalty, it's boot-licking.

The manager should be fired. Regardless of whether the veto was correct or not, it was very unprofessional to leak the reason that the promotion was denied to other co-workers. That unprofessionalism put the company in a very bad position.

The transparency is the only good thing that he did in that story.
Telling the person affected by the decision or even making it public would be transparency. Telling some other person but not the person actually affected is gossip.
You are talking about a dev who pointed out most likely significant issue with Lee's design.

Lee instead of accepting and fixing mistake, attempted to get Francis fired over it.

Failing at that he managed to get one of his friend to deny Francis' deserved promotion. Then gloated about it so Francis found out.

I don't see a single reason for loyalty to a company, especially this one.

> One thing companies overlook is employee loyalty.

Loyalty? Why would anyone have loyalty to a company unless the company has shown significant loyalty to them first? And how would a company show loyalty? I don't mean your team or manager covering for you when something comes up or things like that. That should engender loyalty to those people. That is different from loyalty to the company. I might go further and say that loyalty to a company is wrongheaded. Loyalty to mission or ideal, sure. Loyalty to people. Loyalty to the function in society that needs to be fulfilled in order for society to work (garbage has to be picked up, sewers have to function).

But a company? It's an exchange of my time acting in their interests for their money. A legal abstraction and corresponding rituals that we use in our society as a unit of organization. It's like being loyal to your filing system.

And after the nonsense Francis dealt with, it's hard to imagine why he would feel loyalty to anyone involved in the direction and management of the company. He probably should have chosen his coworkers that he used for references more carefully, too.

Loyalty? Why would anyone have loyalty to a company unless the company has shown significant loyalty to them first?

Loyalty to a company goes hand in glove with equity participation.

Allowing yourself to be stepped on is not maturity, it's cuckoldry.
It's not like Francis would have been the last employee to be soured on the company by Lee's behavior. The promotion denial was beyond petty and toxic.
There is at least two entangled issues there, the first one is a human resource issue, and the second one is a legal issue.

I got the feeling the person asking the question does not really understand what GPL entails.

We lack some context but I am not sure that actually releasing the modified source code to their customer might sink the company. Likely a customer is buying a device or some code but also some expertise and support for future version, some client might try to use the modified version, but I am not sure this would be the majority of the cases in the real world.

Is it just what gets linked here or does "disgruntled" in an employer role question on Stack Overflow usually mean "I am about to be ripped a new one for entirely predictable reasons I failed to notice?".
Calling an employee "disgruntled" is one of those words like calling an ex "jilted". It's an attempt by a speaker to get you to side against the subject of the story they're about to tell, even though the story will likely make you side with the subject. When it's obvious that an employee/ex is acting rash or unreasonable, the adjective is superfluous and left out.
To be fair, describing the employee in the post as disgruntled doesn't seem entirely unfair. I wouldn't be surprised at all if he is displeased and discontented.

That said it's probably unnecessary to pre-label, they can let people come to their own conclusions.

It’s my understanding that non-competes have no teeth in Canada — in the software industry at least. Is there some except for comp/electrical/mechanical engineers as may be employed at this company?
Correct. "These are generally only upheld in exceptional cases." ===https://www.canadaemploymenthumanrightslaw.com/2018/02/emplo...

Does not stop employers from trying...and most employees do not challenge it.

Worth noting that employers can still try to enforce it via sending nasty-grams to your new employer, which can definitely cause you significant issues if your new employer isn't willing to take on the risk of being involved in a non-compete lawsuit on your behalf.
how would they get involved?

if the non-compete is invalid, and the new emoloyer gives me trouble because of it, can't i also go after the new employer for that?

i mean, making non-competes invalid should protect me from that, otherwise it would still reduce my chances to get a job

Still requires you to take an active role in defending yourself,and some employers may not want the hassle.
they can't avoid the hassle. if they terminate me they'll face a wrong termination lawsuit.
The key thing is that if your old employer is sending out demand letters, you have to go through expensive legal proceedings to clear the encumbrance on employing you. Your new employer has a letter stating that they have to either immediately terminate your employment or get sued - even if they will win in the eventually legal proceedings, lots of places are not willing to get sued over it. Some won't even be willing to pay a lawyer to figure out whether or not the suit has merit.
Seems like they have bigger problem than solving situation with their employees:

> We are selling a product with a "custom linux kernel installed". Our engineers say that "most of the product is GPL code we've modified", and that since we are selling a product with this software in place, "we're shipping GPL'ed code"

First off, completely disregarding the legal status of this, it is both hilarious and encouraging to see this. Why? Because people too often seem to forget that companies you work for actively are likely trying to minimize how much you get from them, regardless of the value you give them. In this situation, Francis is a key employee on the team (the poster says as much), yet he has office politics torpedo a promotion. As far as the company training goes, Francis is doing everything wrong. As far as how you should behave towards a company that does not respect you or anywhere near your value, he's doing a good job playing the cards he has.

I have no empathy for bad company policies or politics. In this situation, a good response would have been for HR to tell Francis how valuable they think he is to the company and that they were going to push through a different path for the promotion, and then to actually do it. Francis likely would not be acting this way without an obvious pattern of disrespect in the culture, and a feeling of being used by the company. If he sees the company (HR) show how much they value him and fight for him to be compensated more because of that, he would likely back off his defensive and combative stance.

Extremely based, I hope this Francis character shares the code
If I was Francis I'd be so pissed off. The company fucked him over and now thinks he is out of line for demanding compensation.
Francis shouldn't have negotiated. He should have immediately walked and then exposed his former employees. You just don't tolerate this sort of exploitation unless you approve of management taking advantage of workers.
The GPL has been enforced by the FSF / Eben Moglen repeatedly and even defended in court by other companies (1)(2).

To quote Moglen:

> Despite the FUD, as a copyright license the GPL is absolutely solid. That’s why I’ve been able to enforce it dozens of times over nearly ten years, without ever going to court. [...]

http://moglen.law.columbia.edu/publications/lu-12.pdf PDF

The claim however has to come from the copyright owner, not a third party that attempts vigilante-style justice like the disgruntled employee.

The employee should signal the license breach to the original authors.

----

1. https://www.theregister.co.uk/2002/02/27/gpl_enforcement_goe...

2. https://www.pinsentmasons.com/out-law/news/first-us-lawsuit-...

Exactly this. Francis would be deeply in the wrong in any court in the US (and, I presume, Canada) for unilaterally publishing their source code, even if required by the GPL. They can be forced to do so, but only by the courts.

As for HR, they really should have handled this very differently. Ling should have been fired along with Lee for disclosing his veto to Lee, who then bragged about it. Francis should have been given the promotion he earned.

If I were in their shoes now, I'd give him the severance package he wants unless he quits on his own—involutary termination of any sort should trigger the package.