[erlang-questions] Erlang 10 years of Open Source; it is time for the next step

Jim Miller gordon.j.miller@REDACTED
Tue Mar 18 14:24:58 CET 2008

Because this is a fun discussion, I'll continue weighing in my thoughts

On Tue, Mar 18, 2008 at 4:38 AM, Mats Cronqvist
<mats.cronqvist@REDACTED> wrote:
> Jim Miller wrote:
>  > This is a fine exposition on how the tool can facilitate this process
>  > but fails to address the question of "What is the economic (not money)
>  > argument for making Erlang open source?"
>   i don't understand this question.
>   firstly, erlang is already open source.

Poor choice of words on my part.  What I meant to say was "What is the
economic argument for opening the central source repository for access
to others outside of Ericcson?"

>   secondly, what does "economic (no money)" mean?

Simply the weighing the costs (time, effort) against the return
(improved software quality, a better product).  It can involve money
but doesn't necessarily.

>   thirdly, argument for whom? Ericsson?

Of course, its their product

>   i'll answer this question instead; "why should ericsson let the world
>  at large see the repos and the bug tracker?"
>   because it would improve the quality of the erlang based Ericsson
>  products.

Open source does not translate into "better quality" software.  One
can simply look at freshmeat or any of the other open source projects
out there to see that for every one or two quality open source
projects there are literally thousands that are horrible.  As stated
by a few others on this discussion most open source projects are coded
by people who "pray and spray" and who do not go through the rigors of
true testing for a production environment.  I know that not everyone
falls into this category, nor am I categorizing people on this list as

Lets look at the cost of what it would take Ericsson to open up the
repository as is being discussed.

- Employee time spent moving things out of clearcase into another
repository while maintaining source history.  Yes, one can argue that
simply taking a snapshot of the current state and starting a new
repository might be acceptable but I doubt that would be acceptable to
them.  This takes a serious amount of time from an employee who would
otherwise be working on things that directly provide revenue for a
company (primary purpose of companies is to make money for the
shareholders).  This is a one to two week investment just to get the
ball rolling.

- Now, for every patch that is submitted through the process, an
employee has to review the submission, verify whether it is acceptable
or not, approve or reject it, write a note to the submitter if its
been rejected (or check-in comment), and roll it into the baseline if
it is.  This is for EVERY submission regardless of whether or not it
is part of the business goals of the company.  Based on my experience
with having been the make mom for a bunch of good size projects, this
can take a huge amount of time.  Very quickly it gets to the point
where that person is doing nothing but dealing with patches.
Interviews with Linus Torvalds indicate that the bulk of his time on
the kernel isn't spent doing coding, its dealing with submissions.

So the overall cost to start something like this is basically
allocating one whole person to it.  In the companies I typically work
with (Washington DC area software shops) this is roughly $200K

What are the benefits:

- Quicker inclusion of new capabilities.
  True, but are these capabilities that help Ericsson?  Does a new
wrapper around a vector graphics library (libcairo) help a company
that writes the embedded software for network hardware?  There are
some fantastic libraries out there but what percentage of them are
suitable for Ericsson's goals?

- Better code quality
  Maybe.  Most code I've seen written on the net does not do nearly
the job required for testing that I require for production quality
code my team releases.  If you're Ericsson, and you're achieving 7 or
9-9s of system uptime, a single bug can introduce serious problems.
Do you trust the most software developers out there to be rigorous
enough to do this?  Its tedious, hard, unsexy work and most people
just don't do it.

So, does Ericcson get more than $200K a year benefit out of opening
their repository?  I'd have a hard time seeing it.  A good read is
"The Cathedral and the Bazaar" where Eric Raymond goes through the
thought processes behind what makes for good, successful open source
software.  In almost all of the cases, because the original author is
not making money off of the software, the cost/benefit analysis works
out in favor of opening it up.  In this case, because Ericsson is
making money from the way they do it, it doesn't make sense.
Additionally because they are paid to do it, there is the motivation
to do the tedious, hard, unsexy work that makes the language and
platform as stable and robust as it is.

And by comparison, the opening of Java seems to have been a success,
but what was behind it?  If one looks at the political and corporate
history around Java, they resisted opening for years and finally only
did so under pressure from the surging of the .NET platform.  If Sun
wanted Java to survive, they needed the open source community to fully
embrace Java, which they weren't going to do without Sun opening it
up.  Sun's business model and strategy for Java required acceptance of
the language which wasn't happening and they were losing ground to
.NET.  (Go back in the business news archives and look at what was
going on between Sun and Microsoft, their business strategies, and how
Sun has been losing money, its very interesting reading).  Sun was
quickly finding that they were not making money off of Java or its
products using the previous business model so they changed models.  It
would be real interesting to see what type of money Sun had to spend
on their Java team before and after the change.

More information about the erlang-questions mailing list