[EN] NPM Obfuscation Rant
I have a project I’ve been working on so I could learn a bit of JS and make my life, and the life of my buddies, easier. It’s some shitty Discord bot that doesn’t work half the time, but it’s enough for me to have some fun once or twice a month when I have to fix shit up. It uses some libraries, and sometimes, if I think a library is way too big and I only need a part of it, I copy the code. My project is FOSS. I don’t make any money off it, I don’t hide it, I don’t obfuscate it, I don’t care about it. I don’t want people to sell it, as it’s free and open, but I wouldn’t mind people taking the code and making something that is actually great and not broken every two months.
That being said, when I was searching for some libraries that do what I needed for my bot’s functionalities, I came across a bunch of libs that are clearly made by scumbags who most likely steal code, obfuscate it, and present it as their own to boost their ego, cred, or whatever the fuck they think they’re doing. Or maybe they do it to protect themselves from people who would take their code and sell it. Which will never fucking happen.
Oh no, I’m sure your five lines of obfuscated nonsense are going to be the next great innovation in computer science. How dare I try to reuse code in an ecosystem supposedly built on sharing? What the fuck am I going to do with your shitty 5 lines of copy-pasted shit that you obfuscated so you could sell it to your buddies, uni, or work as your own project, while I know you stole it from one of the more popular and actually FOSS solutions that have nothing hidden, but are not updated that much so might not work. So while I appreciate those people who take their time to develop a lib that I will use, I fucking hate shitheads who are selling snake oil with their shitty courses and subpar development skills that they fucking try to sell as if they were fucking Ken Thompson himself.
I need a few lines. I don’t want your whole obfuscated lib. Maybe I want to do something in a lean way instead of importing 500 lines of code that I know for sure are not needed, as I’ve created something similar in like 50. Now, I am a shitty coder. If I knew any better I would write my own shit. But it’s not just that. It’s about other users who want to fucking use libs that are FOSS, but get shit that is not even distinguishable from malware, and probably is fucking malware. Can’t you just fucking be normal and share your code, instead of copy-pasting each other’s shit so you could all become senior devs who move to Canada or the US to waste money for a few years before getting exposed as the frauds you are and deported back.
Fuck NPM for allowing this. Fuck people who do this. Fuck JS.
There are so many libraries that are actually useful, even genius, and I would gladly pay for them. These devs share their code for free. They don’t hide it, they don’t obfuscate it, and they’re not scared of thieves or whatever. The people who write libraries like that earn respect, credibility, and often money, because they know what they’re doing and they’re actually good devs. Compare yourselves to them, and then drop dead.
Also, NPM should start banning anything obfuscated, not just because it’s basically malware, but because it promotes bad practices and goes completely against the spirit of FOSS.