Kirsle.net logo Kirsle.net

Rant: Arrogant Developers

March 30, 2010 by Noah
The more I use open source software, the more I start to dislike the developers of open source software. They tend to change things and remove features in newer releases of their projects, taking away functionality that used to be there just because they feel like it.

One example of functionality that was removed at the whim of a developer that was actually kind of an important feature: in the GNOME desktop environment, you used to be able to set what mount options you wanted used when GNOME auto-mounted a flash drive or external hard drive when you plug it in.

The default mount options include, among other things, the shortname=lower option for FAT32 volumes. What this means is that, if you have a file on the FAT32 hard drive that fits within the 8.3 filename format of DOS, and the file name is all uppercase, it is displayed in Linux as all lowercase.

I used to (used to!) back up all my websites to a FAT32 hard drive, and I have a folder titled "PCCC" -- all uppercase, and shorter than 8.3 characters. The default mount options would have Linux display this to me as "pccc" -- all lowercase. When restoring from a backup, then, my site would give 404 errors all over my Perl CyanChat Client page, because Linux is case-sensitive and "pccc" is not the same as "PCCC."

It used to be as simple as editing the GNOME gconf key and changing this mount option. But as of Fedora 11 or so, changing the mount options in gconf has no effect. After researching, it turns out that Fedora 11 decided to switch from HAL to DeviceKit to manage the automatic mounting of flash drives. And, DeviceKit doesn't pay any attention to your gconf options.

And, to make it much worse, DeviceKit has the mount options for FAT32 and other filesystems hard coded into the binary itself. So for me to set the shortname=mixed mount option I want for FAT32 drives, I have to download the source code for DeviceKit, find where the mount options were hard-coded into the source, change them there, and compile my own custom version of DeviceKit. This is ridiculous.

Googling as to why in the world this is, I found comments from developers very similar to the one on this bug ticket that goes like this (emphasis mine):

The other part of this bug a discussion of whether exposing mount options to
end users is an useful thing to do. My view is that it is not. So the
replacement for gnome-mount/HAL, namely gvfs/DeviceKit-disks, will not support
that.
Excuse me? I'm sure I cannot be the only person in the world who finds it useful to be able to change the mount options.

As a result of this, I have to edit /etc/fstab and add entries for my permanent external hard drives (FAT32) to get them to use the mount options I need. What is this, 1999 again? We shouldn't have to touch fstab nowadays.

Another example: GNOME 3.0 and GNOME Shell. I have ranted about this several different times now. I'm not against innovation, but I am for backwards compatibility. Intentionally developing a desktop environment that is supposed to replace one as ubiquitous as GNOME 2.x and having it require very powerful graphics hardware, with no fallback for less capable systems, is not a good idea.

One more example (kinda nitpicky, really): in the 4.4 release of the XFCE desktop environment, the window list panel applet used to support automatically grouping all windows of the same application into a single button, and an option to display only the icon of the application and not the window's title. See where I'm heading with this? Long before Windows 7 was even out, XFCE's panel could emulate the behavior of Windows 7's new taskbar. The feature is completely missing from XFCE 4.6 however, probably because the one developer who manages the panel applet decided by himself that nobody, anywhere, uses that feature and he removed it.

This arrogancy by open source developers makes me worry about other projects. In the XFWM4 window manager used by XFCE, you can currently double-click on the menu icon in the title bar and that will close the window, similar to the behavior of Windows as far back as Windows 3.0 (at least). I haven't seen any other X11 window manager that supports double-click-to-close like this (Metacity and Emerald for sure don't support this).

I rather like the double-click-to-close feature, but I'm afraid it will just up and disappear one day because this feature is very poorly documented and the developer may one day decide that nobody uses that feature and delete it from the code. I use that feature! Don't delete it!

Because of things like this, I find myself more and more thinking of just creating my own desktop environment. Yes, a whole entire desktop environment: panels, window managers, everything. I've seen a few Perl-powered desktop environment features that I bookmarked so I can dissect them later. Like, I'm a big fan of the XFWM4 window manager, but I'm not a C or C++ programmer and wouldn't know where to begin if I wanted to fork XFWM4 as my own project. Thus I would write my own window manager in Perl, program in the features that I really like, and maintain it on my own, so that I won't ever lose a feature suddenly just because some arrogant programmer somewhere decided without consultation that the feature is useless.

Ah well... you get what you pay for, I guess.</rant>

Tags:

Comments

There are 4 comments on this page. Add yours.

Avatar image
Andy W posted on October 14, 2010 @ 17:23 UTC

I have the opposite problem. In Kubuntu 10.10, there is documentation left, right and centre stating that the default is shortname=lower, but in fact, these things get mounted with =mixed. Now I don't actually care what the default is, I very rarely leave anything to default. But this isn't a default, it is compulsory - there is no way to override the "default", and that makes the whole system non-functional if you need a different behaviour. And the system has got so arcane that it can take hours just to find out that you can't change it. I knew how to do stuff in Red Hat 4... now its all getting like Windows - opaque and non-configurable.

Avatar image
Jochen posted on March 23, 2011 @ 13:10 UTC

You are very right! In earlier versions of Ubuntu it was possible to change the mount options through udev/udisks rules or through nautilus. Nowadays they are hardcoded in Devicekit. The option "noatime" is essential for mounting optical media like DVD-RAM. Without this option read access is slowed down and waering of the medium increases. The same is true for flash memory. And all this pain, because ONE developer does not have a clue what all these mount options are good for... :-(

Avatar image
TaylorM posted on June 15, 2012 @ 13:16 UTC

I'm a newcomer to your site. That being said, and given the few of your posts that I have read relating to Perl and xfce, I think you would do well authoring your own desktop environment. I switched to linux about four months ago and am already using my own Arch installation because I cannot stand many of the decisions developers are making. If you want a good distro, try Solus OS. It has it's own gnome 2 and great bridging support between gtk2 and 3. Keep up the awesome work!

Avatar image
djbello posted on April 26, 2013 @ 19:58 UTC

Sorry to resurrect such an old topic, but I feel exactly your pain with the attitude some developers display. I am a software developer myself and had a similar experience on another popular open-source project: Thunderbird. In this case, a bug was introduced that basically made a feature not work as intended anymore. The end of it is not very flattering for the open-source community: the bug was closed as "Unresolved, won't fix" by the maintainer. Check it out bug 533545 "Form submission from HTML mail is completely broken."

This is not good PR for anybody who is touting and defending open-source as a real alternative to the oh-so arrogant mighty corporations (Microsoft & Apple) that do exactly as you mentioned simply because they can. I always thought, Open-Source as a philosophy was all about choice, options, community, making it work. These single-handed decisions by few developers fly in the face of that philosophy. There are plenty of other examples out there. Just Google "arrogant open-source" and "arrogant open-source developers" (that's how I found your blog post). So I feel for you.

Add a Comment

Used for your Gravatar and optional thread subscription. Privacy policy.
You may format your message using GitHub Flavored Markdown syntax.