Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] Does Caml have slow arithmetics ?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Brandon J. Van Every <vanevery@i...>
Subject: RE: [Caml-list] embedded OCaml
Preface: I am not here to argue which license is best.  I am here to
argue that different licenses have different consequences, and one
should be clear what one's business and community objectives are, before
picking a particular license.

Alex Baretta wrote:
> Richard Jones wrote:
> > Brandon J. Van Every wrote:
> >
> >>Great... again, how is a GPL license workable for others with a
> >>commercial interest in the technology?  I am saying that
> >>license is not workable.
> >
> >
> > The GPL works fine in situations where you don't want a company to
> > steal you hard work for nothing,

GPL is a two-edged sword.  Let's say you want to *receive* improvements
to your GPL code from the OCaml community.  Well, you can't just take
those mods and use them any way you like.  You are stuck with GPL.  The
minute I redistribute GPL code, I've got the same rights you do.  GPL is
the seed you propagated out into the world, and it's what you're going
to get back from the world.  If you actually want commercial freedom
when you receive community improvements, they can't be GPL.  You could
license under something less restrictive; MIT is one possibility among
many.  Or you coud put a "weasel" clause in your otherwise GPL code that
says, "This is GPL for you, but since we're the authors, you agree to
let us use your derivative works in any way *we* want."  Forced
/contrib, basically.

When a community understands what your license really is - whatever it
is - that affects what people in a community are willing to do with your
code.  I'd think hard about contributing to anyone's GPL project with a
"weasel" clause.  Let alone commercial enterprises, who are almost
entirely disinterested in GPL anything, due to the legal restrictions
and exposure.

> > and the LGPL works fine in
> > circumstances where you will allow people to link to your
> > work but you
> > also don't want them to steal it.  What is your point exactly?

LGPL *2.1* does not work so fine anymore.  LGPL 2.1 is much more
restrictive than 2.0.  It says that you must leave your proprietary code
in a form that allows other people to make arbitrary changes to the LGPL
licensed library.  If I want to insert a different square rooting
function, you have to allow me to do so.  In practice, this means you
have to ship your proprietary code as a pile of *.o files that can be
linked.  In commercial practice this is totally unacceptable to the vast
majority of vendors.

GPL and LGPL are really bad news as far as commercial entities are
concerned.  You have to be pretty deeply into Communistic open source
business models to be willing to deal with 'em.  Maybe Alex envisions
such a business model and GPL is indeed the correct choice for what his
company wants to do.  But I suspect he hasn't thought seriously about
what other commercial entities want / will tolerate.  If they won't
tolerate it, then releasing code as GPL is an academic exercise, as far
as commercial growth of OCaml is concerned.  Sure you offer GPL code...
nobody commercial wants to use it, so what does that get you except some
'feel good' with open source types?  I'm sure some academics could make
some R&D use of it, and that might be totally acceptable to them.  But
it's not, generally speaking, acceptable to commercial entities.

I won't preach alternate licenses.  I'll just mention that MIT is the
simplest alternate license, and point at OCaml's own license for a more
convoluted example of open-source-with-restrictions.

> We are willing to allow other companies to use our code in their
> products, so long as they are willing to release such products to the
> community for mutual benefit. Essentially, anyone interested in using
> our technology has two alternatives:
> 1) invest time and programming resources to improve our
> technology (and
> release it under the GPL or not release it at all)
> 2) invest money into a consulting contract with us to help
> them develop
> their products, whereby we would improve the core technology and
> continue to release it under the GPL.

3) say screw this, this isn't any use to us, we'll write our own
proprietary code.

If you can upsell (2) to mutual benefit, power to you.  I have serious
doubts that anybody's going to be interested in (1).

> Overall, we've been in business for 20 months now, so we are
> no longer a
> newborn company. Our experience is significant, I think. We've been
> living by making GPLed software. Any code we release is
> covered by the
> GPL. We are still climbing the Himalayas of technology, so I
> can't say
> we are making cartloads of money, but we are making cartloads of
> technology while maintaining a non-negative cash-flow. We
> consider our
> results extremely pleasing. And, let this be noted, all our code is
> either written in Ocaml or in any one of a number of DSLs
> whose compiler we have written in Ocaml.

Growing your business, and growing OCaml commercially for embedded
applications, aren't the same goal.  They might overlap, but I strongly
suspect that a GPL license will greatly interfere with the overlap.  You
might provide other vendors with proof-of-concept, however.  Other
vendors might say, "These guys proved you can do embedded stuff in
OCaml.  Now, their licensing is pretty restrictive, it's a nasty GPL, so
we're offering our own unencumbered source for $XXXXXXXX."

Brand*n Van Every           S*attle, WA

"The pioneer is the one with the arrows in his back."
                          - anonymous entrepreneur

To unsubscribe, mail Archives:
Bug reports: FAQ:
Beginner's list: