Linux-Advocacy Digest #912, Volume #25 Sun, 2 Apr 00 11:13:06 EDT
Contents:
Re: Linux vs Windows development man-hours? (Robert Morelli)
----------------------------------------------------------------------------
Date: Sun, 02 Apr 2000 08:14:26 -0400
From: Robert Morelli <[EMAIL PROTECTED]>
Reply-To: [EMAIL PROTECTED]
Subject: Re: Linux vs Windows development man-hours?
Erik Funkenbusch wrote:
>
> Robert Morelli <[EMAIL PROTECTED]> wrote in message
> news:[EMAIL PROTECTED]...
> > > Your stated goal is to determine how many man hours are going into Linux
> > > versus Windows. Not "How many man hours are going into Windows-like
> > > features in Linux". As such, one would have to count all the work being
> > > done for Linux, not just the work done that is similar to work done on
> > > Windows.
> >
> > No. The goal is the "bottom line" which is which system will evolve
> faster.
> > The only way to estimate that is the estimate how many man-hours are going
> into
> > corresponding features. If 5 times as many man-hours go into features
> X,Y,Z, ...,
> > under Linux, it will probably evolve 5 times as fast. I'm not referring
> > specifically to features that emulate Windows. X is not a Windows-like
> feature of Linux,
> > but it is part of the GUI which corresponds to the Windows desktop.
>
> Evolution is going to have branches on each side. For instance, nothing
> like MAPI, TAPI, or DirectX exists for Linux. Comparing only similar
> functionality is meaningless to the "bottom line" as you put it.
You still don't seem to understand the question. If Microsoft programmers are
working on features that Linux doesn't have, then that's man-hours for Windows
with no comparable man-hours for Linux. Since you seem to be struggling with this,
let me make it entirely clear: if that's the case, it's favorable to Windows.
Mind you, I posted this question because I want a real answer. I would find it
very depressing to think that Windows will survive long term against Linux and
other open source projects, but if that is a reasonable expectation, I'll
accept it. I'm pefectly willing to include aspects of Windows that are still
unmatched under Linux.
> > > The real problem here is that many of the things "for linux" are also
> > > developed for *BSD's, Hurd, etc... Very had to pinpoint.
> >
> > Again, think of the bottom line. I'm trying to measure how fast Linux
> will evolve
> > compared to Windows. I don't care if something is used also for another
> purpose.
>
> Well, we can look at the work that has been done. Linux and NT started at
> about the same time, yet NT is far more mature than Linux in many ways,
> Linux in others. SMP for instance, as has been proven. Yes, I know that
> Linux's SMP has been improving, and that 2.4 has made great strides, but no
> benchmarks have yet been done to prove that.
It is obvious that NT developed faster and had a much larger team in the early
days. NT began with, I think, a team of about 300, while Linux began with
a team of 1. I wouldn't have even asked the question 5 or even 3 years ago.
However, in the past 2 years, there has been an explosion in the Linux
community, with no apparent counterpart in Windows. I recently attended
a presentation by someone on the openBSD team, which is tightly organized.
OpenBSD development has been following a clear exponential growth pattern for
several years. OpenBSD is generally regarded as much smaller than Linux,
but in terms of contributors, the OpenBSD team is now comparable to the original
NT team. About 200 people have privileges to write changes to the basic OS
components (thread support, file system, etc.). An additional 1000 or so also
make regular contributions by submitting them to one of the 200. This doesn't
include anyone working on higher level functionality like KDE, which is easily ported
over from Linux.
Another clue is the rate at which Linux is acquiring automatic hardware detection
and easy installation routines. This must obviously be counted as a point of
comparison. Even a year ago, Windows would have mopped the floor with Linux on
this issue. Some people I know who use (and like) both Windows and Linux have told
me that the newest Linux installers are smoother than Windows and are actually better
at detecting hardware. I personally have my doubts about this question, but the mere
fact that it's debatable is significant. It is quite plausible that if this is not
yet the case, it will be so in the near future. Back when Win95 was being developed,
Microsoft coerced large numbers of hardware companies into supplying them with
exclusive information about their devices. Even with this information, it was a
huge problem for Microsoft to get anything like plug and play to work right.
It's stats like these that make the question interesting for me. It seems
plausible that the Linux community will soon surpass the Windows team, and it may
already have happened.
> > > No. This falls back to one of my complaints that has been discussed
> before.
> > > Redundant development slows down the evolution of Linux. You should
> count
> > > redundant development, because it's still man hours that are being spent
> to
> > > "get there".
> >
> > No. Again, think of the bottom line. I don't care per say how much
> total time
> > is spent. I care how fast the Linux code base evolves. If two people
> spend 50 hours
> > doing the same thing, only 50 hours of work is added to Linux even though
> 100
> > hours of human time were spent.
>
> Not true in the slightest, since they are *NOT* doing the exact same thing.
> They're doing similar things differently, and work from both will be used in
> other projects down the line.
>
> What you seem to be doing is trying to concoct some mechanism by which to
> say "See, Linux development is happening much faster than windows!" if you
> throw away this and that and combine these statistics and ignore those other
> ones.
You are so confused about this that you don't realize that I'm trying to *reduce*
the number of man-hours that count toward Linux. I'm trying to count 50 hours
while you're trying to count 100. I want a true measure of comparison, and all
that counts is how fast base functionality for Linux is evolving compared to Windows.
Your confusion may be that you are thinking in terms of efficiency. You may want to
argue that it takes more man-hours to get something done for Linux than for Windows.
I consider that obvious. If we don't count efficiency, Linux obviously outweighs
Windows by a huge margin. I'm trying to count how much actually gets done, not
how much time is spent doing it. There are advantages and disadvantages to
having multiple parallel development, but that's a whole different debate.
> > > Microsoft has some of the brightest people in the world working for
> them.
> > > Take a trip through research.microsoft.com for an example.
> >
> > It's only been in the past couple of years that Microsoft has tried to
> establish
> > pure research labs. For them, it's an afterthought and a publicity
> stunt, like
> > the philanthropy that also only began recently. Companies like IBM and
> ATT have
> > always had a strong focus on fundamental research. This difference is
> very
> > significant in terms of production. IBM and ATT were both once
> monopolistic like
> > Microsoft is now. But at least IBM has contributed countless innovations
> in everything
> > from CPU design to database technology. Microsoft is a monopolist, but
> it hasn't
> > redeemed itself with innovations. Whatever people they may have hired for
> a showcase
> > research lab in the last couple of years aren't a factor in the
> development of Windows.
>
> How long did AT&T and IBM exist before they began to become more research
> oriented? Probably a lot more than the 20 or so years that MS had existed
> before starting on that path. Something you fail to realize is that
> research heavy houses have to have money to support the resource drains of
> research. I've heard statistics that less than 1% of all IBM research ever
> makes it to market.
I think you're wrong about the more than 20 years figure. The computer industry
began in the late 40's. At the time, of course there was no existing technology,
so IBM was forced to start inventing it. In all the years since then, IBM has
continued to do fundamental research in every aspect of computer techology. It
has been remarked that IBM starts with sand, and produces enterprise wide
computer systems. IBM has also done a lot of other pure research, like Nobel
prize winning work on the scanning tunneling electron microscope, which uses
quantum mechanical principles to image objects on atomic scales. Another of many
things that was done was the groundwork for SGML, which was already begun in the
60's. IBM has indeed been criticized for not getting their technology to market,
but I don't know why that's relevant to the discussion.
IBM took over the computer industry in the 50's by very effective use of a powerful
sales force and marketing, but that didn't stop them from being a heavily technology
oriented company. There is a very sharp difference in philosophy at Microsoft. If it
were just a matter of degree, it would be debatable. But the fact is that Microsoft
has
not contributed any fundamental technology or innovations of any kind in any aspect of
the computer industry. They didn't do it, and they didn't try. It wasn't their
business
strategy. Their strategy was nevertheless very successful from a business viewpoint.
If you are indeed an admirer of the company, you really shouldn't deny this point. If
there is anything intelligent in what they have accomplished, it is the deliberate
strategy of being very conservative and focusing entirely on maximizing market share,
while competitors are slowed down by grander visions.
> > > Remember that MS-Dos had several overriding factors. It had to be
> backwards
> > > compatible, And it had to run in a 1MB architecture.
> > >
> > > Even so, MS Windows 1.0 was released in 1985, a mere year after MacOS.
> > > Windows 95 was 11 years after MacOS, not 15. And you must realize that
> > > Microsoft had legal contracts with Apple that prevented them from doing
> many
> > > things for quite some time (for instance, Windows 3.x didn't have a
> trashcan
> > > because of contracts MS had signed with Apple 5 years earlier).
> > >
> > > You cannot look at the effect and say "They must suck" because you don't
> > > know the factors which led to the situation. Given the strangleholds on
> > > them, the developers of Windows 95 *WERE* geniuses to be able to make it
> > > work as well as it did.
> >
> > The entire Mac operating system and hardware platform were developed in a
> few years
> > in the early 80's by Apple. At the time Apple was in a precarious
> condition
> > financially. When the Mac came out, Microsoft immediately announced that
> it would
> > release a similar product within a few years. They probably really
> thought that with
> > more money and programmers they could do it. Even at that time, MS had a
> great
> > deal of influence; the PC was already the standard for business. If you
> recall,
> > at that time MS already forced Apple to abandon its own implementation of
> BASIC
> > and strong armed them into agreeing to allow MS to use Mac look and feel
> concepts
> > in Windows. But Microsoft had money, they had warm bodies sitting in
> front of
> > keyboards, but they didn't have the talent. Windows 1.0 was a
> ludicrously inept effort,
> > whatever far fetched excuses you concoct. It couldn't even overlap
> windows, not because
> > they were bullied by a much smaller Apple, but because their bit blitting
> algorithms were
> > too inefficient. Windows 1.0 wasn't Microsoft's only fiasco at the time.
> They tried
> > to write a spreadsheet, but it was too slow to compete with 1-2-3. They
> tried to write
> > a database called Omega, but after spending 20 million dollars, they
> gave up. Microsoft
> > tried to downplay the project, because nobody can explain why Omega
> failed, apart from
> > programmer incompetence. They tried to compete with NetWare. But,
> NetWare was so
> > much more efficient that it could access a network drive faster than DOS
> could access
> > a local drive. They couldn't write decent compilers for their own OS, so
> Borland
> > stepped in to fill the gap. ...
>
> They were much smaller back then. In the early 80's, they had less than 100
> employees. IBM had 10's of thousands and they couldn't even write their own
> OS for the IBM PC.
I don't have exact figures over the years, but I know that Microsoft already
had more than 100 employees in 1981. There is a traditional annual meeting at
Microsoft, and the 1981 meeting was attended by more than 100 employees,
according to an article I have.
IBM's outsourcing the OS for the PC had nothing to do with manpower or ability.
They could have easily written it. In fact, they had a fairly large team that
drafted the specs for Microsoft to work with. The fact was that they were embroiled
with the DOJ over anti-trust issues, once of which was bundling IBM operating
systems with IBM hardware systems, thereby locking out software competitors.
They outsourced DOS to appease the DOJ.
> The Macintosh was such a screwed up architecture, that it took them 15 years
> to come up with a fully pre-emptive OS, and even then they had to buy it
> from NeXT. Apple researchers spent the better part of a decade trying to
> write a new pre-emptive MacOS. They failed over and over again. Meanwhile,
> Microsoft converted it's co-operative OS to pre-emptive in just 3 years.
> And it became quite successful at that.
>
> > For another comparison, consider the Amiga. The original Amiga team had
> only 4 members.
> > The first commercial Amiga release was in 1985, after only a couple of
> years of development
> > with a very tenuous financial situation. All the way back in the mid
> 1980's the Amiga
> > had preemptive multitasking, multimedia features like digital multitrack
> sound, and high
> > color depth. It was a graphical system that shipped with a mouse and
> could display windows
> > at different resolutions on the same screen (which Windows still can't
> do). It could also
> > load and unload drivers without a reboot (which Windows still can't do).
>
> While it's true that Amiga began with 4 members, it certainly didn't come to
> market due to the work of only 4 people. It was many more. In fact, at the
> time of the investment by Atari (1984), they had something like 20 people
> onboard. Although much of the Amiga's OS was written by a few people. And
> some of it was bought wholesale (such as AmigaDOS (note the D)).
>
> > Similarly, the OS/2 Workplace Shell, which is still better than the
> Windows desktop,
> > was developed by a small team in about a year.
>
> A shell is hardly an OS.
>
> > At the time Win95 was introduced, Microsoft spent more than 500 million
> > dollars on just the marketing for the product release. The company had
> billions of
> > dollars and hundreds of programmers working on the task, which was simply
> to implement
> > what had long since become standard operating system features.
>
> But, they had to be implemented in a backwards compatible way, or at least
> as backwards compatible as possible.
>
> > You think the MS programmers *WERE* geniuses? Sad to say, I pity you. I
> am a researcher
> > in pure math and I know some of the most brilliant researchers in the
> world in that field.
> > It's hard to convey to someone who doesn't know, the kind of depth and
> creative power
> > the best human minds are capable of. If you think that a team of software
> mercenaries,
> > hacking an imitataion of the Mac 15, or 11 years late, are geniuses,
> there is something
> > missing from your experience of life.
>
> Anyone can come up with a cool idea from scratch and implement it. But if
> you need to adapt one crappy product into your cool idea while maintaining
> backwards compatibility with the crappy product, that's not anywhere near as
> easy.
I'm curious. Have you ever written software or been engaged in other similar
kinds of creative work? Frankly, your remarks don't sound like they come from
someone who has. It's a virtually universal attitude that implementing existing
ideas is relatively easy, but people with genuinely new ideas are very rare. It's
the difference between someone who studies enough in school to be a competent
musical arranger, and the rare gift for producing good melodies.
> The point you seemed to miss from my statement was that *GIVEN THE
> RESTRICTIONS* that the Windows 95 programmers were under, it's amazing that
> Windows 95 worked as well as it did. It's truly amazing.
Even if it were amazing, it's no act of genius. It's the sort of thing a company
with lots of many and a large number of drones can do. In any case, IBM's version of
OS/2 came out years before Win95 and it had very good support for DOS programs and
quite
good Win31 support. It was in fact an embarrassment for Microsoft that for a number
of
years, OS/2 had better backwards compatibility than did their own NT and Windows 95.
You also need to count the fact that a huge third party software market assisted
Microsoft in this job. Hardware companies were forced to make their drivers work
as well as possible. Software companies had to work around problems in the system
to make their products work. Companies like Symantec based their business on filling
the gaps in Microsoft's work. Because of their monopoly status, Microsoft had
captive third party support.
> It was a feat that Apple (who you seem to idolize) was unable to do for any
> cost.
First off, you're point is ass backwards. The compatibility problem MS faced was
minor compared to the feat Apple is pulling off with Next. Next is a UNIX based
system, and is about as different from MacOS as anything in existence. For Apple
to smoothly move its entire system on top of Next is a more impressive feat.
In any case, I don't idolize Apple or excuse them for their multitasking ineptitude.
You have forgotton a key part of the story though. First, Apple deteriorated
after Steve Jobs left. Jobs' Next system appeared in the 80's, and like every
other OS other than Microsoft's, it had a nice GUI interface. Next of course also
had lots of other neat features. I knew someone who was writing algorithmic computer
music on a next using a home grown program built out of a well designed component
architecture, back at a time when showing colors on a PC and getting a mouse to track
smoothly were high end acheivements. In short, Next had both vision and competence.
Apple also initiated a project called Pink in the 80's that they expected to be the
successor to MacOS. Pink was a very ambitious project that would have gone far
beyond the mundane vision of NT. Unfortunately, Pink got caught up in politics
with IBM, and at the same time as Apple started going into heavy financial losses
and Win95 became a big commercial success. It wasn't possible for Apple to
complete Pink without going belly up financially.
> > > How fast they grow has nothing to do with "maintaining a consistent
> level of
> > > competance". Microsoft has one of the lowest turnover rates in the
> > > industry. They recruit and keep people, that's where you competance
> comes
> > > from.
> >
> > How fast they grow determines their demand for warm bodies. When you grow
> too
> > fast, you end up having to pluck people out of the subway to fill that
> demand. I
> > think that was a serious problem for them in the 80's. I venture to
> speculate
> > that that had as much as anything to do with why the Amiga's four cash
> strapped, but
> > creative, develpers could do in a couple of years what took hundreds of
> Microsoft
> > drones a decade.
>
> Microsoft hires less than 1% of all the people that apply for them. They
> have over 3,000 open job postings, yet they are still very picky about who
> they hire.
Where did you get that figure? In any case, I am highly suspicious of the
significance of a stat like that. For one thing, Microsoft is notorious for
the illegal practice of treating people who work full time like part time
employees, to avoid paying certain kinds of benefits. They probably don't
count those "part time" employees as hired. Also, a high profile company
like Microsoft will get more applicants than a less known company. Still, when
you have 3000 open positions, you're going to get the kind of people you get
when you advertise in a newspaper. You're not going to get the quality of
people who found their own company.
> > A company like Microsoft has lots of cash, so they can entice some good
> people with
> > that. But in general, the most creative people aren't going to want to
> be herded,
> > and they aren't going to want to sacrifice their legacy for a salary.
> They'll tend to
> > move out on their own. Many of the people on the NT team are now wealthy
> from stock
> > options. That's enough for some kinds of people, but not all of the most
> creative.
> > There is a big sacrifice in devoting your career to something like NT. NT
> is a commercial
> > success, but it lacks the kind of philosophical implications of something
> like Linux,
> > and as a creative and technological effort, it's an embarrassment. The
> people who've
> > contributed to the development of Linux gain more in their historical
> legacy. Those people
> > took part in something that is changing the software paradigm, and their
> work will have
> > a more fascinating place in the history of the world. That's the sort of
> thing that
> > drives a different kind of person.
>
> You call Linux creative? All it's doing is recreating an OS that's been
> around for 30 years. Name something creative that has come *SPECIFICALLY*
> from Linux that has never been done on any other OS.
I don't see Linux as a particularly creative OS. In fact, I wish it were more so.
Up
until this point, the work has mostly gone into producing a serviceable UNIX clone.
However, Linux has philosophical significance and it represents a paradigm shift and
a new historical manifestation of human freedom. The Linux open source community is a
free, open, and very active community. It's now going in many directions at once,
exploring new ways of doing everything from desktop integration to highly parallel
computing.
Generally speaking, the free and open exchange of ideas is where creative ideas
develop.
A talented young programmer in the present day probably won't think it's too cool to
get a
little cubicle at MS and get assigned to hack out some feature of NT he probably
doesn't
have a personal stake in. Your work never gets seen, the direction of the OS is
dictated
from above, and you're nothing more than a mercenary. You also risk the possibility
of
being part of something like NT which is a big disappointment, but out of your
control to
rescue. If money means enough to you, you'll do that. It's like a painter getting
hired
by an ad company to do illustrations. You don't find too many Picasso's and Da Vinci's
do ad illustrations.
> > > > It's likely that many of the people they took on board in the 80's
> > > > were pretty mediocre, while the more recent hires are more mixed.
> Not
> > > only is
> > > > the natural ability of the developers relevant, but also "The
> Cathedral
> > > and
> > > > the Bazarre" idea. When it began the NT project, Microsoft tried to
> hire
> > > a
> > > > lot of the leading OS researchers. Obviously, whatever talent they
> did
> > > hire
> > > > has not been able to flourish in that highly corporate environment,
> as
> > > the
> > > > evolution of Windows NT/2000 shows no evidence of creative daring.
> > >
> > > "Creative daring"? What's that supposed to mean?
> >
> > You'd know if it had any. Like most Microsoft projects, Windows has been
> developed with
> > the most conservative possible agenda.
>
> In other words, you don't even know yourself, since you can't answer the
> question.
I suspect that you lack experience with creative work, so the concept isn't
clear to you. The burden is on you to produce something innovative in NT. I'm
saying it's not there. If there's nothing there, all you can say is that there's
nothing there.
> > > Dave Cutler and crew answered only to Bill Gates. They were virtualy a
> > > completely unique entity for many of the years of NT's development and
> were
> > > not part of the "Microsoft culture".
> >
> > Fine. You can argue whatever you want about the conditions he worked
> under. But
> > you still have to explain why after more than 10 years of development,
> with
> > incredible financial resources, the Windows NT line is still just copying
> > established paradigms, and hasn't attained the same level of reliability
> as other
> > server operating systems. Cutler leaves behind an embarrassing legacy.
> The
> > question is why.
>
> Not bad for only 10 years. Considering that Windows 2000 is far ahead of
> Linux which started at the same time. Compare Windows 2000 compares
> favorably to OS's with 20+ year track records like VMS and Unix. It may not
> match them completely, but it's certainly favorable.
>
> > > > Also, the freshest ideas will always come from the younger
> generation.
> > > That's
> > > > something that Linux taps into very well, while in a corporation like
> > > > Microsoft, conservatism and seniority rule. There's obviously too
> many
> > > > considerations here for any kind of a definitive judgement, but I'd
> be
> > > curious
> > > > what people have to say about this one.
> > >
> > > You have no idea what Microsoft is like internally. Try reading
> something
> > > like Microserfs.
> >
> > Actually, I used the term "Microserfs" here informally. Microserfs was a
> work
> > of fiction. What I do put some stock in is something like "Dynamics of
> Software
> > Development," published by Microsoft press and written by the head coach
> of the Visual
> > C++ team. It describes pretty well aspects of the Microsoft culture.
> These people
> > are so into the "culture" that they don't even realize how they come off.
> You may
> > be surprised to know that he admits in this book that under pressure,
> their coders
> > sometimes seclude themselves, frantically writing complicated code that
> nobody else
> > can unravel. There end up being long tracts of kludgy code that nobody
> can tamper with
> > because nobody understands them. It's obvious that nobody with a genuine
> love of
> > software would write like that except under duress. That sort of thing
> doesn't happen for
> > instance with the Linux or openBSD kernel. From another viewpoint, I
> have read direct
> > quotes from Microsoft administrators that actually tout Microsoft's
> ability to squelch
> > programmers' inclination toward producing "elegant" designs. It is
> apparently a point of
> > pride that they can keep their people focused on market share rather than
> intrinsic notions
> > of software value. In a recent interview, de Icaza described his work on
> Gnumeric as
> > "art." That's a totally different mentality.
>
> Have you read Steve McConnell's latest book, After The Goldrush, which
> favors liscensure of software engineers (ala Electrical Engineers)?
>
> There are similar books to Dynamics about most major companies, such as IBM
> (read Mythical Man Month for instance). All companies go through such
> phases.
>
> > > I find it interesting that in one breath you talk about Microsofts lack
> of
> > > "consistent level of competance" and then in the next you talk about how
> > > "the freshest ideas come from the younger generation". You criticize MS
> in
> > > one side by saying they don't have enough hard experience, then
> criticize
> > > them by saying they rely too much on seniority (which is hard
> experience)
> > > and not new people.
> > >
> > > Make up your mind.
> >
> > I don't follow your point here. Where did I say they don't have enough
> hard
> > experience?
>
> You claimed they couldn't maintain "core competance" which is saying they
> can't keep experienced people around. Then you claimed they had too many
> experienced people and not enough young blood (nevermind that Microsoft
> mainly hires only recent college graduates unless you have a proven track
> record in the industry. They do this so that they can train them how they
> want them before they learn bad habits).
I guess I take it too much for granted that people understand the distinction
between things like competence, experience, and creativity.
------------------------------
** FOR YOUR REFERENCE **
The service address, to which questions about the list itself and requests
to be added to or deleted from it should be directed, is:
Internet: [EMAIL PROTECTED]
You can send mail to the entire list (and comp.os.linux.advocacy) via:
Internet: [EMAIL PROTECTED]
Linux may be obtained via one of these FTP sites:
ftp.funet.fi pub/Linux
tsx-11.mit.edu pub/linux
sunsite.unc.edu pub/Linux
End of Linux-Advocacy Digest
******************************