I don't want corporations like Apple or Microsoft controlling my hardware. We can see where that's got us and it's a disgusting dead end of the user not truly having control or ownership.
Linux is the OS for people who like tinkering. Tinkering is the point. It's all about building random crap for the sake of building it and hand-editing config files.
On the desktop 90% of the projects are second rate clones of commercial software with a weird GUI, poorer features, and added user hostility.
As for corporations - they already control your hardware. There is no such thing as open hardware, and won't be until chip-level designs can be fabbed at home. (And even then, because chip design is far beyond the skills of the average hacker and won't be practical without AI doing the heavy lifting.)
But worse - Linux and corporations have both locked down your imagination to the point where you cannot imagine that your experience does not generalise.
Access to source doesn't change that, because access to source code and tinkering aren't a substitute for being able to imagine original, beautiful, and useful new things for end users - not just an endless churn of half-finished clone projects and infinite dev tools.
Bollocks. I use linux for my work every day and like my privacy and the confidentiality of my data.
No. You can do it if you want, but you don't have to.
I used to have a huge .emacsrc, .Xresources and what not in the far past. Today I have just a couple of lines that help me avoiding stupid mistakes, but nothing at all to try to tune look and feel. I use Xfce on some machines and i3 on others. Both just work out of the box. The former for an average user, the latter of course needs a certain attitude and some learning initially. I am sure you can also work with Gnome or KDE without starting tinkering.
Maybe one exception: hdpi support on Xfce does not seem to be ready, at least not on Xubuntu LTS. So one step of tinkering was needed: Turn off the nonsense. And never look back.
A lot of free/open-source software is created by a single developer in their spare time, because they want an open & functional version of their favourite commercial app.
The weird GUI is what you get when you can't devote unlimited man-hours and millions of $ to the project.
A lot of good has come from the Linux and open-source movement, let's not pretend otherwise.
I will take weird or unpolished GUI over polished, dark patterns, thank you very much.
Because that's the choice that we really make.
I wonder why people would conflate those two things? Sure, not all free desktop software is bad, but enough of it is that people prefer the commercial alternatives.
So more people use free desktop software? Hmmm
Also, that is the most confusing statement I have ever read.
No, it isn't.
"I'm not like the normies, because I am cool and underground." is a hipsterism.
"I'm not like the normies, because unlike them I happen to possess the skills to escape from a situation we all hate" is not an hipsterism.
> Linux is the OS for people who like tinkering. Tinkering is the point.
This is also completely false. Improvements were made, things generally work out of the box. Polished and user friendly user interfaces exist.
_But_: interfacing with those commercial products/services that spoiled the fun of mainstream systems generally sucks. Because those only work if you give up control to them. Which was one of the main reasons you went to Linux anyway.
I would rephrase this as "Linux is for people who like to customize their experience without compromise". Sure tinkering is fun but its the tool to get to your destination. When I first started using linux I spent maybe a year tinkering and playing with things. This would be along the lines of "XYZ isn't working how I want it to, let's find a way of making it work the way I want" where XYZ is anything from my screenshot tool to my window manager.
Over time this has meant switching DEs, writing glue scripts, swapping out bit and pieces here and there to build the desktop experience I want. Now I have things to my liking I just have an Ansible script which I can apply to a minimal install and have everything just the way I want it in a couple of minutes. I've not made any major changes in the last 10 years. I might add things as I find I need them but that's maybe a couple of dozen minutes a year.
I can however totally understand if people don't want that experience, most people just want to turn on their device and have it "just work" even if that "just working" means you have to conform to the way the developer thinks it should work. This is why people love Apple products, and the reason I don't.
Linux is not a puzzle, it is an extensible tool.
This is just flat out wrong. I spend more time waiting for OS X to "upgrade" than I ever do with package management and kernel upgrades in Linux. Ultimately upgrades in Linux are easier, there's no tinkering required. For odd configurations, sure - there may be some tinkering you can do to make things work more how you'd like. For example I have a SFF desktop machine that runs an eGPU. I only want the eGPU for some OpenCV use cases and I run the iGPU for my desktop window manager. Sure, in that case I did have to tweak things a bit, but I actually found an eGPU manager [0] in the process and everything now "just works".
But printing, window management, software installation, etc are all simple and just as easy (if not more so) than what you've described - "...hand-editing config files". I'd say you are not a Linux user or have not tried any notable Linux distributions in a long time if that's your perspective.
> As for corporations - they already control your hardware.
No, they don't. While, yes, Intel and AMD may have things in their hardware that I don't control - the Linux distributions I use don't have copious amounts of telemetry being fed back to corporations like Apple/Microsoft/Google.
> But worse - Linux and corporations have both locked down your imagination to the point where you cannot imagine that your experience does not generalise.
I'm not sure what you're trying to say here but I'd have to say, in my opinion, the comment doesn't seem to make any sense given my long-term experience with Linux on the desktop.
I don't tinker on my Linux machine. I bought a supported Linux machine (System76) and haven't tinkered with it at all since I bought it. I just wanted a machine that worked and I didn't have to deal with all the ways MacOS terminal experience was different from Linux terminal experience. Simple things like not having docker running in a hidden VM and many more.
GUI and features aside: I thought "added user hostility" was a big-corporate feature?
Free software is exactly what kept Linux free, the moment it would get locked up it would go the same way that Windows and MacOS have gone: consumer oriented platforms rather than computer operating systems. Ideal for pushing ads and for-pay software down your throat rather than tools for you to use as you see fit.
But there is nothing more valuable to me than my time. It takes me less time to be productive on Windows and OS X and remove all the junk, than it does to waste countless hours trying to get a Linux DE configured "just right" based on whatever combo I'm using and feature parity I need.
I'll chose my time over my money, and I'm OK with that. Turns out paying professionals for quality goods is an alright business model, and I'm not losing any sleep by not having source code access.
But this is just an upfront cost. With Windows, which I've tried to use regularly, there are many annoyances which introduce friction in the day to day. So the "opex" if you will is much higher.
Just this morning I started my Windows machine to play a quick game and wanted to check out something on the internet beforehand. It started bugging me about some "recommended browser settings" in some Edge window that showed up half off-screen that I couldn't move. Then there's the Windows Terminal app which sometimes takes forever to start up. And windows that pop up and look active but aren't.
Then there's a bunch of other little annoyances which I now forget but over a work day end up aggravating. Of course, YMMV as they say, and I know people who aren't as bothered by those. But in case you are annoyed, the upfront cost of setting up your Linux DE just right may be cheaper in the long run.
I've spent a while setting up i3 a few years ago, just out of curiosity. I had been a MacOS user at the time for a very long time. But then something happened, and it grew on me. Now I only use my mac from time to time when idly watching a movie in bed, because I find it slower to use. I hate having to hunt around for windows, move then around, click on some Dock icon which sometimes doesn't show, others shows up while it shouldn't (in the full-screen Mail window usually).
I guess the point is that different people have different needs and are willing to pay different prices for those. There's also a case to be made about high upfront cost + low maintenance vs low upfront cost + high maintenance.
> Turns out paying professionals for quality goods is an alright business model, and I'm not losing any sleep by not having source code access.
Well, of course. Only issue is how you define quality, as related to what you need. For me, the price of the Windows license was lumped in the same bin with the GPU. Have to buy it to be able to play a game I wanted to play. But I'd feel robbed if I had to pay for it and than have to use it for my job. In my case, I haven't looked under the hood of the Linux kernel or the DE or the terminal app or anything, for that matter. It just works better for me. And I'm also OK to invest some time if it means I'll be more confortable down the road.
Wouldn't be surprised if I've spent more time alone on Linux just figuring out network file sharing than all other DE-related configurations combined.
On the other hand, I wouldn't deploy software against any other OS (unless it's an app). There's no world where I don't want or see Linux. I'm just not sold on it's DE experience so far.
There is no customization you can make to a DE that saves me so much time and energy long term that it makes up for all the other time and energy needed to invest in Linux DE as a daily driver. Most of my energy seems to be devoted to task-specific regiments, more influenced by that tasks software.
In twenty five years, I've probably spent less than $3,000 on Microsoft products personally. I've got my moneys worth.
Mounting remote file systems can be done easily in the GUI, as can sharing. Like any such software, it's going to have a learning curve.
I can't remember the last time I was on Linux and didn't have to start off by installing cifs-utils, and then hunting down instructions on writing an .smbcredentials file.
Windows also makes it (relatively) easy to administer file sharing if you're on a AD domain. All said and done, I personally use Unraid for my home NAS.
NFS is simpler and easier to manage.
There is a solution for that, dsclient, but it is still missing Kerberos support, so you have to account for that.
Both macs and linux can handle this fine.
I have never gotten inter-OS file sharing like SMB/Samba to work right other than using rsync or scp. And the only intra-OS file sharing I've ever had a good experience with is Mac AirDrop.
That's weird. I usually just fire up Samba and everything works pretty much as expected. Granted, I don't use GUI tools, but one of the examples in the default config file is pretty much what you need (share the homes, or something to that effect).
I went through exactly the same experience after trying i3. Also a Mac user. I couldn't move to Linux at the time because apps, so I did my best to recreate that experience on a Mac. Rectangle+Karabiner+Hammerspoon did the trick, and at this point I'm so used to it that when I set up my Linux desktop, I actually recreated the same shortcuts in i3 vs. the default i3 config.
So I would say if you _have to_ stay on a Mac, there are ways to customise and tinker too, with the end result much better than you expect.
I was more or less in the same boat app-wise, as for work I use Office 365 and at the time the web apps were barely usable. I also loved Apple Mail, and to me, it still is the best email client I've ever used (disclaimer: I don't tend to do anything "fancy" with my email). Nowadays, Outlook online works well enough for my needs (I'd say it's actually better than when I was using the 'heavy client' on the Windows machine I was given). Teams works well (as in no worse than elsewhere) on Linux, too, so all my work-related needs are met.
Hammerspoon is just an automation tool for Mac, you can do a lot of things with it, including moving windows around and a lot of other stuff (just look at the docs to get a feel). I use it as an app switcher: I found that it's more efficient to do "show me Slack" or "show me VSCode" than "move to workspace 3 where VSCode should be". I don't use workspaces at all nowadays. So, with the help of Karabiner, I mapped my most-used apps to combinations like "caps+g" for Google Chrome, "caps+s" for Slack, "caps+c" for VSCode etc. And for cycling through windows of the same app, there's a built-in cmd-` on MacOS.
One thing that people fall into is the ability to tweak things endlessly. If you simply don't do that and use a good default install then you are going to do just fine without all that tuning.
For me my main tools are shell, browser, various audio related programs (audacity, midi editors, score editors and so on) and installing a new linux machine takes about as long as copying the data off the medium takes. Then I copy over (or mount, depending on the circumstances) my homedir and get to work.
The other systems did not react the same way; they still consider that doing it is fine.
Yeah, I agree.
But the major difference might be that once configured a linux desktop environment is "just right" for quite a lot longer than you think -- and once it is "just right" you get marginal productivity gains in small aspects, which in aggregate, is probably a lot of time saved.
I'm a bit biased because I already sank the cost into my desktop setup in 2011. But frankly: my desktop environment very much gets out of my way.
Plus, notwithstanding the CSAM detection thing, Apple has been steadily introducing a stream of really sweet consumer privacy features for the ordinary user, such as Sign in with Apple, Apple relay (basically TOR lite for grandma), email aliases, etc.
[1]: created with https://www.windowsafg.com/win10x86_x64_uefi.html
Say someone implements an appstore for Linux, and start selling apps. This could theoretically be enough to get commercial developers onto the platform, opening up for wider popularization of Linux. That doesn't mean you have to install that appstore.. Heck of Linux ever becomes popular, it's probably gonna be Ubuntu. If you don't like that, well, use fedora then. Or nixOS!
Once your default distribution starts shipping with built in ads, and every other distribution follows suit because it makes them boatloads of money, your linux desktop will be well and truly dead.
Is there some idiom or trope to this that I'm missing that makes it obvious sarcasm? Because that's literally not possible without some inconceivable laws being passed, so I'm confused as to what you're trying to communicate.
Both got forked a bunch, but the mother project remains the popular one due to user stickiness and, frankly, sheer amount of (paid) effort invested compared to small-scale volunteer efforts. Users can still choose to go with Iceweasel, disabled Pocket integration or Ungoogled Chromium or whatever fork de jour, but generally they don't because "the ecosystem keeps moving". They generally get more desirable things added than annoyances. Unless a company gets it wrong and you get a WhatsApp-level backlash to make another competitor viable.
With constantly moving goalposts, commercial interests can keep the upper hand as the community (and much other competition) can't keep up fast enough. That's why Google keeps pushing the web into ever new directions, and why standardized APIs got replaced by ever-changing Electron apps with mandatory auto-update.
If the popular distributions ship with ads, I'm not afraid as long as there is competition out there that does without. I can always do Arch or Debian instead of Ubuntu and I know they'll do the right thing.
Where it gets dangerous is when the base technology is controlled by commercial interests. Microsoft owning secure boot certificates, Android not getting drivers upstreamed, Apple deciding who gets to compete by owning the App Store. Linux may end up in this spot at some point if a particular vendor (or consortium of commercial interests) becomes too powerful compared to the community and smaller competition. Once it gets there, the only escape is having viable alternatives.
If you rely on commercial software, your alternatives come with huge switching costs. Chromium to Firefox is a little tedious, Mac to Linux is a major disruption. The more you rely on a particular piece of commercial software, the more they can control you.
But competition generally does the trick. I don't mind games being closed source, there are so many quality alternatives that the game studios simply can't lock most users in. Now, app stores for games? That's where you want to be cautious, because they control what competition looks like. Operating systems and drivers? If they turn on you, better start swearing and leaving investments behind. Chip-level DRM? Zero leverage, ask your government for help and if they're not willing, you're screwed.
So really, commercial software isn't that much of an issue high up in the stack. The lower you get, the more careful you want to be about end user communities retaining control. Let the companies make apps, let them sell apps, don't let them grow platforms. The platforms should belong to users.
If a company comes along and makes a commercial platform out of Linux, run.
Look at nvidia. They release proprietary drivers that do things in the opposite way things are supposed to be done. It's supposed to be integrated, they do their own thing. It's supposed to be open, they close it. They only do things if it's on their terms. They don't contribute to Linux as a whole, they merely co-opt it for their own purposes. They don't believe in making Linux a better system for all, they do just enough to satisfy their customers and call it a day.
If that's what commercial software means for Linux, the other platforms can keep it.
It would be a benefit to Linux adoption.
> tech was certainly more enjoyable to me before everyone had to consider the “average user,”
Yeah. To people like us, computing has intrinsic value. We like the system. We want to control it. We want to understand it. We want to make it better. We want to make it ours.
Normal people simply don't care about this. Corporations make every effort to hide the computer from them. That's where the money is so we end up getting lumped together with this average person.
Why can't we have systems designed for programmers? It doesn't matter if some normal person can't use it.
The trouble comes from a slippage in expectations and the increased incentives to do bad things.
Once some (e.g.) spyware in some software is expected and acceptable, suddenly more spyware in even more apps could potentially be acceptable. Now it becomes a constant effort to keeping track of a known good application set which expends a lot of energy. And any one of those apps in the good set could spoil at any time.
And of course, the increased commercial incentives of a lot of non-technical people using the platform immensely increase the likelihood of this occuring.
So it's not hipsterism, it's just something that's been observed to happen many, many times.
So far desktop Linux has successfully repelled most commercial software simply by being very difficult to package software for.
A couple of guys could figure out how to package Ardour so that it runs on every Linux distro except NixOS [0]. The idea that its hard to package software in a cross-distro way is pure BS.
[0] NixOS plays games with ld.so, which breaks any packaging that relies on being able to set LD_LOAD_PATH. It's the only Linux distro that does this to my knowledge.
In general you can probably get a program to run on just about any Linux platform by providing X86 and ARM binaries, statically linking everything, and having fallbacks in case you need to use a certain subsystem (graphics, audio, etc..) and you don't know which one the user is going to want to use.
My experience with software development for big enterprisey customers is that you figure out what distros most of your customers are going to be using, and you test on those distros. That's a fair bit of work, because you might have to release both apt and rpm packages and maintain them, and the test environment is complicated and it doesn't cover the case where some random person wants to run your product on Arch/Mandriva/Gentoo/Mint or whatever. Testing every Linux distro is just not practically feasible, so a lot of people will end up running on platforms you didn't test. Maybe that's fine.
I wasn't addressing the fallbacks in any way.
> My experience with software development for big enterprisey customers is that you figure out what distros most of your customers are going to be using, and you test on those distros.
This is their mistake. If you instead understand how applications run on Linux in general, you can do what Ardour (and Firefox and many, many others) do: create distro agnostic binary installable versions. We don't test every distro - we don't need to. We design the package so that if certain extremely minimal conditions are met, the package will run. Firefox has done the same (even if many people use the distro version instead).
Distro-agnostic tarballs or self-extracting archives you can just expand and run can work, but it's also not ideal because it subverts the package manager. Package managers allow you to install, remove, and update all the software installed in a system in a consistent way, and a tarball exists outside that ecosystem and lacks its benefits. In that sense, a binary tarball is a second-class citizen that doesn't integrate well with the rest of the system and is probably a security liability. Maybe that's an acceptable trade-off for a few applications, but it should leave a person with a "there's probably a better way to do this" sort of feeling.
If your bundle contains the application and its libraries, it's not a part of that ecosystem, and it makes sense that it exists outside of it. In the case of Ardour, since a number of the dependency stack libraries contain patches that will never be upstreamed (or are for EOL'ed libraries), it makes even more sense.
Yes, there is the risk that if the bundle contains a security issue that has already been updated within the package manager's ecosystem, that's a liability.
But the flip side is that "integrating well with the rest of the system" is precisely what makes 3rd party packaging for all (or even many) distros challenging. I note that most of the efforts to address the situation all essentially bypass the package manager ecosystem (flatpak, for example), and that macOS has used the "standalone application folder except for core system libs" for decades now. The liabilities are real, but small, and seem to be an acceptable tradeoff for software that developers want to run on all (or even many) distros.
To a product manager, this looks like a black hole where money and engineering/tech support resources get chewed up with very little value creation to show for it.
It’s also how some very mediocre distributions became enterprise standards for Linux - their value proposition basically being, “we’re not a moving target, and the Fortune 500 can buy a maintenance contract from us”. But this only happened in server land, where the hardware ecosystem isn’t so chaotic.
"significant commercial application": you have no idea how many downloads or users of Ardour there are.
"mercurial set of cross-platform moving targets": precisely what is addressed.
"nontechnical users": that's a new constraint not present in the original description, but probably not much of an issue if you're discussing a specialized tool rather than a "desktop" application.
"hardware ecosystem": completely irrelevant to the case in question.
By all means, though, all the best with your startup.
The question wasn't "why it’s super rare to target Linux for desktop applications". It wasn't a question at all, in fact. It was an assertion that it's hard to package 3rd party applications for Linux, and I am asserting that this claim is incorrect.
As to whether or not the packaging situation explains why it's super rare to target Linux for desktop application, that is indeed a different question, with multiple answers.
I'm not convinced anyone actually got both right so far - see how recent sanboxing improvements basically killed Anbox on modern Android versions. Or try to get a ssh/samba server running on a Samsung Galaxy device so you can push files to it to avoid buggy inconvenient MTP - mission impossible!
GNU Linux was specifically developed, to escape the Softwarmageddon that is currently playing out in the other centralized eco-systems. To weaken that, would be to re-invite disaster. In my eyes, linux should ban commercial software like Teams from running, if there is a open source alternative. Chop of a limb if you want to survive the infection of end-stage-surveillance capitalism. Let the corpo-borgs eat one another.
This is the problem with living in a techie bubble like HN. Meanwhile in the real world billions of people are happily using Windows and MacOS, and would have no idea what you're talking about.
You remind me of the dyed-in-the-wool Marxists I knew in the 80s sitting tight* waiting for capitalism to collapse, and those before them in the 20s and 30s. And those before them in the 19th Century. Still waiting. Any day now. The signs are everywhere.
* Almost literally. One friend at the time quit college to pick potatoes in Norfolk because when capitalism collapsed having practical skills would help him live off the land. That was about 1987. I wonder how he's doing.
The Tax-idermy, were a society pushes ridiculous amounts of stabilization money into collapsing external peripheral "shell" societies who in return send refugee waves in convulsions, while slowly sinking into the civil/war/crime collapse accepting end-state is in full, brutally visible progress.
The politicians, leering for the authoritarian toolkit, because they doubt they can stabilize the mess that is to come.
How bad does it have to get, before you take a step back and acknowledge, that yes, this is un-subjective worser and even local recovery is unlikely, due to interconnected nature of global society and nature.
Sorry if things are bleak, but software seems to be one of the few levers i myself can pull towards a positive outcome, a better place, by allowing others to escape the dystopia of government eating the cooperated monopolies for societal control because government needs to be in control of something- anything and its definitely not in control of anything that would change outcomes.
You can actually do this right now. Go back and see what critics of the developed world economic systems were saying 30 years ago, or 50 years ago, or 150 years ago. What predictions were they making about growth and employment, what signs of failure did they see, and did those things actually matter in the long term? Doom mongering about the collapse of capitalism has a very, very, very long history.
Please, please try to find out, and let us know!
Isn't any given distro's package repository basically the same thing? I mean, sure you can go around it but the same is true of Google's Play Store, it's just a pain in the ass in both cases.
The top comment for you right now makes a snipe about hipsterism. Well yes, but that shouldn't be a pejorative. It's great that this ecosystem exists in all it's hipster geekery. It's a hobbyist community serving hobbyist and techno-geek purposes. We need that.
Where the cognitive dissonance comes in is thinking that this has anything whatever to do with mass appeal and serving the needs of ordinary non-technical users. That's a very different and in many ways mutually incompatible objective. What non-technical users need is a radically standardised, easy to use platform with a wide variety of highly compatible software and devices with solid QA, services and support. Only the commercial market has proved capable of providing these at anything like the scale needed because that means paying a lot of people to do these things every day as a job.
This is why mass market Linux projects like OLPC fail. They think 99% of the work has been done by the community already and they just need to package it up and deliver it to users. The problem is making all that work seamlessly and efficiently for users, developing a complete high quality product, delivering and selling it and building services around it is a huge ton of work. It's not 1%, it's more like 50% and you need people doing it day in, day out.
This has already brought along the 'commercial parasites' that have spoiled the original experience, pushing in a thousand different directions with a thousand different things that need to be done quickly to meet business goals, elegance, clarity, and simplicity be damned.
(Which, (1) of course is the creator's right, but I still miss the old mindset, and (2) "why not just keep using the old software?" doesn't work because Apple's commitment to backward compatibility is, umm, not high.)
Also their moving Big Brother onto the iPhone is a pretty good sign where they are taking all of their systems. No, I don't want my computer spying on me for the sake of my government. Not so much because I think that they will do me wrong, as because it provides a way to target inconvenient people who I don't want targeted. (Think Snowden.)
That one is 90% gone and Apple will likely kill off the remainder before long. They're in the consumer gadgets business now, that there is accidentally a computer in there somewhere is more of a historical artifact than the main business driver. It's all about eco-systems and lock in, not about productivity or creativity.
Citation needed...?
Everything you've listed still works and works very well on macOS.
Developers used to prefer Mac because it was Unix when the UI on every other Unix-like was bad. Now the UI on Linux is better than it used to be, and Windows has WSL et al, and Mac is full of "pay for a license annually and deal with code signing nonsense" that developers hate.
I've used both (PS on macOS/Windows) recently and find them to be more or less equivalent. Given the choice of using macOS or Windows, I'd still take macOS.
Not sure what the point of your line re: hardware is when a standard M1 Mini runs very well for this use case. If you want a bigger monitor... just buy the bigger monitor with a Mini.
>Now the UI on Linux is better than it used to be
I ran Desktop Linux for years before going macOS, and I check in periodically. I remain unimpressed, it's still a jumbled mess of an ecosystem. UI is also not the stumbling block to Linux adoption - hardware support alone, while better, still isn't up to what you get with the big two.
>and Windows has WSL et al
This is a fair point, and was an incredibly smart thing for MSFT to do.
>and Mac is full of "pay for a license annually and deal with code signing nonsense" that developers hate.
Have you ever code signed anything elsewhere, where you buy certs and such? It costs money. Apple's setup is a flat $100/year and "just works". This is also only if you're shipping software, you can run homebrew/etc just fine if you're doing dev work - there's tons of developers working on macOS who never pay Apple the $100/year for membership.
Can you actually refute what I'm saying, which is that macOS is still very usable by developers? The OP I responded to originally is claiming that the macOS devs loved is "90% gone", but outside of HN/Reddit echo chambers I don't see people switching en-masse.
But to Apple's credit, it can be done, and done using the native toolset. It took me awhile, but my relatively simple Makefile is building fat binaries (x86_64 + arm64), building and signing the application package, submitting the package for signing, and stapling certificates. Not monolithically--it's not a giant shell script posing as a Makefile. I have proper, correctly defined build dependencies for every real target up to `make submit`. So `make submit` will effectively build and submit a package both from a fresh checkout, as well as incrementally from an existing tree where only a few object files need rebuilding. But `make submit` and `make staple` themselves are .PHONY targets; they're not idempotent, but invoking them multiple times is still benign.
I would not call it esoteric and/or opaque. It's one or two shell scripts and an API key through App Connect for the notarization pass.
Once you figure things out, it's not nearly as bad. The tools can work well. And that's hugely valuable. But documentation and consistency are significantly worse than common open source projects. And at least with open source you can also resort to looking at the code to figure things out. I find myself constantly doing that for Keychain, actually. Fortunately older versions of Apple's Security.framework are open source, which helps me diagnose and analyze API usage problems. Want to figure out how to retrieve the usage constraints (i.e. SecAccessControlCreateFlags) used to generate a T2 Secure Enclave private key? Or even simpler, want to figure out if its even possible to derive those constraints? Only the code is going to tell you.
Ugh, not this again.
Apple's hardware support is fine because they only have to support a few bits of hardware. Microsoft's hardware support is fine because everyone (aside from Apple) sells their laptops preinstalled with Windows, and so of course they design them with Windows in mind, and test to make sure things work.
Linux's hardware support is also fine, if you buy your hardware with the intent to run Linux on it and look for something that's supported well, or buy something the manufacturer has built with Linux support in mind. All the "Linux hardware support is bad" stuff comes from people who already have a random Windows laptop or Mac and decide they want to run Linux on it, despite the fact that if they just did a quick web search they'd find a list of problems with their hardware.
Saying Linux's hardware support isn't good enough is like saying macOS's hardware support is not good enough, because you tried to run macOS on a random HP laptop. Run an OS on hardware that it supports well and your experience will be fine.
> UI is also not the stumbling block to Linux adoption
I agree that it's not the stumbling block, but it's a big one. The GNOME developers seem to like to completely change everything often, and break a bunch of things in the process. I don't know much about KDE; last time I tried it was in the late 90s. Xfce (which I use) is ridiculously stable (it's hardly changed at all in the 15+ years I've used it, and I think that's a good thing), but it's built by a very small team, and so it's always a bit behind on polish and covering all tasks with GUI tools. But I love it[0], and it works well and stays out of my way.
The other major stumbling block is commercial software distribution. Go check out a commercial software package's website, and unless it's Electron- or Java-based, you'll see one download each for Windows and Mac, and 10 different downloads for various distros and versions of Linux (if you're lucky!). I would hate to be the person who manages releases for all that.
I don't particularly mind, though: most of the software I use is open source and in my distro's package manager, and the few commercial apps I have work fine (because I run Debian, and most commercial apps will have a Debian download, or at least an Ubuntu one that can be made to work without much trouble). But that's just me, and an average user wouldn't want to put up with this.
Honestly, I'm afraid that too much desktop popularity would destroy Linux (and turn it into the ad-laden garbage that is Windows or the increasingly-locked-down prison that is macOS). I'm fairly happy with its current popularity, where hardware support and software availability are good enough for my purposes, but without the platform becoming too commercialized.
[0] Full disclosure: I was an Xfce core developer for 5 years in the aughts, so I'm a bit biased.
I recently bought a Huion tablet only after checking that it works on Linux.
Install on Linux couldn't be easier: plug the thing and ready to work, pressure detection and all.
I did the same on Windows. It got detected, Windows told me that it was downloading the drivers, and after 10 seconds it worked... kind of. Any trace waited like 1 second to start drawing, and long pressure was a secondary click. What!? How can anybody draw with this? Pressure didn't work, it just worked as the mouse. Time to search: disable something called "windows ink", but directly in the register so it doesn't re-enable on boot. Ok, the secondary button issue gone, but the delayed draw still there. Maybe some stabilizer? Disable Krita stabilizer... Nope. Go to Huion web page, download an app to configure the pen: windows ink still enabled some how, the app allows you to disable it for real. Pressure still unseen. More tweaks on the app... Yes, finally, after two hours the tablet behaves just like in Linux after two seconds, and I only have to keep open a third party app that is probably calling home, just to avoid Windows to mess things up again.
Yes, hardware is a breeze in Windows, except when it isn't.
Of course you would, because macOS is better than Windows. That has always been the case. But then you have to deal with Apple's hardware segmentation strategy.
> Not sure what the point of your line re: hardware is when a standard M1 Mini runs very well for this use case. If you want a bigger monitor... just buy the bigger monitor with a Mini.
The M1 Mini has 4+4 cores. Creative work typically involves software that will use arbitrarily many cores, and on that kind of workload the M1 compares quite disfavorably with 16+ core x64 processors. If you want a Mac with the equivalent processing power of a Ryzen 9 5950X, you're paying $8000+ for a 16-core Mac Pro.
Which they do on purpose so that people doing professional work don't buy the Mini.
And it's the same problem for developers for the same reason. Compiling a big project on a 4+4 core machine is a lot slower than doing it on a 64-core Threadripper, but you can't even get a 64-core Mac.
> I ran Desktop Linux for years before going macOS, and I check in periodically. I remain unimpressed, it's still a jumbled mess of an ecosystem. UI is also not the stumbling block to Linux adoption
Many years ago the UI on Linux systems was basically unusable. It was the stumbling block to Linux adoption.
Now it's "good enough" and the stumbling block is... nothing. Millions of regular people have a Chromebook (i.e. Linux) and they use it just fine, and there is nothing superior about ChromeOS over Ubuntu et al, it just has a bigger corporation marketing it.
> Have you ever code signed anything elsewhere, where you buy certs and such? It costs money.
You're comparing it to alternatives which are also a pain in the butt, when the better alternative is to not do it at all because it's totally useless.
They'll give basically anybody who pays a code signing cert. A nobody who nobody trusts for anything can get one. Attackers can steal one from any of the millions of people who were forced to get one. So it's not providing any trust at all, so it's completely pointless, but it's still paying money and wasting time for no benefit.
> Can you actually refute what I'm saying, which is that macOS is still very usable by developers?
It's not that you literally can't use it. It's that it's worse now than the alternatives. And it's also worse now than it used to be. It would be hard to beat Snow Leopard on a modern 64-core workstation, but you can't get that anywhere. And the closest thing is the same workstation running Linux.
If you said Photoshop 3.0 was clearly better on Mac System 7 than Windows 3.1 in 1994, you might have a point (that was before my time using Photoshop or Windows, so I can’t comment).
You'd be surprised. Creatives aren't going anywhere...
The stories of its imminent death are just that stories. 1 for every 1000 users who remain and 100 than come in.
Huge disagree, the 2021 MBP's that will launch later this year will bring back lots of creatives. Digital Content is going to scream on ARM Macs. I think Apple Sillicon has brought back a renewed focus on the Mac and performance and customers will follow.
I am not saying this makes Linux bad. What I am saying is, making it easier to charge for software is not going to “spoil” Linux with commercial parasites. If anything, paid software could help undermine the surveillance economy by providing a more direct way to support the creation of good software that doesn’t spy on you, like the default Google Android apps or the Google web apps many people use on Linux desktops. All that stuff is commercial too, you just don’t pay for it in money, and maybe the source code is open, but you darn sure pay with your personal data.