Is Open Source too Complex? 356
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?
All Software is complex. (Score:5, Insightful)
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.
Re:All Software is complex. (Score:5, Insightful)
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.
Two words.... (Score:3, Interesting)
SCO OpenServer.
Scary, old, unsupported (difficult to find anyone willing to work with it), and extremely
Re:Two words.... (Score:3, Informative)
Windows and some Linux flavours (Ubuntu has a nice one) have cottoned on to multi-user in the home, but still is a bit wobbly on the admin side. Vista's new user admin seems to be almost OS X in simplicity (Wit
Re:Two words.... (Score:4, Insightful)
One of the things I hate about the OSS community is the I-know-better attitude they take. You don't know better, because you don't know the business of the customer as well as they do, and you probably don't know what they're expecting from a given package as well as they do either. This stuff requires a lot of work. I'm a big proponent of OSS, and I think that someday it's going to take over the world and be the primary way that software is written, but I'm always frustrated when topics like this come up and I'm reminded of how much work there is left to do. From users to developers, it's sooooo hard to contribute to OSS popularity (either as user or developer) that many of the best advocates on both sides are left behind.
As far as Macs go, for the first time in a long time I used OS X a couple of weeks ago. I was trying to help a friend use their all-in-one printer to scan in an image. My conclusion: OS X sucks...it's horrible and clumsy to use. Every time I say that, Mac defenders always tell me the same thing: it's not that it's bad or good, it's what you're used to, and you're not used to the UI.
Well, ok, let's look at that argument. Why does it take me a click and a drag and another click-drag to size a window where I want it? Every other window manager I've ever used (and I've used probably more than a dozen) if any one corner of a window is where you want it, you drag the opposite corner to where you want it and you're done. Not so...Mac decided that something so simple should cause a new user to hunt around for a few minutes trying to figure out why the window doesn't respond in the expected way. Ah ha! It's only the lower right corner that can be moved. But then that means if you want to drag the upper left, you have to resize the window using the lower right...but then you hit the bottom right corner of the screen and it's still not big enough. So the actions are ordered as well...*first* you have to drag the upper left where you want it, and the drag the lower right back where it was.
Let's talk about iLife...so back to scanning my picture. I put it in the scanner of the all-in-one and hit the scan button, it pops up a menu asking me what I'm scanning (do I want OCR, bitmap, etc?). Great, so I hit image and it scans it. On the desktop, an app automatically pops up a gallery of images and another small window with a thumbnail of the image. There's a note under the thumbnail telling me to drag and drop it into the gallery application. Oh great! Ok, this is really easy--maybe Macs are better.
So I create a new folder in the gallery app and drag the image to it. Upon releasing, however, the image doesn't show up in the gallery in that folder. Huh. So I try it again, as the thumbnail is still there giving me no indication that it actually went anywhere in the gallery app. After much frustration, I figure out that there's a magic default folder (I forget the name even now) where that application has decided all new images go before you can sort them into other folders. As I dragged it to multiple locations multiple times, I created several copies of the image in that default location. Once I discover this and enter the default location, I notice that the user who I'm helping finds this as tedious as I do--because you are forced to organize and copy in two separate steps, he hasn't gotten around to organizing a few hundred photos which just sit in the default location, never having been sorted (and not like to be).
After hunting through that
Re:Two words.... (Score:3, Interesting)
They can - it's just that with most open source projects the end user isn't a customer. For the most part end users are just freeloaders who don't give anything back to the project. For an open source project, a few good contributors (eg developers, testers, writers, artists, donors etc) is worth far more than hundreds of end users that don't contribute. Contributors are effectively
Re:All Software is complex. (Score:5, Insightful)
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?
Re:All Software is complex. (Score:4, Insightful)
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.
Re:All Software is complex. (Score:3, Insightful)
Well, I don't know... I find "emerge prog_name" very convenient.
And for the most part, I need never fiddle with install CDs.
Re:All Software is complex. (Score:4, Insightful)
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:
Is this less complex than OSS? No. Just different.
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.
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.
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:
*Maybe insightful. *Definitely off-topic. (Score:3, Insightful)
If you read TFA, you see that Gavin's talking about developing open-source software applications as a business, not using said software. It's too complicated to sell software targeting Linux et. al. because there are so many version. I read his thesis statement as:
Since open source software is not a monoculture, it'll be difficult for an ISV to crush all competition and establish decades-long monopoly rents
This is a "drawback" that I, needless to say, can live with.
In short, the first post on this articl
Re:All Software is complex. (Score:4, Insightful)
I'll pretend you said apt-get rather than make/make install because that makes it sound like you have some clue about what you're comparing.
Not even close. 'Just dragging an application' is not package management.
With Apple Computer Inc.'s system there is no update system. What happens when $release of software acquires an exploit? Expect your user to regularly check for updates for all installed applications?
There is no form of dependency resolution. "But that's what leads to dependency hell..." - No. Software has dependencies. That's a truth. Dependencies need managing. Ignoring dependencies == ignoring the advantages of this invention called the shared library. Multiple applications can use one shared library to save disk space & memory. However the most important attribute of shared libraries is that a bugfix or security fix for the library needs to be updated precisely once and all applications which make use of it get fixed. Install multiple 'bundled' copies of a lib and you have to rely on every software maintainer making a fix and then go around fixing it n times. Good luck getting a fix for that crappy piece of shareware you installed 8 months ago and the author has no interest in anymore.
Re:All Software is complex. (Score:5, Informative)
And this is NEWS?
It's even sadder than that. If you have a look at the website of IBS Synergy [esynergy.com.my], 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.
Re:All Software is complex. (Score:3, Insightful)
No, this [freestandards.org] and this [pathname.com] are the sites that say that. The OSS community doesn't need MS to point out flaws, when we can do it ourselves. The correct attitude to all this, of course, is to acknowledge valid points and fix them (because if you don't, well, that way lies Marketing)
Re:All Software is complex. (Score:3, Insightful)
The solution, as the article hints, is to say "we support our app on the latest RHEL only". And then you're back in a low risk situation.
Re:All Software is complex. (Score:4, Interesting)
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.
Re:All Software is complex. (Score:5, Insightful)
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.
BS (Score:5, 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...
Re:BS (Score:4, Insightful)
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.
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. 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. 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. 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.
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. We do provide tarballs which you can extract anywhere, but that's not really user-friendly... we also provide an installer, but then you're using a method of adding software other than your distro's standard package management. We do ship source, and anyone is welcome to build it and include it in distros, 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).
Re:BS (Score:5, Informative)
Depends. Do all 9x boxen have the
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 [pbone.net]
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.
Re:BS (Score:4, Insightful)
That's BS. SeaMonkey (and Firefox, and Thunderbird, and thousands of other appliactions) isn't a
Odd, I use FC5, and I use third party yum repositories for any software not officially provided by the main Fedora repository.
[snip]
See comments above about third party repositories. If you want to be bleeding edge, that's your problem, not the distro's.
So basically what you're saying is, in order to get an equally good experience as a user when your friend says, "Hey, there's this new SeaMonkey project that continues the Mozilla suite and adds some cool features", you have to hunt for third-party repositories and set them up in your package manager? Explain to me how this is not more complicated than Windows where you just go to the program's site and download the installer.
Re:BS (Score:4, Insightful)
Surely you aren't serious. I have written enterprise n-tier applications that have run on Windows 9x, NT, 2000, XP and 2003. I don't care about
Re:All Software is complex. (Score:2)
Re:All Software is complex. (Score:5, 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:
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.
And to that end... (Score:2)
And to that end, it is most beneficial to insure that the software is as complex as possible, so as to make anyone who wants to use it dependant on those services, services, services.
Steve
That goes for Windows too (Score:4, Insightful)
Solution: standardize. Where I work, IT supports either XP/Novell or Debian. If you divert, you're on your own.
Re:That goes for Windows too (Score:2)
Re:That goes for Windows too-Stop picking on me. (Score:2)
Absolutely. Unlike Windows where (Score:5, Insightful)
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?
Re:Absolutely. Unlike Windows where (Score:4, Interesting)
Document management (Score:2)
Re:Absolutely. Unlike Windows where (Score:3, Interesting)
No kidding -- the company I work for is implementing SharePoint for that very reason, completely screwing over those of use who use anything other than Explorer to interact with the shared directories.
Re:Absolutely. Unlike Windows where (Score:3, Interesting)
I discovered that just a few hours ago, actually! (Or rather, I knew about it before but didn't pay attention because I don't use Windows at home.)
The trouble is it screws up those of us who knew what we were doing to begin with. For example, I use a bash shell (via Cygwin) half the time to access the shared files, and I can't do that with SharePoint. Another developer has a backup shell script,
Re:Absolutely. Unlike Windows where (Score:2)
So in the Windows world you tell the customers which configurations you tested on and support. That's what the guy here is saying: the OSS world is too open-ended, it needs to slim down the number of platforms to cut down vendor testing and support burden.
Re:Absolutely. Unlike Windows where (Score:2, Insightful)
Re:Absolutely. Unlike Windows where (Score:2)
Uh, I don't understand your process here. Most of the DLLs you highlight for IE are well-documented parts of the OS interface - all of the DLLs in the first diagram, for instance. To pick another example you include rsabase, crypt and msasn1 as IE dependencies - these are Windows's built-in SSL implementation. Yet you don't show an SSL library for Mozilla?
And, to be frank, who cares how many DLLs
Learning curve (Score:2)
Re:Learning curve (Score:3, Insightful)
Re:Learning curve (Score:2)
However, one of the strengths of UNIX/Linux is that you don't have to have the user rights to install in the central areas. You can install into your home directory and not hurt other people when you make stupid mistakes (and users will make them, as will admins).
By the way, why woul
Re:Learning curve (Score:4, Insightful)
You answered your own question:
Who cares if it's 'easy' to write another simple parser to handle a different config file... the point is it's not universal, and therefore is a pain to manage.
I'm not arguing in favor of the windows registry, but I really don't config files in a hodge-podge of different formats helps anyone.
Re:Learning curve (Score:3, Insightful)
Eh? (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.
This just in.. (Score:3, Insightful)
In other news, there will be weather today.
Re:Eh? (Score:5, Insightful)
Yup, they really don't offer any choice, do they? And they aren't confusing their customers at all, right?
Ah, but that is the point. (Score:2)
Open source is easier, if you know how to work it (Score:5, Insightful)
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.
Mod Parent Insightful (Score:2)
The guy on the street corner shouldn't have a better watch repair system than the guy in the jewelry store.
Re:Open source is easier, if you know how to work (Score:2)
My experience with PostgreSQL some time back was much worse than any experience I had with SQL Server. The online documentation failed to match anything resembling the actually installation that existed. After having expending a fair amount of time figuring out my Linux install and how to build the kernel hitting this
Re:Open source is easier, if you know how to work (Score:2)
It's mostly a matter of convenience - the developers give better support, and the network of people around it give superb support. I suspect you have been trying to work with open source without knowing how to exploit the network around it.
As for increasing complexity (losing design) and lacking finish, that depends
null and void. (Score:2)
Yeah, cause Mono is based on ECMA standard (generated by Microsoft) and Java isn't open source. And since C++ and PHP/Perl are "more complicated and granular than would be convenient for you" I guess your arguments are null and void. In your case, closed source is greater than open.
Re:Open source is easier, if you know how to work (Score:2, Interesting)
I've often found this to be sort of a plus in a roundabout way. It seems that OS applications more commonly spit out specific errors about what is wrong into the logs. This often doesn't mean anything to you, but a search often finds someone who did have the same problem and poked through the code to figure it out. When you're an administrator of a criticle system you need it fixed. If MS just gives you "
I've got to agree... somewhat (Score:4, Interesting)
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.
There is no such thing as Linux (Score:5, Insightful)
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.
Re:There is no such thing as Linux (Score:2)
Re:There is no such thing as Linux (Score:2)
Also, this mithic "Linux OS" hurts the image of all distros... Because it's too hard, because nobody supports it, because it's not ready for the desktop, because it doesn't support hardware X, because it doesn't play DivX movies out of the box, etc...
When some clumsy, half baked, buggy distro get's a bad review the press don't say "Clumsy Distro X sucks", they say "Linux sucks", and this is just plain wrong!
People must understand that Linux is a kernel, and must understand that RedHat is not Debian t
Re:I've got to agree... somewhat (Score:3, Insightful)
And, yes, I'm aware that it's more like "Plug and Pray" with MS's security problems.
To the unsophisticated user; simply sticking in a disc, installing an OS or program is the de facto norm with Windows and p
I call bullsit (Score:2)
Yes there are various different ways to handle the startup of the various unix like systems out there but anyone who has already learned about TWO different ones will have learned a very important lesson. Things differ, so what.
I sometimes think it is a modern ailment because of windows clic
How to deal with the 'complexity' of choice? (Score:5, Insightful)
Projects such as Linux Standard [freestandards.org]
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.
Re:How to deal with the 'complexity' of choice? (Score:4, Insightful)
So you still need to do 10 times as much testing. And you still need 10 test environments set up so you've got the right distro at hand when your customer calls with problems. Etc.
Re:How to deal with the 'complexity' of choice? (Score:2)
That's what I meant. I wasn't trying to take a shot at Java, by the way: I just meant you'd can't rely on something to just work if you don't explicitly test it. But it is easy to find examples of things that still don't "just work" in all Javas, e.g. this eclipse bug [eclipse.org] from last month.
stupid FUD (Score:5, Insightful)
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.
Software Engineering 101: software is complex (Score:2, Insightful)
Re:Software Engineering 101: software is complex (Score:4, Interesting)
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.
Marketing twists... (Score:3, Funny)
Isn't it all too complex? (Score:4, Insightful)
We all have examples of complex software gone bad. I'm guessing the 1st open source example of this is sendmail 5. Its complexity was required for what it used to do and that ended up leaving lots of holes in lots of systems over the decades. For a while people learned from that mistake. IDA Sendmail cleaned up the config. Bind's config files were redesigned. CERNS web server was excessively complex and the developers of NCSA http learned lots of lessons from that. The Apache team learned from there mistakes. Today Apache 2 is much simpler in most cases that CERN's server was even though it does far more.
The major issue with complexity today is the confusion between an Operating System and an Operating Environment. Linux is an OS but Ubuntu is an OE. OS X has Mach as an OS but several OEs including FreeBSD.
I like the KISS (Keep it Simple Stupid) for daemons and opening systems. That means every step of starting the system should be clear and easy to understand. That means being able to read the config files (no binaries or unreadable XML please). It means that programs should use a limited set of shared libraries (Solaris init needs a buggy XML? why?) The OE can be as complex as needed but the OS should be simple and clean. If you forget that, your system is going to be owned by some script kiddie.
What do you mean Open source complexity? (Score:2)
There aren't a lot of differences to expect in compiling a package under Redhat, or Suse, or Debian.
If Open Source software is so complex to use..... (Score:2)
The problem that Microsoft faces, is that their own software does speak for itself, and is provides a convincing argument that Microsoft's proprietary closed-source model is failing.
Re:If Open Source software is so complex to use... (Score:2)
Two answers (Score:2)
2. Is it hard to develop for Linux deployment? Absolutely. There's too much worry about what libraries are going to be available on a particular distribution. At the company I work for, we have pretty much given up development for distribution to arbitrary linux systems. Now we put our software onto a LiveCD using Knoppix, so that we know the platform will have the right utilities, libraries, etc.
What about static linking? (Score:2)
This should be fun to watch (Score:3, Informative)
Now think about how often when using an MS product you suddenly realise that it is doing some really clever stuff because it doesn't actually work. An example:
Excel used to have a limit on the number of characters in a cell. That limit was 255.
The limit was lifted, in, I think Excel 95.
However if you have a worksheet that contains text greater than 255 characters you can't copy the sheet to a new book. If you use the copy paste commands from the window bits of formatting get lost. If you use the "copy sheet" function Excel will truncate any bit of text longer than 255 characters. If you use the same function but perform a move instead of a copy it works just fine. Now that is complex.
It's about the same (Score:3, Interesting)
Re:It's about the same (Score:2)
Maybe training (Score:3, Insightful)
For a Microsoft product, I fully expect that its going to balance stupid with too-simple. Thus its usefulness to me is significantly diminished. But I know people who are exactly the opposite, and look at a Microsoft product as keeping them from having to know things about their computer. Me, I'm more worried that I don't know enough
Complexity is part of the beast (Score:3, Insightful)
I personally think that the "certification boom" really insulated many people from the reality that computing systems are, in general, complex. Many IT/IS people became so pigeon-holed that they came to believe that their little corner of the IT/IS world was all there was. Now, it seems that diversity of knowledge is again becoming the desired hiring trait over uber-specialization.
Besides, flexibility typically comes at the cost of complexity.
Short answer: depends on the user. (Score:5, Interesting)
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...
Re:Short answer: depends on the user. (Score:2)
What a Crock! (Score:2)
You would be amazed at the idiots they call IT.... (Score:2)
Since the "Suits" perception of "IT Expert" is a Windows Monkey who is better than they are, needing to actually UNDERSTAND how it all works together isn't a requirement.
Well (Score:2)
Open source too complex? Look at windows itself!!! (Score:2)
TFA comes from a different universe. (Score:2)
Is Open Source too complex ? (Score:2)
People who make Open Source never ask such question, so perhaps MS should make their engineers think of why this is so, instead of asking others. They are the company with lots of great minds, aren't they ?
Is this question even relevant at all ?
The man is full of crap (Score:5, Informative)
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.
Oranges and Chimpazees (Score:3, Insightful)
"Windows" is not comparable to "Linux" !!! One does not run "Linux" (generally), one runs "Redhat Linux", or "SuSE Linux", or "Debian Linux".
Therefore, it is necessary to compare the complexity of Windows with the complexity of a single Linux distro. If your Microsoft-friendly organization would be willing to consolidate on Windows, then your analogous Linux-friendly organization would be willing to consolidate on a single Linux distro, avoiding the multi-distro complexity.
If your organization is heterogeneous, and that is your "complexity" concern, then Windows is actually your problem! If you run or write software for multiple Linux distros, AIX, Solaris, HP-UX, and Windows, which one is the odd-ball? Admin'ing *nix systems is all similar, while Windows is *much* different. Porting from one *nix to another is easy, compared to porting *nix to Windows or Windows to nix.
I will grant that MS Windows provides a tighter integration for MS SQL, Exchange, and AD, than (for example) Novel or Redhat Linux provides for the database, groupware, and authN/authZ software included in their repositories. That is the cost of flexibility, which is oft balanced by the savings of flexibility. But this article attempts to pin the cost on the variation of distros, which is not correct.
The comparison is not Windows vs. Linux. It is Windows vs. Redhat Linux vs. Solaris vs. Novell Linux vs. Debian Linux vs. AIX
Re:Oranges and Chimpazees (Score:2)
It's NOT complex (Score:2)
This method worked really well for Microsoft Windows -- absolutely nobody can ever copy it because they can't see the source code. Wheras all the high-end proprietary Unix programs that came in a source tarball wit
Re:It's NOT complex (Score:2)
Keeping track of libraries and versions is just crazy and offers no benifit to a user who just wants to install the software and get it to work. Yes, it will increase the d
Sorry, buddy, wrong cause identified (Score:2)
I believe that attributing complexity to "Open Source" is a mis-applied cause. A cause is defined as something both necessary and sufficient to explain the effect. The article does not describe the problem domain in enough detail to support the argument. The complexity is a result of arithmetic, not "Open Source".
In the old days, doing
Complexity Level (Score:2)
To make tasks appear simple usually requires a very complex but well thought out plan, implemented with some elegant code.
So I submit maybe we still aren't complex enough. I like the way my brain hurts at the end of every day, makes me feel alive.
Complexity? Maybe for an MCSE it's complex... (Score:2)
Well, some parts really are more complex. That's usually because there's more things to tweak. Setting up Samba, for example, is a bit harder than enabling file sharing on Windows, but then you can excercise more control over how Samba does things while Windows gives you the choice of doing it it's way or not doing it. More control = more controls.
On the other hand, a common lament about the "complexity" of Linux from the Windows side is "But on RedHat startup scripts go in /etc/rc.d/init.d but on Debian t
Nope (Score:2)
Three different points of view (Score:4, Insightful)
2) Admin -- This is harder in Linux. In windows, there are only a few differences between configuration locations between Win2K, XP, Win2K3, etc., and of course the registry is a common feature among all versions of Windows. In Linux, differing software package formats (rpm, deb, tgz, emerge, ports, etc.), differing configuration file locations and formats, differing startup scripts, differing authentication systems, and various other minor differences make managing one distro almost a completely different experience than managing another distro. Some distros have decided to use similar tools, however there is still enough variety to make things way more interesting than necessary.
3) Developer -- It is fairly difficult to release binary packages of your software when you don't know whether or not a particular library will be present on the target system. A package compiled for RedHat Enterprise may or may not work on a Fedora system, and will almost be guaranteed to not work on a Debian/Ubuntu system without a lot of library mangling. You can't just say "let the end-user compile the software on their system", because certain large-scale software products (i.e., ones that are very expensive and include commercial support) are not released with source code (for obvious reasons). Also, even if they did support multiple distros, they would have to deal with annoying miscellaneous issues such as whether a particular library file is present in
BS (Score:2)
If you make yourself aware of portability issues at the outset, it's not a big deal to write portable software. Note that we only build binary packages for a subset of our supported platforms; source packages take care of the rest. (Yes, we distribute source, though not open-source.)
I don't t
Translation: (Score:2)
News at eleven...
internal as well as external complexity (Score:2)
All the time, working on proprietary code for a living, I see people making bad assumptions about how code works--even though all the original developers are right there in nearby offices--and there are often big whiteboard
screwy logic and fast FUD (Score:2)
Like how? Since when does a customer demand SuSe or Redhat. It's a decision for the distributor what base OS to use. The customer doesn't even know or care what that is.
'You don't get that repeatable [development] process to build your business over time.'
Same flawed logic here. The developer sells the same basic system (with minor modifications) to a number of c
pot, meet kettle (Score:3, Insightful)
Is this from the company that already admits it can't document its own products because they're too complicated? (see EU case)
Re:Mono (Score:3, Informative)
Re:Mono (Score:2, Insightful)