A few days ago, DU’s sysadmin, Marc Perkel, wrote a piece on Open Source software and it’s use for this blog. To say it got an interesting, polarizing response is like pointing out that aspects of Windows is better than how it’s done on a Mac at a product announcement by Steve Jobs. A large number of the people who responded clearly didn’t get what Marc was saying, didn’t care what he was saying and just wanted to attack someone who was attacking their beloved software, or were too wrapped up in telling us how much an idiot Marc was and how much a fool John was for employing him because they knew better about everything. In short, they were helping Marc make his point about the Open Source community.

Here’s Marc again to continue his thoughts.

How To Make Open Source Software Not Suck
by Marc Perkel

The Problem:

Ever wonder why Windows and Mac applications tend to install and ‘just work’ and Linux applications don’t? Is it because Windows and OS-X is a superior operating system? I think not. When it comes to the raw power of the operating system I don’t think anyone would seriously call Linux inferior. Most experts consider Linux superior. I certainly do. That’s why I run Linux on all my servers. Yet when it comes to installing and running applications in the Windows and Mac world everything generally installs and just works. The user is running the application in minutes. However in the Linux world applications rarely just work and often require days to get it right. One has to search Google and consult experts to make any headway at all.

Why is that? I think the answer lies in both the Open Source culture and the economics that drives the development process. Windows and Macs are commercial products. The software is written by people who are paid and the employers expect results. The company has to make enough of a profit to keep the doors open. So to do that they have to make a product worth buying and that isn’t expensive to support.

In the open source world people are generally not paid and often just want to get something working. Once it works they are done with it. It’s not as important to get it working well or to write good documentation and polish the product. Geeks write software for geeks and expect the users to have geek skills or geek friends to help them out. No one is getting paid and documentation consists of typing your error code into Google and hoping to find a discussion list somewhere where someone else who had the same problem has found a solution.

To develop a commercial application it takes about one third of the time to get the product working and two thirds of the time to get it working correctly, add all the necessary features, make things automatic, make the software visually attractive, make the commands intuitive, and develop good documentation. A product is considered a success when the program ‘just works’ and ‘does everything’ that a program is expected to do.

In the commercial world this is necessary because that’s what people want to pay for. If a program is buggy, poorly documented, missing obvious features, requires cryptic commands, lacks menus, has no configuration interface, and has poor or no documentation then the company is going to have to pay people lots of money to answer phones and listen to customers scream at them. Years ago companies learned that they can reduce their costs and increase their sales by getting the software right so that people didn’t need tech support.

I used to have a small software company. I wasn’t a one person operation but I did all the development, documentation and tech support myself. So if I screwed up people were screaming at me. When someone reported a bug or an obvious missing feature I fixed it immediately. My motto was “compiled fresh daily”. In reality it was often several times a day. But if the problem was fixed then people wouldn’t be calling about it. The same is true for documentation. If someone asked a question I made sure it was documented so that the next time they wouldn’t have to call because it was in the manual.

In the Open Source world no one is generally responsible in this same way. They don’t have a commercial incentive to get it right and therefore they usually don’t. After all, getting it to work is the fun part. Polishing the software and documenting it is that hard part. Why do the hard part if the software runs? If you have a problem join an email list or Google it they say. If there’s no money then there’s no funds to hire professionals to write manuals. You don’t do end user usability testing. You don’t get feedback from your support department. Open Source is a different culture. It’s free, but you have to do more of the work yourself.

Of course this distinction between Open Source and commercial software isn’t universal. There are Windows programs that are pure crap and Linux applications that are quite good. But you can’t help but to notice that almost all Linux/BDS/GPL/Open Source apps are configured by editing text files and very few have menu options. Windows and OS-X applications almost all use menus and rarely have text file configurations. The difference is that menu based applications represent a higher level of polish than non-menu applications. The programmers took the time to make the software easy to use.

The Solution:

To solve this problem we would need to get the same level of expertise into the Open Source world as we do in the commercial world, and somehow do it without money. Sounds impossible, but if you think outside the box and get innovative then ‘impossible’ is just another word for ‘challenge’. What we need to do is to create a partnership between the right kinds of people. In this case I suggest we bring in the educational system.

Colleges and trade schools are in the business of training students to function in the real world so they can go out and get jobs working for companies who pay them so they can eat. Companies need people who are ready to go to work and have some real experience so they don’t have to educate the employees themselves. And that’s where the Open Source world fits in.

Suppose that the education industry partnered up with the Open Source world and had their student work with Open Source projects as a real world learning opportunity? For example students taking courses in technical writing can work with developers to produce high quality documentation for Open Source software. People training for tech support positions could become online tech support for free software projects. These support and tech writers could give feedback to the developers to make changes in order to make the programs user friendly and eliminate confusing features and unnecessary settings.

Additionally, people taking computer programming courses and software design courses could also get involved in free software projects to add polish to existing programs. Instead of editing a text configuration file with the VI editor they could have a menu system and a help system that creates the configuration file so the user doesn’t have to learn yet another set of cryptic commands. The documentation folks can work closely with the help desk group so that the manual cuts down on the tech support calls. And the Open Source developers could learn some skills as well about how to get a program from “barely works” to a finished product and how to learn social skills so that they lose the habit of belittling the end users.

This would be a win/win/win/win solution in that the education world will be able to give their students real experience working on real projects. The student would have real world experience and have something to put on their resume of something they helped accomplish. Employers will have people to hire who are ready to go to work the first day on the job. And the Open Source world will have quality software that doesn’t suck so bad that people won’t use it for free.

All we need now is for someone to spread this idea around and find people to hook up education and open source and make it happen. I’m hoping some schools will read this and pick up on the idea.



  1. mperkel says:

    #8 and #9 – Open Office might be freeware now but it started out as a commercial product, not as an open source project. Same with Firefox and Thunderbird. The best open source software are gui apps ported from Windows to Linux because if you have a Windows version then you have to have the level of usability that Windows users expect.

    For those of you who think any Linux distro is a “Windows Replacement” give it the Youtube Test. Install your distro and go to Youtube and watch a video and see if it works.

  2. mperkel says:

    #10 Granted that Vista sucks. But one thing I’ll bet on is that in a year Vista won’t suck (except for DRM). Microsoft will still suck of course. I remember when NT (used to mean Not There) came out it took them about 3 years to get it right. But they did get it right.

    Microsoft makes excuses about Vista but they are listening and they are spending billion fixing it to get it right.

  3. Milo says:

    People who can’t figure out open source should have their computer taken away and be given a typewriter.

  4. mperkel says:

    #13 and #23 Your response is a perfect example of why open source software sucks. The correct response would be, “What do I need to change in this software so that users don’t hate it?”

  5. Peter Rodwell says:

    Install your distro and go to Youtube and watch a video and see if it works.

    Or plug in a webcam…

  6. Big A says:

    Mark the spin doctor. Did your buddies at the DNC come up with this diatribe to put you in a better light? I liked it better when you were ripping on VI and showing your total lack of MySQL understanding.

    Just go out and buy a copy of Server 2003 & SQL. Leave the OSS for people who understand what they’re doing.

  7. Heh.

    Sounds to me like you either pay in money, or you pay in time.

    I also find it deliciously ironic that people who get up and bash open source are the ones who are still trying to use it. If it’s so bad — why are you trying to use it?

  8. ECA says:

    Let me ask something here…
    HOW many Macro virus/bots has Office had? 12-20-more??
    How many PAID FOR, software firewalls, have been circumvented??
    How many HOLES are in MSIE??

    Get OFF the bandwagon, and MAKE a decent OS…Please…
    If nothing Else, lets fix the Hardware, while we are at it.

  9. Mike says:

    #24 Free Software is not and does not need to “compete” with commercial software. The fact that all these bozos (read Marc, John and mperkel ) keep trying to use it without taking the time to understand what they are doing demonstrates that. Free software does just fine without bowing to the ignorant and selling out for a few bucks. Free software should be used by people who will take the time to understand it. Commercial software should be used by the rest of the numbskulls. Free software does not need to be dumbed down for use by the ignorant. If the software is beyond you then simply don’t use it and stop whining about it. Just pretend that free software doesn’t exist and go about your business.

  10. GregA says:

    Wow, right here before my eyes the MS hating blog’o'sphere is imploding. This is a circular firing squad of DLC and DNC proportions! Whats got you guys down? 10 years of slashdot and you have failed to have a measurable impact on commercial software, beyond driving Sun (one of your allies) out of business? Or is it that Apple has exploited your work, only to make a series of product offerings that make Microsoft look positively open in comparison? Or is it the grim realization that your sustained FUD campaign about windows makes Microsoft look ethical and honest compared to you guys?

    I know in a software market that I have been researching, an area that the Cathedral and Bazaar model ~should~ absolutely dominate at, enterprise accounting software, microsoft has only gained ground, and the few successful opensource products have been taken closed source. Even then Microsoft Dynamics is still dominating the sector.

    Well in all honesty, I wish you guys better luck over the next ten years. Maybe you will do better as computing migrates to the table top and thin-client.

  11. MikeN says:

    So your solution is to have college kids working for free for the Open Source Movement? In fact it is kids paying to work for the open source software makers(or taxpayers if they are on government grants.)

  12. MikeN says:

    >written by people who are paid and the employers expect results. The company has to make enough of a profit to keep the doors open. So to do that they have to make a product worth buying and that isn’t expensive to support.

    People should consider this when they are pushing for government health care.

  13. Ben Franske says:

    Marc, I still think you’re missing points and inaccurately comparing open source and commercial software.

    First, I think you’re generally comparing open source server type applications e.g. Apache, MySQL, PHP, etc. with commercial end-user applications e.g. MS Office. This is a misleading comparison because many Windows server applications are at last as confusing and difficult to get running as Linux ones. I’ve done a fair amount of work in Windows data centers and have to say that many commercial applications used by corporate IT are a complete bear to work with. Thus I think this is an unfair and misleading argument, most commercial software, at least when compared to open source software that does the same thing and when talking about server type services is NOT just a point and click install.

    Second, I think you continue to berate the support and documentation available for open source software and while there is a problem with free support and documentation of open source software there are alternatives if you’re willing to spend a little money. For example, you can easily hire developers to add features or fix bugs. There are also lots of consulting companies, mine included, which can and do write documentation for open source software and/or troubleshoot and provide solutions just as any technical support from a commercial software vendor might do. The faslehood here is that you can get something for nothing. If you intend to use open source software in a company or other critical environment you should either hire a developer on staff who knows the software and can support it or look into purchasing a support contract for the software from an outside company. Many people who use open source software “because it’s free” end up disappointed in many cases and I would argue that’s because they selected it for the wrong reason or didn’t understand what they were getting into. Just because it’s open source doesn’t mean you won’t have to spend any money on it if you want to run it at peak performance in a mission critical environment.

  14. Bob Freeman says:

    The idea of using elitist, smug students to polish software written by elitist, smug programmers will give results that are worse then the current problem.

    I’ve always felt that my work has value and free does not pay the rent.
    I’d really like to know the source of income for free software programmers…If they are working
    for someone else and thinking about their latest free project, it is not free. If they are students writing free software, then they should thank me for working and paying taxes so they can work for free.

    Everything has a cost: dollars, yen, rubles, food, shelter or time..It’s not free, it just depends on your payment method.

  15. Todd says:

    I thought that was the idea behind the google summer of code. Encourage people to work together to make current open source projects better or make new programs that work better.

    I have used vi for years. I didn’t learn because I wanted to, I learned it because I know I can go to any *nix based os, type in `vi some.cfg` and know how to get around. Like it or not it has become the standard that, although cryptic, is far more powerful than nano. Which is also it’s shortcoming, trying to cram everything when 95% of the people that use vi only use the basic functionality. That’s why more simple editors like nano or pico were made because it JUST has that basic functionality that people need to edit config files.

    That is another bad thing with opensource, everyone thinks they can make a better editor, database, web server, mp3 player. so you have all these applications that are all 90% on the functionality and usability. Instead of people contributing that other 10%, they say “screw all these editors, I’ll make my own that does what I want and I’ll do it from scratch”

    People get animate over the stragest of things to me. A vi vs emacs thread will never end, and then you’ll have people throw in things about other editors they use and complain that it was a vi vs emacs vs [their editor of choice]. But go on the development list and ask “How can we make vi better?” you will either get nothing, or ones that say it works perfect as it is, or ones that say to just use [insert some other editor here]

  16. GregA says:

    #33

    Wow maybe its my training, but I will throw the classic example at you. Server 2003 vs running Samba as a domain controller. Ive done both. Sorry, for a smallish 10-100 computer network, windows is easier (and faster). It isn’t a comparison.

    Ok lets try again. Server 2003 with a bunch of terminal server licenses, vs even commercial VNC solutions. Once again… I can set up a windows 2003 terminal server in about 20 minutes. Ive had some success in doing that with VNC, but…

    Ok one more try, virtualization on Server 2003, vs a Linux solution. Bzzzt. On windows it is hard to tell it apart from the terminal server interface. No realistic open source solution exists at all.

    Software development… Same thing. I can get vs developers by running an ad in the paper. Linux developers??? OMG are you kidding??? If I go with java, the situation improves a little bit, but still not like finding VS developers.

    For a web applications… VS vs php. Linux has a very slight advantage in scalability, because of its legacy. But that brings back to what Perkel was saying, doesn’t it? (I just did a monster search for PHP vs ASP and if you are a young programmer the direction your training should go is OBVIOUS)

    So sure, a Linux solution might offer 99.9999% up-time but at the end of the day, most people in IT only need five 9′s of reliability.

    If Linux wants to grow (rather than suffer its currently diminishing market-share) the first thing the Linux community needs to learn is humility. That includes not calling me a dumb ass for simply having the temerity to disagree with you about Linux’s suitability in the workplace.

    Better get started, because all the FUD thrown around about Vista over the last year has cost you guys MASSIVE amounts of credibility.

  17. HisMostHumblyExhaultedSupremeGlobalWarmingMajesty says:

    After careful examination of products I use and products I support professionally I’ve come to the conclusion that good software is a rare fluke. It’s not possible to actually write good software on purpose. (That goes for the crap I’ve written too.)

  18. OmegaMan says:

    Open Source is analogous to using Bit Torrent. If the user community surrounding the software is robust and humming, things are great! But if interest drops off or the number of user’s drops below an unseen saturation level…all bets are off.

  19. Peter Rodwell says:

    …the first thing the Linux community needs to learn is humility.

    Very true! While looking for something different I recently came across a question in some Linux forum: somebody wanted to know how to get his Fedora system to boot up with the root user already logged in. The reply, from some self-styled Linux “guru” was something like (I forget the exact words), “yes you can do this but it compromises your security so don’t do it.” And of course he didn’t explain how it’s done.

    This supercilious “I’m so much cleverer than you numbskulls” attitude does nobody any good at all. On the one hand, Linux users insult non-Linux users as “numbskulls” and on the other they complain that people continue to use Windows and Macs instead of Linux.

    (Incidentally, if anybody does know how to get Fedora to boot up with root already logged in, I’d appreciate their telling me.)

  20. Thomas says:

    A lot of good points in this blog entry.

    My first computer was a Vic 20. I loved that thing. I didn’t, however, enjoy trouble shooting a program which didn’t run due to a simple quotation mark missing.

    I began using Linux in 1997. I love it. However, I don’t enjoy the gamble of many of the open source applications out there. There are just certain times when I feel like using a ‘point and click’ O/S, such as Windows.

    Your average consumer will never buy into an O/S that requires hours in order to figure it out. Your average consumer gets cranky if they have to wait more then 3 minutes at the McDonald’s drive thru. I love the open source community, but it is suffering greatly because of the downfalls associated with it.



Bad Behavior has blocked 23858 access attempts in the last 7 days.