The Linux Thread - The Autist's OS of Choice

Many of the new rust rewrites are MIT-licensed. Which means they move to being proprietary at a later date without consequence.
You can take any GPL'd project proprietary whenever you want without consequence too, the blocker is if you had 3rd party contributors who didn't sign a contributor license agreement.

Today a project could always strip out the code locked into the license and rapidly vibe-code noninfringing replacement code - the leverage open source volunteers has is greatly diminished by the ability of AI to rewrite code and the limited IP rights in code (literal copying is forbidden but the primary copyright in a software language is held by the author of the language - there are only so many ways you can use functions defined by a language. Usually this doesn't get litigated unless someone literally stole the code or ripped off look and feel (which is a trademark issue)

The fair way to structure those is to agree to leave a fork of the software as of the date the owner decided to switch to a different license, which is what the Harmony template does, see section 2.3 option 5. https://www.harmonyagreements.org/docs/ha-cla-i-v1.pdf
 
Much lesser known (but had potential) was:

Project Looking Glass

This looks great but they need to get their shit together already. It's basically only win10/11 guest -> linux host. That's great and all but most games work on linux and the big ones that don't require secure boot or other faggotry meaning the problem they're solving is pretty small for all the work they put in. I want earlier windows version to linux (I don't care if they say it's not possible. We're talking about a guest VM you have unfettered access to the VMs memory. Figure it the fuck out).

But more than any windows compatibility I want linux guest -> linux host. Supposedly it's easy and they know how they just don't have a maintainer for it. This is a huge miss because it could be amazing for security. I have all these schizo things I do - remove the IME, disk encryption, tor browser, and so on - then I use... steam. This is a huge vulnerability but if I could put it in a VM just for steam that "just werks" would be fantastic. It would even make every game essentially boarderless windowed mode.

Basically,
1775010828323.png
I've seen this greentext reposted with a comment like "you don't use steam do you anon?". As much as I trust valve which is not much, I just don't think they're actively hostile like every public corp I sure wish I could sandbox steam.
 
I was personally fine with firewalld and AppArmor, rich rules of firewalld are incredibly flexible if you just need it for server usage otherwise nftables all the way through. SELinux can suck a fat fucking dick though, that piece of shit caused me so many headaches and I wished so many times to disable it.

Honestly? Firewalld really isn't that bad if all you're doing is manually opening/closing ports with firewall-cmd. It's certainly more verbose than ufw, but you can learn to live with it. Having lived with Fedora for basically... 5-6 months(?), my biggest gripe with SELinux (at least within a Fedora desktop context) is the fact that the default policy is unintentionally restrictive in the worst fucking ways. I've whinged at length about my audio woes on Linux, the workaround involves a boot override from hdajackretask, and SELinux prevents the boot override from functioning. hdajackretask is packaged within the default Fedora repositories; it's not an RPM Fusion package. I have to do some restorecon shenanigans to adjust the policy to allow that specific boot override to function.

I understand why SELinux functions the way that it does; it's meant specifically for enterprise/server contexts where the sysadmin in question has control over dozens, if not hundreds of computers. AppArmor doesn't scale cleanly because it's application+path-based, whereas SELinux is file+flag-based. It's 100% rational within that context, but SELinux on any given Fedora desktop version like bringing a fully loaded MK-5 to a paintball fight. The funny thing is that Fedora desktops are incredibly generous with the Firewalld setup, considering how there are tons of ports that are accessible by default. You'd think that the Fedora release engineering committee would get the memo and tweak SELinux to make it bearable for home users and hobbyists, but nope. We get the same fucking policy that ships with RHEL.

Many of the new rust rewrites are MIT-licensed. Which means they move to being proprietary at a later date without consequence.

Theoretically yes. The problem is that the permissive license betrayal shtick only works if the software in question is of exceptional quality, and was authored by someone with actual clout in the world of computer science. Andrew Tanenbaum's MINIX was hijacked by Intel for their Management Engine, much to his own horror, and now it's used as the "premier" example of why permissive licensing is highly flawed. The biggest issue with all these Rust rewrites like sudo-rs and uutils is that they're rewrites of non-trivial programs. Honestly? the calculus for a rewrite makes some modicum of sense depending on the context, but the Rustaceans who insist on their way or the highway aren't fucking capable of writing meaningful, battle-tested code. Much less maintaining it over the span of multiple decades.

sudo was already known to be overly complex and /etc/sudoers being almost impossible to manually edit by hand because of the project's aforementioned complexity. This is 100% valid grounds for a rewrite, and that's precisely why the OpenBSD team wrote doas and replaced sudo with it in 2015. The goal was to basically do the same thing as sudo but with minmaxed LOCs, while also making /etc/doas.conf much easier to understand and edit than /etc/sudoers. doas was ported over to Linux in 2015 (ArchWiki article), and appending permit persist setenv {PATH=/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin} :wheel into /etc/doas.conf basically makes it 1:1 like sudo where you have sustained root privileges for the next 5 minutes. The best part? doas is licensed under the ISC License, a permissive software license that's basically equivalent to the MIT/X11/Zlib license. sudo-rs being licensed under MIT terms doesn't mean jack if it's measurably worse compared to doas, where the latter was written in C of all things, runs leaner, has a much simpler configuration file, and is basically just as free to appropriate as the former.

coreutils is more contentious because the program's been around for decades, already has tons of optimisations accumulated over that span of time, and is already ubiquitous within the broader Linux ecosystem. Yet it's not perfect; its footprint is huge and doesn't necessarily lend itself well to embedded or otherwise resource-constrained settings. This is a known issue, and workarounds already exist: busybox being the most popular, and its contentious derivative licensed under permissive terms being toybox. Alpine is the best example of a non-GNU Linux distribution that functions entirely off busybox and musl, but that environment doesn't necessarily lend itself to home computing or even business/enterprise computing at scale. uutils, when divorced of any abstract promises of memory safety makes sense as a clean rewrite of an otherwise large software project. Unfortunately, its quality is abject dogshit and hasn't improved to an extent that would make it feasible as a drop-in replacement. Even if the project claims that it replicates 75-80% of coreutils's functionality, it's still not good enough because you still have substantial problems with edge cases with that missing 20% functionality. If it doesn't come within 95% of coreutils on Day 1 of shipping out as a replacement, it will piss people off and make them immediately roll back (re: Ubuntu 24.10, 25.04)

Even in the realm of permissive software that's permissively licensed, you have superior alternatives to any Rustware you come across. Amoral corporate psychopaths won't waste their time on troonslop Rustware when they could just turn their eyes over to the BSD realm and interact with them the way they always have.


Rust itself isn't an inherently bad language. Null literally writes tons of Rust code that's already in production here on Kiwi Farms, and he basically justifies it by saying that nothing hurts a trannycel developer more than using their own technology against them. He even has burner accounts on Discord to run for help when troubleshooting obscure issues. RMS literally said that if a Nazi wrote code and licensed it under the GPL, that still counts as free software and the community shouldn't shy away from using it. So why shouldn't the reverse be true?

The biggest issue I have with Rust is the fact that it's basically been around for a decade and change at this point, and it simultaneously wants to be a low-level systems programming language and a low-floor, high-ceiling multipurpose programming language for user applications and web development. These are two fundamentally incompatible design goals, and the longer Rust tries to do both, the more evident it becomes that it's fundamnetally incapable. Not even capable of doing it poorly, I mean outright incapable. It's been around for a decade, and it still can't self-bootstrap; it needs Clang and LLVM. How the hell can you call yourself a low-level programming language if you can't even self-bootstrap? Go came out in 2009, and it was capable of self-bootstrapping in 2015... right when Rust first made the rounds.

The memory safety is basically the only thing Rustaceans can bring up because that's all they fucking have. Using Rust is like going to a bowling alley and having the rails up to prevent you from gutter balling. To be absolutely fair here: this approach is invaluable within permission-constrained environments like web development, even user applications that don't interact with root/admin privileges whatsoever. For low-level contexts, you need to deliberately flout the guardrails with unsafe, which theoretically is acceptable but practically unacceptable to the broader Rust community. If you admit to using unsafe, you get told that you're doing it wrong, even if you specifically need to invoke unsafe to do what you need to do.

Furthermore, the memory safety argument is fucking bullshit when you realise that there's far more pressing categories of bugs that don't emerge from memory issues. Y'know what's far more commonplace? Programmer error when they're hundreds if not thousands of LOCs deep into a codebase, and they do something they shouldn't have because their focus was diminishing for that little moment right there. Human error has an uncanny ability to manifest regardless of how many guardrails you put into place, and I'm sick and tired of Rustaceans pretending that it isn't the case. Why care about optimising your code to not consume so much fucking RAM because oh it's all memory safe anyway because you wrote it in Rust? Why care about how many dependencies you're pulling in through cargo because oh hey, they write it all in Rust too and it's all memory safe and nothing bad ever happens? Spoiler alert: your standalone Rust code could be immaculate and you'll still fuck up by pulling in something from cargo that was compromised without you ever fucking knowing it.

If Rust specifically picked a lane, like going all-in on memory safe user+web application development or going all-in on low level yet categorically unsafe code, if it was capable of self-bootstrapping, and if the cargo ecosystem wasn't a horrific monstrosity that pulls in packages willy nilly without the user's consent, I'd actually think Rust is a worthwhile language to learn. As it stands? I'm far more inclined to trust C as the standard bearer and immovable titan of software development.

now im curious as to why you prefer sysvinit over literally anything else

sysvinit's problems were already well-documented with plenty of known issues, but there is real value in learning it. Linux from Scratch has simultaneously maintained systemd and sysvinit books for basically a decade at this point. The big differentiator here is that learning Linux within a sysvinit context teaches you how a GNU/Linux distribution is meant to function in the barest of ways possible. Then learning systemd would teach you exactly how vast in scope the project is, and how much functionality got subsumed by it. That's my personal justification for seeing value in it, not @RACISM's.

ok so to follow up since you disagreed with "users that are looking at alt inits should not go with sysvinit but instead a modern init" familiarity doesn't work there so what's your reason for recommending sysvinit specifically

The alternative init space isn't really promising. sysvinit has the highest pedigree because it was "default" for basically all of GNU/Linux's history until like 2015ish when the broader Linux ecosystem began agglomerating around it. OpenRC can be run as a standalone init system, it works well in that context, but it was originally designed to interface with sysvinit. Still goes without saying that OpenRC is basically your next best bet because Gentoo ships with it and people who've fiddled with Gentoo at any point in their lives will have inevitably heard of it. Anything else is basically an exercise in "how much pain am I willing to inflict on myself for not living with systemd, and going off the beaten path by eschewing OpenRC. runit is technically older than OpenRC, but it never saw any mainstream (or even mainstream-adjacent) adoption before systemd because Canonical's upstart ironically upstaged it in 2006. Both Ubuntu (from 2006-2012) and RHEL (RHEL+CentOS 6.x) shipped with, and maintained upstart for the longest time. If that wasn't bad enough, s6 basically has no notoriety to speak of other than "Oh yeah, Artix gives it an ISO."

Hot take that I'm guessing most disagree with in here but BSD license is my favourite.

You're in good company with me. The GPL is invaluable insofar as maintaining accessibility of the code long-term, but it just attracts the most histrionic freaks. BSD license at least implies you're gonna be using FreeBSD or OpenBSD.
 
BSD license at least implies you're gonna be using FreeBSD or OpenBSD.
Not really. It just implies that you can put it in a closed source project if you wish and they don't mind. Windows famously (well maybe not famously) ripped off their networking stack from BSD and bundled it with windows. The last Windows I ran on bare metal was Windows 7, and even then if you booted into Linux (or used Cygwin) and ran the strings command on telnet, ftp etc, it would print out the Berkeley copyright notice. Hilarious they didn't trim it even by then. I wouldn't be surprised if you still get the same behaviour on modern Windows.
 
Not really. It just implies that you can put it in a closed source project if you wish and they don't mind. Windows famously (well maybe not famously) ripped off their networking stack from BSD and bundled it with windows. The last Windows I ran on bare metal was Windows 7, and even then if you booted into Linux (or used Cygwin) and ran the strings command on telnet, ftp etc, it would print out the Berkeley copyright notice. Hilarious they didn't trim it even by then. I wouldn't be surprised if you still get the same behaviour on modern Windows.

I'm more familiar with downstream proprietary software vendors (re: Sony, Netflix, Yahoo) contributing code back upstream to FreeBSD, with Microsoft being the sole exception. Within the realm of BSDs, there's an incentive to contribute back to the OS project because the entire project itself amounts to a text console operating system where they don't interact with the ports tree whatsoever. All the proprietary layers are basically tacked onto that text console OS base, so if the base fucks up, no harm no foul to submit those changes back upstream. Brain fart on my part for forgetting that Windows ripped the TCP/IP network stack from BSD.
 
Did Apple ever submit anything back? OSX was based on FreeBSD when it first came out and I think macOS still has significant codebase from it.

OSX was based on NeXTSTEP which itself was derived from FreeBSD. Darwin itself is still technically free software, released under the terms of the ASPL 2.0. It's just that concerted efforts to make a FOSS Darwin distro went tits-up decades ago. CUPS is the biggest contribution Apple made in the BSD world, and that's a contribution that's felt in the Linux world too.
 
Not really. It just implies that you can put it in a closed source project if you wish and they don't mind. Windows famously (well maybe not famously) ripped off their networking stack from BSD and bundled it with windows. The last Windows I ran on bare metal was Windows 7, and even then if you booted into Linux (or used Cygwin) and ran the strings command on telnet, ftp etc, it would print out the Berkeley copyright notice. Hilarious they didn't trim it even by then. I wouldn't be surprised if you still get the same behaviour on modern Windows.
Is there some sort of proxy license where you could either a) contribute back code or pay to use the license or b) purchase the license through a third party that aggregates licensing so you can pay them a flat rate to a pool of software and they manage contributing back to the original projects, either paying for license access or contributing source code?

I feel like if there was such a thing it would solve multiple problems. Say Tom and Jerry each build a widget, Tom offers his widget under an open licence that requires contributing back and Jerry offers his widget under a private license that requires paying to use. Moe wants to use both widgets, but programming is beyond him and keeping track of the licensing is a bit much. So instead he pays Studebaker, who reaches out to Tom and Jerry and works out a system where Jerry gets paid for access and Tom gets code contributions back. Studebaker then can offer the widgets to Moe at a flat rate where he handles support for the widgets.
 
Is there some sort of proxy license where you could either a) contribute back code or pay to use the license or b) purchase the license through a third party that aggregates licensing so you can pay them a flat rate to a pool of software and they manage contributing back to the original projects, either paying for license access or contributing source code?

I feel like if there was such a thing it would solve multiple problems. Say Tom and Jerry each build a widget, Tom offers his widget under an open licence that requires contributing back and Jerry offers his widget under a private license that requires paying to use. Moe wants to use both widgets, but programming is beyond him and keeping track of the licensing is a bit much. So instead he pays Studebaker, who reaches out to Tom and Jerry and works out a system where Jerry gets paid for access and Tom gets code contributions back. Studebaker then can offer the widgets to Moe at a flat rate where he handles support for the widgets.

So, the big issue with your proposal kinda hints at a more practical issue in the permissive vs. copyleft debate. A copyleft license utilises copyright law as its enforcement mechanism for matters relating to contract law. The problem is that in most jurisdictions, copyright law and contract law are two wholly different bodies of law that don't necessarily interact with one another all the time. If someone runs afoul of the GPL, copyright law is used as a justification to invoke contract law-adjacent mechanisms of enforcement, that in themselves, operate independently of actual contract law mechanisms. It doesn't sound like a big deal until you're a software developer standing in court trying to plead your case against $insert_company_here. To be absolutely fair, there are precedents within robust jurisdictions for copyleft winning in court (i.e. the USA), but it's not universally applicable.

Within a commercial context, this is especially problematic because a GPL violation can trigger injunctions that require you to stop distributing whatever product you have with GPL code. If this was strictly in the domain of contract law, monetary damages, settlements and/or negotiations, grace periods, those would all be on the table. Yet copyright law enforcement mechanisms involve injunctions, statutory damages, and tons of leverage for the plaintiff. To be clear: it's 100% feasible to run GPL code at production scales within your codebase. We wouldn't have Linux powering basically the broad majority of web servers, operated by dozens of huge companies, if that wasn't the case. In most cases, compliance with the GPL (or any copyleft license for that matter) is easier than bucking the trend. Yet the legal asymmetry where the upstream developers have more leverage than the downstream companies using GPL code is a tangible reason why tons of commercial enterprises don't use copylefted code at scale.

The permissive license, in this context, becomes far more appealing to companies utilising FOSS code in their production environments. That's why FreeBSD still gets patches from companies like Sony, Netflix, and Yahoo. pfSense and OPNSense both ship FOSS derivatives of FreeBSD, yet they also operate companies that sell hardware and proprietary versions of pfSense and OPNSense to customers who don't wanna Huck Finn it. It's not just big, multinational companies preying upon FOSS asymmetrically. You also have FOSS developers actively trying to turn a profit on their own products. This exists even within the world of "weak" copyleft because Codeweavers is the primary developer of Wine, and they've been making money off Crossover (an enhanced, proprietary Wine variant) for decades.
 
Isn’t that something that could be addressed regardless of what language something is being written in?
It could be any language in a vaccume. But looking at this in isolation is foolish. Much like other attacks on open source, occupy wall street, everything good and right in the world, etc. the troons are the shock troops for the corpos/intellegency agencies. And rust == troons == corpos/TLAs. The NSA recommends using rust btw. They hoard zero days but totally care about the security of American software. And there is absolutely no chance that rust itself is compromised. Ignore the ever changing spec, inordinate compile times, pulling in a bazillion crates, and all those other things that would make hiding this easy.

One angle is project subversion with CoCs. This will make open source worse pushing people back to microslop et. al. This of course gets corpos money and TLAs back doors (look at the rdrand thing and troons trying to remove Theo Tso).

But that alone wouldn't work. Some projects will resist, some will get forked. The cuck-license angle is how they plan to deal with that. You can't embrace-extend-extinguish coreuitls because of the copyleft license. But once you get all the faggots to rewite it into uutils with a cuck license and all the major distros to switch over, well, now you can EEE just like the good old days. AI will turbo charge this but it that might work out to a net benefit if replacing cobol destroys IBM and the boost to open source development is bigger than the corporate one.

Locked down hardware with secure boot/IME/TDX is another I've complained about at length so I won't sperg about it again (for now anyway).

Then of course the ID verification angle for all online services that's being pushed right now.

Succeed with these attacks on the majority of the ecosystem and you'll have the nigger cattle giving their ID to their TV and win14 in no time. Then you can start harassing wrong-thinkers with the police like they do in the UK. There are already laws in force banning critizing isreal and yeah, they're unconsitutional. You up for a 15 year legal battle and six figure price tag to go up to the supreme court to prove it? And then to do it again every time they just pass another law like it?

Hot take that I'm guessing most disagree with in here but BSD license is my favourite.
Wittingly or not you are part of the problem.
 
Last edited:
The NSA also recommends AES256. Are you claiming it’s all backdoored and we should use Serpent and Twofish instead?
I dunno man. I think anything recommended by an agency that has intentionally pushed for adoption of flawed cryptography and stockpiles 0 day exploits should be viewed with suspicion. I can't tell you for sure what is and is not compromised because I am neither omniscient nor do I have access to top secret NSA data. If that makes me a schizo then so be it.
 
ok so to follow up since you disagreed with "users that are looking at alt inits should not go with sysvinit but instead a modern init" familiarity doesn't work there so what's your reason for recommending sysvinit specifically
I don't assume that people are unfamiliar with sysvinit- it's how things always used to work and some people will be coming back to Linux after some time away in which the major distributions have been ruined. It's documented as far back as the Linux kernel is, and apart from the fancy modern features like being able to reload your inittab on demand in case you need to do something like change the speed of one of your serial consoles, it basically operates the same as the real System V's init system, so really it's been documented for more like 4 decades than three and a half.

I'm not against using other init systems that are real init systems (rather than malignant tumours), something like openrc is just fine, but I can't see much reason to stress about shaving seconds off cold boot time nowadays.
 
I’m not baiting - this is a genuine question. What’s the arguments against Rust besides some icky troons like it?
The #1 thing I have against Rust is the fact that it's a Mystery Blob language.
To compile Rust, you need the Rust compiler. To compile the latest version of the Rust compiler, you need the previous major version of the Rust compiler, and to compile that you need the major version of the Rust compiler before that all the way down to the very first version of Rust that compiles on gcc. It, unlike all other supposedly low-level languages, cannot bootstrap itself up to a modern version, only the first one.
So, unless you like spending a solid week straight series compiling Rust, you need to accept a Mystery Blob that's the latest version Rust compiler and just trust the hash and the source, okay?
Also, it's literally been designed for Mozilla Firefox development. Are you a Firefox developer or similar? Good, keep using it. Package-heavy web development? Sure. Low-level core system development? Fuck off. It is fundamentally incompatible with system development. Null's application of webdev and forum dev? Yeah, why not. Anti-DDOS and server management? Iffy, but can probably get by. And if it weren't bad enough, it has a npm-style package repository that is essential to development. Now your low-level backbone program has the teensy weensy vulnerability of one of several thousand packages being compromised.
 
Within 5 years, the design of AES was demonstrated to have severe weaknesses when it came to timing leaks that allow complete key recovery in some situations. It’s very unlikely that NSA didn’t know about it when they approved it, but rather considered it one of their NOBUS “crown jewel” secrets.
They definitely knew about it. They've pulled these shenanigans before (DES).
Nonsense, we can see they’re trans any day of the year.
We need a day of trans invisibility.
 
replies r still open btw im still waiting for someone to tell me why sysvinit is better than s6 dinit runit and openrc for new users
And where did you mention 'new users'? I have been using Linux for more than two decades. I don't run unreliable software if I can help it- so I don't need an automatic service restarter. There is no good reason for me to change to a less-well supported init system just to save two seconds on boot. I don't really see any particular reason for new users to use anything else either.

If you use Devuan sysvinit is really well supported. As simple as proper init scripts are to mangle up, I like that anything worth running will just have a init script ready to go because sysvinit is just the normal default as far as real init systems not created by vampiric child molesters named Lennart go and so I don't have to do any work at all, just like there will be xinetd template files with reasonable defaults for anything that should be set up to respond on a TCP port. I assume if someone went with Gentoo as their starting position with Linux then the same should be true of OpenRC for anything packaged by Gentoo, but again, at this point in my life I can't be bothered messing around with something that should just be a simple appliance running software that is mostly decades old.
 
Back
Top Bottom