Is Open Source too Complex?
Jason Pillai writes to tell us ZDNet is reporting that at last month's Microsoft Worldwide Parter Conference in Boston Ryan Gavin, director of platform strategy, claimed that one of the big downsides to open source is complexity. From the article: "Gavin noted that the flexibility of open-source software in meeting specific business needs also means systems integrators and ISVs have to grapple with complexity costs. 'It's challenging for partners to build competencies to support Linux, because you never quite know what you're going to be supporting,' he added. 'Customers who run Linux could be operating in Red Hat, [Novell's] Suse, or even customized Debian environments,' he explained. 'You don't get that repeatable [development] process to build your business over time.'" More than once I have had complaints that my setup is more difficult than necessary. Is open source really that much harder, or just different than what most are used to?
Sorry, but I read this as "Choice is confusing - stick with what you are comfortable with. Hey look, that's us!"
This sort of gibberish is what you would expect from the most popular product in the market who are being challenged for the first time in a while.
Supporting -Linux- from a cold-start is a pain, not OpenSource.
With Solaris and FreeBSD (as examples) you know what you're in for when you get there. With linux you never quite know for sure. Sure, you can gear yourself up with most of the more common setups (Debian, RH, etc) but beyond that things fracture into thousands of variants. From starting scripts to configuration files, it's a mess.
You forgot to mention the Novell integration stuff...the ActiveX stuff...then there is the whole MS-Java VM vs Sun-Java VM... I assume you have never been to a trade show either...where every vendor is willing to sell you a different "Document Management" system for upwards of $10,000 that really is just a stupid crutch replacement instead of having admins actually MANAGE the file storage and keep users from saving crap all over the network where they don't need to be. I mean...these vendors can't even explain what the hell their products do half the time...I just wander over, ask a few basic technical questions and the market bimbos (I will never understand selling software with sex appeal) are filling my bag with promo junk to make me stop asking questions in front of other potential dupes...er customers. Yeah...the closed source world makes SO much more sense and is SO less complex. But hey...as long as its going strong I can go to trade shows and get bags full of free goodies. The best stuff always came from the vendor that could actually answer my tech questions...they were generally happy to have someone that could speak intelligently with them about their product and thus broke out the expensive promo stuff. :)
The only change I can believe in is what I find in my couch cushions.
ah but that's the good thing about Linux that you can not say about MSFT.
You as a vendor only supports RHEL, but that means your customers can get their Linux from Red Hat, CentOS, White Hat, or any of the other firms that take RHEL sources remove the trademarks and redistribute the binaries.
Your still not locked to anyone vendor for support or services.
i thought once I was found, but it was only a dream.
Is open source difficult? Yes, if you are just an average user. No, if you are a system administrator-type of user and that you manage information system for a living.
If you are just an end-user, someone who uses computer to do something else (creative work, accounting, marketing, sales, whatever) and you don't know anything about computer, then yes, I guess Open Source is still too difficult for you... unless you have a sysadmin close at hand to (a) install your machine and (b) make sure it's updated regularly. Then, Open Source can be -- should be -- just as easy (if not easier) than Microsoft products. Open Source GUIs, such as XFCE, KDE or Gnome, once installed and configured properly, are just as easy and friendly as Windows. Of course, the ultimate in user-friendliness is Mac OS X, but that's another story.
Please note that the term "user" -- as used above -- is not negative at all in my mind: I can perfectly understand that your job has nothing to do with computers, and that you don't have the time, or the inclination, to learn more about computers. And no, I don't think there is such as thing as a "Power User". Either you know enough to manage your own machines, or you don't. People who know just enough to be dangerous, but not enough to clean up the mess they have made, are users in my mind. Dangerous ones, but users nonetheless.
On the other hand, when it comes to system administrators, Open Source wins hands down. Things like Apache, vsftpd, NFS, CUPS, perl/python/shell scripting and, especially, OpenSSH make my life (and the lives of countless other people) so much easier than their Microsoft counterparts. Plus, they are a lot cheaper than all the Microsoft products, they are more reliable, easier to manage, upgrade, patch and install. Seriously, consider the following examples to upgrade a machine or an application:
Sure, to get to the stage that you actually can type these commands under OpenSSH and know what they do, you need to put in a lot of work. But the result is worth it. And, if you are a sysadmin worth his/her salary, you'll probably have a passion to learn that kind of things. Once learned, these commands result in less downtime, less cost, more customer satisfaction and a more efficient company. All in all, Windows, with its lack of security, Registry Database, its rather ugly GUI and its general flakiness is not good enough or "simple" enough when it comes to systems that must run 24/7 and support dozens, or even hundreds of users.
Linux, on the other hand, may not ready just yet for the desktop. But it will one day. Which is probably why there is an un-ending stream of FUD coming out of Redmond these days...
The right to offend is far more important than the right not to be offended. (Rowan Atkinson)
if this is what you learned from Software Engineering 101, you should go demand your money back for your entire education. you've learned all the wrong lessons.
/etc (how many files contain some combination of hostname, ether addr, IP addr, and so on?). and that's just low-level stuff. move up the stack towards the user and it gets more and more true. Apple's Safari is such a great experience for most people who use it because it's much simpler than most of the alternatives, say IE 7. the land-line telephone world retains many of its customers because mobile phones are more complex to use. software doesn't have to be complex, and folks like you who assume it does produce most of the complex code, because you've given up. and once you give up on trying, sure, it all looks like it has to be complex. it's a nice self-reinforcing fatalist outlook.
yes, most software is complex, but it doesn't have to be. the complexity generally comes from a few areas, like legacy support and poorly thought out design compromises. compare, for example, the Plan 9 kernel, which is ~180k lines of code for about a half dozen architectures, to linux, which is... well, an order of magnitude more than that, at least, even stripping out the vast driver support. it's also better structured and more readable. then compare other components: plan 9's ndb with Unix's whole host of files in
sure, sometimes complexity is unavoidable. but we should strive to make that the exception rather than the rule. and it can be, if we put the effort into it.
i speak for myself and those who like what i say.
It does make it more difficult for a large company to develop for a Linux crowd in general.
Somewhat, but it's not that bad. I wrote a commercial, closed-source Linux app that had to run on multiple distros and it's really not that much of an issue. The app I built was one of the more difficult ones to support across distros, too, since it had to integrate with (or replace) the login process, screensaver, etc. These are areas where distros do things very differently. Normal applications have many fewer issues.
Some things I learned:
Really, I think the biggest difficulty with selling commercial Linux apps is the relatively weak demand. Although I don't like Windows, it's still quite dominant, and Windows apps are almost guaranteed a larger market. If, however, you can find a niche where there is significant demand for a commercial Linux product, the multiple-distros issue isn't going to significantly increase your development cost, will perhaps double the cost of developing you installation packages, and (assuming you make good use of automated testing) will probably increase your testing costs by 10% or so. Net, I'd say it costs <5% more to develop a significant application for multiple Linux distros rather than just one distro.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.