Why Users Drop Open Source Apps For Proprietary Alternatives
maximus1 writes "Hard as it may be to imagine, 'free' is not always the primary selling point to open source software. This article makes some interesting points about subtle ways Open Source projects might lose to the competition. Lack of features is a common answer you'd expect, but the author points out that complicated setup and configuration can be a real turn-off. Moreover, open source companies may not do enough to market major upgrades. If they did, they might lure back folks who tried and dumped the earlier, less polished version. This raises the question: what made you dump an open source app you were using? What could that project have done differently?"
For me it really wasn't about the lack of features. It was more on how easy it was to use as program. You have Feature X,Y, and Z on there, but if I have to navigate Menus A, B, C, and D to find that feature then I will not use that program.
... is my key principle. I'm capable of RTM'ing and Googling to find answers, but especially as I get older, I don't have the time I used to. Just yesterday, I was struggling with an Open Source mail server. Having to read separate (and usually incomplete) (not to mention incomprehensible at times) documentation on each component, THEN figure out how it all played together ... just to be honest, I briefly (briefly!) considered telling Corporate that we needed to just bite the bullet and go with an Exchange Server with full support.
Fortunately, I got this one working (again), and it's holding for now. But my #1 complaint is the lack of clear, easy-to-follow documentation. I love F/OSS -- I run Suse at home, and I've fallen head-over-heels for VirtualBox -- but this is my biggest complaint. We have a lot of brilliant coders working in F/OSS. We need to attract some equally-brilliant technical writers to donate time to explain how the stuff works in the real world.
Cogito, igitur comedam pizza.
Fonts. The default fonts for OpenOffice look awful. With Pages (word processor on my Mac), my documents look beautiful with no fuss. I don't require a thousand different features, either.
Why is it hard to imagine? People will pay money for something if it saves them time, or is simply more pleasant to use. It's software after all - free isn't the best drawcard if the software is crap to begin with, and goodness-knows there's a ton of crap open source software out there.
Drives me nuts. Try each new version of Calc, no easy "fill down" & its back to Excel. Other than that I use open source apps whenever possible.
It seems the developers have no concern whatsoever to test their new user-interfaces with users who will actually use their software. This causes miscommunication between the developer and the user-base, in turn leading to an alienation of both groups. It is paramount to learn to speak the language of the user, or the boat we want to sail will never land on a coast.
Besides this, I find the lack of clear and uniform documentation a big mishap in modern linux systems.
So, my complaint list:
1. Lack of user-testing
2. Incomplete, incomprehensible, multi-format documentation.
3. Lack of quality control (eg. automated testing)
4. Unannounced drop of support on certain projects.
5. A plethora of linux distributions makes it difficult to choose.
6. Too many configuration formats.
7. The UNIX framework is not mature anymore and because of its design flaws, responds horribly to new demands.
8. Too many different programming languages make it difficult for new talent to drop in or to integrate different approaches.
9. KISS principle is broken too many times.
10. Featuritis (http://en.wikipedia.org/wiki/Feature_creep)
This is a replacement signature.
Many of the reasons leveled at open source can also be leveled at commercial software. I've seen more than my fair share of commercial applications that lack features, have critical bugs, and are definitely hard to use. While some of these problems may be surmounted by purchasing additional software or employing the services of a consultant, that is rarely an option for non-revenue generating organizations (never mind most individual users).
So why do people drop it? Lack of familiarity is one big reason. If you're a Linux user who does specialized stuff with your system, try figuring out how to do that stuff in Windows. Can't find it in the UI or configuration files? No problem. Just read the documentation. Wow. What language does Microsoft write their documentation in? While it may not be quite as bad as another language, the jargon of the Windows world is definitely different from the jargon of the Linux world. This adds time and frustration to the process of learning a new technology. So if you're familiar with Linux, you'll probably stick to Linux. If you're familiar with Windows, you'll probably stick to Windows. Feel free to substitute Linux with your favorite open source application and Windows with your favorite commercial application. By in large, this barrier will still exist.
If that issues exists for technical people, imagine how hard it is for non-technical people to deal with similar problems. A function that is found in a different place or that works in a slightly different manner will cause a neophyte OpenOffice.org user to throw up their arms in frustration, call the product shit, and head directly back to Word. Many people are completely unwilling to adapt to change in a domain that does not interest them. (I've talked to some of these people, and intellectually they realize that OpenOffice.org is just different and that it would serve all of their needs. But emotionally they view it as a vastly inferior product.)
Sometimes bundling is a reason for adopting commercial products. I'm not talking about the bundling of software that you see with commercial vendors (e.g. the various Adobe suites). Rather I'm talking about the resources that are bundled with that software. When you download the Gimp or Inkscape, you get just the Gimp or just Inkscape. When you buy something like the CorelDRAW Graphics Suite, you get fonts and clipart that you can use in your projects. When you buy the Microsoft Office Suite you get clipart and templates. Looking at my Linux setup, I have only one or two graphic fonts and no clipart to speak of. Even though I have the standard DTP and graphics software installed under it. Now I don't mind that. Actually I prefer it that way. Yet I can guarantee you that the run of the mill user will throw up their arms in frustration because they expect that stuff.
And the list could go on.
Actually, every software is free to normal users!
Either you download and crack it yourself, or you have a friend who does it for yo.
That is the main point free software hasn't taken off, and everybody knows it.
I mean, when instead of Gimp, you can get this: http://btjunkie.org/search?q=adobe%20master
Then who cares about Gimp?
And instead of OpenOffice, you get this: http://btjunkie.org/search?q=microsoft+office
I mean, it's obvious.
Oh, and under Linux, the culture is quite different. :)
1. Because not everything runs fine under Wine.
2. The abilities to combine Linux tools into scripts and a mesh, glued together with bash.
Which I absolutely love. I could never go back. I'm officially spoiled.
Any sufficiently advanced intelligence is indistinguishable from stupidity.
Even though the documentation for proprietary software can be crap, it is usually light years ahead of what you get for most Freeware/Open Source/Hippieware/Whatever programs.
I hate it when I install something and I get a window with three greyed out menus. Somehow I am supposed to magically know to go edit ~/.korgodi/pyconfig/menus/anabling.cfg to turn them on. And when I look for documentation about this or even a damn README, I get a link to a forum where everyone is too busy arguing the philosophy of tabs vs. spaces for indentation to tell me anything.
I hate writing up the documentation as much as anyone, but your project is not ready to be released until you can give the user a document telling them how to use the stupid thing.
I'll give you a real-time example. I am going to attempt to find the format for conditional execution in gmake. I don't do development on this machine normally, so some fumbling will be necessary.
Step 1: 'man gmake':
What do you mean there's no gmake? I installed the dev package.
Step 2: search for where gmake is.
Let's check synaptic to see where they put it. No gmake in there.
Oh, they called it just plain 'make' in Ubuntu. Of course.
Step 3: 'man make':
Blah blah blah . . . purpose of make . . . startup options . . . damn there are a lot of them . . . THAT'S ALL?!!! . . . Wait, there was a SEE ALSO back there.
See Also The Gnu Make Manual. Oh, of course, I have one of those with me at all times. WHERE IS IT!
Step 4: Google
Type in 'The Gnu Make Manual'. There it is. Ah yes, a webpage with a format circa 1994. ^F conditional . . . See Conditionals. At least it's a link. Reading . . . I had wondered what the definition of the word 'conditional' was. Show me the stupid syntax.
Blah blah blah, examples that no one will ever use . . . oh wait, for once the examples are relatively useful. Okay, that should get me started.
So, that wasn't too bad as was as documentation searches go. But I still had to resort to Google. WRITE THE DAMN MANUAL AND INCLUDE IT. If I type 'progname -h' give me something useful. Put something in the Help menu. No, I don't care what programs you compiled it with.
You do know that this type of behaviour can get you fired? It's typically called "corruption".
The problem with open source is the dependency chain becomes brutal. So you turn to a package manager like Yum or Fink to handle all the self consistency and installs, not to mention the updates.
Then sometime later you want to update python from 2.4 to 2.5. you do the update and it updates all these dependencies as well. And suddenly you find that Gimp or gnuplot or something else you need is busted because say they all depend on some Latex for symbolic fonts and there's an incompatibility.
These package manager while saving you a lot of time on the initial install also couple all your apps together in unneccessary ways, so that updating one can break another. Or worse maybe it won't let you update at all.
One would prefer in many cases decoupling of applications or even standalone applications. When you update an app the worst that happens then is that just that app breaks. Plus it's trivial to roll back to the old self contained app.
Some drink at the fountain of knowledge. Others just gargle.
For many FOSS applications the UI isn't nearly as polished as the commercial alternatives. This might be partially because UI designers want to get paid for the work (perhaps not a dedicated to the free community as sofware developers). The commercial alernatives invest in easy-to-use (watered down) configuration utilities that make it easy to set up. Contrast apache (perhaps the best of the FOSS) with IIS. Apache is in many ways a much better program, but the configuration is via a really obscure configuration file--and if you do something wrong you've broken it. ISS has a slick UI with nice dropdowns and checkboxes. MS spent as much effort on the UI as they did on the actual product. This is very different than FOSS.
Secondly, the documentation is typically better on commercial software than FOSS (there are some expections, mostly badly documented commercial software rather than well documented FOSS). Again, writers, proofreaders and editors want to get paid for their work.
I the long run there are probably only a score or so of free software applilications that are substainable. With the exception of these star applications (apache, linux, etc.) the real reason for using FOSS is that it's free. For example, if both MS Office and OO were both free, which would people choose? If they were both $99 (the home/student price of Office) which would they choose. Mostly free software is exploiting programs to give their work away for free--designers, editors and proofreaders don't fall for it.
Why is expecting your wireless nic to work "magic"? Why is not expecting an update for Windows or OS X to break a functioning nic "magic"?
That's all he was expecting - that it works. For him it "just work" on Windows. With Ubuntu he had to do a little bit of work, which he was okay with. Then it broke because of an update. So he fixed it again - he was okay with that. Then it broke because of another update.
Why is that him expecting "magic" from the OS? What kind of odd world do you live in, where you expect to get your socks ruined just because you change the laces in your shoes?
What!? Cinelerra is the least stable program I've ever used, it dies every couple of minutes.
It crashes so much that the tutorial starts off: "Cinelerra is not perfect. Before long you will be familiar with the tendency it has to crash. This usually takes the form of all the windows suddenly disappearing. Thankfully this is not often a big problem because Cinelerra can recover from a crash very well. Simply restart it and select Load Backup from the File menu."
It crashes so much that the OpenSuse page on it has a section devoted to crashing, and running it within gdb as a matter of routine so it won't crash every time you close the "tip of the day" window.
It crashes on Ubuntu. It crashes on gentoo.
Its support for codecs (that actually work) is so sparse that simply finding a single path from source material to product is like crossing a minefield.
Cinelerra is the perfect example of a program that never really converged to a useful state, it just slogs on like a zombie year after year, half dead, because there is no workable free alternative. Can I blame any of this on the fact that it's free and open? Not exactly, but if it were proprietary, it would have disappeared completely years and years ago.
You what to know what would remove almost *all* of the driver problems literally overnight? Make it trivial to visit "nvidia.com", download a blob, type "./setup.pl" and have it install a binary driver. You know, kind of like how Windows or (I assume) OSX does it.
I *dont* blame the vendors for the lack of drivers on linux. I fully blame the kernel developers for their dogmatic refusal to stabalize the driver framework so it allows binary drivers. By "stabalize" I mean create a driver architecture that works across an entire swath of kernel versions. Most vendor supplied drivers seem have this need to be compiled first and thus require the kernel source before they work. That is bullshit. They should just sit around as a blob and work.
But alas, *that* dream will never happen because of some on the fringes of the open source movement close their ears and scream "not pure! not our fault! not pure!". Which is a shame because that single feature would instantly increase linux driver support hundreds of times over.
It *is not* the fault of hardware vendors. It *is* the fault of the kernel--more lightly, it *is the philosophy and culture of linux* that is what holds it back.
Much like with racism, people get too hung up over general categories. Its not whether a piece of software is open source, or if it is free. What matters is if the software satisfies the user. The method of distribution, the cost, the license, the openness of the code, the status and quality of documentation, the level of support, the usability, the name, the aesthetics of the user interface, and many other factors all play into a user's satisfaction, and different users will appreciate different things, depending on what they like and their predetermined biases. Anyone looking to choose a piece of software should look into the pros and cons of that software and their budget instead of looking at just its label, open source or commercial.
Precisely.
I've used all kinds of OSes over the years, including Commodore BASIC/DOS and GEOS and AmigaOS (1,2,3) and MacOS (6,7,8,9,and 10) and Windoze (3,4,95,98,XP,wista) and Linux Ubuntu. When I was young and had tons of time to spare, I enjoyed hacking into my Commodore or Amiga to see what I could make them do, but now that I'm middle-aged I don't have many years left. I want my OS to "just work" like my car just works, so I can use my remaining time for other fun projects.
I gave Linux a fair shake, found it as frustrating as driving a Volkswagen Old Beetle that keeps breaking-down, and decided to go back to XP and MacOS. They cost money, but not that much, and that cost is offset by all the other free/libre programs like Firefox, Utorrent, Opera (not liberated but it is free), and so on.
BTW:
One other annoyance with Linux Ubuntu is when I switched my screen size to 640x480 to play some Atari and NES gaming. I found it impossible to switch it back to 1280x1024. Why? Because the dialogue box did not fit, and the "okay" button was off the screen! I ended-up stuck. That was pretty much the final straw that made me reach for my XP restore disc. What Linux needs is a user-friendliness consultant who is tasked to find all the problems that make the OS difficult for average people to navigate. Linux should be as easy to use as the Mac, or at least XP, and right now it's not even a quarter of the way there.
"I disapprove of what you say, but I will defend to the death your right to say it." - historian Evelyn Beatrice Hall
This is an example where a community effort concentrates on solving the *technical* problem and forgets that there's a real, on the ground problem that needs to be solved as well, that may or may not be totally technical in nature.
Yeah, for a long time I've thought that part of the problem is (and sorry about this, I know it will rub some people the wrong way) that FOSS is being developed almost solely by developers. I'm sure that sounds silly, but there are a lot of problems that I think stem from this.
First, there's the expectation that if something breaks or something isn't working for you, you can just "fix it". Now this might mean anything from editing a configuration file to rewriting the code, which is far above a lot of people's heads. Plus, as you mention, sometimes it seems like developers focus on some technical aspect of the problem while ignoring the end-user aspect. It's great that ODF is an open format, but it doesn't really work as a universal file format if every program has a different implementation.
But I think there's also a subtler problem, one which, sorry, I'm probably going to do a bad job explaining but I hope you'll bear with me. The problem is that if you're a great brilliant technical developer, you're not going to even think about how to make your program simple. It's sort of a "not seeing the forrest for the trees" problem. You're going to be so smart about understanding all the complicated things your program does, and so well-versed at everything that can be done with your program, that you're not going to be able to understand what a new user will be thinking when he first approaches your program. You're just too close to the problem.
Now that probably still isn't clear, but have you ever tried to write out a complicated explanation, reread the explanation 50 times and had it make perfect sense to you? And what happens when you hand it off to someone else to proofread? They find a bunch of obvious typos and they come up with a bunch of questions (at least that's what happens to me). And then you suddenly realize that your mind was jumping over all the missing steps in your argument and all your typos because you had read it so many times and you knew what it was supposed to say. You weren't really even reading the explanation you wrote anymore, you were just replaying in your mind what you intended to write.
I think lots of technical things can be like this, and I feel like FOSS developers kind of get into this state where they're only seeing the program they meant to put out, and they're seeing how they're using their own software, but they have trouble coming at it fresh.
I mean, I'm not new to computers or system administration, but sometimes I open up a configuration file or read a new program's man page and think, "now what the hell is going on here?" Even in the same distribution, syntax and conventions flip around now and then. Accomplishing one simple and common thing might require changing multiple settings in multiple places, maybe even in different configuration files. The assumption is, I think, that you're not going to want to run a Linux server unless you're a genius who spends his whole day doing sysadmin work. And sysadmin stuff is one of the more well-travelled and refined areas of FOSS. What chance does something like GIMP have, where the developers might be such a different demographic than the potential users?
Honestly, I use various kinds of FOSS all the time, because it's often still easier for me than dealing with proprietary stuff, but I still see the problem. At work, on my Windows box, I'll often use Word instead of OpenOffice. Why? Just because OpenOffice takes a long-ass time to load up. Sure, there are also some formatting problems and I think OpenOffice is a bit uglier than word, but mostly it comes down to how long it takes to load the program and open a document.
So this is mostly just my opinion, but I think the solution (assuming you want t
"Lots of users" does not equal "a large percentage".
The number of people who use Windows but loath it could be twice the number of total number Linux users combined, and it would still be less than 5% of number of people who use Windows. There are not that many people who hate Windows, the vast majority of windows users love it, especially XP and even Vista now that they've got most of the bugs ironed out.
There will never be an open source replacement for Windows, if anything replaces it it will be a closed-source OS like OSX, because programming the bits that make Windows easy to use and acceptable to a large user base are the very bits that nobody likes to write. They are, in fact, a pain in the ass to write and there is no real sense of accomplishment. That is why GUIs in Linux are horrible. Not just bad, but horrible. The rare GUI that is easy to use is a pleasant surprise.
With Windows, as well as with most proprietary software, some schmuck got paid to make sure all the bits that nobody likes to program work the way they are supposed to, and what you get is a GUI that is so easy to use nobody even thinks about it. This is one thing that open source developement is terrible at. Not bad, but terrible, and it is an area closed-source developement excels at. Usually the poor schmuck doing the GUI work is an intern or new guy making his way up the ranks, being told what to do by the high-paid GUI designer. Neither of those two exist in an open source project. If they do, it's very rare.
Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
Man, where are my mod points when I need them.. your post is spot on. It reminds me of trying to find an open source replacement for Visio, so I could throw together some really simple circuit diagrams.
I found a good half dozen programs that had the basic functionality I needed, except that they all sucked, really, really, really hard. A lot of them had amazing feature sets and could do some incredible stuff, but when it came to the basic nitty gritty of .. clicking on an object ... rotating it ... scaling it... moving it from here to there... they all failed *miserably*. Half of them didn't let you scale objects, half didn't let you rotate them at all, the others only did 90 degree increments, etc. The most basic, raw surface of the interface of all these programs were simply unusable.
It doesn't matter if all the open-source apps were loaded to the brim with extremely powerful features, which indeed many of them were, if it's like pulling teeth to drop some objects on the screen and move them and point them where I want them to.
I eventually found a circuit drawing program a friend of mine was writing for fun, that actually did what I wanted pretty much, but then I realized I could get Visio for free from school through the academic alliance, so I switched to that, and the joy of having a gigantic company's worth of resources to make sure every little tiny piece of the interface works great became apparent. (except autoconnect. that feature sucks.) It makes it so much easier to just Do Work, and not Work at doing work.
ìì!
To put your point as a car analogy; the FOSS world often feels like a car with an amazingly refined engine and one wheel; adding the other three would be boring and technically uninteresting busy work, so nobody does it. You end up with an engine that never breaks down and does 1E6mpg and not going anywhere.
All intents and purposes. Not intensive purposes.
What exactly are you talking about?
If you want to talk about appearance, Desktop environments/window managers like GNOME and KDE are comparable to what you can find on Windows or Mac, unless you're talking about really old stuff like twm. Compiz Fusion gives Linux compositing that is just as good as (if not better than) Aero. Furthermore, Windows still doesn't have multiple virtual desktops like Linux has had for decades. I've come to rely on that feature for day-to-day use, and using Windows is downright painful for me these days. Sure, there is software that can add that functionality to some extent in Windows (and Mac OSX, I presume) but that isn't the same as having it available out of the box and having a compositing engine that can integrate well with it.
I've used OS X quite a bit and I still don't see what everyone in in awe about. It does what its supposed to, but there isn't really anything that special or unique about its interface these days.
"It is a denial of justice not to stretch out a helping hand to the fallen; that is the common right of humanity."
Just look at Office 2007. Word looks and behaves nothing like Outlook or OneNote. In Windows, the big players tend to have fairly good interfaces, but as soon as you move away from the over-$100 realm of Windows software, you're in amateur land and the interfaces quickly devolve into a case study in worst practices. I find that I much prefer using ported Gnome software in Windows than many native solutions. Yes, Photoshop is a fantastic program, but I'd take GIMP over ArcSoft abominations any day of the week. At least I don't have to pay for GIMP.
This article should really be titled "Why Users Drop Cheaper Programs for More Expensive Ones". At least the open source solutions generally resist the urge to insert ads into their software and use a bunch of proprietary widgets.
Yeah, for a long time I've thought that part of the problem is (and sorry about this, I know it will rub some people the wrong way) that FOSS is being developed almost solely by developers. I'm sure that sounds silly
That's exactly the reason for the differences between FOSS and proprietary software - there's a non-trivial set of "other stuff" that's required to take a piece of software from a sort-of-useful but maybe buggy implementation to a polished application that provides a solid end-to-end user experience.
Things like market research into what your potential users actually want, high-level UI design, usability studies, deliberate architecting, and a significant test infrastructure are practically *required* in commercial software design, but I don't know if they get the same emphasis in FOSS.
There is a vocal minority of computer professionals and users who operate off of an ideological model rather than a pragmatic one. They see moral issues where most of us only see an engineering problem. Furthermore they define themselves based upon their attachment to their ideology.
For the rest of us this is silly at best and downright exasperating at worst. Try working with someone who demands that a sub-par solution be used on political grounds and who casts your reluctance to do so as a moral failing, if not evidence of participation in an evil conspiracy of some sort. I really do think that people like that are mentally ill.
I make technological choices on technological grounds. I choose the solution that works best. I don't cloud my judgement with emotionally driven ideologies.
I use (and contribute to) open source products because they usually offer the best value proposition. When they don't, I look elsewhere. It is not wrong to support a proprietary solution. It is not wrong to reward those whose efforts have made your life easier.
Muslim community leaders warn of backlash from tomorrow morning's terrorist attack.
Of course, with the screen down to 640x480 and with a modal dialog up it may be just a little bit hard to back out and search the internet for the mythical command key shortcut you need.
Well, so what? If you don't know about the shortcut, you're no worse off than you're on Windows or Macintosh in the same situation.
Furthermore, on Linux, these kinds of dialogs tend not be modal; modal dialogs locking up the UI are a common misfeature of Windows and Macintosh applications.
Windows, Macintosh, and Linux all have these kinds of problems. The difference is that Linux has a lot more ways in which you can get out of them if you know what you're doing. And if you don't know what you're doing, you're no worse off than on the other platforms.