I understand the desktop market, but I don't understand why a Linux distribution hasn't taken hold on the desktop market.
A vast number of users use their computers to check email, look up things on the web, and type up an occasional document. There are several Linux distributions that can do these things quite easily out of the box. Meanwhile, Microsoft has been steadily sabotaging Windows. And Apple is simply too expensive for the average user.
That doesn't seem too controversial. You'll have to explain why I should 'refrain from commenting'.
> A vast number of users use their computers to check email, look up things on the web, and type up an occasional document.
This kind of condescension towards users and what they use a computer for is precisely why Linux doesn't have a foothold on the Desktop. Linux Desktop people design for some imagined person who, to the extent that they even exist, doesn't care at all about their operating system. They try so hard to make it easy by automating what they think the user wants to do that they make the system incredibly complicated and inflexible so everything falls to pieces the moment the user tries to color outside the lines.
This is sorta what parent meant, I think. If you don't understand why Linux is a failure on the desktop, you don't understand why people use desktops.
You would have more success convincing people if you were a little more charitable. It is very difficult to have a reasonable conversation when it starts with an insult.
That is not condescension as I am not condescending towards users. Rather, it's reality. I volunteer with an association of retired people and 100% of our executive and every single member I have ever spoken to fits in in that group. They don't do more than that because frankly, they don't particularly like their computers. I also briefly sold computers when I was in University. Over that 18 months, I'd say that 85% of people who needed my help were looking for machines that could do exactly that.
Finally, I really question what kind of Linux distrust you use. With a half decent, consumer focused distribution, I can't imagine how anything could fall to pieces the moment someone colours outside the lines.
If we're trading anecdotes about a really specific subset of users here, I know a bunch of "retired people" who also almost exclusively do email, but you know they also like things to be easy, intuitive, familiar, functional and still kind of pretty like they're actually part of the future. They absolutely can not have it break. And you know what? They do want more features that they can use, it isn't that they only want email because it is all they can use, it's just the rest is not easy/intuitive/familiar or is providing no greater value to their now limited time. What value does linux desktop bring to them? It's a liability with no advantages.
So now a bunch have started using things like amazon photos which has encouraged them to become more interested in their android devices, branching out into other fun photo apps and home IoT crap. Another bunch (quite the dividing line here) has gotten more involved in iCloud shared albums and thus again more interested in the Apple ecosystem. They went from cheap "PC" buyers to MBP because they thought the UX was that much better, because facetime and iMessage and other cool things.
Linux Desktop can't compete even in that easiest of user segments.
Totally agree with your familiarity argument. I think that's the main reason why Linux can't compete.
One can think that the desktop OS for a regular user is a commodity, so why replace it? The benefits for the regular user of using Linux are not tangible, so there's no point for them in not using what has worked for them throughout the years.
What I don't agree with, is that you make it sound like Linux "breaks" and would cause problems, and more extreme that it can not even compete.
There are lots of segments where Linux can adapt perfectly to user's need. The fact is that user's are not willing to change and don't really NEED to change. It is not because of supposed Linux short comings.
I don't think there's even an argument that it can compete when it comes to integrations with mobile, other in-home devices, and other peoples data/devices. Yeah it's an issue that there are basically two walled gardens people get into, but Linux isn't even in the neighborhood. It can certainly compete on "a web browser exists and works" but my point is people actually do want more than that.
And it does break. I mean even if the drivers and necessary software is all great, at some point something weird happens and doesn't unhappen. My Fedora install has software I downloaded in the software GUI that won't update. It sends me (garbage) messages about SELinux constantly. The toast doesn't autohide and toast pops up for too many things. It's still usable, nothing is "broken", but it's death by a thousand cuts. No one wants all this confusing crap that isn't "just working". I don't get that feeling in macOS or Windows 10.
Of course, but I think that your portrayal of the regular user is not of a regular user at all. The regular users I know don't even know what syncing is, what the cloud is, what integration is. I know lots of people that have their home computer running with the "walmart" or "samsclub" user.
Of course Linux breaks, I've seen it break in all the imaginable ways in all layers in all the distros I've used (from Gentoo stage 1 back in the day to Ubuntu). But I hardly see problems when running Ubuntu on regular hardware.
I could perfectly argue the same thing about Windows, it is a well know fact that Windows over time without expert supervision, will end up badly: full of unwanted adware, bloatware, and shitty software ruining the experience. I'm sure most of us were asked a lot of times to fix an aunts/friends PC.
I could also say the same thing about MacOS. The UI experience is completely different from Windows, personally, I hate the interface and I don't enjoy it. On the other hand, regular users are willing to put up with the difference, why? because it's a Mac! It's a beautiful industrial design product and people who are able to afford it are proud of it.
I regularly use Linux, Windows and macOS. I think nowadays they are all solid choices. And the differences stem from personal preferences. What I don't think has place nowadays is to speak in absolutes: "macOS is the superior usability experience", "Linux can not compete in even the most basic use case", "Windows is the only solution for enterprise users" we hear so often.
I see what you mean. And this is the problems with this subject and why most of the times these discussions end up nowhere.
We end up discussing on what this hypothetical "regular user" does with biased examples from our own experience. The ones who really have a basic idea of what regular users do are the big players like Apple, Google and Microsoft; from all the telemetry they collect.
I'm certainly not condescending "regular users", on the contrary; I understand why a lot of people don't want to deal with technology and I defend the fact that systems should be easy to use. From your comments I think you're trying to portray us as if we think that regular users are stupid. Which is certainly not the case.
My point is that most people don't base their purchase decisions on technical grounds. Mostly because of money and sometimes status factors.
Again, all these coming from my personal experience; I haven't taken the time to search for an actual statistical study on user preferences. I know I've installed Linux on a lot of people's home/personal computer without them knowing what happened and are happy to this day.
Condescension doesn't mean you think they're stupid (though it is clear that many do), it means you look down on them, which is what it sounds like whenever anyone says "they just need this and that and they don't care about the other things". The implication being that they are not sophisticated individuals who may actually aspire to use their computer as more than a web kiosk if it wasn't treating them like a child. Many of them probably won't, and that's fine, but doesn't mean we should be designing things only for them.
> The regular users I know don't even know what syncing is, what the cloud is, what integration is.
And that's fine! That's exactly my point, this stuff should have a low barrier to entry so that all users can enjoy these great features. I think it's wrong to look at users who only know email/search and relegate them to that for eternity when they might be very happy sharing family photos through some service that Linux doesn't integrate with.
> Linux Desktop can't compete even in that easiest of user segments.
This is amusing, because I had to use a MBP for work a year ago, and I still have flashbacks of how painful it was to use in general usage. I mean, for heaven's sake, copy and paste was always, constantly broken. I'm not actually sure how you manage to break something that's been a mainstay of the computer UI for 37 years, but they managed it. And that's not to talk about the window focusing problems, and all of the other crap I experienced. Have you ever seen a (very skilled) senior developer lose all of their windows? I have. It was a regular occurrence because the MBP was unable to cope properly with a second monitor of varying sizes.
I've never heard of these complaints? This sounds much more like typical Linux Desktop issues in my mind.
Though at this point Windows 10 constantly loses windows on monitors that no longer exist...sometimes even the password prompt on my work laptop lock screen ceases to exist but I found plugging it into an external monitor brings it back on the laptop monitor...
I'm not going to discount your anecdotal experience, but this is literally the first time I've ever heard of issues like that on a Mac. The only copy/paste problems I ever run in to is copy/paste from a VMWare VM to the host OS.
>Over that 18 months, I'd say that 85% of people who needed my help were looking for machines that could do exactly that.
Woudln't a Chromebook fit their use case a bit better? The chances of needing to drop to a CLI to do something basic or fix some thing that an update broke drops from low double digits to effectively zero.
If all you really need is a browser anyway, I don't know why you wouldn't use a Chromebook. That's not a knock on Linux. It's a knock on any full-blown desktop OS.
I certainly couldn't use a Chromebook as my only machine. I need other systems for working with media, games, etc. But I travel as often as not with just a Chromebook these days.
Added: Or just a tablet. My dad always considered PCs a necessary evil. He doesn't really type much and he's far happier with my old iPad than he ever was with a PC--or than he would be with a Chromebook.
"With a half decent, consumer focused distribution, I can't imagine how anything could fall to pieces the moment someone colours outside the lines."
The complaint resonates with me, and I originally used Linux circa/prior to kernel 2.2.16.
It's hard to pin down any specific issue, but I perceive consumer Linux even today as very brittle and the user-friendliness as mainly nailing "no user serviceable parts inside" covers over everything.
For example, I have an installation where basically all I ever do is start up KDE, select the start menu to open Konsole, and run something from the command line. At least once in the few weeks I've been doing this, something got completely screwed up to the point where the interface was unusable and I went to the text-mode console, logged in as root and shutdown -r now'ed. Previously, I got an installation in a completely unusable state because I had no alternative but to power-cycle it when it bogged down.
The attraction for me is the built in programming tools, the bash shell, free software, and today, the lack of advertising and tracking - when it comes to the actual OS I'm very much the stereotypical Mac user who wants it to just work. I just don't want today's Mac hardware.
I avoided Windows 10 for quite a while, but I finally upgraded a few months ago, and so far it hasn't crashed or failed me.
I think that your view on the needs of the regular user is pretty agreeable. I don't get why you got these kind of replies. Nothing you said was controversial about the regular user's needs.
I too have experience working with some non-profits and also some schools, were I've maintained their Linux desktops and the users never really complained about their experience.
Of course, you would sometimes get the usual "where's Word?", "This .exe I downloaded does not work", etc. we all know about. But regular users who complained about the desktop experience per se were not common.
I think that the main reason why Linux on the desktop has not seen major growth is because of inertia, Windows is still the standard and why change? If you buy a cheap laptop/pc at Walmart you're still getting Windows. Why would a regular user bother to change OS? Also, one has to admit that without getting in to the details, Windows 10 is a pretty decent OS.
Inertia did not stop the iPhone from completely destroying BlackBerry, and it didn't stop Android from replacing Windows as the primary internet appliance for many, many people.
Linux Desktop has had decades and the backing of large companies to fight inertia, yet hasn't succeeded. Why?
It's not groundbraking. At the time the iPhone was announced, I still used a Sony Ericsson 530i. And that was a normal mobile phone back then (nothing fancy, just normal). And although the software on the iPhone was basically just a browser (even without copy/paste, which amused me to no end), it was a browser that displayed proper HTML, not that mangled mess you got from Symbian phones.
Compare this to Linux: It started out very obscure, lagged behind in usability for years and finally managed to catch up. But now, at this point, everyone is so used to Windows (including the crap) that the general response is "meh, it's good enough". Plus, no Linux driven company will ever start a marketing campaign that comes anywhere near what Apple did back in the day.
Edit: Also, since you mentioned BB: From my perspective, they also never did usability right. Before the iPhone, Nokia was the usability king (at least in my circle of usage), but Ericsson and BB weren't that bad compared to them. That changed rapidly after capacitive touchscreens were widespread in consumer grade electronics.
> I can't imagine how anything could fall to pieces the moment someone colours outside the lines.
Try and install an application to a different disk. Or even a different directory. It can't be done in any major distribution because package managers make the assumption that you will never want to place an application anywhere but the same place the rest of the OS is, because they also make the assumption that all applications should be part of the system, because Linux has no concept of separating "system" from "application" in the first place.
I know what your response will be: "normal users don't care about that"[0], which I think illustrates my point rather well.
[0]It's also rather likely you'll go with something like "Windows applications normally don't let you do that either", which is at best a half truth but, more importantly, is a whataboutism.
I have bought a Giada i53 (Core i5 Mobile, 500 Go, 4 Go) for my parents in may 2013. I have installed ubuntu gnome 14.04. I live far away and performs all the administration remotely. It takes me around 5 minutes every 2 weeks (apt-get update, upgrade). I think ubuntu is perfect for old retire people who know someone who knows linux.
I'm not who you replied to but I didn't think what they wrote was in any way condescending.
The Android OS pointed out the OS didn't matter much for most tasks. Many users don't need Windows they just need an OS.
I'd even say most people are perfectly happy with a phone and an Internet connection. Complexity of any OS is a turn off for users, the OS of a phone is meant to be intuitive.
I recently retired from a small organization, 4000 users. A large chunk of those people could probably switch from Windows to Linux desktops just fine. But then the desktop support folks would have two platforms to support instead of one. Then would their linux client software give them all the same functionality they are getting from outlook, skype and exchange? I have no idea, but I'm guessing the savings would have to be substantial for anybody to even start investigating this.
So Google is condesneding to it's users? Because guess what a chrome book is! It's even worse actually - and trumpets please - they are now improving linux support on chromebooks.
The reason no linux distro has taken off is because even at free it's not cost effective for a hardware manufacturer to install it. Windows, when purchased in bulk as an OEM install is like a whopping $10 - but comes with all the 1st class driver support from manufacturers and software support from software vendors. So, if you are HP and need to support some umpteen million devices sold this year, you push Windows out the door, not Linux. This is also why Apple doesn't allow it's OS sold seperately anymore and try to tie it down to the hardware as much as possible - if they don't sell the hardware they really don't care if you paid them money for the OS. The OS was cheap to build (relatively speaking).
Until someone comes up with a better piece of hardware for running linux, then Mac and HP, Dell, etc, etc will maintain their dominance.
Every time I've put a Linux distribution to very inexperienced users, it worked well, there's a lot of UI things which tend to work better on Linux compared to Windows.
I think the main thing is there's no real point to switch so no one does.
- brand: microsoft is a single point, has been there since the dawn of PC
- ergonomics: linux GUIs are often of no value to the average user. Too diverse, too much change. Unless you do the effort to educate them they will never care. The leap is staggering.. remember people still don't understand web browsers and clicks fully. [2]
- economics: microsoft spends money on OEM deals, which means their software ends up on laptops on shelves that the average joe sees. Also, linux doesn't benefit from scale prices, the few machines that were open source from start were quite expensive with lower perf hardware. a hard sell in terms of numbers
Linux can't get more market share with never ending lib / framework shifts, inconsistent GUIs [1] and technical appeal only.
[1] that said win10 inheritance of win8 second layer is bridging this gap, it's super annoying to have to deal with fakely easier configuration panel but resort to the older one for denser information
[2] and for the joke, windows still follows CUA 99% so you get a very decent keyboard driven GUI. Linux is inconsistent, you may or may not .. sad considering we all love our keyboards #vim
I work at a startup. We have high-end System76 Linux Desktops...and we still cant get the video driver working on Ubuntu with Dell Ultrasharp monitors. The monitor half works and acts up every time the plug moves or every time we take the laptop mobile and plug it back in.
I cant imagine a retail desktop user tolerating these things.
Aside: There was some only-half-joking discussion in the office that someone should attempt to re-write the display driver as a 20% time project.
I feel like recent windows versions aren't that stable either though. There are times (for example one particular Bluetooth speaker) where I reboot into Linux to get things working... Pair that with the horror that is Windows update and I am not sure if Windows is less pain for the average user.
But there are definitely things were Linux is hit or miss (ime):
- video drivers (integrated graphics work well for me)
- integrated SD card readers
But if you don't have too fancy hardware requirements I think Linux can be OK.
> A vast number of users use their computers to check email, look up things on the web, and type up an occasional document.
Chomebooks.
These may very well become the standard desktop / laptop Linux.
* they are very secure
* they run Chrome extensions / apps
* the latest Chrome OS runs Android apps (and desktop integration will improve in a couple releases)
* very soon Chrome OS will run Linux desktop apps (eg, will install .deb files, apps like Gimp, Inkscape, etc) integrated into the Chrome desktop, without being in developer mode (eg "rooted")
* Chromebooks are very successful in education
* A fleet of chromebooks (eg, a school district) can centrally control their chromebooks, including policies. Fleet owners can negotiate volume pricing from multiple vendor suppliers. Chromebooks that are lost, stolen or eaten can be replaced for $67 / unit.
* You can buy expensive high end chromebooks that are very nice, thin, powerful, all day battery, etc
IMO, this could become "the year of the Linux desktop"
Year of the Chromebook maybe, but having the entire userland replaced with a proprietary web browser on top of the Linux kernel is probably not the victory the Linux Desktop community was hoping for.
A userland Chrome browser is what Chromebook WAS. What it is becoming is a desktop. With Linux and Android apps integrated.
There are a lot of good Android apps that would be useful on a laptop. There are a lot of Linux apps that are useful on a laptop.
Good security. With secure verified boot. Yet Linux apps that run in a strong sandbox allowing untrusted code. Android apps run in a different sandbox. All this is transparent to the user who sees a desktop.
The Chrome OS and Android are self updating. I don't know about Linux apps yet.
Android, again, was a complete replacement of the userland tooling developed by the community. For all intents and purposes it is a completely different system.
Even Windows can run Linux apps these days. It still doesn't seem to me that that qualifies as "year of the Linux Desktop" as it is intended.
Chrome OS is somewhat different. Today I use Crouton to run one or more Linux desktops (currently Ubuntu Unity and Xfce) on my Pixelbook. I've blown away an older Ubuntu 16.04 I had. Thinking about blowing away the Ubuntu Unity and keeping only the Xfce. Each Linux desktop takes about 5 GB with a few additional apps installed including LibreOffice, GIMP, Inksacpe, wxMaxima and Eclipse / Java. Using Crouton means my Pixelbook is in "developer mode" (which means rooted).
I look forward to the integrated Linux apps and expect one day I will switch out of developer (rooted) mode back to normal. This is called a "power wash" on the Settings and resets everything for security and verified boot so no unauthorized code can ever execute.
> A vast number of users use their computers to check email, look up things on the web, and type up an occasional document.
Yeah... so why do they need to switch to Linux to do that? Windows can already do those things fine.
Is Linux cheaper? Computers without Windows seem to cost the same as computers with Windows. And the actual cost to the OEM is probably something petty like $50 so it's not really an issue.
Yes Linux is cheaper because you do not need to change your computer as often. It is also cheaper because you spend far less time for system administration. Since may 2017 (when I bought my last computer), I have a dual boot windows/ubuntu. I use windows around 5 minutes each month for a single application. I have lost far more time in administrative tasks on windows than on linux: on linux all updates happen in background. On windows, computer was stuck during hours incrementing a percentage.
> It is also cheaper because you spend far less time for system administration.
This is highly dependent on how much experience one has with Windows and Linux, as well as the specific workload the computer is running.
I've had both Linux and Windows installations that always worked without any issues. I've also had both Linux and Windows installations that break on a weekly basis.
How about they want all the features of their expensive hardware to work? I’ve used Linux for 20 years and I cringe thinking about getting random WiFi, sound or blueray players to work. Much less properly suspending or using the correct power modes.
> I understand the desktop market, but I don't understand why a Linux distribution hasn't taken hold on the desktop market.
Because there's about 600 million distributions wasting energy competing. They waste energy on solving the same problems in slightly different ways, rather than working together to solve new problems.
As a user I don't _really_ care about window managers, package managers, KDE vs Gnome, or systemd vs whatever. I want my desktop to enable me to perform the tasks I want to do.
I do for example care that there's no decent remote desktop support on Linux. That's one of the primary reasons I still run a Windows desktop on my main machine.
Pardon ? Remote desktop was far better on Linux that any Windows solution. You ever try NX ? It was really amazing! Even it was working very soft, running across a poor ADSL internet connection!
There is room for that use case, as evidenced by the success of Chromebooks. I know quite a few people who are very happy with them.
But we don't really want to count that, because that's not what we meant. What we wanted is something that has all the options and configurability and openness of Linux, but on the desktop. And Chromebooks lack all of that.
I'm inclined to take that as a pretty clear confirmation that Linux on the desktop, as the Linux community tends to envision it, hasn't happened because Linux on the desktop represents something most consumers don't actually want.
Taking that statement out of context reverses its meaning.
The author clearly believes they know why it hasn't taken over the market. That's the entire point of the article, and they start explaining immediately after the sentence you quoted.
I can understand why something happens and still be amazed by it. That's what the author is saying. They understand why, but it still amazes them.
The average user probably wouldn't know the difference, since a computer is a browser and an office suite -- but there's no real incentive to sell anyone Linux? It wouldn't make anyone much more money, so what company would bother?
Thinking out loud, I haven't thoroughly researched my position but it sounds plausible.
edit: the implication being they're just going to use whatever is installed on the laptop that they pick up for $400 at the store, which of course will always be Windows, since Microsoft can afford to make the effort to sell it. Why would any regular person go to the effort of installing another OS for the same functionality?
Windows costs the OEM much less, it's almost free when you add in the money they get from bundling software like antivirus trials etc.which they won't get from installing Linux or selling without an OS.
Also their support staff are trained to handle Windows. Adding Linux to the mix will increase costs.
What would happen is the Asus Eee, which got such a high rate of returned units from people who didn't understand Linux that it ultimately got canceled.
I wonder what's the rate with current Chromebooks for example?
The UX of the distro chosen for EEE PCs (unfortunately I don't remember the name anymore) was really strange and something that was alien for users of any mainstream Windows, Linux or Mac desktop. I wonder if it could have succeeded better with something like Xubuntu instead.
I think the challenge in all this is the office suite and stable/native device drivers.
Firstly, the "Deciders" in the medium and large enterprises most often simply go with Microsoft's Office products. Regardless if libreoffice (and similar open source office suite offerings) provide the same functionality, these Deciders are already won over; so they simply "go with the flow". In order for there to be some sort of universal linux, there has to be an easy way to run Microsoft's Office products. That takes care of a huge number of typical office worker use-cases. (I'm leaving out surfing on the web, because that is already proven on any linux machine.)
Secondly, there is a need for native device drivers. If the Deciders can choose computers for their office workers that "just work", then their choice is easier. For this, computer manufacturers have to really help in crafting native device drivers that support linux.
I firmly believe that once the above 2 conditions are attended to, linux will then become something the Deciders can consider for the enterprise...then - with that many large numbers of users around the world - linux will have its day on the desktop.
I think you've got a critical detail wrong here: You're attributing way too much deciding power to the "decider".
The head of IT (or whoever) is not someone who gets to just make decisions by fiat. It's someone whose job is fundamentally to respond to the needs and demands of others. Until a significant number of the staff start demanding a Linux desktop environment, a Linux desktop environment is not realistically an option for the "decider". Not if they want to keep their job, anyway.
And, when it comes to the non-techie business members, I just don't see Linux having anything to attract them. What can it do better than Windows, from the perspective of Bob from accounting? Not abstract political stuff, mind -- he's just interested in being able to get his job done more easily so he can go home at 5 and kick a ball around with his kid before dinner.
I know this is sort of the commonly held belief, but I disagree. The problem is that the things you mention are primarily things that makes Linux useful for people who are already using it. For everyone else they would just use Windows if that is what they need.
That said most businesses don't care about those things either. They will happily use some old version of Internet Explore (in some weird mode no less) and force as many as possible to use Office 365. On top of that a lot of companies have all sort of esoteric solutions for machines sharing, authentication and storage.
There have been plenty of efforts to "streamline" Linux for different platforms, with different applications and modern user interface. There just that most things, including the ecosystem, beyond that are lacking.
Misleading title. They don't drop linux-support, they drop support for certain filesystems and defined which filesystems they will continue to support.
> The whole point of filesystems is they present the same interface. ZFS and ext4 should just work the same for Dropbox.
This is unfortunately not true, especially with ZFS and ext4 that you mentioned. ZFS is different enough that you can't even use tools like `df` and `du`. You need to use the ZFS tools.
ZFS is different enough that you can't even use tools like `df` and `du`.
I'm not as sure about df, but I've written a du or at least something approaching one before --- how does it not break every other application that relies on stat() and the file size that it returns?
Your statement proves the point that developing for Linux means having to support many choices.
What patches will be needed for yet some different filesystem, or init system, or desktop interface? And how many hundreds or thousands of programs might be affected?
1) The interface cannot be magically guaranteed as appropriate. In this case, Dropbox implicitly believes they need capabilities that the standard filesystem interface is not providing.
2) If the differences between filesystems were not interesting, we wouldn't have different filesystems. ZFS and ext4 have to be different, and hence incompatible, in some interesting way, or why have both?
If the differences between filesystems were not interesting, we wouldn't have different filesystems.
The differences between filesystems are largely implementation differences, not interface ones. They all essentially provide a way to store hierarchically named streams of bytes.
If it was something like a formatter, fscker, defragger or similar utility I could definitely see the reason behind "only X filesystems are supported" --- they need to access the low-level data structures, but (disclaimer: haven't used it before) AFAIK all that Dropbox does is sync changes in files between your local filesystem and some cloud server --- which doesn't seem like the sort of functionality that requires anything more than the basic FS API.
(If it hasn't already been done, someone should write their own client, or patch out a stupid check and show that, yes, Dropbox does work on just about any filesystem.)
The filesize reported by stat() may or may not have an relation to actual disk space consumed. Counting all files and adding up the stat() filesize, accounting for hardlinks, symlinks and all other normal unix weirdness including Sparse files, you could still find yourself a few bytes up to gigabytes off.
In dropbox' case the two suspected culprits are f_fsid and xattr, both of which have different behaviour on different FS'.
f_fsid is assumed/documented stable and it is. For varying definitions of "stable", where some filesystems mean "stable for each mount" or "stable for this device" or "stable for filesystem forever".
xattrs have varying limits on how much data you can put in and how many xattrs you can have and how they are handled for hardlinks (Linux says 255 byte for the name and 64KiB for the data, XFS and Reiser have that limit, ext4 and btrfs limit the entire xattr to 4KiB).
xattr is arguably worse for NTFS. While there is no limit to NTFS extended attributes, they are represented transparently as a separate file on the filesystem. Unlike where on linux all tools will suffice to copy xattrs because they are part of the file, on Windows, a copy tool needs to be aware of xattrs or they will be lost.
Relying on f_fsid as an actual filesystem id is batshit stupid. It is only "guaranteed" (And, bear in mind, POSIX doesn't specify anything in relation to f_fsid, so I have no idea what authority is guaranteeing this claim) that f_fsid+inode creates a uniquely identifying pair. Aside from that, a filesystem could fill it with literally anything to assure that. As the linux documentation says: "Nobody knows what f_fsid is supposed to contain"
See, the Linux documentation on statvfs:
The general idea is that f_fsid contains some random stuff such that
the pair (f_fsid,ino) uniquely determines a file. Some operating
systems use (a variation on) the device number, or the device number
combined with the filesystem type. Several operating systems
restrict giving out the f_fsid field to the superuser only (and zero
it for unprivileged users), because this field is used in the
filehandle of the filesystem when NFS-exported, and giving it out is
a security concern.
I can talk from personal experience that usually one of the two problems appear when developing cross-platform products:
1. The documentation states that the API is 99% the same and should be sufficient to write most applications except the most advanced ones. And then you hit that one difference which is required for feature parity between platforms which requires either a small hack or a massive workaround which will have to be supported indefinitely.
2. Even if the APIs are the same, the performance characteristics of the systems are different because some of those systems might not be meant to satisfy the same use cases as others and different workarounds are required for cross-platform support.
Dropbox desktop application might look simple from the outside, but it must contain some advanced features that its user base might require: directory exclusion from syncing, real-time file sync progress monitoring, displaying the UI status of the synchronization, real-time file change monitoring (as opposed to scanning the directory periodically for modification dates or content changes in the worst case) and many others I couldn't think of right now.
So, basically, you can almost always find some open-source alternative for your needs but it will probably only be tested on one platform and will probably contain only a subset of features. I recently had a hard time finding a good enough implementation for Google Drive for Ubuntu.
Hmm. So what the hell is Dropbox doing to my file system if they need those advanced features? All they should need is to be notified when a file changes and to be able to read and write said files?
> AFAIK all that Dropbox does is sync changes in files between your local filesystem and some cloud server --- which doesn't seem like the sort of functionality that requires anything more than the basic FS API.
The reason syncing requires more than basic FS API is because it's simply won't scale well beyond a handful of files. You need a highly efficient way to monitor file and directory changes, and that's typically not present in a basic FS API.
Case point, I was investigating using restic for backups after Crashplan pulled out of the consumer market, however it uses simple directory and file traversal (basic FS API stuff), which makes it take something like 30-40 minutes to just scan my directory tree and find out nothing changed. Crashplan monitored the filesystem and could perform a backup in seconds.
They have different performance metrics, they act differently when you unplug them, and they have different administrative features. Only the power loss scenario is something an application should ever care about, and even then it would either be "requires ZFS" or "doesn't care".
> UPDATE: Although Dropbox will not support ext4 filesystems that have been encrypted with ecryptfs, it will continue to support ext4 filesystems that have been encrypted with LUKS.
So, this entire article is complaining about something that isn't even true
No, just that it was originally under specified. It supports some encryption (i.e. the type it can't tell is there anyway.) It doesn't support one of the common ways of doing home directory encryption. So the article is definitely true, just more accurate with that update included. That also isn't the crux of the article's point anyway.
While I use ext4 on my home Linux machine, so not hit there. However on my office Windows machine my Dropbox folder resides on a Veracrypt (née Truecrypt) partition, which Dropbox has started complaining about.
So far SyncThing is looking pretty good in general. Two things I would really like to see:
* Support for non-trusted servers[1]
* Android app that is able to view and pull files down as desired (and possibly with the option to flag individual files to always be cached locally). You usually don't want your phone to hold local copies of everything in the shared folder(s) as it is usually space constrained.
syncthing-lite [1] is already supposed to do what you want for your second point. But it's not really there yet. I haven't managed to get it to work reliably (unlike the original app, which is great).
>Outside of this being a big mistake on the part of Dropbox
Why is it a big mistake? Most likely they're not seeing enough revenue to keep supporting the other filesystems, otherwise why would they cancel support for them?
>Given the disaster that has been Windows over the last few years
> Why is it a big mistake? Most likely they're not seeing enough revenue to keep supporting the other filesystems, otherwise why would they cancel support for them?
Dropbox is in a viral business, and they were the only ones who supported Linux.
Starting with Linux support, Dropbox's competition essentially completely ignores Linux. Box, Google Drive, One Drive etc all have no official Linux client. That makes it fair to say that some of Dropbox's customers are there because of the Linux support (I'm one of them). Note that a customer doesn't wholly have to be on Linux, but if for example 10% of the people at a customer could be on Linux, so using Dropbox for all of them makes sense, because of the Linux minority.
This is a viral business in that you use similar tools to collaborate with others. Dropbox did their spread not via marketing, but by word of mouth and minor storage bonuses as rewards for the spread. (Been there, done that.) But now there is going to be limiting of that spread by Linux folk affected by this.
Dropbox is now going to lose $1k+ per year because I'm dropping them as a paid personal and work customer. A tiny drop in the bucket indeed, but this will all add up. I think they are idiotic to take a unique selling point, and throw that away. I can't think of a single thing that makes them competitive with the alternatives now. The technical solution I would adopt is a more minimal sync mode when operating on non-optimal filesystems, and standard sync on supported filesystems.
This is all like compound interest. They have narrowed their customer base and made that rate a little lower. In the long term it could just turn out to be a terrible decision - my expectation.
Finally, it never ceases to amaze me that Linux has yet to take hold on the desktop market. Given the disaster that has been Windows over the last few years
No, not even close to being a given. In fact, it's just not true and he loses a bunch of credibility by saying that.
This is a very interesting article and to be fair while I agree with the author's conclusions that it would be great to have a standard Linux distro to refer to, I thought we had already hit that point with Ubuntu.
Nowadays, I have seen quite a few download software pages that simply list Ubuntu rather than Linux.
Anyways, for those complaining about how difficult it is to get anything to work with linux those days were 10 years ago, I invite you to spin up a Ubuntu VM and give it a test drive :)
Ubuntu almost succeeded in that respect, but at some point Canonical seemed to have gone insane with NIH duplication and then failed attempts at monitization that seem to have totally killed their momentum.
I switched to Syncthing a while back and haven't looked back. It's self-hosted, so there are no storage limits, and if you care to put in the work (setup is a tad more complex), it's also pretty easy to hook it up to a cloud server, which nets you an off-site backup.
Syncthing doesn't quite have the "Just Works" factor that Dropbox's offering has, but I don't need that; the ability to synchronize several terrabytes of my personal archives (I have a lot of data) was more than worth the effort.
I wouldn't recommend having syncthing be your only backup, at least for important files (like photos/videos of your kids). It was a couple years ago, but a syncthing bug was eating large files.
Take this anecdotal report with a dash of salt. It didn't happen to me. Happened to a friend of mine. That said, I wouldn't make Google Drive or Dropbox your only backup either.
I'm thinking of switching to syncthing soon, but I would probably recommend resilio to less techy types since it seems like its slightly easier to use, especially if you are paying the subscription fee where you can have all your folders added on new computers
I use OneDrive with the unofficial client by abraunegg. It works _almost_ flawlessly; and the twice now that I've had a bug they've fixed it within 24h; even when one happened on a Saturday.
I'm all in on mega, since there exist command line tools for it and linux support. Also if you're ever subject to high latency or buffer bloat or anything that might slow normal http traffic to a crawl, there's something about the way they deliver data that can always download at full speed.
What I'm having trouble understanding about the whole thing, and the author really misses the point by talking about Snap and Flatpak, is that the technical reason Dropbox are only supporting ext4 is apparently the use of extended attributes.
Now, correct me if I'm wrong, but a filesystem is supposed to abstract these concepts. All current major Linux filesystems (ext2+, btrfs, XFS etc.) support extended attributes. The implementation is irrelevant. It should be exposed to the application in exactly the same way because that's what the filesystem is /for/. Dropbox shouldn't need to worry about this whole thing because they should just be able to call the system API to deal with it.
We have an API and you can indeed create your own client (as some have done with ExpanDrive etc.)... Also there are some good open source copy/clone/backup solutions that work well with Dropbox, like rclone.org
I want to address a point that many here have replied to:
> Given the disaster that has been Windows over the last few years
Just because Windows has become stable and somewhat secure doesn't mean it hasn't been a disaster.
Windows 8 upset everything with a pointless new interface requiring user retraining on even the most basic things like how to log on or log off. How to print. Etc. There are now dual built in apps (preferences) for multiple things, in both the new UI, and the conventional UI.
Microsoft even tried to force the new interface onto server desktops.
Developers had to write apps a new way. And then there was the store for the new apps. The legacy apps were to become just that -- legacy.
Then Microsoft went back to having a start menu and a desktop again. Later, even as the primary interface -- but keeping some of the visual appearance of the "new" interface.
And the Windows store. And Windows S.
And the market confusion of Windows RT for ARM processors that cannot run legacy applications. But anyone could have (and I did) foresee that consumers would not understand this. Why won't my legacy x86 app run on Windows RT? The entire value proposition of Windows is that it runs legacy apps -- take that away and Windows has little value. Without the apps, it has less software than Linux or Mac. Developers were not going to port their apps to ARM for free. So if you bought Windows RT, be prepared to re-buy your apps. Consumers returned them in droves. For better or worse, Windows is deeply tied to Intel architecture.
Much of this upset was changes just to prop up the failing (and now definitely failed) Windows 7, then Windows 8 phone. (Both of which caused the previous efforts of developers to be obsolete and abandoned.)
And then redesigning the desktop UI yet again, for no good reason.
I think one could be fair in calling this a disaster. Just sayin'
Say, what are the non self hosted alternatives to Dropbox that are still alive? Same ease of use please, i.e. no Backblaze. I don't mind if it costs a bit.
would linus torvolds please stand up? he uses fedora; could fedora be The One? (in the article, author argues for a "standard desktop distribution" to rule them all)
> I am certainly not saying that Linux needs fewer choices. However, I've said this before, and I think it could use repeating. There needs to be a standard, a sort of "universal Linux" that companies (such as Microsoft or Adobe) can support. This is very complicated. Which distribution would serve as the "universal"? Or should a brand new distribution be created? Which desktop? Which init system? Which filesystem? Those questions continue to haunt Linux and prevent it from gaining widespread acceptance on the desktop.
Flatpak has been doing a good job of doing the "universal linux" since the application can simply bring their own Linux and have a common interface into the user's computer with some sandboxing thrown in.
I knew which XKCD you were referring to without you even needing to link it, but if you _must_ obligatorily link xkcd comics, do remember to actually post the link.
As for Linux standards, at least in the datacenter I work in, by FAR the two most popular distributions are Ubuntu and RedHat. For home users RedHat would translate to Fedora (which is roughly RedHat's upstream), and for businesses not wanting to deal with RedHat licensing, CentOS.
Everything else seems to be fringe, at least as far as servers go. If companies all agreed to target Fedora / Ubuntu, and the Gnome Desktop as our sort of casual starting point? That would work. It would have lots of room for improvement (Gnome's UI is... strongly opinionated), but I still think it might work.
> I really think Linux will finally win the desktop (someday. Clearly not today.)
Not to get too off topic, but why do you think this? (Genuine question, no snark). I love linux, but from my perspective, Linux desktop seems only marginally more mainstream than 5 years ago.
ChromeOS is doing ok I guess, but if that is how linux wins the desktop, it’s a very pyrrhic victory. ChromeOS is Linux, but not any of the parts I like about it.
Pricey? Maybe in comparison to a budget laptop but as you're comparing it to a Macbook, it's not even close to the price of a similar configuration there. My local Costco has Dell XPS 13s and Lenovo X1s for ~$1400.
Pricey compared to an equivalent Lenovo, for example. But yes, compared to a Macbook it's quite cheap.
The base models don't have a lot in the way of RAM, CPU, and disk space. Bumping those specs up to acceptable levels adds quite a bit to the cost, sometimes $1,000 or more.
> ChromeOS is doing ok I guess, but if that is how linux wins the desktop, it’s a very pyrrhic victory. ChromeOS is Linux, but not any of the parts I like about it.
Partially agree, although using Crouton it's been very easy to run Ubuntu on a Chromebook for years. Also Debian is about to get first class support. That and the ability to run Android apps is becoming really compelling to me.
I gave Linux a try, over 2 years as my work desktop, but over half of the applications that I need to use for my work would end up crashing regularly. Linux is great for terminal windows but Mac and Windows are now on par with that.
> Given the disaster that has been Windows over the last few years, and that Apple hardware is often out of the price range of the average user, Linux should be primed to take over the market.
I feel similarly. I'm a big Mac fan, but I'm confused why Linux isn't the obvious alternative. I'm guessing the issues are the following:
1) PCs/Laptops to consumers ship with Windows installed by default, likely a distribution partnership w/ Microsoft
2) Popular games run best on Windows
Problem (1) is difficult because of Microsoft's deep pockets. But it feels like it's possible to attack problem (2).
The gaming industry has huge sway on the market. For example, many serious gamers build their own rigs. If gaming companies introduce an open standard that Windows OS's need to abide by to build games, then.... maybe Linux can benefit as well?
I suspect this hugely benefits gaming companies too, because they would be able to develop on open source technology and not have to test their builds on proprietary technology. Honestly, that workflow sounds miserable AND expensive.
3) Hardware support is dependent on kernel version, regressions occur.
4) There isn't a universal anything. There's no base system for developers to depend on, there's no consistency to the interfaces, widgets, clipboard behavior, or anything else.
5) Pretending there is no line between "system" and "application" and relying on a package manager and repositories is a terrible paradigm with a long list of problems roundly dismissed and ignored by the community.
6) The community is terrible. If you have any issues you'll be told you're using the wrong distro (no matter which distro it is), you should read the manual (even if you did), you don't really want to do that (I do, actually), "normal people" don't do that (I care why?), and finally that the source is available and you can fix it yourself.
7) The whole system is a gigantic Rube Goldberg machine of disparate components developed largely in isolation and slapped together by whoever decided to build a distro today.
And probably about a hundred other reasons. But rather than try to solve any of them the Linux desktop community prefers to pretend that they don't exist, and the REAL problem is that Microsoft is a bully and won't let companies install Linux by default or something.
I was perhaps a bit naive and continue being so...
It feels as though the issues you listed seem solvable? As in, the work to create a distro & craft a community that solves the above problems is work that can be monetized, possibly in a RedHat-like way. I don't know much about RedHat's customers, but I'm curious what percentage of them use RedHat for desktop GUIs.
It'd for sure be a lot of work, particularly the hardware support since you'd have to convince other vendors that it's in their best interests to play nicely. It really feels like there's huge potential upside here because you'd be able to drive down prices (with open source development) and have contracts on the enterprise support angle.
They are totally solvable. They're so solvable, most of them have already been solved several times. The biggest issue is that very few within the Linux Desktop community seem willing to untie behind these solutions and instead prefer to keep everything fragmented, or cling to some backwards way of doing things because of some nigh-religious adherence to "the unix way", forgetting conveniently that even the people who created unix went out and improved on it because it really wasn't that great.
Google basically did solve a lot of these problems with Android, but doesn't seem to have any interest whatsoever in the Personal Computing Desktop market. Not surprising, their business model depends on keeping people in the web browser as much as possible, and the reality is that it isn't a very lucrative market anyway.
I'm not even entirely sure that's a bad thing. Now that I'm watching Microsoft turn their once-decent Personal Computing Desktop OS into a steaming pile of user-hostile garbage, I'm not sure I want the future of personal computing to be in some company's hands. Sadly, it is my considered opinion that the current open source community is largely worse.
> The biggest issue is that very few within the Linux Desktop community seem willing to untie behind these solutions and instead prefer to keep everything fragmented
I suspect this is the case with most open source communities that don't have a clear "market leader".
But if it's all open source someone can run with it and solve all the things if they wanted to, right?
I think the community could solve most of the problems if they wanted to, yes. Actually, I think if you could find and organize all the people who really want an open source desktop and have congruent goals towards a personal computer OS that embraces simplicity, consistency, and user empowerment, it could happen without having to deal with the mainstream Linux Desktop community. Unfortunately there doesn't seem to be anywhere for these people to find each other, no project to rally behind, no community to engage with.
Very few people use Red Hat (RHEL) as a desktop. It simply gets outdated and has (intentionally) very long release cycles. Most Red Hat shops I have been part of use Fedora for the desktop, and ship the RHEL/CentOS on the server.
> And probably about a hundred other reasons. But rather than try to solve any of them the Linux desktop community prefers to pretend that they don't exist, and the REAL problem is that Microsoft is a bully and won't let companies install Linux by default or something.
At least with 4, 5 and 7 they don't get solved because they are also strengths and a large part of the reason linux is so successful. I also don't see why you complain about package management but also complain about it being a rube goldberg machine, the former fixes much of the later which is still an issue with windows.
In the server and single-purpose appliance market. Otherwise you're talking about Android, which doesn't use a package manager, in the traditional sense, to install applications.
> I also don't see why you complain about package management but also complain about it being a rube goldberg machine, the former fixes much of the later which is still an issue with windows.
The former is utterly unnecessary if your system isn't a Rube Goldberg machine slapped together from disparate components. Windows installers may suck too, but that's just whataboutism. There is absolutely no reason that application management should require anything other than simple every day file management utilities like "copy" and "delete". See: DOS, RiscOS, MacOS classic, NeXTStep Application Bundles (inherited by modern MacOS), Rox Filer AppDirs, and AppImage.
> In the server and single-purpose appliance market. Otherwise you're talking about Android, which doesn't use a package manager, in the traditional sense, to install applications.
But android does rely on those slapped together disparate components you think are a negative. It's a large part of it's success that they could use components relevant for a portable computer and discard the parts built with servers in mind.
> There is absolutely no reason that application management should require anything other than simple every day file management utilities like "copy" and "delete". See: DOS, RiscOS, MacOS classic, NeXTStep Application Bundles (inherited by modern MacOS), Rox Filer AppDirs, and AppImage.
Ok, now how do you update all those apps with a single command? Most of those existed in a radically different security environment to today's, the last thing I want is 15 copies of the same library at random versions scattered throughout the file system, think of how many long patched vulnerabilities they contain.
Android basically just uses the kernel. It doesn't even use the GNU libraries and utilities. Google has built their own userland on top of the kernel.
> Ok, now how do you update all those apps with a single command?
You assume that this is worth all the headache and rigid inflexibility a package manager brings to the table, I don't think it is. Beside's, it's actually very straightforward: Each application has a manifest specifying a URI that can be checked using a known protocol to determine if updates are available and then the can be applied as a diff against the current version. Searching a file hierarchy is not rocket science, so just have your single command search for all AppDirs (AppImages, Application Bundles, whatever) and check each for updates, then present a list to the user so they can choose which ones they wish to update.
>the last thing I want is 15 copies of the same library at random versions scattered throughout the file system, think of how many long patched vulnerabilities they contain
The last thing I want is to be locked into a repo where the only applications I can safely install are at the whim of some third party maintainer and my only alternative is usually to just compile from source. I can't move applications around, have multiple versions of the same application, and they break easily when libraries get updated underneath them with incompatable changes.
Really common libraries, like cryptography libraries, should be part of the OS base system (a concept that does not exist in Linux) and updated with that, developers need not ship their own copy, and having a few copies of 200k libsomebullshit.so laying around isn't that big a deal. If you're incredibly paranoid about security we have sandboxing nowadays, use it (unsurprisingly, containers are hugely popular for Linux, hmmm...).
Linux has too many options. Mainstream users want to be able to get the same thing (or near it) on every computer they use. If I install Linux and you install Linux, are they the same? Maybe. But if we both install Windows or both install macOS? Yes. These options become intimidating. It's the same reason many people stuck with Windows XP until their computers caught fire or whatever other reasons they had to finally abandon it.
Gaming is also a factor. A better gaming story would drive up adoption amongst gamers and maybe spread to the people in their circles. But you'd have to have one or two distros that were particularly good for gaming that the majority of them used.
> Linux has too many options. Mainstream users want to be able to get the same thing (or near it) on every computer they use.
While I personally rejoice at the choice, unfortunately I believe you are right. I have switched quite a few people to Linux, technical and non-technical. The technical people tend to get excited about choice, and sometimes go read for hours on the different DE options. Non-technical people get a look of anxiety on their face, and even a little panic. I started defaulting *younger users to Gnome 3 and older users to MATE, and it has been a terrific decision.
> But you'd have to have one or two distros that were particularly good for gaming that the majority of them used
Right, that's probably closer to what I'm getting at. There's probably always going to be a bunch of options for Linux, but there should (?) be a few main ones for most people. And then anyone who wants to customize can then customize to their liking.
I think you maybe don't use Linux or Windows 10? Windows 10 is still far and away more friendly and presents a much better user experience than Linux.
Linux will be the "obvious alternative" when the software actually works with off the shelf consumer hardware, compiling your own drivers based off of something you've downloaded from github is a non-starter, and getting things like waking from standby to work isn't a series of frustrating googles.
If you're into computers, not using them as tools just into them in general Linux is fine. But Linux is not ready for someone who is uninterested in how computers work.
Clearly a matter of perspective.
Happily living in Xfce-land on my various Arch-boxes, my rare excursions into the world of Windows are always occasions for disbelief: 'Do people actually live with this, day in and day out?'.
The prescribed choices, the licensing popups, the installation and upgrade rigmarole, the opaque policy management, the dependency hell, the anti-virus idiocy, and the Mickey Mouse conventions of the file system. Please, take me home to sanity.
But as I said - perspective. I must assume it all somehow makes a kind of sense if you're really into it, and that pacman -Syu could equally freak you out if you came visiting to my side. Windows users rarely do, though.
> Um the dependency hell is not something I have seen in Windows, but quiet often in Linux.
You never had to install 2 different version of php with IIS. My worst internship by far, it took us almost 3 week to get my workstation to work, and my coworkers were windows powerusers. I'd rather spend multiple times 10 minutes to resolve dependency hell than spend again 3*40 hours doing the same thing, just with no understnding of what i'm doing.
If you stick to the distro package manager you should never see dependency hell on linux, in 15+ years of using it I've seen it three times. Once was when I was being too clever for my own good with the package manager, once was from using third part package managers (ruby gems) and once is from co-workers essentially creating their own distro + package manager on top of red hat ( a story in it's own right). The root cause of each of those was ignoring or screwing with the package manager. And the last two started out as deficiencies (non-existence) in windows package management.
On windows I've come across it much more. Installing different versions of Visual Studio, installing some random program that doesn't package it's binaries, various installers including sub-installers, trying to run a program that requires the .net framework and having to install that first.
I spent most of this morning dealing with a windows app that was missing a dll and had to google my way through with lot's of trial and error to find the missing package.
I've also had docker for windows screw up my cygwin install, but I guess that's a point in each column.
> Linux will be the "obvious alternative" when the software actually works with off the shelf consumer hardware, compiling your own drivers based off of something you've downloaded from github is a non-starter, and getting things like waking from standby to work isn't a series of frustrating googles.
When was the last time you tried Linux? Unless you're using something very experimental, you don't have to download drivers from github and install them (unless you want to). Even Nvidia, which is the only exception I can think of, is packaged in a way that's pretty darn friendly (a couple of clicks in a UI to enable them). What you described is more what Linux was like in the 2000s era. If you use a distro with an even remotely new kernel (Fedora, Arch) it will likely support every piece of hardware you can buy (proprietary hardware is an exception for obvious reasons).
>Windows 10 is still far and away more friendly and presents a much better user experience than Linux.
Windows 10 is a definite step backwards in terms of usability and even stability. Peak usability was definitely XP/Win 7.
Linux really isn't bad with usability anymore on popular distros. Any recent install of Linux Mint or Ubuntu will force you to learn where things are (Windows 10 now has essentially 3 'Control Panels', with different settings placed between all three), but I really don't see Mint or Ubuntu as harder to use than Windows 10 in 2018.
If you don’t get this you should probably just admit you don’t understand the desktop market and refrain from commenting.