CIOs Band Together Against Paying For Software Bugs 361
gmerideth writes: "This article over at cio.com interviews several CIO's who are sick and tired of spending billions every year on software upgrades simply because the creater tells them to upgrade as they wont support previous versions or they get stuck into lengthy, costly licenses. Quoted from the article "Other companies, such as Ameritrade Holding, are opting for open-source technologies such as the GNU and Linux operating systems, the Apache Web server and Sendmail e-mail.". It's glad to see the open source movement doing it's job."
Shouldn't they have thought of this earlier? (Score:2, Insightful)
M$ being one of the primary instigators of this...
i.e. the older (M$app) x.x does not work with new (M$app) y.y.
Perhaps this is a chance for open source to shine.. upgrades are... FREE.
Re:Shouldn't they have thought of this earlier? (Score:3, Insightful)
You think we roll out MS Office 2K without investing a couple man-years of effort, testing installations on supported platforms, building SMS packages, preparing training programs, advertising, providing conversion from Office '95 files, etc.? No difference between MS and GNU there.
And you may think that these are the big costs. Multiply that by 7,000+ desktops in this corporation, and Office 2K license fees run into the millions. If the installation cost runs to $150,000 for various peoples' time, it's still peanuts to the licenses.
John
Planned Obsolescence (Score:3, Insightful)
In the automotive industry, people are encouraged to dispose of their perfectly good cars due to new features on new models and increasing prices of replacement parts... although their car is perfectly fine.
I remember hearing something about GM phasing out model years on cars... but haven't heard anything since, they must have come to their senses.
Or how about when the knob breaks on your stereo and it costs as much to replace the knob as the stereo.
Consumer backlash? People still buy new cars and new stereos...
Re:Planned Obsolescence (Score:5, Insightful)
Similarly, Microsoft is switching largely to this new leasing model.
And in both instances, it is for the same reasons: features are no longer improving. During the 50's, 60's, there were model year changes in autos each year. Look at the shoebox Chevy's (55-57) While having the same underpinnings, each year had different trim, a new look, etc. Flash forward to the 'new' shoebox Chevy, the '87-'93 Ford Mustang. Almost identical. Not even the cosmetic changes of the older models.
Now look at Microsoft: big difference between Win 3.1 and Win '95. Not so big to '98, not so big to ME...
There is no technological need to upgrade in either industry. So force a revenue stream by only renting the product.
(BTW, I hope and prey that Bob Lutz will help get GM in gear. I've never owned a GM, and while there is nothing inherently wrong with their product, there is no compelling reason to buy it. DCX really screwed up when they let him go.)
Re:Planned Obsolescence (Score:2, Insightful)
Plus, there's no such thing as a free car, as there is with free (as in beer) software. So MS is really shooting itself in the foot here. They push "lease or walk", and we fight back with "or Linux, or BSD, or HURD, etc..."
Re:Planned Obsolescence (Score:2)
Now if I can just get a million geeks to donate their time to making them work.
Re:Planned Obsolescence (Score:3, Insightful)
Please take no offense, but this is a highly uneducated observation. Win95 to 98 was not a dramatic rewrite of the OS, true, but the change was huge. It is so much easier to support 98 then 95, for a whole slew of reasons. ME is an even bigger step forward. Sure, on the front they all look very similar, but they are definatly reasonble upgrades. Then, take 2000 and XP into account, and you have yet another "leaps and bounds" improvement.
Re:Planned Obsolescence (Score:2)
OTOH, I drive about 5,000 miles per year. When my car is paid off, (bought used, BTW) I should have around 50,000 miles on it. So I'll be driving nearly for free for maybe as much as ten years.
Now, if I worked just a little further away, and were putting between 12,000-15,000 miles per year on my auto... I'd probably go ahead and lease.
Re:Planned Obsolescence (Score:4, Insightful)
The problem they've come up against is that they've feature bloated their software to the max. It's common knowledge that people don't know how to use 95% of the features of their word processors. Ten years ago, that number used to be 50% ignorance. They sell "new" software with more "features" because their revenue stream model forces them to market "new and improved," not out of any consumer demand.
Thus the birth of .NET. A subscription model. Same product, but now with "fewer hassles." Make it attractive to developers by pushing the hell out of it in the magazines and with evangelical meetings. Make it attractive to consumers by offering them magical promises that it "keeps up automatically with the latest features." They don't even have to think up those features today. It's like buying cleverness on credit!
Oh, yeah. I almost forgot. Microsoft gets a monthly rent check from you, too.
John
Re:Planned Obsolescence (Score:3, Insightful)
Except that in the Electronic and Automotive industries, you can always find a 3rd party verdor to support your equipment, in the MS world, you can't since the code is closed.
Weird. (Score:3, Insightful)
Fortunately, there are a host of alternative solutions on the horizon, and a growing number of CIOs are determined to make them a reality. They include renewable licensing agreements, in which CIOs purchase the right to use software for two to three years at about 85 percent of the cost of what they'd pay under a perpetual license. CIOs then have the option to renew the license at the end of the term if they're happy with the quality of the product and the support. Subscription licensing agreements are similar to renewable licenses, except the term is shorter, lasting about a year, and CIOs rent the software, as opposed to owning it.
Aren't they just playing into the hands of vendors who want to increase ongoing revenue for product they used to just sell once? I don't get it.
Re:Weird. (Score:5, Insightful)
The problem with the subscription model is you have a drop dead date. If you do not switch to another software package by the time your subscription runs out, you cannot continue to legally use the software. Furthermore, if you don't upgrade when the software vendor tells you to, you cannot continue to legally continue to use your current systems.
Imagine what would have happened to that CIO if his company couldn't meet payroll because oracle had forced them to upgrade to Oracle 11i which didn't work yet.
Re:Weird. (Score:2)
It seems like a bit of a showdown, however. If the CIO owns the product, the only way M$ can get them to buy again is with new features or bugfixes. If the CIO has to keep paying to use it, there is no motivation for M$ to improve the product.
Re:Weird. (Score:2)
In many companies, being able to accurately predict expenses is considered so desireable they don't mind (or don't think about) paying a bit more.
Dumbass comment (Score:2)
Hmmm, I guess the author never heard of the 100s of vendors selling OSS solutions? Maybe this is the "content" that PHBs read and get their weird ideas from.
Not only the upgrades (Score:3, Informative)
The company I worked for wasted thousands of dollars when the Nimda virus struck. To a small business, this cost plus a day's worth of downtime can be a significant hit.
If we used the open-source alternative, we might have saved this money.
Is Open Source the answer? (Score:2, Troll)
That could paragraph could describe the shoddy commercial software, but it could just as easily be describing Mozilla, KDE (or GNOME, to be fair), Emacs, TeX, or the RedHat Linux distro. Open source, by itself, can't solve shoddy software engineering practices.
This problem discussed in the article is better solved by the type of licensing model Microsoft plans to adopt: subscription software. That way, you always have the latest, least buggy version of the software you use without having to shell out for a new copy, and the corporation that writes the software is motivated to eliminate bugs, rather than leave them in so they can sell you the new version. This way, you have all the advantages of open source, yet you can take comfort in the fact that your software is written by professionals.
Re:Is Open Source the answer? (Score:2, Funny)
And how many $2.56 checks do you have?
Re:Is Open Source the answer? (Score:2)
Why?
You have to pay for the software whether or not M$ has fixed enough bugs this month. Because you are locked into the file format, you have to keep paying. You can't refuse to upgrade until Microsoft fixes enough bugs - you're stuck.
Re:Is Open Source the answer? (Score:2)
On the other hand, just because you're entitled to the latest version of software doesn't mean your hardware will run it. You may buy a five-year subscription to Microsoft's Windows OS, but if your hardware three years down the road won't run it and Microsoft won't budge on compatability, you're still out of money. And worse yet, Microsoft now has even less reason to support old versions of its software. "We're giving you the latest version for your low, low subscription price! Take it or leave it."
This way, you have all the advantages of open source, yet you can take comfort in the fact that your software is written by professionals.
If I'm not mistaken, the majority of open source software out there is written by professionals. They're just not getting paid to write it.
Re:Is Open Source the answer? (Score:2)
This doesn't seem to address the CIO's concern, which has more to do with not being "forced" to upgrade. For example, if a customer has some obscure bug in Solaris 2.5.1, do you really think that, even if they have a support contract, they're going to be able to get it fixed as promptly as they can with a bug that's in Solaris 8? If it's already been fixed in Solaris 8, it's going to take a Really Big Stick [tm] to get Sun to fix it in 2.5.1 rather than recommending an upgrade--and since the customer has a support contract, the media cost isn't going to be the issue, the cost of actually migrating the OS is.
I can understand their position, but it's 1) not arguing for MS subscription services despite the many claims here that it is and 2) realistically not likely to get very far. It might give some smaller companies bigger sticks than they otherwise would have had, but generally speaking it's still going to take a big stick to get vendors to backport fixes (and there rationally are cases where it's simply impractical for a vendor to do so).
ALL the advantages? (Score:3, Insightful)
Umm, no I don't.
I don't have the advantage of actually having the source.
With open source, I can fix any bugs, without having to wait for the official fix (an advantage).
With open source, I can learn from the source code.
With open source, I can adapt the source for my own needs - like adding a feature I want that the vendor doesn't feel is necessary/important.
Software subscription gives you ONE of the advantages of open source, but there's no way it gives you ALL of the advantages.
Re:Is Open Source the answer? (Score:2)
"This way, you have all the advantages of open source, yet you can take comfort in the fact that your software is written by professionals."
You do _not_ get all the advantages of open source. Microsoft and others keep deliberately confusing the issue with references to "shared source" and all the rest, but it is not the same, nor does it gain all the benefits of truly Open software.
and BTW, last I checked, using Open Source software was no guarantee that your software was not written by a professional. Many OS developers are paid for their work, and besides, in a meritocracy, software should be written and improved by those best able to do it. So-called professionals are just as much to blame for the issue described in the article
Re:Is Open Source the answer? (Score:2)
Not only that, but paying for a program doesn't guarantee that it's quality code either. Hell, during the last few years when the market was tight people were hiring friggin anyone to program. I've seen some really shitty, shitty software that people paid a LOT of money for (and I mean software that makes MS's worst look like it was gold plated and bullet proof).
No motivation to fix bugs (Score:2)
Re:Is Open Source the answer? (Score:2)
2. There need be no pressure to meet deadlines in an Open Source model. Projects can and do delay until standards are met rather than ship "on time". (Eg 2.4 linux kernel, mozilla,
3. "Open source, by itself, can't solve shoddy software engineering practices." Where was this claimed? Straw man.
4. Are you saying professionals do not write open source software? Or that all commercial software is written by professionals (with the standards that implies)?
5. I have an open source subscription where I receive regular bug fixes. It is called "apt-get upgrade". If I wanted a premium service, Ximian are tooling up to do just that.
Re:Bug reduction? (Score:2)
If this is true (and it depends on the situation), then the cost 'savings' of a subscription model don't factor in.
software sales model change? (Score:3, Insightful)
Microsoft's changing of its licensing practices has clearly pointed to a flaw in the software sales model -- in small doses, companies will put up with it because it's easier to maintain status quo than to radically change. However, companies are now looking at a tripled technology budget -- and they're looking seriously at how things are working.
They've figured out that some of it sucks.
The problem with the current software sales model is that it is impossible to tell the companies that will support and stand behind their product from those that will rake you over the coals. When companies have the ability to change their licensing agreements overnight, the consumer has no ability to chose the good from the bad.
The good thing from this: people might REALLY take open source seriously.
The bad thing: I think a lot of well-run, fair and supportive software companies are going to suffer because of the greed of the others.
Corporate Acceptance (Score:3, Insightful)
What does corporate acceptance mean? It means we have become cheaper to set up and maintain than the other options for the corporate world, those being Windows and MacOS.
Linux still has its original stability and low price tag, and there are now several versions of all the software that corporate customers formerly had to develop for.
Macintosh lost out to Windows in the corporate marketplace for the same reason so many companies are switching over to Linux now. Installing Windows on a pre-existing IBM DOS box is a lot cheaper, and there were more applications. We now have the same applications, possibly fewer in number, but lower in price, so companies are turning their head toward the other option.
Companies are predictable buggers. If you give them a cheaper option with the features they're looking for, they will jump on it. Every time. Linux developers only need to ask what those features are and include them in the core OS or surrounding software, and we'll enjoy even greater corporate acceptance.
Re:Corporate Acceptance (Score:2)
Since when? Last time I checked, just about every corporation out there will buy a seething pile of dung costing $10 Mil. instead of the $1500 solution that the MIS/IT department has tested and recommended. After all, you get more for all that money, right?
But the problem still remains... (Score:2)
This is good for the OSS community however. The more Oracle/Microsoft/etc squeeze to inflate their bottom line, the more people abandon ship and switch to OSS. The more people using OSS, the more people contribute to it. Knowledge is most useful when shared. As the history os science shows, the more you share information, the better we all become.
Re:But the problem still remains... (Score:5, Funny)
Ahem...
"The more Oracle/Microsoft/etc tighten the grip, the more systems will slip through their fingers."
Re:But the problem still remains... (Score:2)
"The more Oracle/Microsoft/etc tighten the grip, the more systems will slip through their fingers."
Enough with the Starwars quotes; they're almost as old as I am
Glut of "Programmers" != Better Code (Score:2)
While I admire their resolve... (Score:3, Insightful)
I do believe that market rejection could place tremendous pressure on software vendors to put more effort into bug-testing their product thoroughly before it is used by the client. But bug-testing is a time and resource consuming affair. No software company, no matter how big and fat with cash can throw enough money at a product to make sure that every possible scenario is covered. It is only a matter of time before a bug (perhaps even a significant, critical one) is found.
But still, I appluad the efforts of anyone who is willing to tell their software vendor(s) to try harder to get it right. I sincerely hope this strategy will convince the software vendors that purposefully release broken products to stop assuming we'll upgrade when you release the "professional-special-app-of-the-year-gold-box" edition of the software just because this version fixes that nasty, data-ruining bug in the last version.
I think it's worth noting, though, that only one thing can truly lead to the elimination (or near-elimination) of software bugs: developing for a limited number of platforms/OSes. The more OS/hardware possibilities you bring into the picture, the more bugs you'll have. Guaranteed.
Of course, similar arguments could (and should) be a applied to the PC games industry, but that's another debate.
Re:While I admire their resolve... (Score:3, Insightful)
I don't think anyone (except PHBs) truly believe it will; I don't even think it can. Software is inherently buggy unless you pay orders of magnitude more than you can afford to (good, fast, cheap)
What CAN happen is that vendors be forced away from saying "This is a known issue. This is fixed in the next version of Product X." In other words, force vendors to provide free bug fixes. Perhaps EULAs should specify an end-of-life for the product; then purchasers KNOW exactly what they are getting.
The better licensing plan (Score:3, Interesting)
The other scheme I would like to see return is the purchase of business logic software WITH the source. Back in the days of mainframes, if you needed accounts payable, accounts receivable, order tracking, etc., you would buy a package of software that would come with all the source code so that you could change the logic to fit your business. This was actually a requirement then because the DB access code was compiled into the program resulting in binaries that were tied to the schema. However, the side effect it produced of giving the source with the product was extremely successful due to the fact that no two businesses are alike. Just because Kraft does their paperwork this way, doesn't mean that GM does theirs the same. Plus, Kraft has to worry about delivery schedules via networked partners such as Sysco whereas GM ships directly to dealerships.
As much as people may hate to hear this, the mainframe guys had it right and business today should start taking notice of that.
Re:The better licensing plan (Score:2, Insightful)
Who said the mainframe died? I'll agree that they aren't as popular as they once were, but most fortune 500 companies still rely heavily on their IBM and Unisys mainframes. I don't think old Honeywell is in the game anymore, but I could be wrong. The problem was't really price. PCs were originally used to suplement mainframes or to create networks for SOHOs where mainframes would be an overkill (not to mention costly). As time went on tho, there developed money in the PC support business. As a result, anyone coming into the computer field learned PCs instead of mainframes. The end result was that these PC "gurus" tried to move all the mainframe functionality (which they didn't know) to PCs (which they did know) and failed miserably. Guess that high availability thing was important, huh? Now there are a large number of businesses stuck supporting something as stupid as DBase (AARRRRRGGGHHHH!!!).
Planned obsolescence (Score:2)
What would Rain-in-the-Face do?
Oracle has ya by the balls. (Score:2)
Most of my databases are Oracle, and I have to put up with "My shit doesnt stick" attitude. Cant handle some file systems, cant do simple export and imports without hours of of an outage.
Our DBA's spend more time working on upgrading oracle on all our production boxes then fixing bugs. The Oracle statement, upgrading fixes the bugs.
Wait a minute. Somebody's shifting blame. (Score:5, Interesting)
That's the problem.
If CIOs would cover their damned butts they wouldn't get into these binds.
It's good to hold Oracle's feet to the fire. It's good to make them sweat and to make them deliver.
But...
Why aren't these CIOs demanding reasonable back-out strategies?
Twenty years ago, when I worked for EDS, clients routinely demanded that we use particular technologies so that they could kick us out if they didn't like us.
At another employer, the only patents I've ever had my name on (inventor, not owner. No money for me) came because we didn't want to be locked into AT&T as a long-distance provider. They had a special feature we wanted called Network ACD, but it was patented and no one else could offer it. We spent the time and money to invent our own system and stay free to negotiate with whomever we pleased.
I'm amazed by these people who are talking up subscription software. Nothing wrong with the concept, really -- if you've got a way out. Then it's like a lease-or-buy decision for anything else.
With a lock-in? Come on. Surely they've noticed that Microsoft is moving in that direction without any prodding from the outside. That should tell 'em everything they need to know.
Botton line:
Oracle or nothing, Office or nothing, anything or nothing will leave you screwed.
Re:Wait a minute. Somebody's shifting blame. (Score:2, Informative)
Yeah some HUGE companies can do it, but small and medium sized companies are SOL.
Lots of small and medium sized companies would love to get away from fom paying big money to the moonpolists, but they don't have the money to hire new staff to support open source products, or the money to re-train their existing staff.
You have to make a choice to specialize, and lets face there are a lot more readily available support resources for Oracle and Microsoft than for MySQL and Linux.
Bottom line: Most companies aren't capable of supporting the staff to maintain redundant/diversified software.
Re:Wait a minute. Somebody's shifting blame. (Score:2)
I've seen small companies spend ungodly sums of money on IT relative to their size because they didn't analyze well. That's often because they'd rather spend a fortune on crap software and consultants than on a couple of good IT folks. And, of course, small companies are even more prone than large companies to CEOs who, ahem, know more than the techies do.
Microsoft licenseing... (Score:2)
Personally, I like that idea. Imagine thousands of Outlook users suddenly having credit card companies deny payment to Microsoft because of nasty bugs in Office. Of course, once UCITA takes affect doing so would be illegal. Come to think of it, does
The reason why it happenss (Score:2)
And then it dawned on Seyk why the software and support were so bad: That's the way vendors make money. They push products on the market before they've been adequately tested, demand payment up front and then are often not available to deal with the sequelae of poorly performing products. [...] now many CIOs are beginning to realize that the root of the problem may lie in the economics of the industry. Vendors generate most of their revenues through perpetual licensing agreements, which force CIOs to pay up front for an application. In return, CIOs own the software and the right to use it "in perpetuity." The problem with this model is that in reality, CIOs are lucky if they can get three years out of a product before vendors release entirely new versions of their software.
people here have been bitching about this for ages. Finally these guys are waking up.
I wonder if they could get a lawsuit or something for fraud.
Or maybe, since the licenses are in perpetuity, tech support forever (the length of the License), or for a sight longer than 3 years.
Let's face it, I would not expect Lotus to support me on Visicalc. But I would want Microsoft to stop selling Updates marketed as new versions, when the gui modification is probably the sdmallest part of the code.
heck, cars have 7 years/70,000 miles, and more.
Disclaimers!! (Score:2)
I know of one software company that is being sued for shoving a non-working (or barely working) product out the door. If this starts happening more, software companies may do some testing before shipping a product. Or free upgrades for people who run into their bugs.
I really object to companies that charge you support fees to call in so that you can report their bugs.
Out with the old and in with the new. (Score:2)
OSS for the wrong reasons (Score:3, Insightful)
Isn't that a little like making a date for the prom with the ugly girl, knowing full well that once you've made the cheerleader jealous, she'll go with you after all? Nobody cares about the ugly girl, she's just being used. And she'll be dumped in the end.
Seems to me this is the wrong reason to be considering open source. The CIO's want a brand name (cheerleader) and if they have to date OSS to get her, they will. But where does that leave OSS in the end?
Lots of great GPL products out there, but... (Score:2)
I think it's great that companies embrace OS projects and software, but at the same time, they should be careful in which apps they are running. For example, you'd be better off if you didn't run wuFTP [wuftpd.org] in favor of something more secure such as NcFTP [ncftp.com] (okay, it's not free or GPL, but still...) or PureFTP [sourceforge.net].
Does anyone know of a site which can make recommendations for one type of server app over another based on security, specifically to replace those types of server apps that have been shipped with so many distros for way too long? There are so many things that people really shouldn't run anymore, like wuftp, sendmail, inetd, and so on.
Bugs vs. Piracy (Score:2, Interesting)
Bugs [cio.com]: "Faulty software costs businesses $78 billion per year"
hmmm... so pirates have $66 Billion to catch up?
Sfotware Bugs (Score:5, Insightful)
I have been writing software for years, and I can't understand this kind of "oh well, all software has bugs" mentality that exists in most of the places I have worked. When I write software, it *doesn't* have bugs. Sure, even a cautious design phase and well-documented specs won't help when you accidentally type "crsh++" instead of "cash++", but other than typographical errors (which can be easily found and fixed), there should be no *logical* bugs.
Personally, I begin to wonder how much of the bug issues these days are either because of sheer human laziness ("I don't need to check the limits on this array, no one will *ever* type in a 257 character string here") or because of intentionally releasing a flawed product ("Quick, slap an installer on version 0.0001733Alpha so we can sell it to Dell!"). Either way, as a programmer, I think it is a terrible thing...
If you are a programmer, and are reading this right now, take a few minutes after every block of code, go grab a cup of coffee, look out the window, read slashdot, something to take your mind off what you just wrote, and then come back to it, go through it line by line, make sure your code is doing what you think it is. Make sure there are no buffers to be overflowed and no shorts where there should be longs. Take pride in your work! Don't be a dime-paperback hack romance novelist! Be a Hemmingway, a Gibson, an Orwell, or whoever you think is a brilliant writer, be Tolkien! Give your programming work the same respect that you would reserve for those people you respect.
If programmers as a whole stopped thinking along the "bugs are inevitable" line and started taking a fresh approach, one where they think perfect, bug-free code is possible, then the software industry as a whole would become a much cleaner place.
No More Code Monkies!
Re:Software Bugs v. buggy software. (Score:3, Insightful)
Buggy software is not the same thing as software that has bugs. Buggy software is software that reaches such a level of poor quality or irrational design that you identify it more by what it screws up than what it does. You may be able to get a lot done, but only because you've memorized a catalog of work-arounds and "don't do thats."
Any ambitious software will have bugs because people are not perfect, but buggy software exists because people don't give a damn.
Re:Software Bugs v. buggy software. (Score:3, Insightful)
I had a friend who used to say that one problem for software developers is that, unlike hardware, the "white wires" where software has been patched don't show. Continuing his analogy, no company would ship a circuit board that had a dozen cut traces, two dozen white wires, ICs with half the pins cut off and three daughter cards soldered on in odd places. Software with the equivalent level of kruft ships all the time.
Re:Sfotware Bugs (Score:5, Insightful)
Congrats, you are the most perfect software developer to have ever walked the face of the earth. Either that, or you simply aren't experienced enough to know that all software has bugs. And when you get to the enterprise scale of software, developing good software is very, very hard. You need *good* (good == top 5%ile, based on my experience) coders, *good* architects, *good* testing and *good* project management. Getting any ONE of those is rare!
Take the Linux kernel. I think there's a pretty good bunch of smart people working on that. I think they care about the quality of their code. I think they appreciate correctness and elegance. And *every single version* of the kernel has had bugs. Why is that?
If programmers as a whole stopped thinking along the "bugs are inevitable" line ...
The average programmer should care more about the quality of his work. Duh. That's a feel-good tautology. It's not that easy.
Re:Sfotware Bugs (Score:2)
Admittedly, my development team is small (only three people), so a good possibility why so much of our software is bug-free could be that all three of us are intelligent and creative and work perfectly together, whereas many of the kind of "have keyboard, will travel" hired guns that come in on projects may be hit-or-miss.
Re:Sfotware Bugs (Score:2, Insightful)
Re:Perfect Software (Score:2)
Unfortunately, most companies are unwilling to allow the development staff the time required to develop in this manner. The Halting Problem is NP-Complete (it's been a while since I took CS), which sets the bar pretty high for any reasonably complex software. Not to say it can't be done, just saying that it is prohibitively expensive in most cases.
As for why buggy software exists, see _The Rise of Worse is Better_:
http://www.jwz.org/doc/worse-is-better.html
Regards,
Slak
The Big Picture (Score:2)
For instance, I was part of a team that recently implemented a WMS (Warehouse Management System), and as part of the Statement of Work upon which payment to the vendor was based, we used the results of a scripted demo as our requirement for successful implementation. When we visited the vendor's offices for a demonstration of their product, we had a very specific list of about 300 different function points that we wanted to see - and every one that was successfully demonstrated was required to be up and running in production before final payment was due to the vendor - thus their incentive to deliver as promised. These kind of protections need to be negotiated BEFORE work gets started and contracts are signed, however - simply withholding payment after the fact won't cut it...
Requirements (Score:3, Insightful)
Re:Sfotware Bugs (Score:2)
I'm presuming that your Slashdot posts, such as the subject line, are not subject to your usual high standards!
Seriously, though, I appreciate where you're coming from. I don't think anyone here starts out their career with the ambition of "hacking out barely functional code". No indeed. We all want our code to be the ultimate work of art, lasting for many years, referred to again and again as an example of elegent, timeless code to be emulated by future coders.
Unfortunately, there are deadlines and various annoyances coming in from management and marketing, demanding increasing capabilities in decreasing time. Say "no can do" to those demands is very hard for someone that takes pride in what they do.
Re:Sfotware Bugs (Score:2)
You can eliminate 100% of them, but it'll cost 500 times as much as eliminating 99% of them. If your programmers spend all their time going over their code, that's time they're not spending coding. In the end, the profits missed due to bugs is far less than the profits that would be missed due to shipping late or tripling your work force. So it makes good business sense to just catch the big bugs and fix the little ones as they're found.
Plus, if there were no bugs in your installed base, nobody would ever pay to upgrade.
Re:Sfotware Bugs (Score:2, Insightful)
Re:Sfotware Bugs (Score:2)
Now, add 3rd party libraries that have little documentation and no support. Add the Win32 API. Add broken C++ compilers. Add deadlines. Add marketing breathing down your neck asking you to do the impossible. Add clueless newbies hacking apart your code while you aren't looking. Add "best practices" that end up generating 10x more code that works 1/2 as well.
Now run screaming into the night.
Re:Sfotware Bugs (Score:2, Insightful)
I agree in part, there is no principle reason that software should have bugs. In the process of writing software from scratch or in a team, skillful programmers should communicate their intent well so that there are no bugs. When I write software from scratch I usually have no logical bugs in my code either.
I get bugs in practical situations however. For example in one of my OpenGL demos a certain video card produced a mirrored effect instead of a translucent effect using a certain alpha blending function. I had no logical errors in my code, the same compile runs fine on other boxen, but on certain configs I'll crash the X server.
In another example I can give from work, I maintain a large set of Perl data processing scripts. The previous author left no notes. The code is rife with examples of bad programming... for instance a while loop several thousand lines long starts with a label above it... the while loop is filled with if statements, nearly all of the if statements break to the label above the start of the while loop (but not all mind you). Some of the subroutines called inside the loop return, some call exit, some call modules and libraries.
Amazingly this seeming kermudgen of code has no logical errors in it. The program functions perfectly. I personally think that I am a better programmer now than the person who created the program was at the time they wrote the program and it's dozen or so libraries... however, my boss only knows that I take longer to work on the script and that I create bugs in the software whenever I do. He wonders why he can't get me to work as fast and efficiently as the man I replaced.
There should be no bugs. It's a good idea, so is leaving notes in your code, and not using globals for everything. It is also a good idea for software to have a set of functional goals that are clearly defined so a programmer knows when something is working properly and when it isn't. It is also a good idea to have a definition of what is a bug and what isn't.
The interaction between software components, operating system inconsistencies, and poor communication introduce bugs to software. There should be no bugs, but there should be clear direction for what code does. There should be clear functional decompositions or object oriented designs. In the real world there isn't.
It would be nice if the bossman would stop and let the programmers be free. Instead the bossman keeps us down beating his drum chanting, "faster, faster, cheaper, cheaper!" I can take pride in my work right out the door while one of my coworkers says, "sure I can take over his job, he left such clear notes and perfectly logical code!" And, who do you suppose keeps his job because he is irreplacable? Right, the guy who leaves a kludge and no perldocs.
Don't underestimate the power of typos. (Score:2)
(which can be easily found and fixed), there should be no *logical* bugs.
How 'bout this piece of java:
int clash;
...
public void setClash( int c1ash ){
this.clash=clash;
}
Will compile just fine, but will never be discovered unless you have good unit tests.
Re:Sfotware Bugs (Score:3, Informative)
Tight code.
Today it's easy to leave a kludge or do it in-efficently because I have 3098 teraflops or another insane amount of processing power.. so why waste my precious programmer time and make my code tight?
I believe every programmer should be forced to program for embedded systems... where if your code isnt tight, you're fired out of a cannon at a brick wall (man I miss that gerbil commercial)
Tight code that is bug-free is an ultra rarity today. no matter what OS you run.
Re:Sfotware Bugs (Score:2)
Part of the reason why I feel this way is that I feel that programming is very similar to an art-form. It takes creativity, it takes hard work, even the words we use seem to suggest it's artistic nature ("beautiful", "elegant" code, for example). What artist do you know who is happy with allowing the public to see a shoddy piece of art? Don't be a Code-Basquait and just hack out only just what you can get away with, be a real artist and, at the very least, *strive* for perfection in your work (even if you can't *reach* it, you can *reach for* it).
Let me give you a quick example of the kind of thing I am talking about. I work at a company now that is stubborly trapped in the realm of buggy software. They may be bright people, but their work doesn't show it... But their only *real* flaw is that they can't expand thier minds enough to beleive that they don't *have* to be here. The problem is that the code has been changing over the last two years since they began working on it. It started out as a solution in one market and now has migrated into a completely different field. Of course, such a huge shift has required some pretty signifigant code changes. This code migration has not been a pretty sight... They bungle these changes not becuase there is some fundamental rule that says that code migration has to be a buggy jumbled mess, but instead because these people have been taught to *believe* that it does. They are taught by watching the trials and tribulations of the industry leaders (now might be a good time to mention we are a Microsoft partner) and assuming that if, in doing something, it seems to be "too easy" or straightforward, then something must be wrong.
No code is too complex to re-write the "right way", no matter how far along you have been doing it the "wrong way". No set of legacy data is too large that it cannot be easily, quickly and successfuly transformed to match the specs fo a new platform. No problem is too big that it cannot be solved with careful thought and intelligent choices.
If you don't want to be a code monkey for the rest of your life, don't allow yourself to be used to write poor quality code.
Re:Sfotware Bugs (Score:2)
Re:Sfotware Bugs (Score:2)
Re:Sfotware Bugs (not that I have much to say) (Score:2)
Enterprise applications do not have to be huge, they do not have to be lumbering, bloated slugs. They can be just as tight and quick as your tiny programs if done correctly.
Do we spend less time maintaining Linux? (Score:3, Interesting)
Aside from paying M$ for licenses, is Linux in 2001 any easier to maintain?
If I installed 100 workstations in 2000 (all up to date software/patches/etc.) how easy would it be to maintain them. What if I wanted to install the latest version of Open Office? Would I need to upgrade KDE/Gnome, libraries, the kernel, etc?How easy would it be?
My experience is we spend most of our money on people to support the infrastructure, and things like licenses are small in the great scheme of things? Would I spend any less time maintaining and upgrading my Linux boxes?
Re:Do we spend less time maintaining Linux? (Score:3, Informative)
Proprietary Lock-in Not Addressed (Score:4, Insightful)
The flaw here is that products like Oracle 11i (cited in the article) usual require a large amount of custom development work and intergration. It is also tightly coupled to Oracle's database. Since these products don't follow any standards (either they don't exist, or they are deliberately ignored to lock the customer), all that investment is lost by switching to a competitor.
All the software vendors have to do is to ensure the cost of switching to another product is higher than the subscription + the cost of living with the shortcomings of the product.
It is called proprietary lock-in, and it can take many forms -- business information in MS Word Documents throughout the enterprise, Oracle ERP that requires Oracle DB and custom development, and many many more.
Let's not be too quick to pat ourself on the back (Score:3, Insightful)
The same sort of problem can easily happen with Windows and Linux. What if KDE 3.0 requires a 1GHz processor and 3D graphics card? What if the Star Office developers decide to change the file format and ignore backward compatibility, maybe because they are behind schedule and they can't find many programmers interested in helping out?
The Problem is Software is Too Cheap! (Score:5, Insightful)
If you are going to release bug free products, then you'll simply need to spend perhaps twice as much time, which means half us many new releases.
In other words, you've got to double the price.
Now, just how many CIO's aren't going to seriously consider switching vendors when a software house says they're doubling the price in order to get better quality control...
At least with subscription, the software house no longer has the desperate need to push a product out whether its ready or not.
WHAT operating systems? (Score:2)
Um... which operating systems? How much you wanna bet they just use Linux, and some poor reporter was mislead by the GNU/Linux nomenclature? "Among other OSs, we use GNU/Linux..." "What's that? GNU and Linux? Got it!"
Hehehehe.
Sendmail? (Score:3, Insightful)
Now if they said qmail on the other hand...
Comment removed (Score:3, Insightful)
Re:Encouraging yet frightening. (Score:2)
Re:Encouraging yet frightening. (Score:2)
Yes, that's correct. Of course, with commercial software Alex doesn't get paid for making a web browser, a personal firewall, CD burning software, and a whole host of other programs because Microsoft has already bundled them into their operating system.
The days when the developer could pick and choose what projects they wanted to work on are over. Most of the software people use has become a commodity. Free Software doesn't change that fact, it simply allows smaller development houses the chance to build projects that have some chance of competing with the big boys.
Open Source: I like the people. (Score:2)
From the article:
"So it's in the manufacturer's best interest, at least financially, to make products that need maintenance and that have to be continually improved with successive updates, patches and versions that CIOs pay for up front. In sum, bad software works for the vendors."
' "If software makers see they are losing money to people going the open-source route, then they will change. Until then, it will be business as usual despite appearances." '
This problem is MUCH worse than they are saying.
Microsoft Word, for example, after all these years, still does not have a way to adjust letter spacing on screen. This is required to make headlines look good.
In my opinion, Microsoft Word is quirky and buggy. The fundamental problem may be that the top management of Microsoft doesn't care about Microsoft employees any more than they care for their customers. A lot of the work that comes from Microsoft is sloppy and uncaring.
Open source software solves this problem. You may not get everything you want, but you will be involving yourself with people who CARE. To me that seems to be a good recipe for a happy life: Involve yourself with people who care.
When I use software, I often have some contact with the people who produced it, because I need upgrades or explanations. For me, one of the beautiful things about open source software is that I like the people.
U.S. government corruption: What should be the Response to Violence? [hevanet.com]
Subscriptions Won't change anything... (Score:3, Insightful)
A subscription model does not address one of the bigger problems that Microsoft (and many other companies) have.
These companies take orders from the Marketing department.
Instead of making stable products that work, you have programs that contain stacks and stacks of bullet items and features demanded by the Marketing department. (No matter how nasty it makes things for the programmers or the users.)
And these features rarely get removed.
The advantage with Open Source is that they are not stuck to "getting it out before Comdex or Christmas". The bugs get fixed. (For the most part. The reason Mozilla has so many problems is that it has a HUGE codebase. I am amazed that they can get a grasp on the project itself.) The drive for why a program gets written is different. Open Source programs are written to fill a use. (It may not be your use, but the programmer most likely needed it.) It is functionality driven, not buzzword driven.
Unfortunatly, most CIOs that I have met do not understand what it takes to implement their "solutions". They are not able to figure out that if you are locked in to a single vendor, with no options or abilities to "fix it yourself", if needs be, that the costs to productivity can be enormous.
It bothers me when a decision is made to go with a vendor and then you wind-up figuring out the true cost of what it will take to make it work. (Having to buy an extra license for this, and a license for that, and the extra BDC and PDC licenses, and the extra Exchange box so we can restore the mail spools that get corrupted every so often, and so on and so forth.) You start feeling like you have to keep forking out money just to keep your head above water.
And subscriptions will not make it any better. Instead, if you refuse to pay, then they can just shut you off. (Extortion-ware?) There is no incentive to fix anything. They have you locked in. The only advantage is for the company selling the software. They have a constant revenue stream. They no longer have to worry about "the next big version" to make their revenue for the year. They have a constant stream. There is no incentive to build a better product because you get the money whether or not there is anything new or useful.
And the beauty of the whole thing is that the customer does not own anything. With the current licenses, the company is absolved from any liablility whatsoever.
The customer is just there to pay and pay and pay.
This is the most lop-sided deal I have seen yet. (If UCITA ever gets enacted, you will have even less rights.) And there will be next to nothing you will be able to do about it. (Except for Open Source.)
"When you have them by the software, they're hearts and minds will follow." - B. Gates
Unrelated issues. (Score:2)
In the case of really big, expensive software, this is something that should be explicitly dealt with in contract.
It's when you get to stuff like, well, everything from Microsoft that you get the real problems.
Look at this nonsense with XP.
I predict XP is going to chase a LOT of shops towards linux.
How would OSS/FS apply to "enterprise apps?" (Score:3, Insightful)
Successful Open Source solutions, I think, are general computing applications where the volunteer developers understand the standard requirements of the system in question. Namely, Open Source OS, databases, web servers, email servers, are successful because the developers can all agree on the critical features. They also would tend to agree on what "good solutions" to say, web server functionality, would constitute.
The examples of Lawson and Oracle 11i in question are so called "enterprise applications" or general business applications. Specifically, they discuss Financials & Accounting applications. Let's be clear here, this is not QuickBooks or MS Money level stuff. These are systems designed for "keeping the books" and billing and payments for multi-nationals, conforming to accounting regulations in the EU, Asia, US/North America, and the rest of the world.
My question is, how realistic is it to expect an Open Source solution for a global multinational financial app? Can I really expect the CPAs, international tax experts, the controllers and accountants (who normally make up part of the design team of these financial apps) to join in on the OSS design effort?
What about the other types of "enterprise apps," the manufacturing and resource planning software? The kind of software that, for example, Ford or GM might use to coordinate the sourcing and timing of components from Mexico/Thailand/Detroit? Vendors like SAP (and also Oracle 11i) include these components, designed by programmers, manufacturing shop floor professionals, and "industry expertise." It would be great if someone could prove me wrong, but I doubt Open Source is a viable option in these situations.
It's all a matter of design standards and requirements. Open Source developers know these backwards and forwards for operating systems, web servers, databases, and other general computing tools. When it comes to specialized business apps though, it gets real tricky. The OSS/FS options in these cases are simply not there.
Benbox
A bit misleading (Score:2, Insightful)
Also, the majority of our tech calls are simply because the user is not able to, or refuses to follow the simple directions we make availabe with our software. Those people should pay and pay handsomly for support. Yes, the software industry is full of many rogue companies, but it's not like there is some giant conspiracy in place. And, the users should be held responsible too. If people would stop supporting companies who make crap software and overcharge for it, well then, the problem would take care of itself. Just my opinion of course.
Subscriptions and migrating won't work (Score:3, Insightful)
If they need bug free, no problem! Any decent team of software engineers can create rock solid, bug free code. We simply adopt the same design and manufacturing standards that a company like Boeing has. Sure, it may take years for a word processor to be developed and it'll cost about $250,000 dollars but it will only crash your system about as often as a 747 crashes too. Everyone's happy right?
Wrong! These CIO's say they want bug free but what they aren't saying is they don't want the price to go up at the same time. The extensive testing, debugging, improved up front design work, etc will cost a lot of money and increase the time it takes to get an application out the door as well as it's price tag. Who's going to pay $1000's of dollars for something that's rock solid when they can get it for $100 even though it crashes once a day or has some extra configuration issues that have to be resolved?
There'll be a few that will but if Microsoft has proven anything it that good enough IS good enough. That's how they got their monopoly, by getting the same CIO's to look only at the bottom line and pay modest fee for crappy software.
These guys know it's not good but try convincing the bean counters to spend $1000 for something they can get for $100. Business types can rarely accept the loss of productivity cost associated with the occasional reboot or restart of an application.
Demand Less (Score:2, Insightful)
CIOs want the latest features now and to spend as little as possible. If a CIO would apply the same philosophy to buying a car he would be driving a moped and complaining it doesn't have power steering.
If they want fewer bugs they must be willing to have patience while the software is created. It doesn't matter if it's Open Source, prioprietary or even Microsoft, you will receive what you're willing to wait for.
Cost of Retaining Programmers to Provide the Suppo (Score:5, Insightful)
That's not entirely true. One big consideration in all this is that to provide support for the older products, they must retain programmers who know those older products. They must pay these people to sit around and wait for a support request to come in. If the volume of incoming calls is low, how do you justify hanging on to these people?
You find them something else to do. Probably, since they are intimately familiar with the product, you assign them to working on the new version. When support requests start coming in for the new version, who are you going to turn to? The people who worked on it.
So, now you have these people supporting both the new and old versions. As call volume increases for the new version, which has priority, the old or the new?
At some point, these people are going to lose skills in the old version because of spending so much time with the new version. At some point, you are going to have to decide to drop support of the old version unless someone is willing to pay an exorbitant fee so you can justify retaining and/or training people to provide support for the old version.
This is true for both usage and bug/defect support.
This is where Open Source really makes a difference. How often does a company release the source code to their software, even after they have decided it's no longer commercially feasible to continue providing support for it? With Open Source software, if you can't find someone to support the software, you can hire and train someone to do it for your company. You have the source code available; you can fix it yourself.
One way or another, you're paying for the support. The difference is who has access to the source, and if they decide whether it is worth their time to support it.
Withholding payment would do miracles (argh). (Score:3, Interesting)
The article has a section titled "Withholding Payment: The Brute Force Option". Well, that would really do miracles for solving many QA-related problems. I know. Been there, done that.
Scene: The year is 1992. A computer manufacturer has sold a big mainframe to a local bank. There is a glitch somewhere in the interface between a network driver and a particular model of ATM machine. Nobody cares except of course the bank. No resource is available nowhere to debug the problem. Nobody want to pay for it.
So the bank's boss holds a meeting and tells the computer manufacturer that he will suspend payments on the mainframe until said mainframe could talk to the ATM as promised. The cost of the mainframe: a few millions. The look on the sales guys: Priceless. :-)
It took only a few calls ("he suspended WHAT???") to suddenly find the required resources. Mysteriously, money appeared to send people (me!) and debug the problem. Of course, the manufacturer could have sued the customer, but I am not sure it would have been a smart move. Satisfied customers are nice to have, ya know.
That's why I really think this article is an excellent thing. A Revolt of the CEOs is the only thing that can prevent (some) software to be delivered with swarms of bugs on purpose. It's one more step toward making software a science instead of a black art.
And if this revolt could tip the balance towards open source, so much the better.
Here is a slightly more elegant proposal: Network providers have a garanteed uptime. If your leased line or fiber drops below a certain minimum uptime, the provider starts refunding you. That's a standard clause.
How about suggesting such clauses to CEOs for their critical systems?
This is what I hope we will finally start hearing: "We replaced Sendmail with Exchange. Since then, I barely get any email and MS is paying us." Hmmm.
It's not about the cost of the software... (Score:3, Informative)
An SAP salesman told me that the ratio of license to total cost was 1:8. That's right, they paid $8 in services (implementation/integration) and customisation for every $1 in licenses.
And that's why 'subscriptions' don't work. So, you pay Oracle a fee each year. Great. Changing the system is still prohibitively expensive because implementing a new system is far more expensive than just paying a new subscription fee.
Nor does open source help. (Much). Software that automates business processes is generally designed by people that work (and know) the relevent industries really well. It is a business not a technical issue. These people generally don't want to share their knowledge with their competitors. Or at least not without stock options .
CIOs and the like need to concentrate on:
(a) Getting software vendors to take some degree of responsibility for systems. (Success fees are a good idea.)
(b) Defining exact needs from the start. How many software projects start with... 'i think i know what i want but i'm sure i'll work it out as the project goes on'?
*r
Re:Financial difference? (Score:2)
Not on a project of any significant size, you can't. Sure, for something simple like Apache, you might be able to do it, but just try to get anyone but a superstar engineer up to speed for major fixes on something like gcc, Mozilla, the Linux kernel, or OpenOffice in less than a few weeks per project. Depending on where you live, a week of programmer time might be between $1000 and $3000+ burdened cost. Most contributors to projects of this size have made a lifestyle decision -- it's not a job for paid mercenaries.
Tim
Re:Financial difference? (Score:2)
Not only that, but if those developers have a conscience, they could release their enhancements back to the OSS community.
John
Re:Financial difference? (Score:2)
There is some break-even point there, to be sure, but as you note, it's only at a very large company size (and this is just for bug fixing, not other TCO factors like support and usability). My observation is true for most companies, all but the very largest.
Another exceptional case is when a smaller company primarily relies on only a single open source product of significant size, in which case it may be feasible to keep someone around to work specifically on that product. But in the imaginary OSS-dominated world, this would be the case for no one -- all companies would be dependent on multiple large OSS products.
Tim
Re:Financial difference? (Score:2)
Unfortunately, many non-computer companies think that their computer projects are part of their core competencies.
So, what am I saying: there should be lots of companies willing to spend a few bucks for the OSS effort. But as long as the corporate managers do not understand their own business, it could be tough.
Re:thank heavens (Score:4, Insightful)
Case in point: a user of ours was having difficulties saving extremely large PowerPoint presentations. We tried everything we could to get Office 2000 to corporate (including numerous MS Knowledge Base-suggested fixes). The end result: the only way we were going to fix it was to "upgrade" to Office XP.
Was there another solution? Sure. We could have kept the hacked registry keys and crossed our fingers. The user would have never known the difference. The problem here, though, is what is a "bug" and what's an honest-to-goodness limitation of the current version of the software.
Another point on that note: many of the limitations set aside by developers (in the number of pages a document can have in memory, the number of rows a spreadsheet can include) are forecasted not by them but the limitations of the current technology. Sure, if MS used a less pretty office assistant they can save a few megs for that spreadsheet. But the bottom line is, at the time, developers of older versions of software did not, or simply were not able to, think ahead.
Which leads once again to my question: what's a bug and what's a limitation? That will determine whether people will pay for an upgrade.
Re:thank heavens (Score:2, Interesting)
Yes, but that wasn't the case in your example. Unless you're somehow suggesting that the size of your partition or network share is technologically limited to be smaller than your RAM. If that's the case, you seriously need to look for another career.
Which leads once again to my question: what's a bug and what's a limitation?
That's an easy one to answer, at least in your example.
With the exception of unregistered cripple-ware, if the software allowed you to create the file, it's definitely a bug if it won't let you save it.
Re:Business doublespeak. (Score:2)
who know what they are doing. That has several
disadvantages:
1. Harder to retain => more pay, less leverage.
2. Who wants employees who are notably smarter
than their boss?
I think the latter one is the real reason OSS/FS
has a tough road ahead in corporate environment.
OSS/FS is built on meritocracy while corporations
are usually based on seniority. Can you spell
clash of cultures?
OSS vs CS (Score:2)
Re:OSS vs CS (Score:2)
Re:Why doesn't big business give back? (Score:2)