Although open-source software can be customized to meet a company’s specific needs, its inherent complexity could dent the profitability of independent software vendors, says Microsoft. “One of the beauties of the open-source model is that you get a lot of flexibility and componentization. The big downside is complexity,” Ryan Gavin, Microsoft’s director of platform strategy, said.
I think that the F|OSS world should panic, and immediately embark on developing autoconf, automake, and libtool.
There is CMake. But I should remember you that Open Source target is multi OS, multi arch.
EDIT: I mean, Linux/Unix Open Source, not the one that only compiles under Windows, like emule.
Edited 2006-08-08 14:17
d00d, OP was sarcasm.
You know Microsoft tries to make a good point, and all that anybody can do it shoot it down. They were not talking about developers configuring their own system, they were talking about the programming that goes in to making a system configurable. It takes a lot of time and a lot of money to pay these developers to spend their time on the _ultimate_ configuration system for their new application.
And the shorter time it takes to get a product to market the more profitable it is, not because you are first but the product can start generating money to keep the development going instead of using R&D money.
Microsoft: ‘Open Source Is Too Complex’
I think they actually meant its to diverse.A great asset im my humble opinion if you ask me.
Everyone has to have their favorite tool. In Free Software there is allot of jumk next to allot of gems like any other industry. It’s fun.
I’d love to read Microsoft’s evidence that their software stack is any less complex than the OSS stack. I don’t want to spread any FUD, but I think it’s a fair assumption that Microsoft’s source trees, build environments, and internal packaging systems are monumentally more complex than anything in the OSS world.
The key difference is that, in Microsoft’s system, they take it upon themselves to wrestle with the crushing effects of their software’s exploding complexity. I think it’s fair to say that their efforts have been unprecedented, but the results have been mixed.
In OSS, complexity is avoided at all costs, since it severely affects the productivity of distributed development. The primary approaches to limiting complexity in OSS are code modularization and namespace unification. OSS exposes all of its complexity to its users by the very nature of its design, although this doesn’t mean that the user is required to deal with it.
That’s why we have distributions: to shield the user from the complexity of integrating OSS into a complete system. In this respect Microsoft does a better job than anyone in OSS. That’s just the economic reality of the situation.
However, the integration costs for OSS are much cheaper than for Microsoft. We see from projects like Gentoo down or even Puppy that it is quite feasible to automate the integration of OSS into a customized system, even straight from the source code. A small change in the economics of OSS has a large impact on the quality of the major distributions.
We see from the lack of a capable Windows XP LiveCD (that I’m aware of) that integration complexity is a major challenge for Microsoft. I think complexity management falls into the category of things Microsoft needs to learn from OSS.
“We see from the lack of a capable Windows XP LiveCD (that I’m aware of) that integration complexity is a major challenge for Microsoft.”
That’s more a combination of licensing and lack of interest on MS’s part than a technical problem. WinPE or it’s cousin BartPE can be used to create a Windows based LiveCD, though admittedly it does take a bit of effort.
then I suppose the opposite of complex that Microsoft is spreading is …. bloated ???!!!!
Microsoft’s software is at least as complex as OSS equivalents, and probably moreso in several cases. They can criticize OSS complexity all they want, but it won’t help them even if they’re dead-on correct, because their stuff is just as bad.
What this strikes me most as, though, isn’t serious commentary, but PR stuff. Remember what they said about Firefox?
(That being said, some FOSS is very complex and bloated, though I can’t say that’s an innate property of FOSS. Again, take a look at Firefox, the source code is about 350 MB last I checked.)
Again, take a look at Firefox, the source code is about 350 MB last I checked.
Yes, and the Linux kernel tree is at least 100 MB, but that doesn’t mean all of it is used on every build. Remember that both of these projects have to support multiple architectures/platforms.
Check out Dillo, it’s supposedly under 400KB of C. And I bet khtml is also significantly smaller than Gecko, the browser engine built to replace the proprietary Netscape giant.
Amount of code isn’t what leads to the complexity of use. It can, but it doesn’t have to. They’re talking about what ISV’s need to do to use it. And in this case, Firefox, the problem likely lies in its obnoxious build system and the way they make it difficult to use gecko in your own projects. But it’s not the only html engine out there. In fact, if you just want an html engine gecko is a bad way to go.
I really don’t see the problem though. It’s simply not bad, you just have to know what you’re doing. Maybe it gets much worse when you’re developing system software where what’s in /etc matters… But that’s just to be expected!
Firefox is built from the complete Mozilla codebase, which is quite large. This is one of those solutions to packaging complexity. The same source tree that builds Firefox can also build Thunderbird, the Gecko engine, XUL, and probably more. You just pass the appropriate build target to make and you’re all set.
Besides easier packaging, this also makes sure that shared code stays in sync between the individual products. This is a great example of the point I made above, thanks for reminding me!
“One of the beauties of the open-source model is that you get a lot of flexibility and componentization. The big downside is complexity,”
I think that is the fairest comment on FOSS ever made by an Microsoft Manager and might even be an objective view on some FOSS-Projects. Isn’t it good to see some of them starting to grow up?
“One of the beauties of the open-source model is that you get a lot of flexibility and componentization. The big downside is complexity,”
—
I think that is the fairest comment on FOSS ever made…
It’s basically correct (assuming they did mean diversity and not complexity), although not exactly fair, since as the downside they’re only referring to lower profit for themselves.
Yes, if ANYTHING was (more) standardized, some company would make more profit from it. But somehow I don’t picture Ryan Gavin living in a manufactured home, driving an any-color-you-want-as-long-as-it’s-black car.
It’s basically correct (assuming they did mean diversity and not complexity), although not exactly fair, since as the downside they’re only referring to lower profit for themselves.
The complexity of OSS is more than just a profit issue for Microsoft.
A project I worked on recently had to use 5 different source management systems, (git, perforce, cvs, svn, and monotone) 4 different build systems, (plain makefiles + autoconf, jam, imake, a local hack) three different toolchains and seven different programming languages (c, c++, perl, python, ruby, java, lisp), to build something that was essentially equivalent to systems we built twenty years ago using make, C, and RCS or SCCS.
Sure, you can be excessively standardized, and one expects to be using different tools than one was using twenty years ago, but I would have prefered to have fewer better tols than to be in the mess we’re in now with many slightly different tools.
Excellent point. I’m not so sure one could ever convince developers to stick to no more than 3 different programming languages, but it’s a shame that we can’t standardize on superior source control and build system. These are solvable problems that can be made sufficiently generic to support virtually all development needs.
The question is, how long will it take for Google to solve them?
The question is, how long will it take for Google to solve them?
The rumor mill tells me google uses perforce…
There is complexity in a sense sometimes because of so much free stuff. Like almost too much freedom. But looking at so many OSS tools:
FileZilla
7Zip
VLC player
They are the epitome of simplicity
Linux commands are very shorthand and direct without the fluff. They use ‘-‘ instaed of “/” for switches which may a look a little weird but actuallty is better since it doent confuse with addresses.
The only thing that is real bloated to me is if a distro co-depends on other people’s stuff too much. The repo can become unwieldly at times.
Say what you will about VLC, it doesn’t play as much as it ought to and WxGTK is freaking huge. There is a serious shortage of good, standalone FOSS media players.
The media industry FLAT OUT doesn’t support FOSS that well yet but Creative Commons is a good start. Also allot of FOSS computer games are using CC but musicians need to wake up. YouTube is a good start though.
“standalone”?
//They use ‘-‘ instaed of “/” for switches which may a look a little weird but actuallty is better since it doent confuse with addresses. //
You do realise that this should read the other way around. Unix conventions pre-date MS DOS conventions by a long way. The use of ‘-‘ for switches was actually first.
So in truth your comment should read: “Microsoft use ‘/’ instead of ‘-‘ for switches which not only looks weird but actually is worse since it confuses switches with addresses.”
Linux commands are very shorthand and direct without the fluff.
Hmmm, I’m guessing you don’t use any of the GNU tools, –what with –all-their-long –command names and –long-options –that-can-get-very-tiring-to-write.
When it takes three lines of typing to specify all the options one wants to enable, you’ll start to wonder what ever went through their heads.
They’re right. Diversity is great. Having choices is peachy. Ever tried to muck through odd details of Apache configuration? Ever set up a mail server that did more than the basics?
I’ve just started teaching myself Microsoft server stuff and while it’s no enlightened path to a simpler life, it sure is easier to tell IIS to do something than it is to tell Apache.
In my opinion, it’s about to the same point as journalled FSes were a few years ago; Linux didn’t have ’em, everyone pointed it out and laughed, so people made like 5 great journalized FSes available for Linux. GNOME and KDE both have improved their system configuration interfaces lately to the point where you can configure background services, network interfaces, etc. fairly easily compared to just using the command line. I see complexity being the next thing to be conquered.
All software is complex, that’s just a property of software. Is FLOSS more complex then proprietary software? I’m not sure, there is a lot of good FLOSS out there and a lot of bad proprietary software, if you cherry pick you can make a point either way.
The thing that is sure is that if you don’t know the software it is always complex and you’re not going to find your way around.
Did you ever look at computer illiterate people use Windows? They don’t look comfortable at all, that’s because they don’t know what to do with this complex system. You will see the same when you take a Windows literate user and stick him in front of Linux/Unix. Hell you will se the same when you stick me (Windows and Linux/Unix literate) in front of a VMS console (I tried that, very uncomfortable for me but then I know shit about VMS right now) or even in front of MacOSX (Where are the programs?, I thought I closed that program?).
Yes FLOSS is a lot more flexible then proprietary software BUT do you need it? If you don’t need it you don’t mess around with it. If do need the flexibility in some package go and customize it if a) you know how to do that or b) you know somebody that can do it for you.
Think about it, you know roughly know how your car works but you don’t get the idea that you are “car literate” and fix your own breaks. What makes people think computers are different? If GMC says “Ford cars are complex” people would say “No shit, all cars are complex, that’s why I have mine fixed by my mechanic.” not, “No shit, that’s why I drive a Chevy.”
Uh….complex? Vista is so complex that MS can’t get it out the door. Hmmm.
I think that’s a very salient point, I looked here to see who’d be the first person to point that out. Did Vista not need nearly a complete re-write recently due to overwhelming complexity?
Microsoft’s success has been in hiding those frayed edges from their developers, however. Look at the .NET framework – it takes much of the complexity out of the equation but also much of the power, i.e. WinFX.
On the Linux platform…I can have the same level of hand-holding by using Java (or Mono, I suppose) or I can dig right into the nitty-gritty if I want…and alter kernel source code if needed. In an enterprise this is quite valuable. I’ll take a massive stack of open code to a closed, exclusive, black-box anyday.
It’s not as if you couldn’t hire consultants to help you w/ Linux source code any more costly than you could bring in MS contractors to customize something on the MS side for your enterprise.
In the end this is all marketing mud-slinging and the truth is; there are strengths to both sides depending on your organization, needs, and market.
I think that’s a very salient point, I looked here to see who’d be the first person to point that out. Did Vista not need nearly a complete re-write recently due to overwhelming complexity?
Those that actually read the article know that it had absolutely nothing to do with code or feature complexity and everything to do with linux distribution diversity. So being the first person to point that out also highlights you as the prominent non-article-reader.
I skimmed the article…and…more importantly, who cares? Can a discussion occur w/o some wise ass nit-picking someone’s *relevant* comments?
Gold star for you, big boy!
FOSS is a developing ecosystem. Sure, there are things in flux right now, a lot of natural selection of projects and standards taking place, but every year in certain spaces, you see fewer competing projects as “losers” die off or merge with other projects (as Xen has become the hypervisor champ), or else integration bridges are built between two equally competitive projects (such as Portland for KDE/GNOME).
If you think about it, Linux in its traditional roles of web/file/print/data server is pretty stable and standard now — it’s in new application spaces, and especially the desktop, that things are still “settling down”.
Open source organization seems to correlate pretty well to the rate at which the Web has been organizing itself. It seems too coincidental that the interoperating web or “Web 2.0” is happening at the same time that FOSS is finally enjoying enough integration capability to be employed easily by businesses.
FOSS moves at a slower rate than proprietary software, but once a certain stack hits a critical threshold, it’s more stable and easily-maintainable than proprietary just because of the environmental factors FOSS projects subject themselves to by being openly accessible to the world.
Edited 2006-08-08 14:51
In a nutshell here, is maturity, and you’re absolutely right.
Since about the tail-end of the .com boom we saw massive investment in Linux and as a result, a boost in community involvment, awareness, and adoption.
Look at the Linux desktop of 2000 and that of today’s. It’s night and day. Look at the Windows desktop of 2000 and that of today. Oh, right…it hasn’t really changed, has it?
I won’t even begin with the server-side…only recently has Microsoft even begun to be a serious contender w/ Server ’03 and .NET. Even so, growth and adoption continues for Linux on both sides of the fence. The next major battleground? Mobile devices. Look at what Motorola has to say about that one!
I don’t think that a project is inherently more complex just because it’s open source. I think it comes down to management – which is just as much of an issue for any other software project especially where 2+ people are involved.
Isn’t this sort of the point of distributions like Ubuntu? They take the one (arguably) best piece of software for a given task and include that. Rather than giving the user the choice of half a dozen different options for completing a task, it just gives the best one.
It would be a support nightmare if you had some users use OpenOffice, some using Abiword, some using KWrite, some using GEdit, some using vi, etc.
Diversity is good, absolutely, but only if you have the skill to take advantage of it. Otherwise, it’s actually a hinderance.
“It would be a support nightmare if you had some users use OpenOffice, some using Abiword, some using KWrite, some using GEdit, some using vi, etc.”
I use all of the above in Ubuntu, with the exception of KWrite. I use an appropriate tool for the job.
OOo writer for a full powered word processor for major documents and maximum MS format compatibility.
Abiword for fast preparation of lightweight documents.
Gedit for a general purpose text editor and vi(m) for editing in a console with gnome-vim/cream for editing code etc.
If I used Kubuntu I guess I would use KWrite instead of Gedit.
OOo, Gedit and vim all come with the default installation of Ubuntu.
I don’t get your point.
“I use all of the above in Ubuntu, with the exception of KWrite. I use an appropriate tool for the job. ”
Good for you. I am in awe of your task switching ability.
However, the fact that you’re already using Linux means that you are not the kind of person that needs a lot of support. Do you see the distinction?
Microsoft is trying to say that for normal office drones, the open source model (fork it if you don’t like it) is too complex, and I believe that is largely true. Not because choice is bad, but because office drones are frightfully stupid.
Microsoft is spreading FUD of course, but it has a grain of truth to it.
Ubuntu is a good choice for office drones, because most of that complexity has been hidden away. You can add packages after the fact, if you wish, but by default, it’s a clean interface with a minimum of choice.
Make more sense?
too complex?
Oh they must mean difficult to uninstall the software because it ties itself to a registry instead of being able to simply delete the program? – oh wait, that’s Windows software doh!
The Myth of Windows:
1. “Lower cost and security”. When one takes into account the additional security software required to make Windows secure the over all price looks less attractive. Especially for those familiar with Linux distributions such as SUSE Linux, Mandriva Linux, etc where third party open source software is typically provided with the OS.
The Myth of Linux:
1. “You’ll never need a third party driver again”. Not entirely true. While most hardware is more easily detected and auto-configured for the end user in a Plug & Play method hardware such as webcams and “all in one” (printer/scanner/copier) tend to require more time and patience to set up than on Windows.
2. “Using Linux is difficult because you have to either use a Terminal to run complicated commands or compile software yourself”. This false comment is usually what Microsoft would like the public to believe. In reality most software whether commercial or open source can be found in binary executable form. The binaries are usually compiled to run on several distributions such as “packagename.rpm” for SUSE Linux, Red Hat Linux, Mandriva Linux, etc. The only difference being that when clicking on the “packagename.rpm” with Linux distributions typically the user is prompted to enter the Administrator password before the package manager will install the file. This is intended to increase security of the system.
3. “Chat messengers are just as good as on Windows”. A myth due to anyone who has used chat messengers such as AMSN, Kopete and Gaim will see they lack one thing found in MSN Messenger and Yahoo Messenger is combined Voice with Webcam support to converse with Windows users of those messengers. Sure some offer limited webcam support but it can be annoying having a chat conversation with a Windows user using MSN Messenger that wants to use voice but you can’t. Really this is not the fault of Linux developers due to companies like Microsoft that won’t open source their messenger products so Linux developers. I even contacted Microsoft requesting a Linux port of their Live Messenger but was informed they have no intention of releasing the product to a competitor OS. Though there is hope as the one open source developer I’ve seen make progress in supporting voice with webcam for cross messenger chat is http://openwengo.com/ The good news is that it’s free and the developer has no issues about what OS you’re using.
But this time it’s “Why do companies, which should be respected ones*, make ridiculous statements like this?” Those not-in-the-know couldn’t care less, as they’ve already made their choice, but the ones they need to convince – those in the know – will (rightly) laugh themselves silly at this kind of comment,
*I’m probably infamous on this site for having no respect for MS (except its Office division), however, among that section of the populace which ONLY looks at the bottom line, it deserves more respect than most.
“Open Source Is Too Complex”
Open source is not, just the license.
First Linux was a joke.
Then it had no Office suite.
Then it had a higher total cost of ownership.
Then it had an unusable desktop.
Now… it’s too complex.
Is this seriously Microsoft’s argument? “Our competitors offer you a lot, really, but it’s complicated.” is not exactly a ringing endorsement of Windows.
Every other item Microsoft has ever cited as the reason not to use Free software and Linux specifically was, to the extent that it was a real problem, rectified in short order. Now they are down to an incredibly weak “We find it intricate” argument. How long do you think it will be before that argument holds no water?
I am seeing a steady trend toward layers of simplicity on top of complexity. Microsoft does this, as does Apple. The difference for them is that hiding complexity is a first priority and they will do it even at some cost. For the F/OSS world it is not a problem to expose complexity. Sooner or later someone will find a way that works to neatly wrap that complexity in simplicity, but only if it is useful to do so.
“Microsoft is trying to say that for normal office drones, the open source model (fork it if you don’t like it) is too complex, and I believe that is largely true.”
In an office environment the “office drones” don’t get to chose what software to run, it is chosen for them so this problem does not exist.
Yes, the more flexible a system gets the *potential* for more complexity does BUT if you keep using the SAME model as what Microsoft does in the Linux world, then sure, you’ll end up with problems such as mentioned.
As for ISV’s – dear god, just focus on the big two; Novell/SuSE and Red Hat – quite frankly, as a software vendor, everyone and everything outside those two vendors are irrelevant to the ca-ching of the cash register; those who want to run Oracle or Sybase will be running a commercially supported distribution thats either Novell/SuSE or RedHat.