Linux quickly becomes a quagmire of impracticality once you dare to step outside of the distro-provided or -recommended repositories, so much I would argue it's functionally a walled garden at that point.
By contrast, on Windows you can install, run, upgrade, and downgrade whatever you want whenever you want however you want without sacrificing practicality.
This is among the most insane mind acrobatics that I have read in many years. Twisting meanings to make one of the biggest straight jackets among server and desktop OSes that I have ever encountered in my career sound like it's some kind of heaven of freedom is just outright disgusting. (edit: grammar)
> “one of the biggest straight jackets among server and desktop OSes that I have ever encountered in my career”
Speaking of insane mind acrobatics, it’s like you’re arguing a parody of windows you read on slashdot twenty years ago and have never encountered it at all.
This isn't a totally invalid point. There are so many thousands of packages and options and the learning curve can be very steep, so much so that one 'self-fences', puts up their own guard rails. So something like Windows which is walled, but a very broad pasture, seems unwalled. Whereas, linux/open source, can seem like a dangerous jungle and requires one to build their own wall.
Kind of like old zen parable about how to control cows, give them a wide comfortable pasture and then they behave, and never question the fence in the distance.
lxd init # choose defaults except use "dir" for disk
lxc launch ubuntu:22.04 my-ubuntu # or any other distro
lxc exec my-ubuntu -- bash
Clean, lightweight, full virtual machine every time that's much less heavy than Virtualbox. You can mess around in there as much as you want without creating the quagmire you speak of on your main installation, because it's a full, completely clean VM isolated away. Also lots of distros to choose from. Personally I find Windows to be super unstable once you've installed/uninstalled a bunch of stuff. Obviously, there's also Docker but sometimes you want a full VM to get a bunch of stuff working together.
Linux is far less of a walled garden in principle. And it seems a lot of people are assuming "walled garden" is a statement from developers perspective (no cost license or difficulty in developing for platform).
I think what you're saying though is that your choices and options are far easier and wider with windows as a regular user, than with Linux, and if so I see your point. I've been working with Unix at work happily for 25 years now, day in and out in the cli, yet I've always bounced trying Linux on desktop. It feels like a limited, difficult, thorny garden for most regular windows users :)
That’s not really a walled garden though. A wall is something out there to impede progress. Linux and Windows are not walled gardens, they are forests. A forest doesn’t necessarily have easy paths to every destination, some are far, some are just hard to get to. But there’s nothing artificial to prevent you from figuring out how to navigate through the forest.
Calling the inherent difficulty of things a “walled garden” removes any meaning from the term. I’m bad at picking up human languages, I don’t know lots of programming languages, I don’t know anything about overland navigation, I’m bad on MacOS and I’ve never used an Amiga, so is most of the world a walled garden?
A walled garden isn't just about developer lock-in driven by financial incentives. As far as the end-user goes, if the choices provided outside of the garden are wholly impractical it might as well be walled in practice even if it's not in theory/principle.
This feels like a rabbit hole argument. So, down the rabbit hole we go!
Let's imagine for a minute that using Open Source or FOSS also implies feeding back into the ecosystem. "Normal users" should be feeding back into the ecosystem somehow which then implies some form of understanding of that ecosystem. It can be bug reports (which requires understanding enough to post a coherent bug report), bug fixes (which requires knowing a little more), project leadership (which requires a different skillset and perhaps technical knowledge), monetary contributions (which makes the software less "free")
My argument is, "Open Source doesn't get you past tanstaafl." The work to use it still needs to be done by someone. If you want to be a user of it and the thing you want to do isn't on the already-paved/easy-path then you need to get someone to pave that path for you or you need to understand how to do it yourself. That's the nature of the beast and has nothing to do with being a "walled garden."
> Linux quickly becomes a quagmire of impracticality once you dare to step outside of the distro-provided or -recommended repositories
That’s not my experience with using third party repos and building third-party software from source on Linux. Heck, much of the time that I use Linux is fit software where I need to do the latter and it isn’t practical on Windows.
Your inability to work with Linux distros does not make Linux distros walled gardens.
Your argument would be equivalent to me claiming that the closed source nature of the average Windows software makes the software itself a walled garden. Except in the case of a Linux distro you are entirely free to modify it in any way you want.
The fact that more things work out of the box without much effort and with a GUI on Windows does not make Linux distros walled gardens.
And pretending that Windows allows you to install and uninstall things at will without any side effects is just naive and makes me wonder if you've ever actually used Windows that much. I've had more problems with broken windows installations due to incompatibilities between different versions of Microsoft development tools and frameworks than I have ever had dealing with issues with building and installing software on Linux distributions.
Neither Windows nor Linux are walled gardens in any reasonable definition of the term. A “wall” is a barrier constructed to prevent you from passing.
Windows and Linux are just forests or farms, or however you want to expand the analogy. That somebody hasn’t cut a path for you doesn’t make them a walled garden. Different paths have been cut for each operating system, and people familiar with the particular paths on those systems will have an easier time navigating the terrain. But nobody has constructed a wall. A forest is “functionally” walled off only to the extent to which the person doesn’t know how to navigate. This is not a property of the system but the user.
Go try disabling the telemetry on Windows 10 after each update. On Linux, you can compile stuff from source anywhere. Or even use pkgsrc on top of any distro.
You forgot the ./configure step which is the hard part.
For all but the most trivial of software this step is likely to fail, and often fail big and cryptically. Then you get to figure out what packages to install from your distro's repos to fix all these errors. It's even more fun when that dependency was never packaged for your distro, because then you get to install that dependency from source and repeat this entire process.
Oh, and I hope there's never a security update for any software you install from outside of the repos, because you'll never remember to update it until you need a newer version for some other reason.
> For all but the most trivial of software this step is likely to fail, and often fail big and cryptically. Then you get to figure out what packages to install from your distro's repos to fix all these errors.
In my experience, the vast majority of the time the installation instructions list the necessary packages for at least Debian-style and Redhat-style distros. Build instructions for Windows tend to be much worse. though if the software supports Windows at all, you are slightly more likely to have an installer or at least precompiled binary because build tooling availability and build experience is so much worse on Windows.
By contrast, on Windows you can install, run, upgrade, and downgrade whatever you want whenever you want however you want without sacrificing practicality.