Slashdot Mirror


What Dropbox Dropping Linux Support Says (techrepublic.com)

Jack Wallen, writing for TechRepublic: For a company to support Linux, they have to consider supporting: Multiple file systems, multiple distributions, multiple desktops, multiple init systems, multiple kernels. If you're an open source developer, focusing on a single distribution, that's not a problem. If you're a company that produces a product (and you stake your living on that product), those multiple points of entry do become a problem. Let's consider Adobe (and Photoshop). If Adobe wanted to port their industry-leading product to Linux, how do they do that? Do they spend the time developing support for ext4, btrfs, Ubuntu, Fedora, GNOME, Mate, KDE, systemd? You see how that might look from the eyes of any given company?

It becomes even more complicated when companies consider how accustomed to the idea of "free" (as in beer) Linux users are. Although I am very willing to pay for software on Linux, it's a rare occasion that I do (mostly because I haven't found a piece of must-have software that has an associated cost). Few companies will support the Linux desktop when the act of supporting means putting that much time and effort into a product that a large cross-section of users might wind up unwilling to pay the price of admission. That's not to say every Linux user is unwilling to shell out the cost for a piece of software. But many won't.

58 of 424 comments (clear)

  1. Why is the FS a problem? by Tomahawk · · Score: 5, Interesting

    Surely the OS is providing standard access to every FS, so from an application perspective everything looks the same. So why is it a problem for applications to support ext4 and btrfs when, via the OS, they should look the same?

    fopen() will still work, regardless, surely... no?

    1. Re:Why is the FS a problem? by Anonymous Coward · · Score: 2, Informative

      Except Dropbox wants access to your filesystem details for their backup stuff., not just the file descriptor and data.

    2. Re:Why is the FS a problem? by marcelus · · Score: 5, Interesting

      I think that lower-level calls may be necessary to ensure a seamless performance. I don't know for Linux (where file locking rules are different), but as a Windows Dropbox user, I find it *very* nice that I can work on big Photoshop files, save them often and *never* have Dropbox get in the way by locking the file (and, furthermore, Dropbox only uploads or downloads chunks of the file that have changed) Google Drive, on the other hand, is a PITA when it comes to this: I was using it before and saving files often resulted in Photoshop complaining... a lot! (Google Drive is OK for backups or very small files, though) It might be that the naive approach of using posix-level calls is not really enough Just my $0.02

    3. Re:Why is the FS a problem? by asackett · · Score: 3, Interesting

      In my own experience, you are correct. In my own work, this is true.

      From the perspective of one shuttling a file from this place to that without any concern about its content, buckets of bytes are buckets of bytes. The files system says "I prefer moving blocks of 4096", I say okay, gimme 4096 of 'em this time and I'll keep asking until EOF.

      OTOH, from the perspective of one parsing those files for meaning, the situation becomes far more complex and our suspicion of their motives should increase.

      --

      Warning: This signature may offend some viewers.

    4. Re:Why is the FS a problem? by gweihir · · Score: 2

      Basically everything in the standard C library works. You only run into problems when doing non-portable things. I guess Dropbox does not have the money to hire a real Unix developer...

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    5. Re:Why is the FS a problem? by Tomahawk · · Score: 4, Informative

      "2 Types of Linux File Locking (Advisory, Mandatory Lock Examples)": https://www.thegeekstuff.com/2...

      This might be of some interest to you.

    6. Re:Why is the FS a problem? by Anonymous Coward · · Score: 5, Insightful

      Except Dropbox wants access to your filesystem details for their backup stuff., not just the file descriptor and data.

      So, in other words, Dropbox is run by retards who have no clue about proper software development.

      It's a program that copies files from one location to another. If Dropbox can't get out of the way and let the OS worry about things like the file system and systemD, then there is something seriously wrong with them.

      This is a classic case of Doing It Wrong®.

    7. Re:Why is the FS a problem? by Spazmania · · Score: 4, Insightful

      That exposes a basic misunderstanding of how software in Linux is built. The program which presents a remote filesystem should be separate from the program which synchronizes files. That's the unix way.

      It also makes Dropbox's job simple: a fuse (filesystem in userspace) driver and then let folks stack whatever other Linux software they want to on top of it.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion.
    8. Re:Why is the FS a problem? by BigBlockMopar · · Score: 4, Interesting

      That exposes a basic misunderstanding of how software in Linux is built. The program which presents a remote filesystem should be separate from the program which synchronizes files. That's the unix way.

      It also makes Dropbox's job simple: a fuse (filesystem in userspace) driver and then let folks stack whatever other Linux software they want to on top of it.

      Yeah, I was confused about that argument about fractured filesystems (among other things) in the original post. How and why does that matter to them, unless they're doing something at a lower level than userspace?

      Yes, I agree, the Linux community is horribly fractured and must be a big nightmare for some applications to be ported. But if it's available for anything Apple, or anything Android, porting it to Linux should be relatively easy.

      From article:

      Although I am very willing to pay for software on Linux, it's a rare occasion that I do (mostly because I haven't found a piece of must-have software that has an associated cost).

      Mostly because we're accustomed to having enterprise-grade software free. Linux users aren't cheapskates, and consider that ALL the computers in the TOP500 list are running Linux. Linux users can shell out money.

      I'd be a lot more receptive to AutoCAD, for example, if they put out a Linux version. But why bother? There's FreeCAD and a host of others. Photoshop? GIMP. And let's not even get going on Blender.

      Dropbox - isn't it, really in the end, just rsync being run within a script? I liked the name for the credibility, but again, Linux has credibility in its own right.

      --
      Fire and Meat. Yummy.
    9. Re:Why is the FS a problem? by jellomizer · · Score: 2

      This seems to be a higher up with no idea on the technology coming up with some sort of excuse to not support Linux.

      Do they spend the time developing support for ext4, btrfs, Ubuntu, Fedora, GNOME, Mate, KDE, systemd?
      For most applications even rather complex ones The file system is rather transparent, Unless you are really wanting to focus on some unique feature of the File System, say restore to a previous file version, but still for most cases these extra features and tools are reserved as part of the OS Distribution core set of tools.

      Systemd? Again unless you are really doing something specific no one really cares about systemd, they just like to troll about it, because it was different. But I haven't seen a major releases of code to support systemd.

      The Desktop environment is probably the biggest difference however most distributions you can add the libraries to support both you can run that KDE app in Gnome and vice versa. The biggest issue is the App just won't fit the theme of your desktop. For the likes of Adobe or other commercial products, they like to make their own theme for their applications even if it doesn't fit the standards.

      Dropbox just doesn't want to support Linux, so they are pulling excuses out of their ass, to try to say it as nicely as they can. We really want to, but it is impossible.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    10. Re:Why is the FS a problem? by Anonymous Coward · · Score: 5, Insightful

      If that's the case then explain systemd. /s

      Easy; systemd is not the unix way.

    11. Re:Why is the FS a problem? by jellomizer · · Score: 5, Insightful

      This type of design is what I find is what developers make when they are at the "Arrogant Rookie" level of their career.
      Where if there was a book on the technology, The skills used are from chapter 1 and the last chapter.
      They are trying to show off how good they are by not doing things the easy way.
      I had once had to maintain an application because the developer who decided to access a database not via the SQL commands that it supported, but by directly accessing the DLLs and doing the direct calls to the database engine.
      Yes it was faster, but this product was so tightly tied to the Database system that it was nearly impossible to upgrade the database engine, and were at the direct wims of the Database Company, if they charged more then we had to pay more, or do a near full rewrite of the application. As well if there was a bug in the code, then the entire data would get messed up because of the low level access. As well it skipped steps to make the data SQL compatible so it required either a hex editor or custom programming for any ad-hoc report, or odd data fix.

      Normally if a company or a product seems to be very strictly worried about low level differences, chances are it was coded by an Amateur who thinks himself all that. And is a sure sign to avoid such product on all environments.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    12. Re: Why is the FS a problem? by jellomizer · · Score: 4, Insightful

      rsync was a Unix tool. So it was probably designed around the Unix design principals. While Dropbox was a hack design to Windows.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    13. Re:Why is the FS a problem? by jellomizer · · Score: 2

      I rarely every have file locking problem in Linux systems. Unlike windows Linux was designed to Mimic Unix principals and Unix systems were designed to be multi-user environments. Having multiple Apps accessing the same file is rarely an issue. Especially with one app which job is to write and the other one whose job is to read.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    14. Re:Why is the FS a problem? by jellomizer · · Score: 4, Insightful

      That is my thought. It was just FUD way to explain they just don't want to do it.
      Other then saying all these "technical" difficulties. They should just state that it is difficult to support Linux, because it is hard to train Level 1 India support to navigate a non-standardized UI.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    15. Re:Why is the FS a problem? by SharpFang · · Score: 3, Informative

      > Dropbox is run by retards who have no clue about proper software development.

      It is. My phone died on my trip and I had to buy some other quick; went for a cheapo that has 4GB of internal flash, 3 of which are preloaded with OS and various crapware. There's 1GB for user apps and data left. After mandatory updates of the built-in apps and installing some bare essentials (including Dropbox), I still had some 450MB free. I installed Dropbox to download the files I had on the old phone and I would need, like bus schedules at the destination, where network coverage was too dodgy.

      Nope. Can't make an 80KB file available offline through Dropbox. You need at least 500MB of space on your device. Free up some space.
      Oh, and I don't give a fuck that you still have 14GB free on your SD card. No 500M internal storage free, no offline files for you!

      --
      45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
    16. Re:Why is the FS a problem? by Wrath0fb0b · · Score: 4, Interesting

      Surely the OS is providing standard access to every FS

      They are trying, and largely succeeding. Nevertheless, all non-trivial (and filesystems are highly nontrivial) abstractions are leaky

      fopen() will still work, regardless, surely... no?

      A service that offers background sync (i.e. changes are pushed to the cloud in the background) which doesn't just poll (polling is evil) needs an API much more complicated that fopen. Specifically, it needs a notification stream where it can create a 'watched' folder and be notified when:

      • A file in the watch was opened for writing was closed
      • A new file or directory entry was created
      • A file or directory was deleted
      • A file or directory was moved, either from outside the watch to inside, inside to outside or inside to inside. Note that this is essential to allow users to rename or reorganize their folders without retransmitting the entire file each time
      • Probably more I'm not thinking of . . .

      This is a (somewhat) solved problem, in the sense that inotify exists within some limitations described on the wikipedia page (and further in the man page). One really obvious limitation is that the kernel will not do this recursively for you, meaning that the client has to manually add/remove folder watches. The other is that rename events are clunky, coming in two halves with a linking identify. Anyway, if you read the history, you'll note this is the third or so attempt at getting this right, which at least suggests that it's non-trivial enough that we had to can the original (dnotify) interface and start over once.

      What was the point of this side-track into filesystem watching? Well, for one, we started with "how hard is fopen/fread" and now ended up with "holy crap, that's highly non-trivial to be async notified of changes within a directory tree (recursively!)". It also raises the question of whether the interface really is an airtight abstraction, or whether filesystem implementation details leak into the caller to be dealt with. Even answering that question for all supported Linux filesystems is non-trivial.

      If you take nothing else away, just remember that this is a far more complicated problem than rsync ;-)

      Postscript: rsync is 50K LOC

    17. Re:Why is the FS a problem? by Ol+Olsoc · · Score: 2

      So, in other words, Dropbox is run by retards who have no clue about proper software development.

      It's a program that copies files from one location to another. If Dropbox can't get out of the way and let the OS worry about things like the file system and systemD, then there is something seriously wrong with them.

      This is a classic case of Doing It Wrong®.

      AC needs to be at +5.

      This also smells a bit like a zealot is in charge.

      --
      The shepherds did so well protecting the flock that the sheep no longer believed that wolves existed.
    18. Re:Why is the FS a problem? by SharpFang · · Score: 2, Insightful

      ...or I'll just switch to any other of dozens of cloud storage services.

      --
      45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
    19. Re:Why is the FS a problem? by omnichad · · Score: 2, Insightful

      Because of course the better product always wins in the market.

    20. Re: Why is the FS a problem? by GameboyRMH · · Score: 4, Interesting

      These are rare corner cases though, and not really a problem with rsync or the filesystem. By default rsync compares datestamps to check for changes and will skip over files where the datestamps match. Sometimes a file will be altered but its datestamp won't - the only situation I'm aware of like this is Linux filesystem container binary files. In my rsync scripts I have to touch each of them first if I want them to be seen as updated. Somewhat more commonly there are a few programs that will update the Modified datestamp on files they open even if they've only been read and not changed.

      I blame the way these programs handle datestamps. Linux/mount should update the datestamps of filesystem container files when they're written to, and programs shouldn't update the datestamps of files that are not changed.

      --
      "When information is power, privacy is freedom" - Jah-Wren Ryel
    21. Re:Why is the FS a problem? by eneville · · Score: 2

      Yes, I agree, the Linux community is horribly fractured and must be a big nightmare for some applications to be ported. But if it's available for anything Apple, or anything Android, porting it to Linux should be relatively easy.

      If that's the case, why is there no openbsd variant?

      Windows is pretty fragmented too, look at the issues with various AV software. PowerShell is starting show signs of decay through the lack of consistency from 2008 versions onwards, (see cmdletbinding for example).

    22. Re:Why is the FS a problem? by gweihir · · Score: 2

      The stdio library is insufficient for the performance and handling they do.

      Bullshit. The standard library is sufficient for anything the machine can deliver in performance. If they claim need more, then they have some severe design defects in their system.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    23. Re:Why is the FS a problem? by jellomizer · · Score: 3, Insightful

      It does sound like it, but I have made my career taking over other peoples work. While I see a lot of things that I think I could do better, I can see the logic behind the approach especially with the time such product was made.

      However I also have been able to meet the people with the code I am taking over, They seem to fall in categories.
      "Not my job, but it needed to be done": This is code from someone who didn't want to make an application, but just kinda grew out of hand. Oddly enough besides some infrastructure problems the code is rather clean and logical.
      "Arrogant Rookie": The guy who thinks he is all that, however while trying to make impressive stuff, really fails on understanding. This is usually the toughest code to figure out, because the easy way to solve problems seem to be consciously ignored.
      "General Pro": They are a professional, their code tries to make sense, and the code it normally easy to follow. Sometimes they have some bad days, but in general easy to follow and fix.
      "Rockstar Developer": The code is actually kinda OK, however perfection often makes their code dense at time, and difficult to maintain, until I can figure what is going

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    24. Re:Why is the FS a problem? by Seven+Spirals · · Score: 2

      That's not true. Try putting a sysV init script into /etc/init.d then backlinking it to a runlevel. Ooops! That doesn't fucking work right did it systemd Lennart fanboy? Oh wait, you didn't try so you don't know that. Did you remember to "enable" the init service? Did you remember to add _SYSTEMCTL_SKIP_REDIRECT=OHYES in your script? First of all systemd uses a "generator" that creates unit files from the SysV scripts. It often fails for LSB style scripts that have special tags (systemd overreacts to them and fails where normal LSB parsing wouldn't). Also, systemd has no concept of runlevels and any script that assumes it'll be run in the proper runlevel may malfunction. I support Linux as a professional Unix support guru and systemd is a topic that comes up constantly. It's generators often fail to generate correct dependency tree information for the dynamic unit files it makes. Redhat's answer to this is "convert your init script to a unit file manually" my response is: Fuck you Red Hat and the entire cadre of assholes who foisted systemd on us. The more I learn about it (which is obviously more than you know about it since you are spouting bullshit out of your ass about it) the more I hate it. It's like Lennart's other project Pulseaudio. You can always count on it to suck and do the wrong thing (eat CPU, fail for lame reasons, not work at all, hide your diagnostics, etc..).

  2. Are you retarded? by dnaumov · · Score: 5, Interesting

    Why would an image editing program give 2 shits about: ext4, btrfs, GNOME, Mate, KDE and systemd?

    1. Re:Are you retarded? by Anonymous Coward · · Score: 2, Insightful

      Or, more than that, if they're down in the weeds that far to squeeze out every bit of performance possible, why wouldn't they just state what they require and do a simple check to make sure it exists before installing... like any other application ever?

    2. Re:Are you retarded? by Computershack · · Score: 3, Insightful

      For the GUI you have to give them that, they have a valid point. Everything else is just bollocks though.

      --
      I only please one person per day. Today is not your day. Tomorrow isn't looking good either. - Scott Adams
  3. This old FUD? by The+Cynical+Critic · · Score: 4, Insightful

    I thought Slashdot of all places would be free of the old Microsoft FUD from the 90s about how supposedly fragmented Linux is and how Linux users don't want to pay for software because Linux itself is (usually) free... The reality is that from an application developer's perspective Linux is about as fragmented as Linux and OSX if you can use some pretty basic principles and Linux users do pay for software if good paid software is available. It's also kind of ridiculous for SystemD to be brought up here when application developers don't need to work with it and it's pretty much universally used at this point.

    But hey, gotta bait those clicks somehow right?

    --
    "Why should I want to make anything up? Life's bad enough as it is without wanting to invent any more of it."
    1. Re: This old FUD? by SirSlud · · Score: 2

      Dropbox has a daemon component for file syncing so startup scripts are going to be involved.

      --
      "Old man yells at systemd"
    2. Re:This old FUD? by SharpFang · · Score: 4, Interesting

      Dropbox made some really dumb design decisions early on, tying the program way deeper into the OS works than it really needed, and suddenly they discovered that if you dig all the way through the one uniform friendly abstraction layer meant to be used by everyone and sufficient to everyone, you suddenly discover there are many different variants of works down below, of things you weren't supposed to touch in the first place. And they change a lot, and are hard to use.

      And now they try to pin the blame on someone else.

      --
      45 5F E1 04 22 CA 29 C4 93 3F 95 05 2B 79 2A B2
    3. Re: This old FUD? by Dragonslicer · · Score: 2

      The person that wrote the article is strongly implying that it's a difficult task that discourages companies from writing software for Linux. If the need for a few hours of work by a single developer (maybe with the help of a sysadmin) is what convinces a company not to support an operating system, then I have serious doubts about the competency of that company.

  4. And alternatively, they could just code cleanly by gweihir · · Score: 4, Insightful

    There is a ton of applications on Linux that all do not have these problems. It just requires a bit of experience and not using every damned feature some specialized installation may have. Apparently, Dropbox is lacking the skills for that though.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    1. Re:And alternatively, they could just code cleanly by gweihir · · Score: 2

      Poettering is just another incompetent with a big ego. As such he is not special in any way. The problem is that some morons decided to pus the abominations he creates onto the world.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    2. Re:And alternatively, they could just code cleanly by gweihir · · Score: 2

      And when I download a source package (not distro-specific) and compile that, I usually do have not have these problems either. Sure, there is bad software in the FOSS landscape, and quite a bit of it, but the good stuff shows that this is not a problem of the platform. But you have a valid point, even if indirectly: Many Linux users do not know how to compile stuff from sources these days.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  5. Sorry, but this is nonsens. by TheSunborn · · Score: 4, Insightful

    Let's take the case of Adobe porting Photoshop to linux.

    1: ext4/btrfs - This does not matter at all. There is no case where photoshop cares about the filesystem it runs from.

    Ubuntu/Fedora - Not really a problem. I personally run Fedora, but fedora don't have any problems running binary software developed for Ubuntu. Case in point: Most of the games I have in my Steam library are developed for Ubuntu, and have newer been tested on Fedora by the devoper at all. But they still run fine on Fedora.

    Gnome vs Mate vs KDE - Again: Why should Photoshop care? None of my other apps really care so why should Photoshop?
    Case in point: Even if I replace Kde which I currently use with a version of Enlightenment which I have compiled my self, none of my software will stop working. Apps don't care.

    systemd: If Photoshop cares about my init system, something have gone really really wrong. No issue at all.

    1. Re:Sorry, but this is nonsens. by OzPeter · · Score: 2, Funny

      systemd: If Photoshop cares about my init system, something have gone really really wrong. No issue at all.

      Here's where I think you have gone wrong. It's not that Photoshop cares about systemd, it's that one of systemd's goals is to overtake everything and in the process subsume Photoshop.

      Emacs is also on that list, but the timeframe for that is an order of magnitude later.

      --
      I am Slashdot. Are you Slashdot as well?
    2. Re:Sorry, but this is nonsens. by Antique+Geekmeister · · Score: 2

      This is, sadly, true. systemd hs repeatedly burdened us with modifications of basic system functionality, such as when it started killing processes owned by users who had logged out. This broke "screen", "tux", and "nohup" for backgrounded operations. However, systemd also does system logging. So any daemons created by installing commercial Adobe Photoshop, such as a license daemon, would typically use systemd logs.

  6. Re:Linux is a moving target by samwichse · · Score: 2

    As of version 10, Windows is also a moving target.

    https://www.microsoft.com/en-u...

    If you're only worried about Linux being a moving target because you write poorly-coded crapware, then good news! Windows update always breaks SOMETHING on all the poorly-coded crapware IT installs on my work desktop. Seriously. Every. Time. It. Runs.

    Linux is the new normal.

  7. Re: Linux is a moving target by TheDarkMaster · · Score: 2

    You did not understand anything I wrote. Servers do not change constantly, same thing for routers and cell phones. Now try making desktop applications like I do and you will understand the problem.

    --
    Religion: The greatest weapon of mass destruction of all time
  8. Re:Linux is a moving target by Tomahawk · · Score: 3, Insightful

    You can always statically compile your libraries in, especially those that might end up being problematic.

  9. Python by The+Evil+Atheist · · Score: 2

    Isn't Dropbox written in Python?

    And if VS Code can be written in Javascript and run on Linux, why would it be so hard for Dropbox?

    --
    Those who do not learn from commit history are doomed to regress it.
  10. You have FUD on your shoes by AntiSol · · Score: 2

    You have FUD on your shoes and now you're traipsing it all over my nice clean carpet.

    If you're a company that produces a product and you stake your living on that product then you hire somebody half-way competent and these issues are just totally non-issues.

    If Adobe wanted to port their industry-leading product to Linux, how do they do that?

    They write code in a portable way and compile it for a Linux target. it's really not hard. For more information, see any of the ten thousand "writing portable code" guides. As a bonus, portable code tends to be much cleaner and is less likely to have issues with things like newer versions of windows where compatibility changes are made, because you stop making assumptions about the operating system.

    Do they spend the time developing support for ext4, btrfs

    Why does an image editor need to care about the filesystem? What's wrong with just telling the operating system "I want to (read|write) file X" and letting it take care of that?

    Ubuntu, Fedora

    An approach that seems to be working just fine for valve and steam is to just support ubuntu, which also covers about a million derivative distros. If you want to be really nice you could also package for fedora and just with those 2 you'll cover something like 90% of Linux users. And the rest will be able to get your stuff working anyway, since they're smart enough to run obscure distros and generally know what they're doing (or can find a howto). I don't think any Linux user is going to complain if you're not packaging for their obscure distro.

    GNOME, Mate, KDE

    Pick one of the major toolkits like GTK or QT and you'll find that 99% of Linux users have it installed. Write your code to work with standards and you'll be just fine. Assuming you're doing something weird and wonderful enough for this to actually be an issue. But you're probably not.

    systemd

    Again, unless you're doing something weird and wonderful you will have no cause to know or care about systemd. Or openrc. or sysvinit. or any init system. And if you are doing something weird and wonderful where you actually do need to care you have many options: you can engage the community and they'll tell you everything you need to know, and maybe even write your systemd service files for you. Or you can just support the dominant platform and let the people using other systems sort it out themselves. And they will. And if they can they'll write howtos and send you patches to enable you to support the others if you want to.

    You see how that might look from the eyes of any given company?

    I sure can. If they hire morons they'll say "ooh Linux! scary!". Or they could hire skilled people who will see that these are all either total non-issues or trivially addressed.

    It becomes even more complicated when companies consider how accustomed to the idea of "free" (as in beer) Linux users are

    It depends on what you're trying to sell, and at what price point. If it's a system utility, we probably don't want it anyway because we probably have something better that's not only free as in beer but free as in freedom. But if you're trying to sell a good, easy to use, prosumer-grade nonlinear video editor, shut up and take my money, as long as you don't want $500 for it.

    Few companies will support the Linux desktop when the act of supporting means putting that much time and effort into a product that a large cross-section of users might wind up unwilling to pay the price of admission

    It's really not that much time and effort if you have competent developers.

    I literally do not know a single Linux user that doesn't have a pretty reasonable list of games in their steam Library. Mine is about to hit 300.

    As far as I can see the problem is not one of price but

  11. Took me a day to get it right. stat() and getxattr by raymorris · · Score: 5, Informative

    l wrote software that creates and syncs and *bootable* copy of a Linux machine. To have the clone boot and run right, everything needed to be copied over exactly - extended attributes included.

    It CAN be hard if you try to do it using the approach you are thinking of, but there is a much easier way. JavaScript programmers will recognize these two different approaches.

    > does the file system support symlinks, does it support locking? Can we reliably see if the file changed while we tried to sync it?

    stat() will tell you if the file is a symlink and when it last changed. If this file is a symlink, then it supports symlinks. You don't need to ask "does this filesystem support symlinks?", you just use stat() to find out what kind of file this is.

    > How about basic or extended attributes?

    Same thing. getxattr() will give you the extended attributes, if there are any. You don't need to start with detecting the filesystem and try to figure out if xattrs are possible, just use the getxattr() system call to read the extended attributes. You'll either get some or not.

    > Try that with /dev/zero and wait for your server space to fill up. Then download the already uploaded contents of /dev/sdb onto the current system.

    Remember when you called stat() earlier to get the file type and see if it's a symlink? That also tells you if it's a device file. So already done.

    Let's say you have really dumb programmers who don't know, and can't learn, that you get file information with stat(). Devices are in /dev. Don't copy the contents of files in /dev. You don't have to think about /dev/zero, /dev/random, etc - just know /dev is device files. Our system skipped /dev and /proc. Or just use rsync - it does the right thing by default. If you don't want to USE rsync, spend 30 minutes reading the rsync man page and do what rsync does. Those are options if you're too dumb to use stat().

    None of this depends on which filesystem, init system, or kernel is in use - you won't find a bunch if "if filesystem is reiserfs" in rsync.

    Back in the day you used to see two types of JavaScript. Dumb JavaScript looked like this:

    if(navigator.userAgent.indexOf('MSIE 5') != -1)
    { //we think this browser is IE5 // Can't use document.documentElement.getBoundingClientRect, give up
    } elsif (navigator.userAgent.indexOf('Safari') != -1) { // Code for Safari
          rect = document.documentElement.getBoundingClientRect() ...

    Smart JavaScript does this instead:

    if(typeof document.documentElement.getBoundingClientRect != "undefined");
    {
          rect = document.documentElement.getBoundingClientRect();
    }

    Just see if the feature is available, don't try to guess which browser it is and then try to figure out which features it has bases on the useragent.

    Linux is even easier. getxattr() is always there, it always works. If there aren't any extended attributes, it'll return none.

  12. Thanks for telling me what to think by Austerity+Empowers · · Score: 3, Insightful

    Linux is primarily used as a web server, as heavy corporate back-end infrastructure, or by hobbyists/enthusiasts. Dropbox's primary market are consumers on Windows, which only has the features you buy from someone, or the mobile market which needs, I guess, a place to store and share their dick-pics.

    Nothing about a web server should want to have anything to do with drop-box. It's already public, and drop-box has their own web server.

    The corporate world is highly allergic to drop-box as an enterprise storage medium. They all have other ways or other deals in place for any cloud storage they need, and it's not going to be public, nor part of their back-end infrastructure. Even for their end windows users, dropbox is usually forbidden under pain of termination.

    Hobbyists/enthusiasts realize their linux already has scp (all the distributions at this point), and so does any machine they may use. So they have DIY dropbox. Add in that this particular market is somewhat more distrustful of cloud-anything, and often has a more privacy and "my data is mine" and "my personal information is mine" bent and the pool of good customers here gets pretty small.

    So you have an OS that isn't going to ever be a big player on your product, and you're hurting for cash. So you can fire some devs and drop support for Linux. That's what I think this means.

  13. Article is nonsense by MobyDisk · · Score: 4, Informative

    Bottom line: Jack Wallen doesn't know what he is talking about. Nothing to see here, move along.

    First of all: the premise of the article is completely wrong: Dropbox isn't actually dropping support for Linux! The author wrote this entire nonsense article, then when "cvoltz" commented and pointed this out, they added an UPDATE to the top clarifying. The update completely undermines the point of the article. Also, the article provides "reasons" that are just generalizations with no technical backing. I won't rebut them because other posters have already done so. Also note that this author does not represent DropBox. So really, there's no substance here.

    While there are differences between Linux distros, and yes it can be a pain sometimes (mostly dealing with installation and dependencies, in my experience), none of the items listed are valid examples of those difficulties. The entire article should just be retracted.

  14. LOL Cats... by OneSmartFellow · · Score: 3, Funny

    From the comments sections:

    P. B. Lecavalier • 7 days ago
    I wrote a detailed comment demonstrating how this "award-winning" author has seemingly no idea of what he's talking about. It was swiftly deleted. Fine. I'll leave you with your spectacle of illusions.

  15. Re:Took me a day to get it right. stat() and getxa by tepples · · Score: 2

    Say a file originated on a computer whose file system with extended attributes and in fact has extended attributes. You want to sync it to the computer you're using, whose file system does not support extended attributes. How should the sync tool store the file on the computer you're using without removing the extended attributes when syncing it back?

  16. Re:Dead in the long run. by jellomizer · · Score: 2

    I think "support" is the key problem. Developing a product for Linux is easy, the excuses given were lame. The real problem is Supporting the product.
    Linux is difficult to support at Level 1 and Level 2 support, which is just the support people reading the scripts, then watching the person follow the items on the script. Ubuntu and Mint technically are nearly identical. However the UI is a bit different. So the script needs to be a little different for each one. Level 1 and 2 support has nearly 0 brains and flexibility. So Linux calls will need to automaticly go to the expensive level 3 and up. Where people with brains need to make a decision based on different UI to get to where they need to go.

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  17. Lame excuse for we see our audience elsewhere by prefec2 · · Score: 5, Informative

    This is all bullshit:

    For a company to support Linux, they have to consider supporting: Multiple file systems, multiple distributions, multiple desktops, multiple init systems, multiple kernels.

    * You do not need to support multiple file systems. The kernel does that for you. Also most people use EXT-something.
    * You need ONE deb and ONE rpm. If your build-system would be anything modern this would be done automatically. You could even cooperate with package maintainers from distributions. Beside that it is easy to package something for debian/ubuntu. And I cannot imagine that this is super difficult for Fedora, SUSE, etc.
    * For a working desktop-service you do not need to support multiple desktops. You just need a running client service. Furthermore, you just need an open API, people will add tiny applets to ease shit. Also if you support Nautilus and Dolphin (or whatever it is called) then that would support almost everyone. For the rest see open API.
    * You do not need to support multiple init system, because it is a user service. It should not run when not logged in.
    * You do not need to support different kernels. You link with glibc. Period.

    Instead of lying to us, just say the truth. Linux users are few, they often do not use you paid services, and they often use evil Nextcloud setups anyway. We need to make more revenue and cut costs. We also love to take from the OSS community, but we do not really care about them.

  18. It's not the FS, it's not the "free" mentality... by Excelcia · · Score: 2, Interesting

    The problem isn't the file system. It isn't multiple desktops. It isn't the fact that Linux users feel entitled to free (as in beer) stuff. It's the education level of Linux users.

    As much as Linux has tried to make inroads with the common joe, the general Linux user still displays a higher level of computer competence than other platforms. Which means they are less likely to put up with Dropbox's shenanigans when they do stupid things to make you pay.

    Example: Bob has used 1.5 out of his 2gb of free space. Alice, his sister, shares a folder of family history photos and documents. Bob subscribes, but finds out suddenly he has exceeded his free space. Dropbox says, delete, or pay you freeloader.

    Now, inexperienced users, they are more inclined to shell out. They may not know how silly this is, or they may not want to bother climbing the learning curve enough to try and find an alternative. Or some combination of the two. Linux users, on the other hand, say hey, wait a minute. How are you justifying "charging" the entire size of a shared folder to the size limit of every recipient?!? I know what a soft link is, and that's not the way that works. I'm not paying for this shit. Moreover, most Linux users are smart enough to make moving to an alternative like Syncthing a prospect that's not so daunting.

    Dropbox should have adjusted its method of enticing users to pay. Like charging for something that's actually value added. Depending on the laziness and/or inexperience of users to maintain your business model isn't sustainable. Cutting off the smart users, and then telling them its their fault and calling them entitled freeloaders, that's not good business. Because for those people, the recommendations they then make to other users suddenly becomes "anything but Dropbox".

    It's also a slap in the face of the community who wrote most of the software making the stack they used to get where they are.

    Just remember, once the goodwill is lost, it's not coming back. Dropbox, you've been warned.

  19. Alternate data streams, for one by tepples · · Score: 2

    Visual Studio Code works with primarily text files and perhaps executables. Dropbox has to be able to sync any file, including files that contain alternate data streams and extended attributes. That's a bit more of an involved job.

  20. I guess this won't be the year... by Blaede · · Score: 4, Funny

    ...of Linux on the DropBox?

  21. It's like every bad message board post ever. by cshark · · Score: 2

    The op is like every poor excuse I've ever heard on a Linux message board. Let's go through point by point and talk about some of this.

    For a company to support Linux, they have to consider supporting: Multiple file systems, multiple distributions, multiple desktops, multiple init systems, multiple kernels. If you're an open source developer, focusing on a single distribution, that's not a problem.

    No, that's simply untrue. Nobody in the commercial world supports all of Linux in this way. In fact, I don't know of many oss vendors that do either. If you're going to support Linux, what you're usually talking about in the real world is some major implementation of Ubuntu, and/or Cent/Redhat. That's it. Yeah, you really do need to think of it as two operating systems, because of differences in the package manager, but it's not terrible. It can be managed.

    If you're a company that produces a product (and you stake your living on that product), those multiple points of entry do become a problem. Let's consider Adobe (and Photoshop). If Adobe wanted to port their industry-leading product to Linux, how do they do that?

    Actually, they did it with Wine. Wasn't released but they did talk about having done it.

    Do they spend the time developing support for ext4, btrfs, Ubuntu, Fedora, GNOME, Mate, KDE, systemd? You see how that might look from the eyes of any given company?

    My hope is that if Any Given Company were hiring people, and talking seriously about a project like this, that they would have actual Linux people who have experience in developing commercial projects for Linux. Even an entry level Linux developer straight out of highschool programming class could tell you the whole argument is bullshit.

    That said, no, I could care less what Dropbox does.

    --

    This signature has Super Cow Powers

  22. Re:Took me a day to get it right. stat() and getxa by MachineShedFred · · Score: 3, Interesting

    Because that has never been a problem before, when dealing with oddball solutions of past filesystems. Deal with it the same way - a metadata file that holds the crap that the filesystem doesn't deal with well.

    For example, we've all seed the .DS_Store files on any fileshare that a Mac has visited, which holds Finder metadata that would be written to the HFS file system if it were HFS, and otherwise sits in a metadata file everywhere else. No, it's not the cleanest way to work, but it's something that Dropbox could implement in about two hours and be done with it, because this is a long-solved problem, and we don't need a new shaped wheel.

    --
    Slashdot still doesnâ(TM)t support Unicode after it was added to the HTML standard in 1997.
  23. Ignorant article. by Eravnrekaree · · Score: 2

    The story is ignorant, and apparently written by someone who doesn't know squat about Linux. There is FUSE which is a stable way to add a filesystem driver. The desktop environments and file managers are irrelevant because they use the same filesystem API, and the same API for an app to draw to the screen (X and Wayland). You can use either Qt or Gtk for your GUI application, and it will work on any of the desktop environments. If you write your app for Qt it will run perfectly well on a Gnome desktop environment, if you write in Gtk it will run perfectly well on KDE, because they use the same underlying X or Wayland API. I don't know how many times this has been expained to tech journalists over the years but they still can't get it through their thick skulls. The filesystem variety is also irrelevant becuase the filesystems also support the same filesystem APIs. No userspace software should directly interact with a filesystem. We have flatpack, snapper, appimage, and docker for cross distro packages so that need is being covered. Because systemd supports Sys V Init files, you can use Sys V Init files to start a service and it should work on most distros, systemd or not. The service command is supported by most distributions. So increasingly there are cross distro common denominators for people who are writing applications. The variety of distros, desktop environments, filesystems and init systems is a strength, but there can exist a lowest common denominator cross compatible interface for applications to access.

    1. Re:Ignorant article. by Paul+Fernhout · · Score: 2

      Thanks for the informative post!

      --
      A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.
  24. Re:Not that simple by nctritech · · Score: 2

    Probably needing the ftype=1 feature that enables d_type support which was not available until a few years ago and requires a fresh run of mkfs.xfs to enable. With d_type you can find out if a file is a directory, link, FIFO, regular file, etc. straight from readdir() without an extra stat() call for every file in the directory, but not all filesystems support it so falling back to stat() when d_type == DT_UNKNOWN is mandatory. I fixed a bug in dupd caused by assuming d_type always returned a good value, which failed on an XFS v4 volume and rendered the program unusable.