But as a manager at any organization, the correct answer is to fire people like this because they become insidious and take over your business.
Have a moral backbone.
Is it fair? No. Lots of corporate decision making will never ever be fair. Deal with it, or work with these people. Find ways to financially incentivize morally correct behavior and exceptional engineering. The latter is important because good people leave and they’re literally worth more than your other employees.
Oh and by the way, they’re disgusting to work with, and regardless of your moral compass they will make you a worse engineer.
I worked with these types of people at my last job.
One guy didn’t know how to fork a repo and maintain an internal copy of a project with clean portable diffs.
The other was afraid of regular expressions and didn’t understand libc versioning.
Losers behave like losers.