Debugging in OSS Always Faster
dex@ruunat writes "Damien Challet and Yann Le Du of the University of Oxford studied a model of software bug dynamics, which resulted in a paper on cond-mat this morning. In this paper they study the difference in evolution of number of bugs in open and closed source projects. They conclude: 'When the program is written from scratch, the first phase of development is characterized by a fast decline of the number of bugs, followed by a slow phase where most bugs have been fixed, hence, are hard to find'. Another, perhaps surprising conclusion is that debugging in open source projects is always faster than in closed source projects."
IAALS.
Studies reveal that debugging is easier when you do not strip symbols from binaries!
There are no karma whores, only moderation johns
Ah yes, because we all know that Windows is, in fact, the only closed software in existence.
Forget the whales - save the babies.
what software package do you know of that is bug free? (besides solitare;) )
Debugging is always faster when you have a bunch of viral Linux commune hippies on the job!
In Soviet Rush, today's Tom Sawyer gets high on you.
Another, perhaps surprising conclusion is that debugging in open source projects is always faster than in closed source projects."
Why, may I ask, is this suprising?
Why does it matter if the source is open? The article should be talking about software developed by a team of individuales (including OSS) vs. software by one individual. If the source is open, there may be additional people looking at the sourcecode, but if there are many contributors the source may be a big mess of 50 different coding styles. (can't agree on a single way to splice a string, etc)
--
Getting too much pr0n?
In the open source world, people are more willing to let a project die and be replaced than in close source.
I know when I work on open source, if something is really ugly and needs to be replaced, I do. In a close source world thats often considered too risky and old unmaintainable code hangs around forever.
I wasn't implying that - just that the LARGEST example of closed source in existence... I mean, the bug fixes in things like phpMyAdmin or Apache etc get fixed much faster than things like IIS, Office, etc... probably because the manufacturer feels the need to "batch" updates because they don't allow the user the ability to do nightly updates, or any "non-milestone" updates. When stuff breaks, its fixed and gets sent out to the world fairly quickly...
-Digital Extremist
As with all statistics, you can make them say whatever you want...
Maybe most OSS projects are easier to debug because of lack of features, or smaller scope, etc.
What percentage of OSS projects, on say sourceforge.net, have a version number 1.0? (and are "widely" used). The first one that comes to my mind is MythTV and/or FreeVo. I can't speak of freevo, but mythtv (while being impressive) is still very bug ridden and has been out for over a year.
Another factor is the user group, of course. With OSS I imagine the kernel gets more bugs submitted by users than mythtv, just because the users aren't so much code hackers... they just want to use it.
The one rule in the software engineering is that there are no rules.
no comment
The paper's conculsion seemed to be that debugging open source projects is faster because you don't have a version problem where customers report bugs in code that has already been modified for the next version.
I don't buy it. Many open source projects (ACE/TAO, Mozilla) for instance have large customer bases using non-current versions, and presumably finding bugs. Sure, if you only want to fix the bug in the released version, its faster, but it's not like closed source vendors don't have the source code to their previous release to debug with.
Sure debugging is faster if you always make everyone upgrade to the latest version before filing a bug report. Good luck getting mass acceptance with that.
"Another, perhaps surprising conclusion is that debugging in open source projects is always faster than in closed source projects."
Isn't this a given since you can use a debugger with open source software and step through the code. With closed source, you might step through asm, but that isn't as great.
Not that I've used debuggers much. Anyone have some links to good sites for debugging software?
I'd imagine that one of the most difficult parts of debugging for a large OSS project is dealing with the deluge of bug reports.
What do you want, Windows nightlies?
The very concept fills me with dread.
--
the strongest word is still the word "free"
"Another, perhaps surprising conclusion is that debugging in open source projects is always faster than in closed source projects."
.... is to release it to the outside world)
...
...
I thought that this was the one pro OSS argument that was the least argued; release early and often (since the only way to simulate all the different conditions your software will encounter in the outside world
This is also based on the fact (?) that the hardest part about squashing bugs is finding them
Is this actually controversial? (seems pretty much common sense to me, but I do not do programming as a profession, have I been misled?)
PS
Not to take anything away, it's one thing to have something be so "obvious" as to be "common sense", and quite another to have some data to back it up
We introduce a model of software bug dynamics where users, programmers and maintainers interact through a given program. When the program is written from scratch, the first phase of development is characterized by a fast decline of the number of bugs, followed by a slow phase where most bugs have been fixed, hence, are hard to find. For a given set of parameters, debugging in open source projects is always faster than in closed source projects. Finally, we determine qualitative lowers bounds to quality of Linux programmers.
I have introduced a model of sociological models. For almost all parameters, the sociological model turns out to be complete and utter bullshit.
"And this is my boy, Sherman. Speak, Sherman." "Hello." "Good boy."
The windows implementation still has bugs! Many computers I have played it on (fast, slow, you name it) do the 'bouncing card' thing extremely slowly, while others (seemingly with no relation to hardware speed) run it blazingly fast. Hmm...bug report!
This was a paper written for a class on statistics. It was not a rigorous study. Their findings are based on a lot of assumptions. They have a very small sample set--they only test their model on Linux, fetchmail, and Mozilla. Many people, including myself, consider these the cream of the crop so far as OSS goes.
Before you praise it, I urge you to actually read the paper. Don't be intimidated by it--FUD is FUD, even if it's mixed with a heavy does of greek letters and charts.
I do a lot of coding working mostly with open source products, and sometimes closed source. When I get some bug come up in an open source product, I actually go digging into their code sometimes to figure out what went wrong. If it's closed source I can dig down through my code, but once I hit their code, it's a brick wall.
Frankly this is why I try to stick to open source software when I do development work. Hell of a lot easier to figure out how something works when you've got code and direct access to the developers via a mailing list.
This sig has been temporarily disconnected or is no longer in service
Because gdb is so slow with a realy big project. ...Symbol loading... )
(
Trust me on this, I'm in this situation every day.
Well, I think the explanation for this is pretty obvious.
If you've got open sores, you're going to want to get bugs off of them as quickly as possible. You're also going to notice sooner because it's still bleeding. If you've got closed sores, you might not notice flies buzzing around them near so quickly.
We don't have a state-run media we have a media-run state.
Aren't there more lines of code in the software for the Boeing 777 than in Windows?
-Unless by largest, you mean most prominent?
"perhaps surprising is that debugging in open
.. absolutely nothing.
source projects is always faster"
whats surprising about this?
this is wholly intuitive.
you people
Is it? Not always. Having the right tools and eyes helps. Its not an OSS vs CSS issue. Debugging is debugging no matter how the code is shipped.
A spokesperson at Microsoft refuted the conclusions of two french researchers from Oxford University this afternoon, saying that the business model behind Open Source was flawed anyway, since fewer bugs meant less urgency in updating to newer versions of software where old annoying bugs had been eliminated (only to be replaced with fresh one in anticipation of the subsequent forced release). The spokesperson also mentioned the enormous success of Microsoft's recent Closed Source initiative, under Bill Gates's supervision, to make computing more stable and secure, and finished by indicating that the UK government, who is being turned by Microsoft into a strong Open Source opponent (see recent Slashdot story), belonged to them anyway, and that the "frogs" would be deported to France shortly.
I think OSS is debugged faster, because if you submit a bug report or problem on a project mailing list or bugzilla db, chances are it will be worked on sooner. There are few or no middlemen because you are talking directly to the developers.
This would be the same thing as tier 3 technical support from a closed-source business, which obviously is quite hard to get.
No No.. I wasnt even implying that was possible... Redmond hasn't even come to know and love publically selected mirrors... We are stuck with becoming psuedo world citizens in the sense that we are limited by the fact that everyone else in the world is using windows update... I hated that about windows... now, when I want to update anything - I emerge sync and emerge -u world in Gentoo Linux, and the world rejoices.
-Digital Extremist
No HTML = no read.
Get your own free personal location tracker
Change your graphics acceleration setting, depending on how Windows feels about your graphics card, it may lower the setting.
On some of the lower settings, things like the bouncing cards slow to an absolute crawl, its slowed down to prevent a freeze caused by poor graphics drivers!!!
Are you running sol.exe as your shell? If not, well then that could be the problem...
The unofficial
Well, with an open source project, users have direct access to the code and debugging is going to be faster because, essentially, your community of users is going to become part of the debugging process. With a closed source project, a team of developers is responsible for debugging the program, but with an open source project, the community is able to get involved.
True.
If you read 'The Cathedral and the Bazzar' by ESR he gives some very good reasons for Open Source development being better at bug finding:
1) With enough eyeballs, all bugs are shallow - someone will know the answer, or stimulate the person who does.
2) Users provide better bug reports including line numbers, decent config information, possibly even patches.
To which you can add number 3 and 4 of my own devising:
3) The kind of people who write and use OSS care about security and stability (often to an extreme) and so think that bug fixes are essential not a nice-to-have.
4) Closed source developes have to deal with management and merketing wienies - it's a wonder they even get buggy code out the door.
Beep beep.
It seems that they're comparing models of a software developed with frequent releases (Bazaar, which they declare to be "OSS") against infrequent releases (Cathedral, which they declare to be "closed"). The always better that they come up appears to be based on the release cycle, not the visibilty of the code. (I haven't quite been able to parse how well their theory maps tot eh data they mined from linux and mozilla, though)
all the users use the modified code at time t + 1 and report bugs exclusively on the updated code.This assumes that all the users update their software at every release.
This is completely bogus. Not every user is going to update immediately. In fact, the larger the company is the less likely this is due to their desire to qualify new software. This means as Open Source gets more popular with big companies, the more bogus this assumption is.
The paper also mentions nothing about QA efforts or beta sites on closed source, which are typically on the "immediately updated" products.
I'm not going to argue whether oss is better/worse than closed, but I heavily doubt this paper proves anything other than if you make lots of assumptions you can prove whatever you want.
Give a random developer 200,000 lines of code he's never seen. Ask him to find a bug. Odds are he'll have lots of trouble doing so. When he's finished, will it make any difference if you tell him that the code was open or closed source? A big project is a big project, period.
By largest I meant largest user base .. the users do in fact define the scope of the program (in terms of overall exposure to the world/risk)... not the implimentation.
-Digital Extremist
How come stories like these always seem like they get posted because of zealotry?
No sig for you!!
Real men play freecell
-Digital Extremist
People who use OSS extensively also tend to have bigger penises.
I wonder how much of this is due to programming style. What I mean is, can there be a difference in how easy it is to debug apache (maintained and written by many people) versus an OSS project which was mostly written my one person? I'd imagine that a large number of programmers results in more 'generic' code, rather than the specialized shortcuts that are unique to most programmers. That would make it much easier to debug, IMHO.
what about minesweeper?
..paste the link into a different browser window. We don't want to /. them, however, so here's a snippet of what the link has... 31260 rows of this stuff:
ID Sev Pri Plt Owner State Result Summary
350 min P5 All wtc@netscape.com ASSI PR_ExplodeTime() works only if given a PRTime argument be...
465 enh P3 All dougt@meer.net REOP FTP PORT (active) command support
540 enh P3 All myk@mozilla.org NEW Need feature to edit long description/comments
554 enh P5 All nobody@bugzilla.org NEW Ought to have a "show all recent activity" query.
639 nor P2 All saari@netscape.com NEW we need minimization notifications
753 nor -- All paper@animecity.nu ASSI Combined nsImage* & gfxImageFrame
915 nor -- All table@layout.bugs NEW column style resolution for text-align,vertical-align not...
937 nor P2 Mac sdagley@netscape.com ASSI Support MacBin encoding for FILE uploads in FORMs
972 nor P2 Mac sfraser@netscape.com NEW [FONT MAC] CSS font-weight: all font weights show as eith...
1289 nor P4 All table@layout.bugs NEW Absolutely positioning of table elements [ABS POS]
1334 enh P3 All leif@ogre.com NEW Support for LDAP v3 Controls
1336 nor P4 All leif@ogre.com ASSI Problem managing schemas using PerLDAP
1339 enh P3 All mwyner@netscape.com ASSI New SiteConfig.pm module
1382 nor P2 All leif@ogre.com ASSI Problems with UTF-8 encoded attributes
1388 nor P3 PC leif@ogre.com ASSI dmake/borland C (??) complaining about winsock.h missing
1428 enh P5 PC kmcclusk@netscape.com ASSI DDRAW bits compiled on NT don't display right on 95
1515 enh P2 All dbaron@dbaron.org NEW for dotted borders, want round dots instead of square dots
1570 enh P5 All leif@ogre.com ASSI RFE: Add getOption() and setOption() to OO layer
1574 enh P5 All leif@ogre.com ASSI RFE: new add() and modify() methods/functionality
1721 maj P1 Oth leif@ogre.com ASSI Can't compile/link with dynamic libs on AIX
1763 min P2 PC jkeiser@netscape.com REOP Frame border colours should be specifiable in CSS
1775 nor P2 PC kin@netscape.com NEW stream converters need to implement the new StreamConvert...
1781 nor P2 All kmcclusk@netscape.com ASSI 1px double border invisible on win32 (was: division of sp...
1785 nor P4 All joshua.xia@sun.com NEW prompt on status bar before starting up Java
1996 enh P4 All blaker@netscape.com NEW Support LONGDESC for IMG
2056 nor -- All block-and-inline@layout.bugs NEW display: run-in not implemented
2167 enh P5 All leif@ogre.com ASSI RFE: Add a synchronization method to Entry::
2183 nor P5 PC khanson@netscape.com NEW windows localtime() bug exposed in javascript Date object
2212 nor P3 All table@layout.bugs NEW character alignment not implemented (align=char, charoff=...
2418 tri P3 All block-and-inline@layout.bugs NEW Problems with floating :first-letter
2652 enh P2 All mscott@netscape.com ASSI would like mailbox:// command to work in Navigator window.
2654 nor P2 All sspitzer@netscape.com NEW localPath does not take effect until restart
2657 enh P4 All ducarroz@netscape.com ASSI Intelligent Send preferences should apply to News
2662 enh P3 All ducarroz@netscape.com ASSI Allow "Linked Msg Type" to be Changed in Compose Msg window
2679 maj P2 All mscott@netscape.com ASSI Need to support submission protocol
2705 nor P3 Sun leif@ogre.com ASSI Problems with SHA encrypted passwords
2750 min P3 All harishd@netscape.com ASSI Line feeds after start tags and before end tags should be...
2769 nor P1 All nobody@mozilla.org NEW [LDAP] Auth with bogus credentials does not bind anonymously
2852 enh P3 Sun leif@ogre.com ASSI RFE: Better binary handling
2875 enh P5 All darin@netscape.com NEW Proxy: map HTTP 500 errors to necko errors (so Internet K...
2892 nor P4 All nobody@mozilla.org NEW [LDAP] RFE: Access to a local LDAP server in Off-Line mode
2894 nor
The unofficial
You didn't miss much.
Then explain these open source FAILURES
1) The kweather applet in kde
2) The gtk file dialog
3) the latency in the arts sound sever
4) the lack of support for pci modems
5) the color scheme of games.slashdot.org
The one rule in the software engineering is that there are no rules.
I thought the first rule in software engineering was "you don't talk about software engineering."
Do not read this sig.
1) More people who are looking for bugs.
2) Developers get public exposure and accolades for having good code (it's a pride thing)
3) There is no financial reason to not announce bugs.
4) Development cycle has little in the way of time constraints
5)A lot larger latitude in working conditions
Now, if that makes sense to anyone, could you please explain it to me? I think I've confused myself.
Funny how these guys posted their paper to the cond-mat (condensed matter physics) section of the e-print archive, which, after all, has categories for computer science. The paper has nothing to do with condensed matter physics, aside from the fact that programmers are usually composed of solids and liquids.
I agree too.
Another, perhaps surprising conclusion is that debugging in open source projects is always faster than in closed source projects."
:)
Thats because in closed source projects you have to dis-assemble the binary first!
TeX.
All generalizations are false.
25% Funny, 25% Insightful, 25% Informative, 25% Troll
...but of course there's a difference between not being ABLE to effectively debug something and not caring if you did.
-Looking for a job as a materials chemist or multivariat
the mortality rates are too high
The unofficial
So i went to Tech support and subbmitted bug report #232032 (no link because they banned slashdot).
Heres the responces i got.
After about 50 flames i decided to do "rpm -e mozillabird" and went back to using Opera 7 for gnu/hurd, a nicely crafted browser that is worth the $39.
What the hell was this paper given a subject classification that placed it as a paper on condensed matter physics? It sounds more like vapour to me.
:wq
OT, I know, but I am a newbie and would like to know what the main differences are between Debian and Gentoo.
as do I
Probably depends on whether you are playing on Win98 (extremely fast) or Win2000 (slowed down).
Unfortunetly, I must disagree. Sorry.
You're missing the point. To a user, 'correct' means 'working'. If you write libraries, your users are actually developers, many times middle-men who don't use the application and don't care if it works. These developers may not look for and find problems, but, with OSS, the actual end-users or someone closer to them (sysadmins) usually will.
"I assumed blithely that there were no elves out there in the darkness"
But they're fixed now, make sure to upgrade!
This is completely true. I've emailed Bill Gates many times asking him to fix the bugs in the copy of Windows 3.11 that I'm using, and he doesn't seem to have got around to making an updated version freely available yet!
My apologies to everyone for not using the preview feature.
In Soviet America the banks rob you!
During development the closed source software will only be used by the developers, and in general the developers are not like their end users and may have little interest in actually using the software they have been payed to write. For open source however the software is likely to be available to users from a very early stage and the developers are likely to be active users of the software as well. It would be very surprising if the bugs were not squashed faster.
Once the software is released closed source has the problem that bugs will only be fixed if the producer sees profit in it. Major security bugs will be fixed "relatively" quickly, as they might impact future sales otherwise, but with closed source the producer may not fix known non-security critical bugs if they don't feel like it, and no one else can.
There is also a problem with bug reporting in the closed source world. Who actually reports closed source non-security critical bugs? There isn't a lot of incentive since they may not be fixed anyway and if they are the fix will likely just go into then next version (that could be a year or two away) and you will have to pay for. Also the fraction of the users that do not have a licenced copy are unlikely to report bugs.
Whatever the merits of this particular study's methodology the results are just plain common sense anyway.
Ones a sort of penguin, the other is a frisky debutante dying for a shag (which is a type of bird)
Wibble-Wobble, Wibble-Wobble, jelly on a plate
Successful OSS projects must be well documented in order to survive. Naming variables in an intuitive manner and providing insightful comments isn't about improving your annual review scores, it is about ensureing that others can and will read your code.
Companies like Microsoft need to introduce policies to create the same effect. Code reviews and extreme programming are good examples. They often degenerate into either a rubber stamp or a grudge match between different interpretations of Hungarian Notation.
Their "model of iraqi WMD dynamics" is eagerly awaited.
Timeo idiotikOS et dona ferentes
I would think that core telco software (like AT&T or Sprint) is exposed to FAR more people than Windows.
You only need a phone to access it, not a computer. Many, many more people have phones than computers.
You didn't mean largest user base and you know it.
If you had meant that you would have said that.
Your comment, which was talking about open SOURCE and closed SOURCE, was clearly about the size of the SOURCE.
Quick trying to backpedal, as it makes you look stupid.
Your comment about Windows being the largest closed source program was simply incorrect.
Many eyes can. How many actually do? Unless you're talking about the really big projects, probably very few indeed -- one, I suspect, in many cases.
It's not fair to cite mainstream developments like Linux or Mozilla as the way all open source is any more than it's fair to cite Microsoft's history on things like security and reliability as the way all closed source is.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
This is yet another example of someone trying to sell the OSS agenda. Statistics can easily lie, and I suspect that the person involved in the study was not a neutral party. A more important question is do people on /. EVER find fault in OSS? Surely it can't be a nirvana. Be honest, and get real.
It should be impossible in a sensibly run closed source project as well. If you have a development team whose egos are such that they can't stand criticism and claim unique ownership, you are on the absolute lowest rung of the smart development process ladder. Teams full of such people will never produce good results, whether their source is closed or not.
As with many of the points raised in a thread like this, though, the problem is with industrial development processes and not actually with closed source. In a decent coding shop, no-one has sole knowledge or control of any area of code. In better shops, reviews are routine, and the good guys actively solicit feedback from their peers.
This is just another case (like the "many eyes" argument, and others) where the argument made in favour of open source looks great at first glance, but doesn't stand up to much scrutiny. To date, the most convincing argument I've seen for why some of the big open source projects have generally good code is still that those who do it frequently do so out of interest, rather than just to pay the rent (though certainly most of the work on the big OSS projects is done by pro's these days).
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
How many closed source vendors have source code to IE? How successful has M$ been in making everyone use Windoze upBreaker? Any flaw you find in this model aplies to closed source development an order of magnitude worse.
In any case, I think the paper takes this into account. This is why they have two phases of fixing, fast initial and slow stabilization. Free code is always faster getting to the slow stabilization and is probably faster fixing there as well. Also, we can be sure the Mozilla people have taken version control into account in their automaitc bug reporting software and database. It's just as good to fix a rare old bug as it is to fix a common new one.
Friends don't help friends install M$ junk.
Is that a euphamism for BSODs?
YOU FAIL TO FAIL IT!
Overheard from the Marketing Department:
"That's not a bug, its a feature."
>> What do you want, Windows nightlies?
> Is that a euphamism for BSODs?
Just in case you're not kidding, he means "Windows nightly builds"; it's a reference to the publicly available nightly builds that are provided for some Open Source projects, such as Mozilla.
Shit! I've mispelled a word on Slashdot. I'll burn in hell for sure.
Any paper that concludes that one method is "always" better than another is almost certainly wrong. Be happy slashdotters, you can get away without reading the article this time.
Open source is real, it is here, and it works. This sight is of course going to be filled with advocates of open source because it is part of the open source community. Open source in general has no universal agenda that is being "sold." Though slashdot is not quite a serious site, I doubt that they would post biased studies and false statistics (besides the polls). OSS is not nirvana, though Free Software comes closer. It must be acknowledged that there are universal problems with software development that cannot be solved with either OSS or proprietary methods. If you look closely at the history and accomplishments of OSS/Free Software then you will see its value. Not everyone is rich enough to buy quality proprietary software, nor does everyone want to do such.
AntiRight, download now!
Windows nighties would frighten me even more. Imagining Craig Mundie modeling one of those would be enough to turn me off from sex for the rest of my life.
" Not always. A more likely explanation is the 'many eyes' that can review the code."
I went to a speech by Gene Spafford here a few years ago, when the subject of Linux code quality versus other systems (especially MS) came up. Someone mentioned Eric Raymond's "Thousand Eyeballs" theory, that more people looking at the code ensured better quality.
Spaff responded "that does no good if those thousand eyeballs are looking at things like networking your toaster instead of quality and security".
I don't think this point is emphasized enough. It's not enough that lots of people are looking at the code. You need lot's of people with training, expierience, and an eye for problems to look at the code. He pointed out that one of the biggest problems in development is that while people can learn C from a book, and even get good at it, they don't learn proper software engineering techniques, philosophies, and debugging skills that way.
In short, simply being open source and having lots of developers isn't a solution in itself.
Life is hard, and the world is cruel
Seriously, grab gnat, go to http://www.adahome.com/ and read a tutorial or two, and start writing reliable, readable, and reusable code in the amount of time it takes to read through the tutorial.
"Though slashdot is not quite a serious site, I doubt that they would post biased studies and false statistics (besides the polls)."
*COUGH*
I've been reading and posting to slashbot since 1997. You're obviously very new around here.
There's very little that is posted to slashbot relating to Open Source that shouldn't be picked up with a doggie doo scoop.
I can TRULY understand the advantages of OSS. But there are 2 disadvamtages that really put a damper in going that route, especially if you are trying to be in the business of selling software.
1) Competitors. If anyone can see your code, so can your competitor. It's always easy to improve on something when someone else already does the heavy lifting. Why should I spend $$$ on coding and have it OSS when my competitor will turn right around and see how I did something instantly? That right there destroys my investment. I'm in business to make money, not to help my competitor. Someone give me good reason why I should pay to help my enemy.
2) Customer support. OK, my app is OSS. Some guy codes an derivative, and then releases the changes. Mr. Slashdot user (who has actually bought a licenced version from me, *gasp*) compiles it and has trouble somehow. He decides to ring ME up. This costs me money. Why should I have to waste resources now to screen who has trouble with my product, and who has trouble with a derivative not made by me?
Two of the three open projects you cite also happen to be bigger than most projects, with more developers working in || at the same time than most projects. Does that help them? Read "the mythical man-month" for the answer. (Hint: no).
You have seriously misread The Mythical Man Month, to the point of absurdity. The Mythical Man Month does emphatically not claim that more people can't do any more then fewer people.
What it says is that programmers are not interchangable, and as a result, adding programmers to an existing project will not get a 1-man-hour to 1-programmer-hour gain. While the old programmers are training the new programmers, and while the communication overhead increases, and while the new programmers are not yet settled in, productivity may fail to increase or may even decrease, over the next few months.
However, once the new guys are settled in and assuming a decent organization, the new organization can indeed move faster.
The Mythical Man Month's main point is to avoid treating programmers, or perhaps more accurately programmer-hours, interchangably. The conclusion based on that is the somewhat more famous part about not adding manpower to a late project because it will make it even more late.
Most strong open-source projects, and probably all the ones in this study, have a strong group of core people who are intimately familiar with what they need to know to continue improving the software. Other people may drift in but will find it difficult to contribute code back. (Seriously, just try to get a patch into Mozilla.) The Mythical Man Month does not apply to steady-state teams of people, only growing ones.
So yes, larger teams help those projects create their large software products. Go look at how much code is in Mozilla; no matter how wizard you are, I don't think a small team of people could even type that much code in anything less then a couple of months. How else do you think they could do it but with a large team?
I think those are probably fossil practices left over from pre-Internet days.
It is important to shield the developers from telephone calls and visits from the customer, because otherwise the developers will get nothing done, not necessarily because they have no time (time_in_day - time_dealing_with_customers may still be large), but because they are constantly being interrupted.
As long as the developer has discipline and the customer realizes that the answers won't be instant, though, there can be great value in having email access to the developers, for both parties.
Hopefully more companies will modernize their policies soon.
I then boot to Linux and port my code. I've been writing portable code for half a decade, so I know what I'm doing, more or less. But, I can get more work done with Visual Studio, faster.
In case it makes a difference to your perception, I write end user apps, sometimes with heavy graphics requirements and GUI frontends.
Due to the nature of my work, I can't rely on masses to test everything before I ship.
/.
Duh. It's *starting* the Open Source project that's harder, not debugging. Debugging the code is one of the few unequivocal wins for OSS.
You can start any prop codebase you want by just throwing money at it. OSS has to be either *needed* or *interesting*.
--Charlie
Water is always wet!
"See, our model indicates that when you first start debugging your code there is more bugs than when you are almost finished. At which point the bugs the remaining bugs tend to be more difficult to find (less obvious), due to the fact that you have not found them yet. Furthermore, our models suggest that when working with a larger more diverse group of people, testing/debugging is accelerated.
;-)
Nah....
What we have now with OSS is pretty much existance proof that it can work and a fuckload of anecdotes. We have exactly the same thing for closed source. The relative merits are going to take decades if not centuries to work out.
When someone might yell at me, it has to be OpenBSD.
Yes, open source users can take advantage of patches for newer versions sometimes. This doesn't obviate the need to support users of of older versions. It doesn't make debugging the problem faster.
I'm not saying there aren't advantages to open source. I'm just saying that the authors of the paper have done a poor job of proving faster debugging is one of them.
That is OK, we all have our own opinions.
The fact that OSS debugging is faster is no surprise at all. You want to see some slow debugging? Try working in a osftware company for a while, and you will understand why closed source is much slower.
/* let's see how long it takes them to find this one */
:)
The real reason are office politics, people who don't want anyone else to know what they do, and people who are busy skiving away their time.
It is an unwritten rule and unspoken truth that most closed source developers believe they have manegement by the short-hairs and that no one can see through waht they are saying. Not true, but people believe perception is reality, so it goes on.
I personally know of cases where developers purposely put bugs into software just for a little job security. I am not saying that is the norm at all - for most it certainly is not.
What is the norm is the obfuscation of time, effort, and code availability. That is almot truly ubiquitous. In other words:
1) We might be able to take a look at that some time in the future, but it could take significant time to debug that, and I am rather busy at the moment
2) That would take two to four weeks to correct. Divide by a factor of ten here if not greate to reach the truth (two to three hours or days even).
3) You can't see that code (to company employees trying to support a customer)
That specifically is why debugging takes longer in the proprietary world. There are artificial barriers to correcting mistakes. Those barriers are there for job security, and having little, if anything, to do with protecting intellectual property.
They usually cover up those fun little comments in code like:
or
# putting this line in because he keeps insisting
# that this wrong, when I know it is right
or
* This function makes a nice screen appear
* it doesn't do anything really
* but it seems to make Bob happy
or
* DOS isn't finished until Lotus 1-2-3 doesn't work
You get the idea. Ask a Product Manager about comments in code and they will shake nervously if you ask to see them, or just flat out deny you that access.
Open source code has funny comments as well (some very famous ones in fact), but at least it is open for all to see and make changes easily.
I am not saying that goes on where I work now, but I have seen it happen all too often in the closed source world. The ideas expressed therein are not necessarily those that the companies would want to get public attention.
The code isn't "clean enough" or "good enough" for public consumption.
Just something to think about.
All Ad hominem replies happily ignored as the sender shall be deemed to lack the faculties to comprehend the equation.
Welcome to Slashdot!!!
Right. That was my point from the beginning. If communication overhead grows at (n log n) and the study consistantly picks bigger OSS projects than closed projects, then the OSS projects should theoretically have more problems quashing bugs. That's my point, not very deep at all!
Gdb 5.0 had some unprototyped functions with type errors.
:-)
It itched me so I scratched it.
Try doing that with a closed-source product
http://www.openbsd.org/goals.html
any of those goals should suit your needs
vodka, straight up, thank you!
Oh, I remember him. Talk about clueless! On a bad day he could barely remember his own name. :-)