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.
>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.
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.
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.
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]
#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.
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.)
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.
…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.)
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.
Just because it’s open source doesn’t mean it’s idiot proof as demonstrated in the original article that spurred this one.
Sorry John, but I think many people who responded knew exactly what his problem and jumped on him for the completely whacked approach to solving the problem.
That you would believe ‘we’ missed it just displays that neither of you have a firm grasp of the technology or open source
#41,
See, you just call him an idiot without backing it up. That is what I am saying. That makes me less likely to look at Linux seriously.
Why is his solution wack? How would you solve it? Why is your way better? Can you even offer a realistic solution?
More importantly, the whole idea of open source is the community. You are supposed to join that community and offer to help him out of the goodwill you feel towards fellow open source users.
If MySQL was microsoft developed, their tech support would ~at least~ offer a “We are sorry, our software does not support that type of configuration” Beleive me I know, I get that answer from them ALL THE TIME. But at least they don’t insult me for wanting to do it that way.
It sounds like someone is drinking the we-are-the-world koolaid.
The problem with open source and non-commercial software in general is human nature. Humans WANT something for their efforts, even if it’s just “cool software d00d”. That includes tech writers, QA, design, UI development, coding, and support.
The largest fallacy about the open source “movement” is that it is better than commercial efforts by default. The thought is that people will pour their hearts and souls into products attached to their names, like artwork, and that we will reap the untold benefits of that without needing to spend a dime. The results, as are obvious by this point to anyone with a pulse, are shoddy workmanship, unending minor bugs, and eventually disappearing support as the original masterminds get tired of their toys and move on to the next big thing (or become part of the commercial establishment they say they hate.)
As much as techies like to bitch about MS, the large majority of their products just work on their testing systems. Their mistake is largely not explicitly separating the OS from applications and demanding consumers to never touch their system files. Hmmmmm sounds like something linux developers do too, how about that.
As for the article, it would be a disaster to get training folks to do tech writing, QA and other work without them getting serious returns (ie grades or tuition.) Think about the last “trainee” you ran into somewhere. They were getting paid to learn, and the expectation is that they DO learn or they are kicked out. Colleges are getting paid, not the students, so the students feel no real obligation to do work unless it affects their grades or tuition dollars.
And before you talk about volunteer work (which is a good chunk of open source) when is the last time you asked for a volunteer doctor at the emergency room? Or a volunteer mechanic to check out your car?
We’re in a service-oriented business, and as such we should demand good service from knowledgeable people, not the first guy that walks in the door. Oracle, Apple, Microsoft, and others in the industry finally realized that, as most successful tech companies eventually do.
God said, “Entirely too many reasonable people hanging out here, today.”
That’s true. This is one of the most coherent and intelligent comment threads I’ve ever read on DU.
One thing that is missing here…
An explanation of how the original problem was fixed.
Talk all you want, but if the resolution turns out to be a configuration issue, you can bla bla bla all day long and it won’t change the fact that the problem ended up being (as most of us suspect) user error.
Placing general blame on a piece or type of software, when the software may not be to blame, really does nothing to substantiate the whole premise of this thread.
So how was the problem fixed.? Let me guess… fixed the overall system design to support multiple linked systems.
Marc is right. The majority of documents for office applications are in MS format. Like it or not, it is dominate. I have tried the Linux solution and just get fed up wit the constant web search for drivers and install problems.
I need the computer to do the work, not to play with cmdline options. Just make it more like windows with config menus and drivers and there is a chance to dethrone the evil monolith.
I do like th way Unbuntu installs and runs. I run an Astaro gateway as my active firewall.
So, make it easy, give the people what they want and more will use it.
For all those linux/OSS bashers, have you tried Zonbu yet? It’s robust, full featured, and less hassle than a recent Dell box loaded with MS XP. I know, I have one of each, and I love my Zonbu. It was 1/4 the cost of my MS system, and it’s just as fast, silent, and green.
On another topic, I work a lot with geospatial software. In this niche, the open source software absolutely rocks. Sure, there’s an 800 pound COTS gorilla called ESRI, but the open source software is for most users just as powerful, and in many ways far more advanced. On the web mapping side there is just no comparision – OSS has the best performance and ease of use, and consequently most of the market. One thing that has helped the OSS community in the last year is an open source organization that facilitates software incubation and testing. And yet, the ego of OSS developers is still irksome. Not as irksome as the prices for COTS though….
Other than the lack of a really good office suite, there’s still several good ones, I simply haven’t run into problems with Ubuntu and its recommended apps that are any worse than what I had to deal with under WXP. Furthermore I don’t have to try to outwit my computer in order to change something anymore. Almost everything is mouse driven and when it isn’t I copy and paste from the wiki or forum. As I said above: go get a typewriter if you can’t understand OSS!
#39 Even if I did know how to boot Linux with root logged in at start up, I wouldn’t pass on that information. It is a security risk. Why pass on bad advice? If I came to you and ask how I could touch a burner on the stove, would you tell me how knowing that I would burn myself?
Microsoft Windows has spoiled people with some bad habits. Should those bad habits be passed on to another platform?
#45 I would also like more information on what solved the problem. I did a Google search on MYSQL TCP Sockets that came back with several hits. Most explaining why someone should use sockets instead of TCP. If using TCP is bad practice then may be Marc should read more about it.
I would also like to know just how many Linux developers are getting paid to work on Linux compared to developers just coding for fun.
The problems Marc is having is not unique to the Open Source environment. You don’t know how many times I have had to troubleshoot somebody’s configuration mistake of a Commercial Database Server serving data for a Commercial Application all on a Commercial Unix or Windows Operating System. (I work for a major international company…)
I have also seen the same configuration issues with the Open Source Database Server, Open Source Application, and Open Source Operating System.
It’s not fair to blame the problem between the keyboard and chair on Open Source *OR* Commercial Software. When configured correctly, both can be very effective and inter-operate!
This Dvorak blog is a WordPress blog, WordPress being an open source blog application that is written in PHP.
On the home page is a thingy saying “All the editors” of Dvorak Blog recommend FireFox.
So what’s the problem?
# 28
You make a good point…
DUH…
#50,
Both SQL Server and Firebird use entirely different notations when you access the database files directly. Its been a while since I messed with database configurations, but IIRC, in Firbird, when you want to use file access, you type the file name of the database right there in the connector. When you want to use tcp you type in an ip address or something that resolves to an IP address. In SQL Server you use an entirely different ADO connector. Anyone know about PostgreSQL or Oracle?
5: 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.
All of that is exactly true, with one addendum: Gaming. I don’t have any serious problems with Mac OS beyond their overpriced hardware and badly designed keyboards/mice, but when my choice is between an open hardware OS that I can upgrade every single part for a reasonable cost and runs every game that comes out (save for the occasional buggy title that doesn’t like your config) and one that plays the occasional new game scraps and older game ports and is, save for the most expensive desktop model, nearly impossible to upgrade, I’ll stick with WinXP.
As for Linux, I just can’t get into the logic employed in how you’re expected to work in a *nix environment. But then again, for my entire mandatory school time I used Macs.
For most people it all comes down to function and functionality
Most computers now are far beyond overkill
People use computers to run programs – not to run operating systems or the latest hardware.
Most people use their computer than little more than “solitaire machines”. The joke is that they are actually proud of this
In the last while open source programs have become to become quite usable – not only for programmers who love to endlessly tinker
and programs mainly for geeky types
As good examples – look at wordpress ( blogging platform) and firefox browser
#53 – GregA
You missed the entire point of my comment. It doesn’t matter if it’s Open Source or Commercial Software.
Both will cause performance problems if not properly configured.
In short, they were helping Marc make his point about the Open Source community.
I’m afraid that you’ll have to explain his point to me because I am unable to determine precisely what that point is from either or both of his disjointed diatribes.
The best that I was able to determine was that he was disgruntled at the fact that a MySQL program change had pulled the rug from under him, so to speak, and caused an administrative problem for him. His frustration with this problem was further exacerbated by his inability to get anyone to respond to his issue.
But, contrary to his assertions, this is in no way unique to open source software. Most administrators have had this type of fun with countless commercial vendors. Indeed, MySQL is a commercial application that is fully supported by a supposedly caring and responsive developer corporation. Of course you would have to pay that corporation to field your complaint calls and it is unlikely that they would bend to the wishes of your complaints.
The truth is that commercial vendors that are larger than a single developer/tech support person don’t typically respond to individual complaints. Some will respond to a ground swell of complaints but, even then many will not respond at all. They’ve already gotten the money for the broken application and there isn’t any/enough money on fixing the broken application.
Now on the other unrelated subject of CLI based editors, you are delusional. To compare vi with edit.com and claim that edit.com is superior to vi is a bold faced lie. Whining that vi lacks GUI components and ease is a red herring. You don;t use edit.com on your XP or Vista workstation. You use, at the very least, notepad.exe which can only be compared with similar tools like Kwrite or Gedit. All three are graphical text editors, repleat with menus and graphical configuration options. None are even remotely like vi or edit.com.
You had a problem on a bad day and decided to rant. That’s fine, but posting your diatribe and then having John promote a second round of fallacious whining is only a method for fomenting the crowd and generating traffic for the website.
Mission accomplished! I’ll expect part three to lash out at the Emacs community and perhaps part four could posit that BSD and the BSD license are superior to Linux. That ought really generate some traffic.
P.S. I recommend that you shift your sight to MS Windows 2003 server and Oracle for the database. Your world will be just ducky then! To paraphrase JCD; ‘You’re wrong. Shut up!’
Here’s how to log in as root in the graphical environment, at least in KDE: find the file /etc/kde/kdm/kdmrc then look for this line:
AllowRootLogin=false
Change it to “true” and save it. Of course, you must be able to access it as root while you’re a regular user, probably using su or sudo in a command line.
Sorry, I don’t know about Gnome or other window managers.
I also hate it when they refuse to give that information. Freedom of information my foot.
}} #57 I’m afraid that you’ll have to explain his point to me because I am unable to determine precisely what that point is from either or both of his disjointed diatribes.
I think his point is made with lot better level of detail in the book “The Inmates are running the Asylum”.
http://www.amazon.com/Inmates-Are-Running-Asylum-Products/dp/0672316498
I think Marc incorrectly blames open source developers. This problem really exists in both the commercial and open source worlds. The only differences is that in the open source world the developer is almost always making something for themself, not for someone else.