Re: General Open Source Softare question.

From: Jeff Silverman (jeffs_at_NOPAM.commercialventvacNOSPAM.com)
Date: 03/29/04


Date: 29 Mar 2004 06:10:20 GMT
To: pbonamy@student.lssu.edu (Paul Bonamy)

On Sun, 28 Mar 2004 12:06:05 -0800, Paul Bonamy wrote:

> Hey,
>
> I'm working a research paper on Open Source Software (for a
> college class in formal research), and I've got a couple of
> general questions about OSS projects and software in general:
>
> 1) Are some programming languages better suited to
> OSS projects that others?
>From a technical point of view, no. Obviously, the more popular languages
(C, C++, Java, etc.) will be more popular for OSS projects than less
popular languages (e.g. LISP, SNOBOL, etc.). The big difference between
OSS software and proprietary software is not the actual software per se
but the ancillary processes associated with the software, e.g. the
documentation, the user interface, and the marketing. In some cases, the
marketing of the software is more expensive than the creation of the
software (and yet the company is still profitable).

> I've noticed that
> most Open Source Software is written in some dialect of
> C. Why is that?
Because C was the first truly ubiquitous language. FORTRAN, COBOL,
Pascal, LISP and other languages were all dialected by the vendors with no
mechanism for dealing with the dialects. With C, you can (and do) use the
preprocessor to hide the dialect stuff. However, that is not the best
solution and so in even more modern languages (Java, Perl), you find that
the vendor specific stuff is pushed into libraries. Sun (sueccessfully,
I think) sued Microsoft because Microsoft decided to come out with a
dialected version of Java, which violates the "write once, run
everywhere" mantra.

        Finally, I am not sure that most OSS is written C. A lot of it
is written in Java, a lot is written in Perl (Perl itself is written in
C), and there is a significant amount of OSS is written in LISP, but you
aren't aware of that, because it is not widely used. Remember, usage is
not the same as availability.
>
> 2) What kind of environment is required for Open Source
> Software to flourish? Since Linux/*BSD/etc still
> haven't beaten out Windows as the dominate PC platform,
> what else is needed to really get OSS into widespread
> use?
Um, EXCUSE ME, but in many domains where marketing is irrelevant, i.e. the
server market, Microsoft is getting its *** kicked. C'mon Paul, if you
are going to get an "A" in this class, then you really ought to do your
homework. If you look at Netcraft's web site
(http://news.netcraft.com/archives/web_server_survey.html), you will see
that Apache has roughly 67% of the web server market. Note that
Microsoft's market share has declined - which means that a lot of people
tried IIS and decided it just wasn't working.

The problem is something called "the network effect". If you bought a car
from chevrolet, there is no compelling reason not to buy your next car
from Ford or Chrysler. However, when you buy an operating system and
applications, you invest a significant effort in software to run under
that OS, your data formats are keyed to that OS, you also invest in
training to use that OS and application (For a lot of people, Windows/98
is good enough, because they have made that investment and see no reason
to upgrade to Windows/XP. Ironically, when Windows/98 was the best thing
around, Microsoft said it was "good enough"). Microsoft owns about 80-90%
of the desktop market, depending on which survey you believe. So a lot of
coders code to the Windows system, not because it is "best" but strictly
because it is the most popular. To summarize, MS-Windows is the dominant
operating system because it is the dominant operating system.

>
>
> 3) Are there times when using an OSS development model
> is ill advised?
Yeah, if you want to make money. Although there are some companies that
have money in the open source world (O'Reilly leaps to mind), it is hard
to do. Redhat, for example, has two widely respected distributions,
RedHat enterprise and Fedora, but it isn't clear if this is viable in the
long term. IBM is returning to a more traditional model of software,
which is that you give away software in order to sell hardware. It isn't
clear if this will work, but we're all watching, because if IBM can't do
it, then it probably can't be done.

On the other hand, the proprietary model isn't a recipe for success,
either (Consider SCO). Microsoft is profitable, but it has also run afoul
of antitrust regulators on several occaisions. If Microsoft had to
compete on an equal footing, it isn't clear that it would win.

>
> Thanks for your time. Assuming I ever get this paper done, I'll be sure
> to post a link to the finished work here.
>
> -Paul
>
> P.S. If there's a better place to ask these questions, please let me
> know, and I'll be happy to enquire there, instead.