[ocaml-biz] defining commercial success

Brandon J. Van Every vanevery
Sun Aug 29 22:23:17 PDT 2004


Brian Hurt wrote:
>
> If Linus hadn't written Linux, someone else would have.  In
> some alternate
> Universe, you might be debating with Linus Torvalds about the
> commercial
> success of Brianux.  Or Linus and I might be debating the commercial
> success of Brandux.

I was never an OS guy.  I was trying to write a distributed virtual
world system that would cover the globe.  The library I actually wrote
was called Free3d, so maybe the virtual world would have been called
FreeVR.

> I think a similiar "Window of Opportunity" exists for Ocaml.
> C++ has way
> too many sharp corners for large scale development, especially large
> scale, distributed development like Open Source.  Java is
> controlled by
> Sun, and is too large and slow.  C# is controlled by
> Microsoft, and is too
> large and slow, because it's a Java knock-off.  Python, Ruby,
> and Lua are interpreted languages, and thus too slow.

Heh!  You know, in terms of Grand Strategy, I like your thinking.

Lua will never be anything other than what it currently is: an easily
embedded scripting language.  That's its goal.  At that goal, it is
succeeding.  It is indeed the easiest of all the scripting languages to
embed, and it can also be extended various ways.  So Lua is not
competition.  We might as well forget about discussing it.

The question with Python is whether anyone's going to solve its
performance problems over the next 3 years.  People are working on it.
I'm not sure, from either a theoretical standpoint or a practical one,
what can happen.  If Python were to solve its performance problems, it
would be stiff competition for OCaml.  OCaml would then have to prove
that type safety and industrial scale-up is a more important tradeoff
than Python's ease of use.

The Ruby community is much smaller than the Python community.  I believe
Python will easily surpass them, sucking all the open source effort away
from the Ruby crowd.  The one thing Ruby has going for it is that Perl
adherants like it better.  Python people, in contrast, generally think
Perl sucks.    So, Perl advocates go to Ruby; people who didn't like
getting tortured by Perl, go to Python.

Some people think Perl is just fine for what it does and won't go
anywhere.  Perl is going to remain a limited language, though.  It is
what it is, it does what it does.  A lot of things, it can't do.  I see
Perl as a source of converts, not really competition.

I think we do need to define "who's lunch are we gonna eat."  Can't
really have a business strategy without defining who the competition is,
and who the winners and losers need to be.  I think "interop with
everything" is too much of a fantasy.  We all know that .NET really
isn't capable of this for advanced languages, not in its current
incarnation.  We have no reason to believe there will be a better
incarnation, given that Microsoft is at the helm.  SWIG sort of works
for some things but is also a PITA.  Most people want one solution to
their problems, not multiple solutions.

I think the way to attack Java and C# is "OCaml scales up better, has
higher performance, and is open source."

A pitfall: INRIA does not exactly have the open source 'Bazaar'
mentality.  They are a Cathederal.  Us more business-oriented guys are
going to have to organize the bazaar, and make it INRIA-compatible.
Python does have an advantage in this respect: its author is a pure open
source advocate.  The modern Python license is pretty much a BSD
license.  http://www.python.org/psf/license.html
There is a stringent, but public, process for getting improvements into
Python.  I think Python's 'bazaar' of language development has
contributed to its success to date, and will continue to be an advantage
in the marketplace.

Another pitfall: C# is an ISO standard now.  The language itself, and
many libraries associated with it, are no longer controlled by
Microsoft.  Microsoft applies its leverage through non-ISO .NET
libraries.  In practice, C# is Microsoft-centric.  In theory, C# could
break free of that.  Maybe this is splitting hairs, but "open source
standards" is really more of an attack on Java than on C#.  In fact, I
don't see why one would prefer INRIA to the ISO, if one were greatly
worried about standards.  Corporations are indeed greatly worried about
standards, so I wouldn't call this a trivial issue.

I don't know to what degree INRIA can be coached, cajoled, or
conditioned to see OCaml as other than a research project.  It is a
question that, compared to Python's ongoing development, does pose
significant strategic risk.


Cheers,                         www.indiegamedesign.com
Brandon Van Every               Seattle, WA

20% of the world is real.
80% is gobbledygook we make up inside our own heads.




More information about the Ocaml-biz mailing list