Slashdot Mirror


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?

19 of 356 comments (clear)

  1. All Software is complex. by Whiney+Mac+Fanboy · · Score: 5, Insightful
    Article should read:

    "Gavin noted that the flexibility of proprietary 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 Windows, because you never quite know what you're going to be supporting,' he added. 'Customers who run Windows could be operating in 98, XP SP1, SP2, Vista or even customized 2003 server environments with god alone knowing what browser version they're using' he explained. 'You don't get that repeatable [development] process to build your business over time.'"

    Because, lets face it - what Gavin is saying here is that proprietary software vendors find it hard to develop for linux. *shrugs* Maybe, that is not the same as saying that developing for Open Source is complex.

    MS - time to face it, almost noone apart from you is making alot of money selling proprietary sofware (alone). The real cash is in services, services, services.
    --
    There are shills on slashdot. Apparently, I'm one of them.
    1. Re:All Software is complex. by khakipuce · · Score: 4, Insightful

      Or put another way, a guy from Microsoft, who has probably never configured or operated any of the systems he mentions, is telling a group of people, who also have probably never used those systems, that it's really scarey if you move away from Microsoft...

      And this is NEWS?

      For my sins I have used a lost of operating systems over the years and they all have their pros and cons, the one thing that seems common across them is that the more scarey they look the less likely they are to break because people don't mess with the difficult ones. Most failures are caused by human error (it's just that no one admits to it) and making server OS's look familiar tempts people to fiddle.

      --
      Art is the mathematics of emotion
    2. Re:All Software is complex. by Enderandrew · · Score: 5, Insightful

      I think you homed in on what the real message is here. And there is some truth to it.

      For a large software developer, they want to reach a wide audience. That is why they develop for Windows, which has the largest user base. Even if they want to reach out to a Linux user base, there are so many different distros and ways of doing things, that you cut that audience into even smaller shares.

      I'm all for freedom, but I find it silly that different distros keep configuration files in different locations, use different init scripts, use different install methods, have varying level of compliance with the LSB, are focused on either Gnome or KDE predominately, etc.

      It does make it more difficult for a large company to develop for a Linux crowd in general.

      --
      http://blindscribblings.com - Tasty pop-culture in conceptual fashion.
    3. Re:All Software is complex. by IAmTheDave · · Score: 4, Insightful
      Or put another way, a guy from Microsoft, who has probably never configured or operated any of the systems he mentions, is telling a group of people, who also have probably never used those systems, that it's really scarey if you move away from Microsoft...

      I don't think it's this bad - I think he has a point (that he puts his own MS positive light on) - but OSS is very often written to solve the problem a developer has, and is then supported and primarily used by developers. Setting up the software isn't something that the tech-savvy are concerned with because I think there is a very large "it works for me" chip on the shoulder of the OSS community.

      That has to be one of the only reasons a good graphical installer for Linux doesn't exist today. I'm even dissapointed in Ubuntu in that light - they're the closest in my mind to a full desktop solution.

      Now, that doesn't have anything to say about proprietary software, as the GP poster pointed out - often proprietary software is just as difficult to install, maintain, etc. I think OSX has it pretty much right with software installation - drag this "file" into your Applications directory. Done.

      Isn't that better than MSI or make/make install?

      --
      Excuse my speling.
      Making The Bar Project
    4. Re:All Software is complex. by ozmanjusri · · Score: 4, Informative
      a guy from Microsoft, who has probably never configured or operated any of the systems he mentions, is telling a group of people, who also have probably never used those systems, that it's really scarey if you move away from Microsoft...

      And this is NEWS?

      It's even sadder than that. If you have a look at the website of IBS Synergy, the ISV they're quoting, it's an amateurish effort, full of spelling errors and broken links. The company has a grand total of five customers, two of which seem to be the same organisation, and one of which appears to no longer exist.

      If this is the most authoritative source Microsoft can assemble to substantiate their claims Open Source is complex, I'd say they're a long way from being convincing. It's almost sad to see they're still stooping to such pathetic tactics.

      --
      "I've got more toys than Teruhisa Kitahara."
    5. Re:All Software is complex. by init100 · · Score: 4, Insightful

      That has to be one of the only reasons a good graphical installer for Linux doesn't exist today.

      Then what is a good graphical installer? The Windows XP installer? I'd prefer the Fedora Core 5 installer over the Windows XP installer every time. It is not only the graphics, but certain other issues. One prominent example is that the Windows XP installer won't ask everything before the installation and then work for half an hour. It will work for five minutes, ask a few questions, work for five minutes, ask a few questions, ad nauseum. The FC5 installer asks everything needed for the installation before it starts working.

      But of course, most users never install Windows, since it comes with their computer.

    6. Re:All Software is complex. by swillden · · Score: 4, Interesting

      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:

      • At core, all major, modern Linux distros look the same. There are small differences in they way files are organized and larger differences in how packages are installed and managed, but these differences don't require much effort to work around, even when you're changing the most distro-specific elements of the system (boot processes, login processes, etc.). Liberal use of configuration files and glue scripts is a very good idea so that you can reconfigure for lots of different environments without changing the binaries.
      • Cross-distro development is easy. Cross-distro packaging is fairly easy. The hard part is the cross-distro testing, not because it's particularly difficult, but because you have to do it on every distro you're going to support. It's well worth automating as much of the testing as possible. I recently began trying to use a test-driven development process, and I wish I had used it on that Linux project.
      • Although it's possible to create a cross-distro installer, your customers will be much happier if you provide native installers that integrate properly with their package management system.
      • You cannot expect to make a single RPM package for all RPM-using distros. The RPM SPEC files won't differ hugely from distro to distro, but they will differ if you want seamless integration.
      • For a corporate app, you really only need to target a small set of Linux distros to cover nearly all of your market. Red Hat, SUSE and Debian cover it. In the case of Red Hat and SUSE you need to support both the current release and the previous release. For Debian/Ubuntu, it's less clear. Ask some customers and take a guess (and see my next point).
      • You can treat the too-many-distros problem as an opportunity. In my case, I recommended that we do three things: First, create packages that cover 95% of the target market. Second, provide a tarball with all of the binaries and some instructions on how configuration files need to be set up so that very technical customers (common in the Linux market) can figure out how to integrate it into the distro of their choice -- with the caveat that you will only support them in resolving issues they can reproduce on a supported distro. Third, (here's the opportunity part), offer to make it work in whatever distro they like, for an integration fee. Charge them enough that you can do a thorough job, including writing all of the automated test code for that platform, all of the documentation needed by your customer service department, etc., so that you can just add it to the list of "supported" distros, and make a profit doing it.

      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.
    7. Re:All Software is complex. by waveclaw · · Score: 4, Insightful
      The F/OSS Way is just different than the Microsoft Way(tm): the reboot, reformat, reinstall dance. Most problems in both OSS and proprietary cases are misconfiguration and misuse of APIs or resources like memory, bandwidth and scheduling. It just takes a little more training to solve the real problem than to have a grunt punch the power button every 30 days.

      All software is complex. It is perhaps the most complex technology developed by mankind. (Almost) everybody that has walked on a bridge knows how bridges work at some simple level. You can't say the same for a web browser or video game. Completely virtual, arbitrarily defined and so abstract it takes years of study just to understand the basics.

      With all ISV's it's a select your platform game:
      1. Pick your proprietary OS (Windows 2000, 2003, XP Home,XP Pro).
      2. Pick your proprietary DB(MS SQL Server, SQL Server 2003, Access, Oracle).
      3. Pick your proprietary UI toolkit (COM, ActiveX, .Net, Qt).
      4. Pick your proprietary webserver (IIS, PWS (I'm not kidding on this one),IBM Weblogic).
      5. etc...

      Is this less complex than OSS? No. Just different.

      OSS is very often written to solve the problem a developer has, and is then supported and primarily used by developers.

      And proprietary software is written to make a quick buck. There is software you can put in your datacenter in which 70% of the code is dedicated to license enformcement: copyright checks, license servers, date bombs, vendor backdoors and product key checkers. I installed a zip library on a system in the mid 90s that was about 2k in size, but the software to enforce product key cheking was over 50k. They did wonderful Q&A on the installer to make sure nobody cheated on the product key, but screwed up the library. Had to get a patch for the library from the vendor back in the day when you had to get CDs and disketts of patches shipped.

      That has to be one of the only reasons a good graphical installer for Linux doesn't exist today.

      Please define 'good.' If you are using a graphical installer, you aren't in a large server envrionement[1]. In data centers and computer rooms, standardization is so important that jumpstarting Solaris and kickstarting RHEL is required. You define what is your platform for 100+ servers then enforce that through automted installation. No WIMP-iness here. These are text mode and command line tools: drop in a CD and let'er rip methods of standardizing your platform.

      M$ gets away with using graphical installers on their desktop-OS-sitting-on-a-server becuase you get squat for software on the installation disks. There is nothing to verify when a complete bells-n-whistles install includes the base OS and Minesweeper. You have to get extra 'software X' to make Microsoft platforms usefull, so your configuration boils down to MS+software X when talking to a vendor. This is no less complex than the OSS model. For support puropses, it might be less complete with OSS since the software is all from (supported by) 1 company (the distro maker) and all on the same disk(s.)

      Why do people focus on the installer anyway? With OSS you shouldn't be needing to reboot/reinstall to fix things. Working in a larger datacetners, you will focus on the disgnostics your can get out of a program to manage it. The quality of installers doesn't matter too much unless you are doing lots of turnover.

      Now, that doesn't have anything to say about proprietary software, as the GP poster pointed out - often proprietary software is just as difficult to install, maintain, etc.

      I aggree whole heartily that OSS solutions are at least as difficult as commercial. However, the point of the FUD in the article is that OSS is a babylon of platforms, not that the installers suck. From the article:

      "You don't get that repeatable [de

      --

      "You cannot have a General Will unless you have shared experiences. You cannot be fair to people you don't know."
  2. Absolutely. Unlike Windows where by Flying+pig · · Score: 5, Insightful
    You will only be supporting Server 2000. Or Server 2003. Or some custom locked down corporate environment. Or W2000 desktop. Or XP. Or XP SP1 (still having problems migrating to SP2.) Or SP2. With different flavors of IIS. And SQL Server 2000. Or SQL Server 2005. Or we have to use MSDE for this application because we only have SQL Server 2005 available and it won't connect to it.

    Quite right. Microsoft has a huge advantage in terms of consistency and lack of complexity, provided of course that you just want to run Office on the desktop. Oh yes, which version of Office?

    --
    Pining for the fjords
  3. Eh? by bloodredsun · · Score: 5, Interesting

    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.

    1. Re:Eh? by MadJo · · Score: 4, Insightful

      hmm which Vista version do I want...
      Yup, they really don't offer any choice, do they? And they aren't confusing their customers at all, right?

  4. Open source is easier, if you know how to work it by Eivind+Eklund · · Score: 4, Insightful
    I am used to working with open source and I'm fairly used to working with proprietary software. I find it much, much harder to work with e.g. MS-SQL than either PostgreSQL or MySQL, as the resources around it is missing. MS-SQL has a ton of tutorials and screenshots and stuff for the proprietary stuff, but there's no working support community (I can't go on IRC and talk to a developer), the configuration systems are long and complex (probably because the developers do not use them to configure things and do not do support), and the use of graphical interfaces make the tutorials long and clumsy ("Now press "OK" in the dialog that had a screenshot just taking up half the page" is noticably more icky than "").

    To add insult to injury, when the stuff is in trouble, I cannot go to the source code and find out what's up or fix that stupid error message that says "Cannot open file" but nothing about WHICH freakin' file.

    In sum: I find open source much, much easier to support. When there's a problem, I can talk to other people that have had the same problem *and have had the resources to fix it*, unlike e.g. Microsoft support. (Microsoft support have actually called me to find out how to fix a problem in a Microsoft product - a problem that should have been trivial for them to debug if they had code access.)

    Eivind.

    --
    Doubting the existence of evolution is like doubting the existence of China: It just shows that you're uninformed.
  5. How to deal with the 'complexity' of choice? by Famatra · · Score: 4, Insightful

    Simple, have standards that people/distributions can *choose* to follow.
    Projects such as Linux Standard
    Base (and others, list / talk about them if you know of them) allows
    distributions to have a common point and common environment.

    I think GNU/Linux will learn from the fragmentation of Unix. Part of the
    reason why Unix didn't develop a standard was that each closed version was
    competing against eachother for customers. With Linux there is no to-the-death
    competition since the work is shared and co-operative.

  6. stupid FUD by grindcorefan · · Score: 5, Insightful

    Ryan Gavin's statement about Free/Open Source Software being to complex is a complete no-brainer and doesn't even remotely reflect reality.

    The truth is, complexity in computers and computer software is a tricky thing to tackle. As computer systems become more complex, complexity itself becomes a problem as integrating all the different components of high-complexity software into a working system as a whole is getting more difficult.

    The perfect example is ms's own windows vista. That piece of software is so complex ms just can't get it to work properly. Delays are the logical consequence. Otoh, Free Software profits from having the source code available, not necessarily reducing complexity but making it easier to get along with it.

    Summary: Complexity is a problem for software, but it doesn't matter if that software is free or non-free. Ryan Gavins statement is just what you would expect it to be, a stupid piece of FUD that might sound somewhat sophisticated to a non-guru but every proper software engineer would be rofl about.

  7. There is no such thing as Linux by TheRaven64 · · Score: 4, Insightful
    This is one of the fundamental things that Linux advocates rarely get. From a user perspective, there are about as many differences between Red Hat Enterprise Linux and SuSE as there are between FreeBSD and OpenBSD, or Solaris and some other SysV variant. The fact that they have the same[1] kernels makes little difference.

    You can run Debian with a few different kernels and, apart from differing levels of hardware support, there is no difference from a system administrators perspective. Code written for one POSIX-compliant will usually work on another if the same shared libraries are the same.

    Saying you support 'Linux' is silly. It's like saying you support 'UNIX.' Saying you support RHEL makes sense. RHEL[2] is a complete operating system with a set of defined library versions, a documented filesystem layout, a minimum specified set of supported system calls, etc.


    [1] Modulo a few hundred vendor-specific patches.
    [2] Substitute your distro of choice here.

    --
    I am TheRaven on Soylent News
  8. Short answer: depends on the user. by Noryungi · · Score: 5, Interesting
    Long answer:

    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:
    1. Debian: sudo apt-get update && sudo apt-get upgrade
    2. Slackware: sudo upgradepkg ./*.tgz
    3. OpenBSD: sudo pkg_add -u -vvv -i
    4. Etc...


    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)
  9. The man is full of crap by Lumpy · · Score: 4, Informative

    Open source is ready and IS used in business today. Many are even 100% open source because thay made that decision when they were small enough to not have the mess of an IT infrastructure that makes it near impossible to change over.

    Where I am now we are 100% Open source except for vendor specific tools that are given to us by the vendor. The IT team here works hard to make them work under Wine so that we are 100% functional. New Sales people get over no windows and no Office2006 within 4 days and are as productive in open office and ubuntu as they were in windows.

    Upper management and unskilled IT that cant handle standing outside their box are the #1 reason that open source is ignored and they buy yet another "solution" from a vendor.

    REality - closed source vendors DO NOT give better support than Open source. Been there done that hearing the "that will be fixed in the next major release in 2 years" so many time I want to strangle them on the other end. MSFT tech support is 100% worthless from the OS level to the enterprise level apps (sql2003 enterprise)

    I get better support from the people that write the Open source stuff. IF you PAY THEM the developers will bend over backwards for you.

    The article is 100% fud.

    --
    Do not look at laser with remaining good eye.
  10. BS by pedestrian+crossing · · Score: 4, Insightful

    I'm all for freedom, but I find it silly that different distros keep configuration files in different locations, use different init scripts, use different install methods, have varying level of compliance with the LSB, are focused on either Gnome or KDE predominately, etc.

    It does make it more difficult for a large company to develop for a Linux crowd in general.

    Only if they want to develop proprietary software for Linux.

    If they provide the source, then whoever maintains the distro is the only one who has to worry about issues that you are fretting over.

    That's the whole purpose of distros.

    I'm all for freedom

    I would argue that you are not. Otherwise, you wouldn't be rolling out this old canard...

    --
    A house divided against itself cannot stand.
    1. Re:BS by rainman_bc · · Score: 4, Informative

      Even for OSS, that's just not the same as being able to distribute one package that works everywhere. On Windows (9x, 2k, XP Home, XP Pro, Vista's 7 versions), I can ship one binary package that works for everybody.

      Depends. Do all 9x boxen have the .net runtime? Do they all use the same MFC? Only the most basic program can you make it run on any platform. Or are you coding in Java???

      Microsoft doesn't have to approve my package before making it easily available to users - any Windows user can download my one simple installer and have it work for them regardless of their version.

      Odd, I use FC5, and I use third party yum repositories for any software not officially provided by the main Fedora repository.

      Now look at Linux: there are many different distros, with many different package formats. I'd have to provide RPMs, DEBs, tarballs, and probably multiple versions in each format (since it might depend on different packages for different distros). Users would have to know which package to download.

      That's what apt-get or yum are for. And with synaptic or yumex it's a piece of cake.

      If the experience is going to be easy, I have to beg the distro's maintainer to provide an official package--some distros are very slow to add new products.

      Again, see my comment above about third party repositories.

      A real-world example of this is SeaMonkey [mozilla.org]. How long will it be until Debian users can install the software easily? Windows users can have the latest version as soon as we ship it. Linux users generally have to wait for their distro to provide an updated package.

      That's odd. pbone.net has Seamonkey in their repository. If I want it, I can get it here ...snip

      but the vast majority of people just want to install a binary using whatever method they normally use (e.g. google for the website, download an installer, or search Synaptic, etc).

      See comments above about third party repositories. If you want to be bleeding edge, that's your problem, not the distro's.

      --
      09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0