Why Users Dumped Your Open Source App for Proprietary Software
itworld.com
itworld.com
This is especially visible when trying out various new programming languages. I have written exactly one .NET application in my life and I absolutely loved it that I could just downl... I mean buy the Visual Studio, install it and start coding, debugging and deploying the application. The same story with Delphi.
A very different story is about Python, Haskell and all things Java related. You need to download compilator, then you need to find and download IDE separately, then you need to figure out how to make it work with the debugger, if you're lucky enough to get it working at all. It takes time and effort that doesn't benefit me. It's all reading instructions, changing paths in configuration files and setting environment variables.
And the reason why this is done so is because as I mentioned some people absolutely love the idea that they can use any tools in any configuration that somehow after some effort work together. And people who like to tinker are the people who write open source. So there.
Also making good product = fun, making good setup = boring.
We've made lots of choices explicitly for the purpose of staying on the MS Happy Path, since we knew it would make our life easier. Not because they were the best solution to the problem.
This is the first time I've heard anyone else describe the happy-path phenomena, yet I previously talked about it any time anyone ever asked about the goodness of MS software.
I'd also mention that the Happy Path is also a verbose path. I recently looked at a C# application and a C++ application that each did about the same thing. I was amazed to find the C# app had least ten times the source code. Moreover, the C# app seemed to be coded in the proper C# way and worked generally well. The main thing is that the problems that it did have (memory leaks) were utterly, irrevocably, totally, completely unsolvable...
So there are trade-offs in all these things that are very "unobvious"...
I never have to download a dedicated IDE for the language. I just grabbed emacs and go along with that. I never have to change configuration files and setting environment for each language.
I never use a debugger, just old fashion println.
Yet, I lived in the world of open source.
Really, everything is going to be pain on window in comparsion to Linux. Since linux was orginally made for programmers by programmers, life is going to be a piece of cake.
I use (and really like) OpenBSD, actually, but the point that the article is trying to make is that while open-source users usually tolerate a fair amount of configuration, spotty documentation, etc., those problems can sit ignored in plain view, and people trying out open source stuff may get the first impression that it's incredibly rickety. (And in some cases, they're probably right.) Tedious detail-work such as setting up a smooth installer is very important, particularly for people who aren't themselves programmers.
Lot of them are non-profit, so of course they don't even try that hard. What do you expect, hard core ass kicking software?
Sometime, you will find hard core ass kicking software.
I still remember fanastic open source games like battle for wesnoth that are easy to install on window, and even more so on linux with pacman or apt-get. It look like it can compete with any reasonable indie game.
Agreed, and this is "Why Users Dumped Your Open Source App for Proprietary Software".
The only tricky part is that developers constantly complain about downloading some new programming language just to run a program. Guys...it's the year 2009. You can buy a terabyte hard-drive for a few hundred bucks and your 'net connection isn't that slow anymore.
As for the Java-related stuff, installing NetBeans is pretty much a no-brainer. It even comes with its own Java runtimes, if you want it to. And it can work with Java, PHP and Ruby. From phone apps to server apps running on those 1000-core Azul beasts. That's a range Windows can't touch.
Eclipse is a little harder to download (there is a bewildering amount of options) but it's one impressive tool stack and rightfully deserves that compliment people traditionally reserve to Emacs: it's a great operating system, lacking only a decent IDE.
To put it in other way, do you really want to hire a programmer who can't understand/install/adapt/make his own tools? It takes me about 15 minutes to be functional with any *nix box, given a decent network connection. With Windows, I need a little more time, but Cygwin is my friend.
Setting up the system to be able to run compiler commands from the command line is very hard on Windows.
On Mac/Linux/UNIX you get that all for free, out of the box, and every tutorial on the web makes sense. With MS it's always some crazy proprietary thing that is hard to find good documentation for (at least it was ~10 years ago, when I was starting to program).
I never got serious about programming until I switched to Linux (I use a Mac, now) because it was just too hard to get started on Windows.
Windows C++ command line programming is a bit of a pain but it's just the same setting-your-configuration-pain-in-the-neck that everyone is complaining about Linux having. I can navigate files with vi but has always been the least intuitive system I could imagine, like brainfuck but not a joke.
Making that happen on Windows was very difficult, IMO. I remember using something called LCC-Win32?
Moving to *ix made a world of difference for me from a programming and sysadmin perspective. Everything works "out of the box" and the space is less fragmented because everyone uses gcc/g++. There are a million tutorials explaining step-by-step how to write a C/C++ program and compile it.
Installing a printer on the other hand... :)
Going way back to when I was learning to program, I couldn't get Unix working at all. The folks at the college who understood it loved to make that understanding a mark of their superior condition rather than helping in any way.
This was well before Linux. Unix terminal configuration is pretty much the most screwed-up, evil thing in the world. At the college where I was learning to program, most of the terminals were irrevocably mis-configured at the server level (or at least some level we had no control over) but the admins pretended it was the student's fault.
And the present screwed-up configuration of the various flavors of desktop Linux can be traced to their support of the various archaic terminal flavors as a default.
And it really shouldn't be assumed that Unix was step forward from UI's that existed in the really old systems. I learned my hatred of vi from a truly old school programmer who went back to far before Unix existed and could verify that there was no excuse for it's pathological absurdity - it wasn't a "step forward" from the editors that existed before - rather, it's popularity has to do with accidents of markets and college sysadmin culture.
Here DOS (not Windows) was great. I just got a simple compiler and did a did of command-line stuff. The Borland c++ ide was great back in that day...
Now I use a Mac and have the best of both worlds!
But I'd add one other big problem for open source: "anti-marketing", in the form of aggregating trolls.
I don't have to Google far to find sites that apparently just crawl SourceForge and dig up whatever crap they can automatically generate ad-ridden pages for. A lot of direct harm to projects comes from trolls:
- They don't properly credit, and certainly don't link to, the page that they crawled (e.g. SourceForge). So users have no way of knowing that a more complete and authoritative source exists.
- They often don't "re-crawl", so within a matter of months they're advertising something extremely old.
- They usually don't have all the details quite right. So their pages seem "authentic", yet are wrong in critical places (such as, system requirements; I've seen things as stupid as non-Windows programs that "require Windows XP").
- Their robots are sloppy. For instance, I've seen them create a "what's new" page that completely misinterprets the original source release notes, resulting in a couple of nonsensical bullet points. This makes it seem like the software maintainer is retarded.
- They give no direct control to project owners. Not only is there no way to update a page, but even if there were, the site has no way of knowing that the person contacting them is the true maintainer of the software.
Whichever one of these trolls becomes king of Google will do the most damage.
Really? Where does that come from? Because one of the things I love most about running Ubuntu is that everything just stays up to date on its own. I'm always very wary of installing something myself and will nearly always take the apt-get route unless I really need that very latest feature.
Whenever I evangelize running linux, (which is very rarely) this is one of my big selling points. When people see the update manager pop up, update a bunch of programs while I'm doing other stuff and not even ask me to reboot they're often convinced to give it a try.
It's simple: because they can pirate proprietary software and they always perceive something which has a price tag as more valuable than something which is offered for free. Something which has more (perceived) value but which you can obtain for free will always win against something which is offered for free (and thus is perceived as probably worthless).
Sad but true.
There are some exceptions, though. A lot of people use Vlc, for instance, because it can play every single (probably pirated) video you'll throw at it. And there isn't a market for commercial video players. Something like Firefox wouldn't have reached such penetration without a lot of marketing (most people doesn't even know what a browser is, go figure).
I'm constantly baffled by the number of articles about these subjects coming out every day from authors who don't understand (or completely ignore) basic human psychology.
I honestly don't believe that if you charged for OpenOffice.org, Inkscape or The Gimp then people would prefer them over their closed source equivalents. I think it's just trying to ignore the the obvious answer that they simply aren't as good.
There's also plenty of counterexamples where freeware proprietary software has beaten open source software, as well as many examples where open source software has beat commercial software (most notably in tech areas, such as Apache, or Linux versus other Unix-likes).
I think people should simply face facts: Open-source software isn't automatically better than proprietary software.
I'm not saying this.
I, for one, prefer Gimp and Inkscape over Photoshop and Illustrator. I have coded my own plugins for Gimp and I write my own scripts (in various languages) to output svg (using Inkscape for additional free hand editing).
But I know that I'm not the average designer/sw user.
Apache and Linux are for tech-savvy users.
> Open-source software isn't automatically better than proprietary software.
This is obvious. What I'm saying is that, for most people, the opposite is true, because there's a psychological bias which is independent of technical value, user friendliness etc.
At one workplace we were using Word (2003 IIRC) and I can say that when it comes to styles it sucks. It doesn't really support styles, or if it supports them they're too complicated to use. Nobody knew who to use them, so we did the formatting by hand.
Stop abusing those words and twisting their meanings please.
I'm also not exactly sure what the correct term is to refer to the common situation of having free-to-download open-source software, because "open-source freeware" looks utterly ridiculous.
That said, in the overwhelming majority of cases, even my misuse of wording is accurate.
It would be called noncommercial open source software or noncommercial free software.
The point is to separate the aspect of buying software from the availability of its source code and whatever freedoms are associated with that.
In a lot of enterprises, none of that works for open source. Even if the code just works, without going through the buying motions, nobody cares. It just sits there. Nobody wants to depend on it, because nobody wrote a check for it, so it doesn't seem real.
I think the problem is one of expertise and motivation. A software vendor will necessarily be an expert in their own product, and they have a huge incentive to sell it. Internal IT staff are not going to be expert in some random open source package. Their expertise is going to be domain knowledge, and their interest is just to make sure things are working smoothly. In theory they would prefer better quality open source software, but in practice they need someone on the hook to blame when things go wrong just as the brass does.
I think this could be changed though. If a corporation had the mindset that they wanted their IT to be a competitive advantage, recruited and paid accordingly, I think a large corporation could mop the floor using the right mix of proprietary and open source.
I base this in part on a number of friends who have hugely successful open source deployments in their companies (BSD/pf firewalls, for instance), and who are locked in a constant struggle to keep those deployments from getting "upgraded" to "real software".
I imagine it's very easy to deal with Red Hat, the PostgreSQL company, SUN/Oracle (who the hell owns MySQL??), etc. They all have sales teams and purchasing departments and all that jazz.
Why? Not for any of the reasons mentioned. One of the big things that convinced me was a little thing, the magsafe connector. I've seen laptops slammed down on the floor, and it's not pretty. Endless driver issues were another reason, but the magsafe was the clincher. That alone is worth the price difference.
So sometimes the reasons are not related to software. The larger context matters, including little things in that larger context.
> Endless driver issues were another reason
Really? Not to discount your problems, but if you choose your hardware wisely there aren't that many problems. That said, a lot of 'driver issues' are to blame on the manufacturer (i.e. NVIDIA sometimes has massive drive issues even on Windows; back in the 90's ATI was know for their atrocious driver support on Windows).
Why do I not run Linux on Apple hardware, you ask?
Actually I do run it on Apple hardware. I dumped it as my main OS, but I run it under VMware. As to why not wipe OS X and use only Linux, well, OS X gives me a lot of stuff I like, so I'm not about to wipe it. OS X is like a superset of Linux, in effect, at least according to my most important metric which as you may recall is getting shit done. It's like a new Swiss Army knife that has more blades, if you like analogies.
I have seen proprietary software so friendly it ends up catching the digital equivalent of STDs