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 PerkelThe 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.
nice article – I dont see it happening though
This is an element of a much wider matter.
Just why is it that almost NO software can be run on a CD or DVD without all kinds of things having to be done?
Example. I bought my wife a hard disk video camera. She has no technical knowledge whatsoever. This thing came with a disk. The file format on the disk is different from the file format required for the living room DVD. Now. Installing the manufacturers original (supplied) disk programme didn’t allow a simple connect and burn. I had to get involved and convert – why? JCD has commented in the past on the repeated questions copying or deleting raise (i.e. Do you want to…) even thought the do to all files thingy has been ticked – many times.
I could quote hundreds more examples but the point is made. So called Technical staff are completely blind to the non-technical end user. How many could make a ball-point pen? Yet we all use them every day. WE SIMPLY DO NOT NEED THINGS PUT IN THE WAY OF USAGE. A Blindingly obvious fact which all technical product suppliers miss every bloody day of the week.
Last point on the same subject. It costs fortunes in ‘technical support’ as a result. Managers please note.
I think I liked it better when you were picking on VI.
agreed!
I think Marc is quite correct. While not claiming his experience, I have co-founded and run (and sold at a profit) 3 software companies, written technical manuals, edited a computer magazine and authored 15 computing books as well as writing a vast amount of code in various programming languages. I am familiar with the mentality that Marc describes:
Geeks write software for geeks and expect the users to have geek skills or geek friends to help them out.
The lack of understanding of how the real (i.e., commercial) world works is a real handicap to the Open Source movement in general. As an example, why did the developers of Open Office bother to invent their own file format while the real world wants 100% MS Office file compatibility? And when will the OS community realise that the more versions of Linux they pump out, the less the chance of its gaining widespread support Out There? (I’m sure the OS Community would be the first to sneer if Microsoft produced 20 versions of Windows with little or no compatibility between them.)
The Open Source community seems to despise commercial realities and has a knee-jerk response to villify anybody who dares to criticise it. It has become its own worst enemy.
I think it’s great that people are prepared to spend their own time developing stuff for free, but it’s certainly not great that they insult people who dare to mention that it could be improved or insist on using Mac and Windows software instead of Open Source offerings. Why do these stubborn avoid Open Source stuff? Because all they’re interested in is getting some work done, easily, quickly and often in a form that allows easy interchange with their colleagues in the next office or on the other side of the world. And if they have to pay for software that’s easy to install and use, works correctly and does what they want to do, they’ll be happy to pay for it.
I think there is another important factor at play here too. From my days as a desktop Linux user (now my linux boxes are all banned to the server room where they belong), I remember that there where a bevildering number of inconsistent desktop managers and development APIs
Compare this with the Mac and its great Cocoa framework. So much comes for free that even a lazy ex-*nix hacker like me can plug together a passable UI in no time. On the linux platform, my experiments woth GTK were always abandoned in horror and frustration.
So, as long as it is a pain to do much more than #include , linux software will be miles behind OS X and Windows, UI-wise
If the geeks are writing for geeks (me in this instance) and suddenly the product is “delayed” or in some way “restricted” in order to get the two thirds of the work that makes it polished or simpler for the masses complete, wouldn’t my natural geek tendency be to just move to the next (more cutting edge) and less polished project? Wouldn’t you just create Open Source mark 2?
As a long time Microsoft user, I switched to Mac 2 years ago. Last night was my first crack at Linux (other than OS X) and I installed the new 7.10 Ubuntu via VMware Fusion. The desktop came up in less than one minute (from the CD image) and it connected to the net, sound and video worked perfectly. Open Office (2.3) is excellent and it will save a file in a Windows format if you are so inclined. If you have resisted Linux, check out the new Ubuntu desktop. I have no use for Microsoft.
#8: Open Office (2.3) is excellent and it will save a file in a Windows format if you are so inclined.
Sure it will (not because I’m necessarily so inclined but my Office-using clients certainly are). Unfortunately, its idea of Office format differs from that of MS. I have a test file that I try out on each new release of Open Office. It’s a Word document with complex formatting, typical of the stuff I need to work with for my clients. OO continues to mess it up…
While some Linux distros are easy to install, the same cannot be said for most Open Source software.
If you want services for Open Source, you can get them Buy Redhat Enterprise, MySQL Commercial and so on. Those services are of high quality, and often benefit from the source access for the client.
Not wishing to sound dismissive, but the argument about ‘just getting it done’ is a hanging fallacy. My experience is that commercial developers are just as release focused, if not more.
I hate to flog the dead horse, but millions of hours shouting at MS has left us with the far-from-perfect Vista.
The argument that usability and reliability is higher in commercial applications just doesn’t seem to hold up for me. For a start, you can’t compare CLI applications for editing config files to graphical editing in a Graphical Environment. If you want to do that, install gnome on your servers (or KDE or whatever) and either use X tunnelling or VNC.
Incidentally, if you dislike vi so much, you could always use pico or nano.
#5 Most of the establish file formats, MS Office, are proprietary. If you were developing a piece of software on your own time, would you pay Microsoft to be able to use their file formats?
#Marc Nice idea but big businesses will want college students using their software not some OSS. Colleges are known for requiring the use of particular hardware and software. Money makes the decisions.
Commercial software isn’t perfect either. Programmers are paid to create software but only for certain platforms. Why doesn’t Microsoft have Linux versions of their software too? Everyone is still paid for doing the job. Why do hardware manufacturers not provide drivers for all platforms? Mostly the reason is money. Money dictates what is done and what is not. But people working on Linux do so on their own time without pay. Their own moods dictate what is done and what is not.
I like the idea. Personally I hate when people rip on Open Source Software. People who make open source software do it because they think the alternatives are bloated, overpriced, and/or lacking. They don’t do it to solve your problem they do it to solve their own problem. Plus, they give you the source code and the right to modify their code. My response to anyone complaining about open source software is to go fix it yourself. If that’s not good enough then go out and buy the bloated, overpriced, and crappy alternatives.
Jason – You might move to the newer, more cutting edge, less polished software, and thats fine. That how you like it. Hurrah for you. There will always be a selection of that sort of thing, possibly made by you.
But widespread adoption (This is the year of Linux, no this is, well maybe next year) will never occur until what he discusses in the column starts ot happen. The majority of users, sometimes even techincal users need tools for the job and don’t want to have to fight with it or reinvent the wheel.
Theres a place for less polished cutting edge and theres a place for well developed easy to use and gets the job done.
Entirely too many reasonable people hanging out here, today.
#9 That is called vendor lock-in. You have grown dependent on these features. OO has problems with it because .doc is a closed format that is reversed engineered. This is why MS did not get ISO certified.
“In short, they were helping Marc make his point about the Open Source community.”
WELL SAID! 😆
Cheers
From my commercial software developing days I have to suspect that a lot more than 2/3 of time was spent polishing. The experiences in commercial have also formed my own bone of contention with Open Source. It is so un-even. More like computer-club stuff than polished goods for sale.
Windows (MS) has been a success not because they won debate wars or bullied the market (into success) but because they produced what buyers were looking for (businesses, mainly) in terms of the types of software programs and in terms of the ease-of-installation, use and training.
Now, I find irony in MS’s latest Office (2007). They are killing off menus in favor of variously tabbed toolboxes. The guts are still there, just the interface is changed. Totally boneheaded and very frustrating.
My first reaction was that someone was trying to justify their job. On a little more thought this looks like what new programmers i a shop do, diddle around the edges of a program making small changes because they don’t yet understand the core code. So I have to wonder whether MS is losing core-code competance.
#7 You’re suggesting that the open source world wait till it’s done before releasing it? That’s not going to happen. Nor should it. Open Source isn’t a wait till it’s done culture. The fact that it’s buggy and put there gives those who are doing support and documentation a chance to get a lot of real life experience.
I suppose that putting up a wiki too and having customers give you good feedback would be a way for users to help the documentation people.
#18: So I have to wonder whether MS is losing core-code competance.
I suspect that most of the core expertise at MS walked out the door as soon as its stock options had vested…
In the admittedly rather unlikely event of my being asked to take over Steve “Barmy” Ballmer’s job, I’d:
1. Borrow one of Paul Allen’s boats, pile it high with unsold copies of Vista, and hold a “Vista Deep Six” party out in the Pacific, lubricated with copious quantities of El Dvorak Tequilla.
2. Produce the standard version of Linux. After all, if I as MS says it’s standard, then it has to be, right? This would have the added benefit of silencing all those Linux geeks who hate MS.
3. Wait for my stock options to vest and head for the door. Fast.
#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.
#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.
People who can’t figure out open source should have their computer taken away and be given a typewriter.
#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?”
Install your distro and go to Youtube and watch a video and see if it works.
Or plug in a webcam…
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.
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?
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.
#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.
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.
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.)