Open-Source Development 'Faster, Better, Cheaper'
David Hart writes "Faster, Better, Cheaper: Open-Source Practices May Help Improve Software Engineering --
Walt Scacchi of the University of California, Irvine, and his colleagues are conducting formal studies of the informal world of open-source software development, in which a distributed community of developers produces software source code that is freely available to share, study, modify and redistribute. They're finding that, in many ways, open-source development can be faster, better and cheaper than the 'textbook' software engineering often used in corporate settings."
By Tim Copperfield
Raleigh, NC - GNAA (Gay Nigger Association of America) this afternoon announced one of their loyal members was responsible for planting the "backdoor" inside the popular opensores operating system, Lunix (Stocks, Websites).
In a shocking announcement this afternoon, GNAA representative goat-see revealed that the mistery hacker who penetrated high-security defenses of the Lunix "source code" repository and injected viral gay nigger seed deep inside the kernel was indeed a full-time GNAA member.
"This is serious," goat-see began. This is a first event of such magnitude since GNAA opened its doors to new members in 1996. Until now, we were gathering new members by announcing our group information on a popular troll website, slashdot.org, but this is a whole new era. By injecting our holy gay nigger seed right into the Lunix kernel, we will be able to immediately collect thousands of members. "Make the most of the next six weeks," he added. "We will grow in numbers more than you can possibly imagine".
Insertion of the GNAA backdoor came right between the consideration of Novell to buy out the entire Lunix Kernel programming team, and will most likely positively affect the decision. By adding all the gay niggers working for Novell with the gay niggers developing Lunix kernel source, GNAA will be all-powerful and will begin plotting our next plans to add "backdoors" into the next favorite operating system, BeOS.
About GNAA
GNAA (GAY NIGGER ASSOCIATION OF AMERICA) is the first organization which
gathers GAY NIGGERS from all over America and abroad for one common goal - being GAY NIGGERS.
Are you GAY ?
Are you a NIGGER ?
Are you a GAY NIGGER ?
If you answered "Yes" to all of the above questions, then GNAA (GAY NIGGER ASSOCIATION OF AMERICA) might be exactly what you've been looking for!
Join GNAA (GAY NIGGER ASSOCIATION OF AMERICA) today, and enjoy all the benefits of being a full-time GNAA member.
GNAA (GAY NIGGER ASSOCIATION OF AMERICA) is the fastest-growing GAY NIGGER community with THOUSANDS of members all over United States of America. You, too, can be a part of GNAA if you join today!
Why not? It's quick and easy - only 3 simple steps!
First, you have to obtain a copy of GAY NIGGERS FROM OUTER SPACE THE MOVIE and watch it.
Second, you need to succeed in posting a GNAA "first post" on slashdot.org, a popular "news for trolls" website
Third, you need to join the official GNAA irc channel #GNAA on EFNet, and apply for membership.
Talk to one of the ops or any of the other members in the channel to sign up today!
If you are having trouble locating #GNAA, the official GAY NIGGER ASSOCIATION OF AMERICA irc channel, you might be on a wrong irc network. The correct network is EFNet, and you can connect to irc.secsup.org or irc.isprime.com as one of the EFNet servers.
If you do not have an IRC client handy, you are free to use the GNAA Java IRC client by clicking here.
About Lunix
Lunix is an operating system. An operating system is the basic set of programs and utilities that make your computer run. Some other common operating systems are Unix (and its variants BSD, AIX, Solaris, HPUX, and o
Politicians are all the same, they promise to build a bridge even when there is no river.
I wish there was a way for me, as a Christian, as a human being, to sit down with some of you and have a pleasant, civil discussion without bitterness or sarcasm. I don't force people to believe what I believe. I don't mock others with different beliefs. I hope I can find the words to explain myself, as my life goes on. I hope I can help people to see.
I work as a consultant for several fortune 500 companies, and I think
I can shed a little light on the climate of the open source community
at the moment. I believe that part of the reason that open source
based startups are failing left and right is not an issue of marketing
as it's commonly believed but more of an issue of the underlying
technology.
I know that that's a strong statement to make, but I have evidence to
back it up! At one of the major corps(5000+ employees) that I consult
for, we wanted to integrate the shareware version of Linux into our
server pool. The allure of not having to pay any restrictive licensing
fees was too great to ignore. I reccomended the installation of
several boxes running the new 2.4.9 kernel, and my hopes were high
that it would perform up to snuff with the Windows 2k boxes which
were(and still are!) doing an AMAZING job at their respective tasks of
serving HTTP requests, DNS, and fileserving.
I consider myself to be very technically inclined having programmed in
VB for the last 8 years doing kernel level programming. I don't
believe in C programming because contrary to popular belief, VB can go
just as low level as C and the newest VB compiler generates code
that's every bit as fast. I took it upon myself to configure the
system from scratch and even used an optimised version of gcc 3.1 to
increase the execution speed of the binaries. I integrated the 3
machines I had configured into the server pool, and I'd have to say
the results were less than impressive... We all know that linux isn't
even close to being ready for the desktop, but I had heard that it was
supposed to perform decently as a "server" based operating system. The
3 machines all went into swap immediately, and it was obvious that
they weren't going to be able to handle the load in this "enterprise"
environment. After running for less than 24 hours, 2 of them had
experienced kernel panics caused by Bind and Apache crashing! Granted,
Apache is a volunteer based project written by weekend hackers in
their spare time while Microsft's IIS has an actual professional full
fledged development team devoted to it. Not to mention the fact that
the Linux kernel itself lacks any support for any type of journaled
filesystem, memory protection, SMP support, etc, but I thought that
since Linux is based on such "old" technology that it would run with
some level of stability. After several days of this type of behaviour,
we decided to reinstall windows 2k on the boxes to make sure it wasn't
a hardware problem that was causing things to go wrong. The machines
instantly shaped up and were seamlessly reintegrated into the server
pool with just one Win2K machine doing more work than all 3 of the
Linux boxes.
Needless to say, I won't be reccomending Linux/FSF to anymore of my
clients. I'm dissappointed that they won't be able to leverege the
free cost of Linux to their advantage, but in this case I suppose the
old adage stands true that, "you get what you pay for." I would have
also liked to have access to the source code of the applications that
we're running on our mission critical systems; however, from the looks
of it, the Microsoft "shared source" program seems to offer all of the
same freedoms as the GPL.
As things stand now, I can understand using Linux in academia to
compile simple "Hello World" style programs and learn C programming,
but I'm afraid that for anything more than a hobby OS, Windows
98/NT/2K are your only choices.
thank you.
I think a better strapline could have been thought of - this was the same as NASA's, yes ? At least sufficiently similar to attract attention, and then it all went pear-shaped...
:-)
Consipiracy theorists will no doubt don tin hats and say it's all a front to associate Open Source with bad karma
Simon
Physicists get Hadrons!
Thank god we have another study on this topic that concludes that open source development r0x0rs and closed source sux0rs. I'm certain that this one will truly change a lot of managerial minds out there and that Monday morning we'll all come into a workplace that has adopted open source development practices.
Get real, folks, the PHB types have been taking note of all the security incidents in the open source world lately, and at this point you couldn't get them to touch anything "open source" with a ten foot pole.
millennium.
/. putting stuff that matters into future storIEs? (Score:-1, Troll)
this stuff is unbreakable, & wwworks on several (more than 3) dimensions. it's a real nightmare for those involved in unprecedented evile.
creators want compensation for planet abuse/damage? (Score:mynuts won)
by Anonymous Coward on Friday November 28, @06:57AM (#7581317)
not really? they just want US to stop wrecking it/killing innocents.
they're not just kidding about that.
even more to be thankful about? (Score:mynuts won, don't mention the monIE)
by Anonymous Coward on Sunday November 30, @12:01PM (#7592801)
by Anonymous Coward on Sunday November 30, @11:30AM (#7592655)
just kidding?
see also: stuff that really matters/chips ahoya @ a dime # dozen?
eating it/at all? (Score:-1, Troll)
by Anonymous Coward on Sunday November 30, @10:02AM (#7592314)
?eating? in 3rd wwworld countries, for example
score: mynuts won, nothing to buy here?
Posted by CmdrTaco on Sunday November 30, @09:13AM
from the tang-makes-me-ill (how annoying that must be for us, & the folks over at tang.com?) dept.
morons write "What do you think babies aboard the ?other? side of the planet had for Thanksgiving? Roasted turkey? Wrong answer. In "less fortunate" areas, the pateNTdead eyecon0meter tells us, they had little of nothing, and gives details about space in their little bodies, where food ought to be. If the dining view, 200 miles of rough road, is unattractive, preparing 'meals' is even more so. For example, there is no food, so the babies must remain hungry for long periods at +- room temperature. And you need to avoid thinking about this scenario. The real 'stuff that matters' overview contains additional references, and includes directions by the creators, for their/yOUR newclear power, & planet/population rescue initiatives/mandates.
( Read More... | that makes sense )
consult with/trust in yOUR creators... the lights are coming up now in order to assist in the avoidance of overheating the main processor, &, facilitation of the aforementioned ncp/ppr programs/mandates.
for each of the creators' innocents harmed, there is a badtoll that must/will be repaid by you/US, as the execrabilious corepirate nazi perpetraitors of the life0cide against the creators innocents, will not be available to make reparations.
lookout bullow. the daze of the corepirate nazi felon payper liesense stock markup fraud execrable, is WANing into coolapps/the abyss, at the speed of right.
the ?pr? ?firm? scriptdead mindphuking reminds one of last gasper 'bit players', firing blindly into the crowd, & demanding applause/compensation, from any/all survivors.
Textbook soft.eng is about making money and how to prevent from being sued [e.g. you do what you agreed todo].
While OSS development [well freelance stuff anyways] tends to be more about actually getting work out the door. Don't like this particular OSS, fix it or find other stuff. E.g. no pandoring to stupid demands of market droids.
Tom
Someday, I'll have a real sig.
Look at the Gnome project for example, after 7 years of the creation of the GTK toolkit, only now are they developing a decent file dialog for it.
In the context of development, "faster" and "cheaper" are somewhat well-defined, but "better" is simply too fuzzy. There are many qualities which contribute to "better", and some of them are in conflict (e.g. "more profitable for the marketer" vs. "easier to get bugs fixed"), depending on the value system of the speaker.
We need to be more precise in our terms when defending or advocating open source, else we'll appear as silly as the suits that think that programmers that expend more lines of code to produce a solution are thereby more productive (or geeks-who-should-know-better who think that execution wall clock time is the only measure of "efficiency").
Press alt, print screen and b at the same time. Your oh so stable Linux will crash. It may be flamebait to the zealots, but it is also Informative and Insightful, so mod this accordingly.
This is Darl McBride, and I'm here to remind you that I have patented making jokes about SCO.
So anyone who makes a joke about SCO will have to pay me a $699 licensing fee per CPU.
Open source projects attract people who have an interest, and often a talent, for the project. The same can't be said for many corporate projects, where you may be shoveling shit, but you're being paid to shovel shit.
Mea navis aericumbens anguillis abundat
In open source, you can have two out of three.
Faster
In my experience faster != a good thing
Better
Anyone can define their own terms such that something is "better" than something else
Cheaper
You get what you pay for
is the best way to go. Its free and you no licenceing fees. And best of all you don't have bill saying "NO thats my code you can't edit that, the set_bugs=true must be in the code or it won't work at all.
Some software money can't buy. For everything else there's Micros~1
~~~
Not all open-source projects are alike, however. A small number of open-source projects have become well known, but the vast majority never get off the ground, according to Scacchi.
~~~
Open source is obviously faster/better/cheaper when 1000's of people donate their time to a single project. The only open source project I've been involved in was a collaboration among several corporations, all of which wanted to leverage each other's resources, but none of which could really contribute their own.
There's nothing like money to motivate people to work on a project for which people aren't willing to donate their time.
Personally, I'm not convinced speed is related to developer quantity. There's too big a variation in productivity between experienced and amateur developers.
I'm also not convinced open-source is right for all types of software. How many open-source developers you know that conduct large-scale usability tests? How many open-source developers go around interviewing end users? When the developer and product consumer is the same, open-source makes much more sense to me.
These guys are trying to formalise open source development practices and write a new textbook for corporate software engineering. Here's the catch, open source development models work because they are informal, because their is no pressure other than that of your respected peers.
When they're done they may like to do a little research on 'irony'.
This setting wouldn't work most of the time, IMHO.
For open source to work there needs to be a certain public interest in the software, and there need to be developers in the group of interested people. Opening up software that nobody wants to look at or develop further is totally pointless.
A lot of software out there (I dare to argue it's the majority of the software out there.) is simply too boring or to business-specific to benefit at all from open source.
+++ATH0
Maybe a little old but hindsight is better sight.
From my own Web page
PROBLEMS IMPORTANT TO SOLVE
Attention Getting Points
------ FROM ------
COMDEX SPRING and WINDOWS WORLD 95
Power Panel - "What's Wrong with Software Development"
** In The U.S. Only **
$81 Billion = 31% of software development gets cancelled before complete
$59 Billion = 53% of software development has cost over-runs of 189%
16% success - project success and failure ratio
61% customer requested features and functions make it in
Maintenance and repair is where most of the U.S. dollars are going,
instead of new, better, easier to use software.
---- Overall ----
Problems - all-around lack of complete documentation and weak training, faulty user input and feed back - self contradictory user request, lack of project leadership between developers and users, management created problems and low quality control standards, feature creep and software size increase, advancing technology rate of change and lack of general standards, solutions around the corner but never arrive and our tools are better than theirs attitude, lack of a value chain structure for value added abilities, failure to produce a functional model before coding and constant remodeling, etc.
Solution directions - code re-use, object oriented programming, component-based programming, distributed components, better tools, better programming methodologies, leaner software, a splitting of code writer types into two catagories - architects and assemblers, better effort to establish a working vocabulary between developers and users so users can in some way lead development, etc.
---- A Few Comments from Panel Members ----
A culture needs to evolve that respect software engineers as crafts-people. Writing code is not just writing code but like the field of writing where you have technical, creative, documentary, etc., there are different types of code writing. (Authors' note: I agree with this but also realize end users are even more specialized in what they need and do. Respect for the end user needs and abilities is needed even more so. Without respect given to the end user, the software engineer will not be given respect in return.)
A fundamental change in the programming environment needs to happen that allows the tools to work together more. (Authors' note: the panel member making this comment, did not specify what tools or who the tools would be used by. It was a very general comment pointing to a fundamental programming environment change. A lead in to the concept of componet programming. But, there was no recognition given to the concept of componet software or componet applications. At least not in the sense of being outside of "plugins". Read on!)
Jokingly - one of the best ways to copy protect software is to put it in a dll, give it an obscure name and put it in the windows system directory. Because you'd never find it. (Authors' note: This does not make it any easier for the end user in keeping their system organized, clean and optimized. This attitude of constraints, though humorous, cost end users alot.)
The meaning of "intellectual property" became questioned. Did it mean you take the best ideas or something owned? (Authors' note: it was the panel supporting "best ideas" but wouldn't the correct term for this use be "intellectual value" rather than "intellectual property"? What would happen, regarding this, in a court room? The audience member whom brought this up, was a bit angry about the distortion. Her question was: Is it the developers whom are creating the problems? And what are the developers going to do about it? The responce was "that's not the problem!")
Users shouldn't develope software but know, better than the developers, what they want and need. (Authors' note: users don't have the time to write code, it's not their job or duties!!! I can cut the lawn, I know h
Gnome is a popular "open" source "desktop" (read: geek toy) developed by Ximian inc. Unfortunatley, there are some problems, which I will define below. Gnome is a great example on why open source is a bad methodolgy. Ever since Gnome 2.4 was released, I have found more and more gnome zealots who MUST absolutely advocate GNOME at every possible moment. Here is a guide
/gnu/celeron
to some of their claims, and what they really mean.
Unlike KDE, Gnome is free
Translation : GPL is freerer than LGPL. LGPL allows corporations like Novell
and Sun to have propeitry forks and lock away their changes from the user. Now
that Novell has taken over Ximian you can expect Gnome to get put under
corpirate lock. With KDE you have the choice, you either PAY UP or pay with
your source code.
Nautilus is much better than konqueror.
Wrong, if your using nautilus for anything more than a simple finder clone you
can forget it. No split screen, no ioslaves and forget about being able to
have a decent file dialog, not to forget that it is as unstable as hell and is
STILL slow on >3 Ghz machines.
Gnome is easier to use
Yep, nothing like using gconf-editor to edit all except the most trivial of
settings. Want tear off menus? Want a useable file dialog? You won't find it
here.
Gnome has eye candy
Yes, my pirated Win32 fonts with the patent infringing font renderer. Bit
stream vera sans looks like Tahoma put through a shreadder! Of course I still
reboot into windows to print using "Comic Sans MS.
Gnome has a new web browser
Yawb! Along with Galeon, mozilla, thunderbird, konqueror, atlantis, lynx,
netscape and w3m. Yes I need another browser! Not to mention that its got a
religiously offensive name and it dosen't allow bookmark folders. It also
crashes like a crazy! Apple chose khtml for a REASON! its stable and light!
For newbies, Gnome is the ideal choice
Despite the fact that the only mainstream Gnome based distro has been EOL'd,
and all the newbie distros such as Mangadrake, Lindoze, $u$E, Lycoris,
Xandroze, Gentoo use kde default, the Local unix geek showed me Debian, which
installed Gnome 1.4 by default, so it must be good if he uses it.
You KDE guys must be sick of the K
Our G's and monkeys are SO MUCH better, gedit, glib, gconf, bobono, ghex,
gless, same-gnome.
Gnome is themeable
Yep, choose from High, low and medium contrast, default, and clean ice. Wan't
to change the colour scheme? USE GCONF NOOB, plus if you complain about it we
will tell you to fuck off and go back to Windows or KDE.
Gnome has multimedia framework
Its a kludge of esd combined with broken xine libraries. No wonder it crashes
all the time and dosen't work on 95% of video files
My Gnome work station
My 1.1Ghz Packard Bell box my mum bought for me from PC world, that is made of
made to break components, but it has a GEFORCE RADEON 9000 card, so it must be
good.On the other hand, no-one (well, nearly no-one) is suggesting that GTK+
is a replacement for Qt...
Gnome allows mac like operation.
We have a shameless expose ripoff, with a cheezy name. Next thing you know we
will scrap the panel for a cheezy dock clone. Despite the fact that x86
compatible 1 button mice are almost impossible to find, and it dosen't copy
the whole macbar concept. Our auto apply implementation is broken and
dangerous, but you can always use gconf like a real geek.
Gnome is GNU software.
gnu/Yay, gnu/gnome gnu/for gnu/my gnu/debian gnu/linux gnu/500mhz
gnu/packard gnu/bell gnu/box.
Inspired by the gentoo translate-o-matic.
Open source may be good, but there is one example that sticks out like a sore thumb as a problem with open source. Debian gnu/Linux. It is offically the Worst Linux Distribution ever made.
/lib/modules, as you are going to need it.
First of all, Debian has the most out of date software packages of any major mainstream distros. Even in the unstable version, is KDE 2.2 and Gnome 2.0, with Xfree86 4.1 (A version that really sucks).
Secondly, its a pain in the goatse to set up, first of all, you are forced to use Kernel 2.2, which is horribly hacked with "backports" to get any use on any modern machine (Read, made after 1999). Good luck memorizing all the *.ko files in
Configuring XFree86 is hell! If you don't have a Thick X11 orilley book, and a list of your horizontal sync values from your monitor's intruction manual (if you even have one), BOOM! There goes your monitor.
Even then, good luck getting anything over 640x480@16 colours.
The most common response to help questions on the Debian mailing list is "n00b, READ THE FUCKING MANUAL, you idiot, go back to WINDOWS XP if you can't learn to use dselect", true too, search the archives if you think I'm lying. Other distros give you comprehensive PRINTED MANUALS, PHONE SUPPPORT and/or freindly forums where repling RTFM gets you banned!
Debians support for any decent hardware, including USB mice, scanners, Sound cards, heck even Serial devices struggle. If you can even get 80x25 text mode with PS/2 input devices you are really lucky.
Apt-get has many flaws. First of all it uses a non standard package format (the rest of the world uses RPM, deprecate the DEB format!), has broken respetories, and out of date software to install.
And if you think I'm joking about this, find out why THOUSANDS of Debian users are switching to REAL distributions Debian is falling to pieces, if it is to survive any market share it will be through its superior forks (Xandros, Lindows, K/G-noppix) and unoffical package respetories.
Don't get me wrong, I love Linux, and I'm happily using distros such as Mandrake, SuSE, Gentoo and Fedora. But I'm sick to death of zealots that push obsolete Distros on me EVERY FREAKING TIME linux is mentioned. I'm speaking from real world experiance here, My Old packard bell monitor caught fire because of Debian!.
P.S (This is not a troll, its insightful flamebait!)
I really prefer to participate in a project which is open sourced rather than closed sourced.
However, I'd like to know if you fellas know about other dev models that could be better in certain circumstances. Or is it just Open Source vs. Closed Source?
if you are a developer, you don't get paid. As open source places no commercial value on your time, energy and creativity. You are advised to work in a the service industry, in addition to developing a product. Some business model. You need 2 jobs to get one salary.
The only people who got money from open source basically got "lucky" (cough) with stock and uninformed investors during the boom.
I don't deny that some of the software is excellent. It just takes value from the industry that I and many of you work in. (while adding value to other industries, but hey, what do I care about economics).
Mod me as a troll, I dare you.
A big problem with this whole idea of OSS, and then measuring it against traditional metrics, is the issue of motiviation/demand.
In a corporate setting, programmers are coding because "That's my job". People say "I am a programmer". They get paid for it, money, career, fullfillment, retirement, are the goals.
In the OSS world, the motivations are vast. For some its fun. I like to program. Why not give away a piece of my hobby to others? I don't need it. For some its profit. If I write this program maybe a corporate sponsor will back me, or maybe individuals will donate to me. For yet others its anti-someone-else-ism. If I write this it'll be the gutter for Microsoft.
This is all well and good. The problem is that in the first setting it is much easier to get someone to do something hard and unrewarding. Write a device driver for a crappy USB chip? Yessir. Write and update a comprehensive design document? No problem-o.
In the OSS world, there is a glut of people working on fun projects - or projects that are rewarding. You have dozens of people working on chat programs. You have a strong number of people working on projects that will thumb MS in the eye- OpenOffice for one.
But in the OSS world, there isn't a lot of work going into unfun projects - and the work that is being done mostly by corporate sponsors (who can say, again, 'do this' to a programmer for hire).
Examples come to mind: in the closed source world there is plenty of really good desktop publishing software. In the open source world, it's not a fun project. It's hard. It requires lots of industry knowledge. It's a small market and therefore a small pool of programmers. It's unrewarding - you won't have a cult of personality like Linus. Another example already mentioned is device drivers. Even when documentation exisits getting a really nice high-quality device driver is somewhat rare. It is easy to cut corners and implement only what is needed for a specific job.
This is an important thing. A lot of small companies I've seen have been turned off about using OSS as a development model because expectations are high. Just because a product is released as OSS doesn't mean developers will flock to aid the project.
This disparity in motivation can lead to a hard time quantifying results. A project that is fun, high profile, or highly profitable will have excellent results compared to a typical corporate project. A project that is non-fun, not likely to go anywhere, but somewhat more "down and dirty" is likely to fall far far behind commerical development standards.
Why is this biased site referencing non-quantitative studies? I'm sure the developers of any OS would say that about their OS.
Moderate the hell out of this, bitch.
I think they should change their motto to Harder, Faster, Better, Stronger. Much more catchy.
I can definitly believe better and cheaper. I see that all the time with the OSS software that I use (though not everyone might agree with my definition of better). I hear people talk about faster as well, but I just dont see any evidence of this.
Linux, Wine, gcc, Mozilla. They all took, or are taking, a very long time to develop.
Will Someone please mod parent -1 troll (and me so that nobody else finds it) down. It started as a troll and that is exactly what it must be. I sincerely hope that nobody is really that stupid.
Faster and Cheaper go hand-in-hand, but are always the bane of that 'Better'.
Oh well, two-out-of-three ain't so bad.
So, anyone want fast, cheap sex?
My number is, oh, hi honey...no I wasn't gonna...really......crap.
and it'll be a miracle if i'm 1st with that! :p
This is my Sig, this is my Gun. One is for Slashdot and one is for Fun.
The (mid-level) programmer involved just added feature after feature, worked many long nights and weekends and ended up with an unmaintainable nightmare of custom software for the major customer.
I was asked to help with some new features, took one look, and said to myself "no way I'm working on this mess" and spent some time coming up with a more generalized architecture [1].
This time around, the first thing we did was get marketing requirements. We turned this into a functional spec, sent it out to marketing and project management to be reviewed. After that they are going to sign their goddamn names on the goddamn front page of the functional spec, and we're going to build it. If they say "but we need x", we (the engineers) can say "should have thought of that earlier, we can try to get it into the next release in two months [2].
I know it is kind of a CYA [3] approach, but a paper trail puts the pressure on marketing and product management to GET IT RIGHT.
So, sure, the scratch-my-itch[4] kind of development comes up with some very good stuff, but the old-fashoned waterfall (requirements-> design-> implement) keeps people honest (or at least points out what parts of the company need to do a better job).
One more (slightly unrelated) point. Get the GUI in front of marketing as quickly as you possibly can! Those guys can't think unless they have something to click.
-- ac at home
[1] I know it sounds vain. Actually, I'd worked on teams designing very similar systems twice before, so we'd thought out a lot of the details already, so it was easy to see the common vs app-specific parts.
[2] I realize that if a big customer wants feature X by next tuesday we'll have to do it, but it ends up being a failure of marketing and product management, not engineering. We're the heroes, not the villians.
Plus we've got a pretty good idea of how the customer is going to use the system (since we've got one version out there now), so the software will do a lot more than just what's in the functional spec.
[3] Cover your ass.
[4] In some part this project is one. After going through two design phases and having both projects cancelled, I really wanted to put the basic platform together and prove to myself it would work. (So far so good).
You forgot one reason to do open source.
I'm a good programmer, I can write an OS, windowing system, Word Processer, etc all by my self. Well in theory, doing all that alone to even the quality of Windows 3.0 and WordPerfect for Windows (which sucked in those days) is close to byond the time I will live, and in the meantime I don't have programs to use.
When I work in open source I can take advantage of other's work. So I write [part of] the VM for the kernel, while others write everything else to make the kernel work, more others right the libraries and utilties, and still others write my windowing system and word processer. Put it all togather and I have free programs to use, and the ability to change anything. So last year I re-wrote the VM that everyone is now using, this year I can direct my attention to nethack making it even better.
In other words: don't overlook the value of working with others.
"They're finding that, in many ways, open-source development can be faster, better and cheaper than the 'textbook' software engineering often used in corporate settings."
That's like comparing a man on a bycycle to road kill. How about working toward a jet fighter class development process for either OSS or CSS? As of now, either path produces quality software for the market by accident and accretion rather than by design.
Eric Raymond breaks this topic down in "The Cathedral and the Bazaar", and excellent read. the opensource model is proven. the number of successful real-world projects built on the model have been belabored enough. it is the metrics you follow to adapt your particular project to it that matter, and those ,ultimately, lie with you.
I always thought of that... How can open source be more reliable without a project...
I guess the secret is not overspecifying (as it often happens with UML for instance) and building individual, working bricks that can be reused...
Besides, project and implementation often don't go together... I mean, how to deal with different interfaces in a UML description (in the sense of a multi-platform software: MFC, JavaWidgets, GTK) It doesn't work...
how long until
Ummm...I've had many a time were the magic sys key combo didn't work and the magic reset button on the front was the ONLY way to get things back to normal. Linux is nice, but lets not overinflate its capabilities.
No offense to anyone but I would like to see this study done by people who actually 'do' rather than people who just study. There is a big difference in the understanding of large project development deployment by someone like IBM (who does open source) vs someone at some university somewhere who does not have the full grasp of real world project/product development under their belt.
First of all, to be able to compare faster, better, and cheaper, you have to assign a value to the amount of engergy spent on a given project such that the resources expended (i.e. brainpower, electricity, etc) are equal on a per programmer basis. Then you have to create a project that requires multi-discipline engineering so that you are removing the quickie one/two man projects from the equation. Then you have to measure the output of the project on a non-commercial penetration, i.e. not how much revenue is generated but how many copies are in use and how is it beneficial. Additionally you should add the amount of energy from the project(s) that result in failures. Having multiple, parallel projects (commercial or otherwise) with similar goals and having one fail should result in that energy being added to the sum total of the type of engineering being performed, i.e. if three open source projects fail (or merge, or whatever) in order to create 1 that succeeds then the total energy expended has to be taken into consideration. For the closed source, closed project development team the amount of overhead involved has to be accounted for (including meetings, project managers, product managers, etc).
To just use one aspect of project development as an example, like the testing regiment implemented in a strictly closed source, closed development, commercial venture against that of the open source, open project venture you might find that the resources spent on testing are much higher (or not) for the open source project. Having 1000s of free testers (in an OSS project) is all well and good but that does not guarantee accuracy, depth, and efficiency of testing.
(anecdote ahead). I worked for a company that created java applets (put away your flame throwers and read) which manipulated large data sets and high resolution imagery in a browser environment. In order to test these applets we routinely ran them and the back end fullfillment servlets through 40-50 thousand test permutations every time we did a build, we did this with two people running more than 30 workstations. Where are you going to find the discipline to not only set up the tests but run them and generate all the proper reports in the open project community. We are talking about subtle cross browser, cross platform, cross version, even cross language bugs.
Anyhow, its one thing to create an open source project which can be driven by one or two visionaries and requires the input of very few others and another thing altogether to create a large, not so fun project that relies on the input of a large group of disciplined people.
The bottom line is that there is a lot of GRUNT, UGLY, W-O-R-K that has to be done in any large, multi-discipline project and I don't see a lot of that (yes there are a very few) in the OSS/OSP non-commercial community.
when you work on something of interest to you, and you put your name on it, it simply means more to you and therefore you will be more concerned. i don't care how much you get paid, are you going to put your full effort into someone else's project? i don't think so.
My problem? I was perfectly gruntled, until some numbnuts came by and dissed me.
Too many people are saying that open source is only suited to fulfilling projects, or projects that might be used by the developers creating them. But I think your all missing the point.
You're talking about hobby projects. Nothing wrong with those, but they are what they are, and are never going to meet the demands within vertical markets.
But OSS is also valuable for vertical enterprise projects too. That is, you write something that meets your most critical needs in-house, then you (L)GPL it. See how different that is! Your geting paid to shovel the shit anyway, then you save all the other companies in a similar position the leg work, while benefiting your own company.
As we all know, projects always exceed the resources that are alotted to them, regardless of what those are. If you want a job done for $100K then budget $50K and you should do alright. Your company probably needs a tool that does A, B. & C. But given half the chance (resources again) they will shoot for X, Y & Z, and everything else in between.
By open sourcing your own internal non-hobby projects, you get to provide the critical A, B, & C, then publicize it like mad and just sit back and wait for the rest to be developed for you. If another company can use your solution to meet their critical needs without begininng to really spend their own budget, you can pretty much guarentee they will blow the rest on 'nice to have' features that your people would have liked too.
Oh every one loves the fact they can get a free OS or web server right now, but the bit the companies don't yet get is that they have to start the vertical projects themselves. You have to give to get my friend.
-- Dominic
CEO's and CFO's love cheap. They have been looking for a while for ways now to pay their workers less and less and employ less people. Their utimate goal is to find a legal method to make suckers, I mean people, work for free.
Looks like they found it! I never thought in 2003 that engineers would be working for mega-corporations for free.
And the moderators even gave you "insightful" for it... I don't know what's wrong with Slashdot these days...
I liked this story better when I submitted it and it was REJECTED.
it only works well when you have a lot of people interested in actually doing work on the project. More often than not there are a small number of core programmers who may talk infrequently, have no real design or development plan, no timeframes for anything, little to no useful documentation, and are so swamped with support requests that either you learn to live with a defect or the development process slows while that small group of people work out the problem.
Sure there are scenarios where open source is hands down better than traditional software development, but in the average case - I would say that it blows and in the worse case you're better off buying something closed source from someone else.
Open source has some usefulness, but it doesn't need a bunch of twerps from a lame college to advocate for it, presumably while being paid by some corporation that can't outsource fast enough. The limited benefits of open source are evident enough.
Researchers at some major university have completed a 3-year study showing that water is wet!
"73% of quotes on the Internet are made up" -Ben Franklin
Something that people never notice when talking about open source is that the average open source contributor is better than the average commercial developer (self-flattery?):
1) you contribute only if you know you are good because if you are not your part will be thrown away with no benefit for you and for the community (self selection)
2) in general open source contributors are more proactive than average developers and more open minded
3) motivation, motivation, motivation: your pride is involved
Also, more people will read your code, because in a commercial environment, there will be at most a code review with bored people in the room
> How many open-source developers you know that
> conduct large-scale usability tests?
Sun does for Gnome and Open Office.
> How many open-source developers go around
> interviewing end users?
RMS does for Emacs. I know that because I tried to submit some code directed at novice users to Emacs. RMS actually asked some compute-ignorant people to try the code, and came with suggestions to changes based on their reactions.
I think this has already been studied-
The ability of the OSS process to collect and harness the collective IQ of thousands of individuals across the Internet is simply amazing. More importantly, OSS evangelization scales with the size of the Internet much faster than our own evangelization efforts appear to scale. -Microsoft, Microsoft Halloween Doc 1
and you've got the nanotech slogan...
Is it rocket science?
Successful OSS projects have leaders with a vision and who enforce standards. (Torvalds/Linux kernel)
Successful OSS projects are those which many people are interested in. (Linux kernel/Perl)
Successful closed-source projects are those led by leaders with a vision and who enforce standards. (Windoze/Mathematica)
Successful closed-source projects happen because they address a market need and so get funded. (Windoze/Matlab)
In fact, any project succeeds when there's sufficient interest and good leadership.
"Consensus" in science is _always_ a political construct.
This is my first /. post, so Mods be kind ;-)
Software development in general (OSS/CSS) is this strange blend between an authoring craft and highly structured engineering practice. Throw into that the fact that its growing wildly everday, and it causes confusion about what the best practices.
I think that corporate internal projects could be greatly improved by adding OSS inspired practices. However, I don't think institutionalizing OSS for the corporate/market driven world is the end all answer to fixing all of the "users are restless" problems.
kitm
the main point is that open source projects with a large amount of interest, e.g., the linux kernal, will work better given the large amount of interest in all new changes.
A small open source project with a handful of developers will not work for the corporate world since there is too little redundancy betwen developers.
Or else, the sekrit service might not see it!
at!