Hello everyone! I would like to know why there seems to be some dislike toward Ubuntu within the Linux community. I would like you to share your reasons for why you like Ubuntu or, on the contrary, why you don’t. Thanks 🙇
it has a gui installer (i use arch btw)
For me, Snaps are the thing. Ubuntu has chosen to use Snaps even for things readily available on other distros / in many repos without the need for Snap.
Linux is about choice, and making that kind of decision eliminates some choice. And given that Ubuntu is commonly recommended for new users – partly because it is often one of the few distros with official support for stuff – it’s extra annoying.
Edit: in practice, there are many Ubuntu-like distros that are probably just as good for new users and don’t need the Snaps (e.g. Mint). But new users won’t know this. If Ubuntu were not the behemoth it is in terms of name recognition, many people would care less.
Snaps obscure content from validation also.
Yes. One more reason why they are against a major benefit of Linux.
Snaps also can’t be mirrored locally or lifecycle controlled in an enterprise environment, as the server portion isn’t open source.
They can, through the Snap Store Proxy. You can fully airgap the process and host a local mirror.
As far as I know, you’re still locked into their ecosystem, though.
I’ll give some anecdotes.
- A friend long ago was setting up VSCode and Java. He wasn’t the most familiar with Ubuntu, or Linux at all – imagine his struggle when his JDK couldn’t be found. Why? Non-obvious to him, it was sandboxed as a
snap
. - When I was a noob, I was looking for a package for some app, but when I found a PPA, it was an enormous command to set up. And hunting online for software… how Windowsy.
- When I was a noob, I was theming my system with a mildly rare theme. But Firefox was a
snap
. And since the theme didn’t have asnap
, I had to try to integrate it myself or de-snap
Firefox… shiver
Maybe it’s changed now. But (1) pushed me to Mint, (2) pushed me further to distros with simpler text-based package management, and (3) is hopefully easier nowadays.
Bottom line (as many agree): Snaps are uncomfortable for a lot of levels of Linux.
- A friend long ago was setting up VSCode and Java. He wasn’t the most familiar with Ubuntu, or Linux at all – imagine his struggle when his JDK couldn’t be found. Why? Non-obvious to him, it was sandboxed as a
Ubuntu has gotten fairly pretentious in it’s nature. I remembered it being like one of the best distros to use. I’ve fallen off from Ubuntu since 11.10 though.
Ubuntu initially positioned itself as a staunch advocate for free software, reflecting its roots in the principles of open-source freedom and collaboration. This ethos is captured in early mission statements and community declarations that emphasized the “freedom to use, share, study, and improve” software.
Today, Ubuntu still mentions its commitment to free software, as noted on the Ubuntu Community Mission page, which emphasizes building tools accessible to all and maintaining an ethos of openness and collaboration. However, its approach has evolved to include a pragmatic balance between free software and proprietary solutions.
To me, it’s just death by a thousand papercuts. It doesn’t have any unique selling points that I’m aware of, and it’s slightly worse than my preferred distro in every way that the two differ, at least as far as I can think of.
For me: not Gentoo.
Generally I recommend OpenSUSE Thumbleweed or Slowroll.
The general philosophy behind it.
Ubuntu started out as Debian with some improvements.
Once they were established as the primary Linux distro, they pivoted to an MS-like approach. They tried to invent and implement their own solutions for things that an agreed-upon solution already existed, and was in need of manpower to iron out the kinks (best example is developing Mir instead of throwing their weight behind Wayland, or creating Unity instead of improving Gnome).
They also tried again and again to monetize their OS, which they built on top of millions of volunteer work hours from the Debian project.All of these efforts failed so far. Their current “we can do it better” project is Snaps, which again duplicates volunteer work instead of contributing to Flatpak which was there before.
I’m willing to admit this one does make sense, since their goal is to make an OS where everything except the kernel and the init system is a snap, something which you can’t do with flatpak.
But I’m also pretty sure that’ll fail again.If they simply built an OS with a Debian base, newer packages, 2 releases per year, an LTS every 2 years, and a GUI selector for Gnome or KDE in the installer, they’d be the perfect beginner distro. On the other hand, then they wouldn’t make any money.
On the one hand, diversity is usually a good thing for its own sake, because it reduces the number of single points of failure in the system.
On the gripping hand, none of Ubuntu’s many projects has ever become a long-term, distro-agnostic alternative to whatever it was supposed to replace, suggesting either low quality or insufficient effort.
I’m . . . kind of torn. Not that I’m ever likely to switch from Gentoo to Ubuntu, so I guess it’s a moot point.
none of Ubuntu’s many projects has ever become a long-term, distro-agnostic alternative to whatever it was supposed to replace, suggesting either low quality or insufficient effort
I’d add irrational hate against Canonical to the list of possible causes.
systemd was in the hands of one single guy with very controversial ideas in the beginning. It wasn’t really better than Upstart, yet got adopted by more and more distributions over time.
Unity worked smoothly when Gnome-Shell was sluggish as hell on the same hardware.
And you have fixed versions every half a year with a set of packages that is guaranteed to work together. On top of that, there’s an upgrade path to the next version - no reinstall needed.
Ubuntu’s slogan is “Linux for human beings” which fits quite well, I believe. Otherwise, it wouldn’t get recommended to newbies so often. If you want all the nerdy stuff, there are plenty of other distributions to choose from. 😉
Thing is, even when Ubuntu’s software has been packaged outside Ubuntu, it’s so far failed to gain traction. Upstart and Unity were available from a Gentoo overlay at one point, but never achieved enough popularity for anyone to try to move them to the main tree. I seem to recall that Unity required a cartload of core system patches that were never upstreamed by Ubuntu to be able to work, which may have been a contributing factor. It’s possible that Ubuntu doesn’t want its homegrown software ported, which would make its contribution to diversity less than useful.
I’d add irrational hate against Canonical to the list of possible causes.
Canonical’s done a few things that make it quite rational to hate them, though. I seem to remember an attempt to shoehorn advertising into Ubuntu, à la Microsoft—it was a while ago and they walked it back quickly, but it didn’t make them popular.
(Also, I’m aware of the history of systemd, and Poettering is partly responsible for the hatred still focused on the software in some quarters. I won’t speak to his ability as a programmer or the quality of the resulting software, but he is terrible at communication.)
And you have fixed versions every half a year with a set of packages that is guaranteed to work together. On top of that, there’s an upgrade path to the next version - no reinstall needed.
I’ve been upgrading one of my Gentoo systems continuously since 2008 with no reinstalls required—that’s the beauty of a rolling-release distro. And I’ve never had problems with packages not working together when installing normally from the main repository (shooting myself in the foot in creative ways while rolling my own packages or upgrades doesn’t count). Basic consistency of installed software should be a minimum requirement for any distro. I’m always amazed when some mainstream distro seems unable to handle dependencies in a sensible manner.
I have nothing against Ubuntu—just not my cup of tea for my own use—and I don’t think it’s a bad distro to recommend to newcomers (I certainly wouldn’t recommend Gentoo!) Doesn’t mean that it’s the best, or problem-free, or that its homegrown software is necessarily useful.
I like Ubuntu for exactly that: The bravery and manpower to try different things. I remember I loved their Init-System Upstart when it came out in 2006 - long before systemd got established. It made managing services and their dependencies far easier than with the SysV-Init system other distros had at the time.
Unity was miles ahead of Gnome-Shell in the beginning. And I loved the one-menu-bar approach - similar to macOS - as it saved screen space on smaller screens.
It’s easy to flak on Ubuntu for not keeping in line with “tradition”, but I believe we wouldn’t have some newer projects without Canonical trying something new and showing people what’s possible.
My daily driver for ~25 years is still on sysvinit. I have plenty of experience with systemd based distros. I run proxmox on my home server. I don’t hate systemd, but it’s a lot less intuitive for me.
Example: I want to start the tailscale daemon and service at boot. Easy, add it to /etc/rc.d/rc.local . Oh wait, I want my laptop to check for an internet connection before trying to bring up tailscale. Otherwise the boot process halts for 20 seconds until it gives up. Easy, add a bash script in rc.local to test for an internet connection before trying to bring tailscale up.
I know the answer is systemctl something, but I have to look it up EVERY DAMN TIME. and this is just one of many things that have been giving me heartburn for years.
But you are doing the work the computer should do by scripting your own startup process. Also, it will process your
rc.local
sequentially whereas systemd does things in parallel. If you have 5 different custom services that need network, your approach would have them started one after another. Systemd would wait for network access and then start them all in parallel. If one of those hangs, the others will still start in a few seconds (unless they depend on the hanging service) and the boot process will still continue.Also, what about if some service fails? systemd can restart them automatically, you have commands to see at a glance whether your desired services are all running (i.e. the system is in your desired state), it manages the log outputs for each service, etc. etc. … it’s a huge comfort win and once you’ve written a few units, you won’t have to look everything up all the time.
[Unit] Description=My service After=network-online.target [Service] ExecStart=/usr/local/bin/myservice -d [Install] WantedBy=multi-user.target
Put this in
/etc/systemd/system/myservice.service
, runsystemctl daemon-reload
followed bysystemctl enable myservice
and Bob’s your mother’s brother. Optionally, start it directly usingsystemctl start myservice
. (On most systems,service myservice start
will work, too.) It doesn’t get any easier than that.And, if you start to automate your system’s configuration(s) using e.g. Ansible, it’s far easier to just place a few files in the filesystem and run a few commands than to modify the
rc.local
in an automated fashion without breaking something.While I don’t really like the one-tool-for-everything approach with systemd and its various additional features (timedated, resolvd, etc.), I do like the main feature.
Canonical, the owners of Ubuntu, love to steal open source projects. They’ll help a project with development power, then force the contributors to sign a CLA (for an example see the fork of LXD called Incus). Canonical also uses and forces proprietary systems onto the user’s, e.g. Snap uses the proprietary and hardcoded Canonical repository, which Ubuntu now defaults to using Snap for installing packages.
Side note, if it wasnt for Snap using a proprietary backend and also depending on AppArmor (generally regarded as a weaker MAC than SELinux), I would prefer Snap over Flatpak. It creates a better sandbox (aka the actually Security of the software), avoids sandbox escapes, blacklists against broad permissions (e.g. $HOME access), and Snap packages generally have stricter permissions (which determines the real-world security of Snap). Sandboxing is very important for Desktop (and server) security. Android is does the best job of this, but it would be nice if projects like Sydbox, Crablock, or Bubblejail were adopted and built-in to the package manager.
But even without any of the previously mentioned problems, I just think Fedora is a better OS. Fedora comes preconfigured with SELinux policies to confine system services they are quicker to adopt new technologies. Fedora is also a semi-rolling distro, meaning packages are quicker to get updated than on Ubuntu. Fedora stays FOSS, where as Ubuntu becomes more locked down. Also, the package Brace made by the developer of DivestOS is great for quickly hardening a Fedora system.
Command Line Argument
Snap is the biggest issue.
The developers say they are awesome and the fans say they are awesome.
It doesn’t change the fact that they kinda suck, the forced updates kinda suck, and the tone-deafness of the fans kinda sucks.
There’s nothing bad about Ubuntu, but Canonical rips a fat line and says, “I’m going to make my own display server, with black jack, and hookers!” Which isn’t necessarily a bad thing, innovation is good and all, but they release a steaming pile of crap that doesn’t really integrate well into the rest of the Linux ecosystem. They spend years telling everyone that their display server is the best thing ever and no they won’t offer any alternatives or integrate it into any of your systems thank you very much.
Then 10 years later they unceremoniously dump it in favor for whatever everyone else has been using.
I just wish they would funnel all that innovation upstream instead so everyone benefitted instead of just Canonicals bottom line.
The .deb format has serious impairments toward validating content.
Security people shake their heads when “how do we know” fails, and build/rel people can’t answer the question “is that what’s expected” for all files.
It’s a major difference between enterprise Linux and debuntus, and I’ve been in groups where this breakage has eliminated that branch of Linux distros from opportunities.
I don’t really have any experience with enterprise Ubuntu (we use RHEL at work and I’m not a sysadmin anyway) but its kind of hard to blame that all on Canonical since they inherited it from debian.
I mean, I’m sure you could change the package format that your nascent distro uses, but at that point you might as well make a completely new, unforked distro since you’re basically rewriting the entire system.
That’s what Ubuntu’s doing with Snaps. Ubuntu Core is their “Oops! All Snaps” project.
There’s lots of examples. Mir, Unity, Snap, PPAs, and more.
I think Ubuntu Core is a bad example. Immutable distros is where the industry is headed for a lot of good reasons, and it makes sense for Canonical to jump on that train. Snaps are bad (although honestly I do like that they can package server apps unlike flatpak, that’s cool), but the concept for the distro is not.
Ubuntu Core is all snaps. That’s the selling point.
The selling point is that it is immutable, not that it uses snaps (it does). Fedora does the same thing with Silverblue and IoT. You don’t install rpms, you install flatpaks. You can install rpms, but you’re not really meant to.
Since Canonical refuses to get onboard with flatpak (for now) they use snaps instead of debs, but snaps aren’t the direct appeal.
The whole idea is that you have a core system in a known configuration. Updating the system just means using a different image. If an update fails, then you just roll back to the last good configuration. Bazzite uses this to nice effect too.
There are a lot of advantages to end users and enterprise admins with systems in this configuration.
I use it, and I like it. As a casual computer user, it suits every need.
It also feels a lot more stable thanks to being maintained by a professional corporation, rather than some neckbeard in a basement.
Those “neckbeards in the basement” created the very thing Canonical is trying to make its own. It’s just another corporation trying to profit off the back of FOSS developer labor.
Maybe have a bit more respect for hardworking programmers that are keeping the world spinning, with many doing it for no compensation.
Canonical’s initial hiring strategy was “hey, you maintain Debian packages. Wanna get paid for that?”
They still employ quite a few Debian maintainers, and I don’t think it’s at all a stretch to say that Debian wouldn’t be as good as it is today if Canonical weren’t paying a bunch of people in part to do Debian develops. Their employee roll includes one of the developers of apt, amongst other people.
I’m also talking about people like this that almost never get recognition until something huge we all depend on becomes a huge problem: https://en.wikipedia.org/wiki/XZ_Utils_backdoor
That’s kind of a non sequitur. Canonical hires a lot of community members to maintain stuff for the community. They also have roughly 1000 employees according to Wikipedia. SUSE also depends on things like xz and has twice as many employees. Red Hat has 19,000 employees. Google depends on xz and has over 180,000 employees.
So if you’re blaming Canonical for not hiring the maintainers of under recognised community projects that don’t have corporate backing, then surely SUSE gets twice the blame, Red Hat gets 19 times the blame and Google gets 180 times the blame? (Not to mention Amazon, Meta, NVIDIA, etc.)
surely SUSE gets twice the blame, Red Hat gets 19 times the blame and Google gets 180 times the blame? (Not to mention Amazon, Meta, NVIDIA, etc.
Well…yeah?
Snap. :)
Corporate ownership, but you can have that and still be popular. Like both Fedora when controlled by Red Hat and Suse when controlled by Novell.
The real problem is their dual license policy for their open source projects, that grant Ubuntu to close in an Open source Project if they want.
Another problem is the “not made here” mentality, which undermined Wayland for instance.
Ultimately the problem is I guess, that Ubuntu is (was?) trying to make Ubuntu exclusive to Linux, with Canonical controlling key technologies. Seemingly an effort to reduce other Linux distros to second rate players.
Another example of that is their new package system Snap, which is open source on the client side, but proprietary on the server side.
Obviously it’s not a good idea for Linux to use proprietary package systems.These are of course ideological issues, if you don’t give a shit about those, I suppose Ubuntu is mostly OK. Except minor annoyances like media not working out of the box.
Ubuntu is like all other Linux distributions, they add to fragmentation.
Everyone should run Arch Linux
I use arch linux btw