6 ms·
The main criticism I see as valid here is first point: software distribution is tricky. For macOS and Windows you basically have a model where you can go to a w
by IgorPartola 2y ago
The main criticism I see as valid here is first point: software distribution is tricky. For macOS and Windows you basically have a model where you can go to a website, download a binary, install it, and it runs.
Most Linux distros won’t jive with that very well. And because every Linux distro uses a different theme and one of a dozen UI libraries/DEs/etc. the downloaded GUI application will look bad because it won’t fit in. Flatpacks and snaps really are a solution that just allows you to not pollute your OS file system (which was never designed with the concept of apps: there are no reasonable namespaces, no easy ways to uninstall, etc.) and to statically compile the app so the next OS update doesn’t break it.
If the distro contains everything you want in its repositories you can use an “App Store” front end to get what you need and the OS will helpfully keep it up to date which is more than you can say for Windows and almost what you can say for macOS. But if you need a third party app you are out of luck: including it in the distro is a process most people won’t want to undertake.
The solution is likely not going to make the nerds happy: something like snaps are the right abstraction for Applications (I am using the capitalized version here to distinguish it from system programs). What will also happen is that some Linux distros will support this kind of solution out of the box and will be the desktop distros. Not every Linux distro will be blessed with being able to run popular apps. Ubuntu is likely on the right track for this and the Unix purists will hate it more every year as it loses the original shared system philosophy and inches closer to what macOS provides.
So the real question is: do you use your Linux distro desktop for the kernel, the package system, the package repositories, or the 1337 cred?
- seanp2k2 2y agoWindows has been isolating dependencies for a while now too, but for security, since their entire security model was pretty awful before, largely because of the need to support decades-old applications that business customers / governments still rely on. https://support.microsoft.com/en-us/windows/device-protection-in-windows-security-afa11526-de57-b1c5-599f-3a4c6a61c5e2 https://support.microsoft.com/en-us/windows/device-protectio...
- IgorPartola 2y agoI have really come around to this way of thinking. Either you use the walled garden that is the distro’s own repos with only the blessed software of specific slightly out of date versions, or you allow arbitrary software but have to isolate it. The former works for some use cases but not for “Linux on the desktop” as most typical users define it.
- Karellen 2y ago> And because every Linux distro uses a different theme and one of a dozen UI libraries/DEs/etc. the downloaded GUI application will look bad because it won’t fit in. Most apps/DEs/etc. use either GTK or Qt. If your application uses GTK or Qt, it will use the user's preferred GTK/Qt theme by default, and fit in with all the other GTK/Qt apps on their system. Sure, you might get unlucky, and your GTK app won't look great on a KDE desktop where that user doesn't have any other GTK apps and it sticks out. Or vice versa for your Qt app on a GTK-based desktop where the user hasn't picked a matching Qt theme. But unless, for some reason known only to yourself, you decided to write your app for FLTK, EFL, wx, or some other niche toolkit, your app is going to work like at least one other app on 90% of users systems. And for those users running FLWM, Enlightenment, or some other weird graphical environment, I'm sure they'll cope.
- IgorPartola 2y agoSo the world consists of apps like Slack, and Photoshop, and Final Cut Pro and none of them are written in Qt or GTK or any of the other libraries you mention. Any one of those applications has more installs than Debian on a desktop (this is an educated guesstimate).
- dTal 2y agowxWidgets isn't niche; it's probably the most commonly used third party toolkit to build commercial Linux desktop applications (yes they exist!). I guess Qt licensing is too scary, and GTK too crap.
- tuna74 2y agoDoesn't wxWidgets use GTK on Linux based OS?
- itvision 2y ago> Most apps/DEs/etc. use either GTK or Qt. Which version of GTK? 2, 3, 4? Which version of Qt? 2, 3, 4, 5, 6? What about X11/Wayland/Win32 compatibility? Oh, it's a$$. And who will maintain/rewrite the source code? Win32 on the other hand? Except for the introduction of Unicode friendly functions it's remained the same for almost 30 years.
- azinman2 2y agoThe fact that there’s flatpak AND snap (and the distro’s packages) just points to another nail in the coffin — there are just too many standards. If people could at least rally around snap OR flatpak, then we’d have more of a fighting chance.
- BirAdam 2y agoFlatpak is really the standard. Canonical just has some serious NIH syndrome.
- devops99 2y ago> For macOS and Windows you basically have a model where you can go to a website, download a binary, install it, and it runs. We have already had this on Linux for years, it's called AppImage.
- itvision 2y agoYou mean exceedingly rare apps that use it? Yeah. And they weigh in hundreds of megabytes, right, because they come with all the dependencies starting with glibc. Yeah, that will totally work and has been a smashing success. Except it never has.
- devops99 2y agoDrawio, Session, and SimpleX are three that use AppImage, just off the top of my head. > because they come with all the dependencies starting with glibc Good, because my system doesn't have glibc, by choice. > Yeah, that will totally work It's already working. > And they weigh in hundreds of megabytes My home connection is 2-gigabit symmetrical and the internal NVMe in my laptop is 4TB. So cry more poorfag.
- itvision 2y agoI'll just leave this here, please argue with it: https://ludocode.com/blog/flatpak-is-not-the-future https://ludocode.com/blog/flatpak-is-not-the-future
- devops99 2y agoThe lack of deduplication, or more like avoiding duplication, of what are basically files in some of these implementations is a problem. But it's not a problem for me. It's also not a problem for most people. And it's not at all a problem next to the dumpster fire of closed source OS ; so ultimately there is no real problem. Yet, all of that is moot, because someone already solved the problem. But I'll wait until they publish their work to talk about it.
- 2y ago
- ryao 2y agoThe “go to a website, download a binary, install it, and it runs” model has significant security issues. The security issues are twofold. One is that you could easily be tricked into installing malware. Two is that you will never be able to keep up with security updates, leaving yourself vulnerable to being compromised by flaws in network applications. Making that model of software distribution difficult is a feature, not a bug.
- IgorPartola 2y agoI fully understand that. And yet until you can convince Debian to include a copy of Adobe Photoshop in their repository you will cut off a significant amount of desktop users. How do you propose to solve that problem? (Yes of course the solution is to fund Gimp until it’s better than Photoshop by so much that the industry switches. It was the solution 20 years ago too. Adobe has run away with this market. Photoshop is but one of many applications desktop users need.)
- ryao 2y agoMost computer users do not use photoshop. For those that do, there are options. One is to use Krita. Another would be to use Wine to run the Windows version of Photoshop: https://appdb.winehq.org/objectManager.php?sClass=application&iId=17 https://appdb.winehq.org/objectManager.php?sClass=applicatio... It works for a number of versions, although not all of them. It is a shame that Adobe does not port Photoshop to Linux. It used to run on IRIX: http://nekofiles.irixnet.org/Documents/photoshopSGI.pdf http://nekofiles.irixnet.org/Documents/photoshopSGI.pdf
- IgorPartola 2y agoSo I am friends with a bunch of photographers. Some are proponents of open source. Others don’t care. But universally they would rather have a thing that just works and feels right than mess with Wine. You can do almost anything. When your paycheck depends on your software working your patience is likely to be shorter. I say this as a person who is a huge fan of Linux/Unix on the desktop. I wish I still was able to run it as my daily workhorse like I did for a decade and a half (and that was before the distros actually got good at this). You can make it work. But an average user isn’t interested because there are only downsides and little benefit.
- yjftsjthsd-h 2y ago> And because every Linux distro uses a different theme and one of a dozen UI libraries/DEs/etc. the downloaded GUI application will look bad because it won’t fit in. As opposed to, say, Windows, where there is only one GUI and one theme by one company so everything is perfectly match- wait, no, they have bits and pieces running every GUI they've every invented all the way back to the 90s ( https://www.dvhardware.net/article75347.html https://www.dvhardware.net/article75347.html , or https://ntdotdev.wordpress.com/2021/02/06/state-of-the-windows-how-many-layers-of-ui-inconsistencies-are-in-windows-10/ https://ntdotdev.wordpress.com/2021/02/06/state-of-the-windo... though that's old now ) and also lots of applications using QT or Electron or whatever just like on Linux. So clearly that's not the problem; if it's good enough for the most popular desktop OS, it can't be that bad.
- gary_0 2y agoAndroid apps are the same way; most of the apps I use each have somewhat different look and feel. And people are also used to web apps, which vary widely. The web has no standard UI toolkit.
- jpc0 2y agoThe reality is I can just target winforms on windows, or GDI if I need that. To open a window there is exactly one way if I want it. To open a window on Linux do I call into X11 or wayland? Do I need to also provide a DRM layer for incase it needs to be run directly ontop of DRM because BIG_USER_WITH_MONEY wants that. Should I use QT to get a decent UI library, or GTK, or one of the many other less popular ones. As a developer that would want to release a GUI app it's not extremely easy to pick for linux. There's no clear guidelines stating X has these features but Y doesn't (winforms vs whatever Microsoft's latest attempt at UI is). Let's not even get into actually needing to ship a fully cross platform app. C# is blessed on windows, swift on MacOS and C on linux... Which means all the business logic will end up at the very least exporting a C API if I'm not deciding to just bite the bullet and pay QT. All this ia why you will likely find that someone will develop a Windows release and maybe MacOS if they have a userbase that can justify the development cost. Maybe they are nice and run a test on wine and treat that as a supported platform but I only know of exactly one company that does that outside of maybe some game devs. And that doesn't even touch anything in the article on why Linux on the desktop won't happen because the 1% of devs that went down this rocky road then also finds ABI breaks.
- wodderam 2y agoI use KDE Neon because Windows seems almost childish in comparison. I use KDE Neon because I haven't bought a Mac yet but I don't know if that would be an upgrade. Neon is just superb. I just can't imagine how anyone could get use to Neon and then use Windows without thinking it is a joke. Especially if you turn off the bells and whistles, everything is instant and instantly responsive. I barely know any linux commands but installing software has been trivial in various software managers and apt get. Beyond that everything just works. I think this experience is predicated on not playing games though. I have no idea what the state of games are for Linux, Windows or Mac. As long as Neon has a critical mass to exist I could absolutely care less if more people use it or not.
- graemep 2y ago> For macOS and Windows you basically have a model where you can go to a website, download a binary, install it, and it runs. Both are moving away from that model.
- LeFantome 2y agoWhat macOS provides is that each app is bundled with all the libraries it needs. That is basically what AppImage is on Linux and it works just as well. Most people find it too wasteful so Flatpak has become more popular. At least Flatpak allows apps to share many of the libraries that they both rely on.
- ghaff 2y agoAlthough Apple has also made a mistake IMO in not having a proper package manager in spite of hiring the writer of Homebrew at one point. probably less important than it used to be but not all roads lead to Apple apps or the apps of a few other companies.
- IgorPartola 2y agoThe fundamental thing people need to realize is that package and app are different abstractions. They are not one to one related and they are not orthogonal. Distros deliver some open source apps as packages. But thats not the same as delivering apps.
- ghaff 2y agoAs someone who has written a free book on the topic, I don't disagree:-) https://s3.amazonaws.com/bitmasons.com/packagingbook.html https://s3.amazonaws.com/bitmasons.com/packagingbook.html