Cringley on Microsoft and Linux
brentlaminack writes "Time for this week's dose of I, Cringely. This week the Cringe talks about Ballmer's Orlando comments from this week. He compares Ballmer's comments with Linus's. Nothing new here for the /. group, but a good read for the non-technical."
or are they just putting out FUD to screw up Linux.
I liked the part where he describes how most bad open source projects die in a darwinistic fashion while most bad microsoft projects limp on forever.
There may be some technically oriented people who want to inform their non-technically-oriented friends, relatives, and acquaintances about what's been going on in the World of Slashdot, but cannot simply forward their acquaintances the original slashdot articles because they wouldn't make as much sense to someone not familiar with all of this already.
Cringely is useful for this purpose, if nothing else, since he is good at taking technically-oriented "stuff" and presenting it in a manner palpable and coherent to totally non-technical people. Which makes good e-mail forwards.
Irritable, left-wing and possibly humorous bumper stickers and t-shirts
First off, I'm not defending Ballmer. He's an idiot. With that said...
I agree with holding back Open Source releases 'until they're ready.' Personally, no software SHOULD be released until it's ready. The tendency to ship software out the door as soon as it boots has given us a market full of buggy, slopped together code and numbed the public to what amounts to poor craftsmanship. All in the name of the Holy Schedule.
The one thing Open Source lacks, and despite the holding back -- clearly needs, is structured testing. There is no real testing of Open Source. No Test Plans, no Test Matrices of test cases. Pre release versions are dumped to the public to use as they will in a blind, shotgun approach to testing. Exceptionally sloppy QA at best. The frequent patch history of Open Source is testament to this weakness.
Unfortunately, I don't have a suggestion as to how to solve this problem. Open Source by it's very nature doesn't lend itself well to any form of centralization, which is necessary for structured testing.
On the other hand, you have Microsoft and others that USE structured testing, but they ship based on schedule, not the number of P1 bugs still open. End result? Garbage.
Open Source at least is a labor of love. I'd just like to see SOMEONE commit to solid testing so that in the future people wouldn't have to put up with such bug ridden software.
At the risk of being labeled a MS apologist (I try to be rather neutral), there are in fact things that a corporate entity like Microsoft provides that open source may or may not: - Reasonably consistent consistent APIs across products (at least in recent .NET times)
- Product cohesion across the platform
- Great documentation
- Simple installation (sometimes)
My experience with open source has been that the "bazaar" of Open Source is indeed a noisy, dirty one, and that it takes real effort to separate the wheat from the chaff re: product quality and completeness. Even if you argue that MS products are of lower quality (which is improving because of competition), some customers are willing to accept the quality hit because of the reasons listed above.
Nothing new here for the /. group, but a good read for the non-technical.
/. readers. But thats irrelevant. What is important for Microsoft is keeping the non-technical with them.
Isn't that the group Balmer addressed in the first place? My guess whould be that Balmer perfectly knew that it would be a clear to the
If C-level players did an Open Source project, nobody would ever see it.
Cough cough Sourceforge cough cough...
So much stuff there is untouched by human hands its incredible.
I like what Cringley said, but I don't think he goes far enough. The argument becomes more lopsided in linux's favor when you take into account the ways that linux has changed microsoft's products.
When I started to use linux, people who worked with windows pretty much accepted that you'd have to reboot several times a day. This wasn't just because of the need to preserve backward compatitibility with DOS. Even NT 4 was pretty buggy before sp4 or so.
I remember telling people that sun servers often stayed up for years without reboots -- no one believed it. Computers crashed, that's what computers do. Microsoft, and to a lesser extent apple, convinced most casual users that's the way computers worked.
But obviously, this wasn't something that was caused by an immature level of technological development, because other companies, like sun, were shipping machines that didn't crash all the time.
I believe that linux is responsible for a huge percentage of the core improvements that MS made to windows. They never felt it was a problem to ship OSs that crashed until they saw an alternative that didn't crash, on the edge of their radar screen. An alternative that people could install on their existing PCs, an alternative that people running ISPs could use to do server work.
Linux's quality, for the most part, doesn't come out of competition. There are efforts to make linux better at doing certain specific things, efforts that are driven by benchmarks. Most of the time, these little competitions seem to be waged with FreeBSD. But it's a historical fact that people wanted to make linux more reliable way before windows had any stability at all.
Microsoft *needs* linux to push it. If linux wasn't out there, does anyone think they'd be trying to tighten up security? Does anyone think that they would have delivered stable versions of windows without the pressure of competition.
My point is that even if you don't use linux, you benefit from it in a big way. In fact, I would say that most of the real benefit that linux brings to the world comes in the form of competitive pressure on microsoft, and those benefits are seen by windows users, not by linux users. Who knows how much they'd be charging, what the net would look like, how often windows would crash, etc., if it weren't for linux.
It's hard to get this across, but every discussion of open source vs. commercial development ignores the effect that open source exerts on commercial developers. The discussions are simplistic for that reason.
If you were going to compare open source development vs. monopolistic commercial development in a realistic way, you'd have to talk about what a horrible job commercial developers did before open source developers started to hold their feet to the fire.
When you have a house and it's broken into, you're going to hope that the kids that did it are caught and put in jail. Just remember that it's your fault because you didn't put unbreakable glass in your windows, and encase the entire house in armor plating.
Hell, there are no rules here. We're trying to accomplish something. - Thomas Edison
I have my own opinion on this matter. It seems even open source develpers don't understand their development model. Many - possibly the majority - of open source coders are not writing code for purely altruistic reasons. They are writing code because it doesn't do what they want it to do. Since the developer is the customer, the developer has a vested interest in making a good product.
Linux people are geeks, inherently technical people, that focus on technology. I'm not even mentionning that they might be professionals themselves. Microsoft people are professionals, driven by marketing and other business objectives.
Hence:
All of that is obviously not only true for Linux. Apple did understand that. There is a bunch of people doing a nice OS, and giving it away for free. It is not polished as we would like it to be. Ok. Let's polish it!
The point is that Apple did a nice economy of scale with relying on a nice kernel that they don't have to maintain or pay!
I think as OSS as some kind of "Public domain for software." It's just that enough people has an extensive knowledge of how a well architectured OS such as a UNIX work. When the critical mass of people is reached, an OSS software such as Linux pops up and it just reflects the materialization of the public knowledge.
A multi-task OS is so basic nowadays, ther is no way Microsoft or any one else will ever be able to make money off of it. Microsoft is still resisting because they have this huge userbase, but it is just a matter of time.
To resume my position, it is going to become very hard to make money off of a "Generic" proprietary software. By generic, I mean anything that has been around for a while and is understood by many people. OSS will represent a very nice basis for every software. A kind of public domain toolbox.
Companies will have to find their added value on top of that.
Write boring code, not shiny code!
>> Imo, I will never understand why people keep bitching about an operating system they were never *forced* to use. [emphasis added]
You've never had an office job have you?
The day Microsoft gets hauled in to court to take responsibility is the day the flood gates are opened on software liability in general. Say goodbye to open source. How do you think Linus or R.M.S. would fair against a volume of lawsuits that wouldn't even make Microsoft flinch? How many developers would risk open source development if there was liability involved?
I don't remember the details, but the software industry tried to get a law passed that would've voided EULAs without a piece of paper to back them up (anyone remember what I'm talking about?). Microsoft was all for the idea. I think it died (fortunately). Just remember, liability is a double edged sword.
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
Open Source software is largely driven, and will continue to succeeded, because of a hatred of Bill Gates.
This is so far from the truth it's not even funny. I don't know of a single Open Source developer that develops software based on some personal feelings toward anyone at Microsoft.
This is a misconception that really gets me because it inevitably leads to the "If you want X project to beat M$, you need to put feature Y in just like in the M$ product."
What people fail to understand is that I, and most Open Source developers I know, simply don't care about beating anyone. I'm just out to make good software that I'm proud of. That's it.
int func(int a);
func((b += 3, b));
Heh. Right on!
As for the parent, I have a suggestion: If there is an open source software package that you use and want to help improve the quality, do your own testing and send feedback. Or write some tests and send them to the developer as a patch.
One thing Cringley didn't really hit on is that many open source projects are just personal projects that someone happened to put online to share. That person will do some limited testing to make sure it does what they want, but probably not an exhaustive test, since they'd rather spend time developing once it "works." (I don't think that's something unique to open source. Commercial software often gets developed to the point that it "works", even though it might not work perfectly... take Windows, for example. It works, though it has its share of bugs and flaws which don't always get fixed.)
The goal of open source developers isn't necessarily to gain market share or visibility, or to produce a perfect product. A lot of it is done to fill the needs of an individual developer, and the non-selfish idea that "if its useful to me, it might be useful to others" gets it released to the public.
What happens in the case of some of the bigger projects (Linux, OpenOffice, etc) is that a huge number of interested users start lending a hand. Some write code. Some write documentation. Some do testing. Some give money.
The really great thing about open source projects is that if you see a weakness, you can do something about it. You don't have to ask for anyone's permission first. You don't have to wait around for a patch. You can make your own and send it back to the developer. You become part of the project.
Open Source doesn't need centralization in order to develop quality tests. It just needs people to understand that fact, and then jump on board and make it happen.
blog
Why would you be a starving actor or artist, working poor-paying jobs to live on and doing what you love in your "spare time"?
Programming -- good programming, anyway -- is a creative process, and creative people love what they do, and will do it whether or not they get paid to do it. Heck, they'll do it even if it costs them.
Simply put, open-source programmers program for love rather than money. And it turns out that this has a whole lot to do with the quality of open-source software.
Hopefully /. picks up nontechnical readers every day like me:)
Justification enough.
I can tell you one thing wrong with working for pay: you don't get to do what you want. If you're a professional programmer, you have to work on whatever your company tells you to work on, no matter how stupid an idea it is. Even worse, you have to do it their way: you have to use development tools, OSes, etc. that they've chosen for some reason, not what you would choose. And worse yet, you have to deal with all kinds of typical corporate BS: stupid and annoying coworkers, endless meetings which kill productivity, the cold lifeless cubicle environment, people stealing your food out of the refrigerator, etc.
Not only this, but in the real world, people don't always get to work on stuff that interests them. You may have a deep interest in audio codecs, but how easy is it to get a job working on that? Not very. But if you want to play around with the source code for Ogg Vorbis, there's nothing stopping you.
The idea that stupid economists hold that people will take jobs they're best at is BS, because real economies don't work that way. Finding someone else to pay you to do something you love is hard to do, as many starving artists will vouch for. Or, you could become an entrepreneur and start your own business doing something you like, but then you'll find that you have to waste a lot of time doing all the business crap, and not the fun stuff.
Open source changes all of this. Anyone who's interested can get involved on an OSS project in their spare time; sometimes they can even turn it into a job function if their job has a need for it as some others here have mentioned. You don't have to find some company to hire you to do it, and thanks to the internet you can easily collaborate with other people on the same project. And best of all, none of it is like working in a corporation.
I think in reality, a lot of OSS programmers are also professional programmers, but the stuff they do at home is much more interesting to them than what they're paid to do at work.
The day Microsoft gets hauled in to court to take responsibility is the day the flood gates are opened on software liability in general. Say goodbye to open source. How do you think Linus or R.M.S. would fair against a volume of lawsuits that wouldn't even make Microsoft flinch? How many developers would risk open source development if there was liability involved?
You usually have a lot more liability if a) you're selling the product and b) marketing the product as having specific qualities.
So would I, putting a piece of code under the GPL, have liability for anything? Highly unlikely. If Red Hat takes it into their enterprise server and sells it as "the safest server ever" Red Hat might have some liability for my code, but not me.
I'd much rather be signing a piece of paper, like a contract (that can be rejected) *before* I purchase anything rather than the current "come home and find out what I bought (or didn't)" scheme with EULAs.
For the GPL, it wouldn't be a problem, because it is NOT an EULA that restricts rights, it gives rights. Yes, without a written contract you may claim that you didn't not accept the GPL and so it has no force, at which point you'll get slapped with copyright infringement law.
Kjella
Live today, because you never know what tomorrow brings
A couple of points...
First, Open Source projects tend to be pretty up front about the state of their code. They'll warn people when the project is lacking in its early stages. And bug reports / tracking tends to be done on a fairly open basis. There is no marketing group pushing glossy brochures trying to paint a rosy picture of bulletproof reliability and infalability (not even touching on EULAs and business deals that forbid negative product reviews).
Secondly, if I'm supposed to be a permament beta tester for someone... why do I pay hard cash for the privilige? Open Source involves a trade in time and effort. Commercial software should be a finished product.
Not all coding goes in to a shrinkwrap. I know a good number of coders who are paid for customized code that largely stays within the confines of their employer's enterprise. In most cases, what they want to code on their own free time would never compete with what they're working on for their employer.
Meanwhile, some have created Open Source projects out of a few untilities they threw togeather to handle some internal situation - with Corporate blessings. And there's talk where I work right now to put some manhours (either from existing employees or hiring in additional help) towards extending an Open Source application management has become particularly endeared to - but doesn't quite do everything they want.
For these people, Open Source software is not a threat. I could see that if your entire focus on the industry is niche products or shrinkwrapped OS' and applications, the whole Open Source thing could be a bit troublesome. But then - if people doing something for no cost ruins your industry... you have to wonder about the viability of that industry.
Sure - the views of people like RMS may make some view Free Software as a threat to their livlihoods. But honestly, is RMS' ultimate vision really going to come to pass? Will all commercial software be replaced by Free altenatives? Look around. For every product being esentially commoditized, I bet you can find a few more that haven't been touched. That's not even mentioning how many commercial products sprang either directly from, or due to the influence of, Open Source projects.
One final thought. Competition is competition. Any given commercial software house has no guarentee to profit and success. It is just as likely that another commercial outfit will produce a killer product as it is that an Open Source project will eliminate the profit in it. And at that point, you're out of a job no matter what.
If that worries you, look in to another career. But then - don't expect much more stability elsewhere either. The world is a rough place like that.
Some people will never get it. If you only work on projects because you get paid, or if you only pay for things or contribute money because you have to, or if you only offer help to a cause when required by work or for survival, you will probably never get it.
The fact that some people will never get the open source concept does not reduce the success of the concept for those that do get it.
IMHO
XML causes global warming.
From the article:
Against his nature, Ballmer has been trying to change his own persona and the company culture. So far, he appears to have made progress.
Riiiiight! That is why, not halfway down the page, Ballmer is quoted as saying:
The fact that someone in China in the middle of the night patched it--there is nothing that says integrity will come out of that process.
A highly racist and infalmmatory remark directed at the people whom he (as a company) just recently shared the source code with trying to lure them away from Linux. That will work!
Basically, I see Bill Gates and Steve Ballmer as two of a kind: We are so successful, look at the big company we've built! Why don't people like us??
While this is /. and many will disagree, I doubt that the heads of Microsoft are dumb. The author seems to think that they are, but I disagree:
Microsoft is a company - its objective is to make money. It does this by selling software and associated other things (part services and hardware, (Joysticks Mice etc...))
The objective of Open Source (Linux in this example) is to make the best software possible it just so happens that this model also believes that open code is the best code.
This is pretty simple. Now, the heads at Microsoft understand this - but it is their job to promote Microsoft. That is what they get paid to do. They work for Microsoft, they have Microsoft stock options - they make their living by selling Microsoft. The heads of these companies (and all companies really) are salesmen. They work to sell a product. Now, it is important to believe in your product to sell it - and Microsoft exec's clearly do.
But really, can you blame them? They are clearly worried by the Open Source model because it presents a direct threat to their Cash Flow. Buggy software requires upgrades - this is good for business because you can sell the upgrades, and make money. That is their objective. With Open Source, buggy software is bad, because the objective is to make the best software possible.
Microsoft does not want to make the best software possible - otherwise people would buy it, and once they bought it, they would never need to buy it again. Their sales would go up - and then plateau.
Linux developers want to make the best software - because that is what they set out to do in the beginning.
There are totally different perspectives at work here. If you want to understand Open Source, and Commercial software you have to understand both ideals. I think Balmer understands totally - but he can't start disparaging Microsoft. It goes against his mandate.
I think MS is scared - and rightly so. They are hitting a plateau in sales, and Open Source is a serious threat to their server sales. What comes out of this will be interesting. That much is certain.
Try to hack my 31337 firewall!
One interesting and perhaps obvious aspect of this whole argument is: we don't need to upgrade as often as MS finances would require us to. This is why free software is successful. Yes "it's ready when it's ready", and that soon enough in almost all cases. MS of course realizes this and that's why last week Gates said longhorn will be done when it is done. They can't compete with open source and still meet rigid ship dates - something has to give.
Some companies *try* to hire the top 1-2% of all programmers. Few succeed. We're trying for the top 5-10% and some misfits will always slip through. The secret is to get rid of the misfits as quickly as possible. Many don't even try for A programmers. Many are convinced (with some good numbers behind them), that A programmers are generally more trouble than they're worth and B programmers are where the money is. Many places are convinced that an A architect backed up by B programmers is the amazing combination to shoot for.
Other organizations, like government contracters, are actively searching for C players because 1) they need to stretch out the project for as long as possible and most A and B players won't put up with that game, 2) they need someone who will be willing to take such a crappy salary and 3) they like having people who occupy a slot and stay there (preferably spending their day managing the signs around the coffeepot and making sure that there are enough stirrers).
You may think I'm joking. I'm not. The startup I had been working for went under, I stayed with them out of foolish optimism until I couldn't pay the rent. Then I desperately roamed the streets looking for a job and found one working for a government contractor. I tried to stay for a year out of personal pride at holding down the job. But after nine months, I had enough money in the bank to live on for six months and I got out before finding another job. I simply could not take the insanity any more.
I've never seen more people doing less work but still looking busy than inside that "secure" environment. There were maybe three of us out of a team of twenty who actually did work on a day to day basis. Now there are two and one of them woke up the other day (it was a hilarious email). That's "okay", though, because the contractor makes their money by the number of warm bodies "working" on the project, not by actually delivering a solution. *sigh*
Regards,
Ross
That's the Big Lie Microsoft keeps telling over and over again, and not even Cringley called them on it: Open Source developers are "enthusiasts" who write software as a hobby after coming home from their 9-to-5 jobs at McBurgerBucks.
I saw a survey a long, long, time ago (5 years? more?) that showed that most contributors to Linux (or was it BSD... or some other project...? I've forgotten the specifics) were computer professionals in their mid 20's to 30's, who had full-time jobs. A lot, but not all, were software ocntractors... others were involved in IT, etc. But these weren't burger flippers or bored undergrads. I couldn't find it after a quick Google... and I haven't seen anything similar since. But my gut tells me this is fairly accurate.
So, why would anyone want to write software and give it away, especially if they depend on writing software for a living? Well... why do many lawyers do pro-bono work? Why do doctors sometimes volunteer their skills in times of emergency, or at free health clinics?
Simple: they realize that it benefits society. It's along the same lines as any volunteer work. Why does anyone do anything without getting paid for it? Because there's something other than a monetary award. They also realize that it helpds themselves... it gives them a chance to perhaps use their skills in ways they don't in their day-to-day job.
In the case of developers, giving back to the community directly helps them. If you write a piece of Open Source software, and someone, somewhere wants that software extended somehow, to fit their own needs... they can often be convinced to hire you to do the work. If you're applying for a job or contract, how much of an advantage do you think you'll have over other candidates if you can show the company they already rely on software you wrote?
Just look at Linus. Is he flipping burgers? Nope. Sure, he was an undergrad when he started Linux, but since then he's worked for Transmeta, and now he's working for (umm... I forget who... Red Hat?) on Linux full time.
And personal reputation of the developer. And other motivations.
That's true. Plus teh feeling of community, the fuzzy feeling of giving back to the community which also gives you such great software to use and work with.
One flaw in Ballmer's criticism I noticed is that he says "there are no butts on the line", but yes there are - just not people's butts. The best code gets into the mainline. Not as good code doesn't. So, survival of the fittest code wins and the butts of the less-fit code get kicked out and forced to either be reworked or left alone.
You kidding - their legal lost the antitrust case, horribly, and half a billion to a shoestring called Eolas.
The A players are in marketing and sales.
Well, I hope everyone understands that Microsoft probabably hasn't misunderstood anything. Not as much as it might seem. As has been stated before, those guys aren't dumb. They probably understand very well why open source works so well. But that isn't something they're telling openly. What they say is what they believe their customers will believe, what arguments will hurt the open source movement. It's all about spreading fear, uncertainty and doubt. Remember how it went when you were 13? That's this.
It's apparent that he was talking about free as in beer... what I wish he would have added was the fact that people actually PAY for software they COULD have had for free because it's so good they want to support it VOLUNTARILY! Now that's enough proff that Linux is a superior operating system.
;)
Compare that to Windows which most people have only because it was bought by the computer manufacturers and came with the hardware
"he drew his sword Ringil that glittered like ice... and he wounded Morgoth with seven wounds..."
According to this, Apple was first to market with their first version of MacOS. I think Microsoft's success stems more from poor early marketing decisions by Apple combined with questionable business tactics by Microsoft.
- b
Cringely remarks repeatedly that Torvalds and other open-source developers are "giving away software for free". This view is all too common among those who comment on business and open source. It implies that every kind of software is some soft of product, which you can (and should) package and sell. Most open-source software can be more accurately described as "evolving entities" rather than products.
Cringely says that Ballmer has misunderstood open source. But by using the expression of "giving away" things, he doesn't really contribute to a better understanding of open source himself.
When scientists publish theories in a widely available scientific journal, it would be absurd to say that they are "giving away their theories for free".
I think the analogy is appropriate, because scientists and open-source developers have roughly the same goals when offering their work "to the world". They want peer-review (although not exclusively, of course).
So, the correct answer to the question "Why should I use your software?" is: "It has been severely tested in all areas it is expected to work, by people all over the world, never failing a test even once".The personal conviction that your software is functional and bug-free is not in any way an argument that it is. Holding the opposite would be confusing psychology with logic. That is why scientists and programmers need to expose their theories and software, respectively, to critique from others in (and outside) their field; to find flaws they themselves are unable to discern.