[erlang-questions] Freedom Box and Erlang
Mon Jun 20 23:42:19 CEST 2011
On 20 June 2011 20:04, Michael Truog <> wrote:
> True. CloudFoundry exists and is open source. However, it is Ruby based so it is unable to scale like an Erlang system (like CloudI). CloudFoundry is control by VMware, which is an organization, and they are using the Apache License 2.0. CloudI is independent and uses a BSD license, so it can be reused anywhere.
First up, I'm definitely not knocking CloudI here - I think it looks
awesome. CloudFoundry is owned and developed by an organisation, but
so are plenty of other things (riak, rabbitmq, etc) so that doesn't
automatically mean lock-in. I mean Erlang/OTP is controlled by
Ericsson right, and by the same measure CloudI is controlled by
Michael Truog. The Apache License 2.0 is more restrictive than the BSD
type license you've chosen for CloudI - and good on you for making it
as open as possible - but I can still use and adapt stuff based on the
Apache license for commercial or similarly licensed open source
Secondly, I agree that Erlang/OTP is a gift from the Old Gods of the
North when it comes to fault tolerance and so on, but just because
app-1 is written in Erlang and app-2 is written in Ruby, doesn't
automatically mean that one will scale better than another. Both these
cloud frameworks are based (at least in part) on services running as
native OS processes - admittedly you support native Erlang
services/jobs - and the other comparative technologies are really
around routing and distribution. Here both frameworks are relying on
the same kind of underlying TCP stack that takes advantage of
non-blocking socket I/O - distributed Erlang using the inet
infrastructure running on a beam emulator compiled with --enable-poll
or whatever, versus CloudFoundry which runs on event-machine, a
framework a la libevent. Distributed Erlang is known to have
limitations of its own, that wouldn't necessarily apply to a very
large grid built on some other distribution protocol - riak for
example uses a custom protocol, as does Scalaris I think and probably
quite a few others. The fault tolerance that is built in for you
(because you're running on top of OTP) though, is admittedly a big
Don't get me wrong - I'm not asserting any amazing properties about
ruby, nor am I trying to criticise your work. It's just that you're
clearly very smart (because you wrote a complex beast like CloudI) so
your peers (and even underlings like me) need to hold you to account
for intellectual honesty. Saying "it is Ruby based so it is unable to
scale..." is FUD unless you qualify it in more detail. Most people on
this list would be inclined to think you're on to something, but this
is not a black and white area. I'm pretty sure that services such as
Github and Heroku are very scalable, and they use both Ruby and Erlang
(and probably only Odin knows what else) for various tasks.
> On 06/20/2011 11:34 AM, Tim Watson wrote:
>> There is also http://www.cloudfoundry.org, which is sponsored by
>> vmware and has a commercial offering too (at cloudfoundry.com) but is
>> open source - https://github.com/cloudfoundry.
>> On 20 June 2011 15:55, Evans, Matthew <> wrote:
>>> Seems like you have an interesting project with cloudi.
>>> -----Original Message-----
>>> From: Michael Truog [mailto:]
>>> Sent: Saturday, June 18, 2011 3:15 PM
>>> Cc: Evans, Matthew
>>> Subject: Re: [erlang-questions] Freedom Box and Erlang
>>> To have an Erlang cloud that doesn't depend on an organization, there is CloudI (http://cloudi.org) . So it could be used for running applications on a distributed mesh. There is ZeroMQ integration that could provide communication between the FreedomBoxes. CloudI currently lacks a pretty UI for managing the configuration and will be going through more testing, so those are current barriers.
>>> On 06/18/2011 10:54 AM, Evans, Matthew wrote:
>>>> I've recently been reading about Freedom box (see: http://wiki.debian.org/FreedomBox and http://freedomboxfoundation.org/).
>>>> In a nutshell, directly from their website:
>>>> "Smart devices whose engineered purpose is to work together to facilitate free communication among people, safely and securely, beyond the ambition of the strongest power to penetrate, they can make freedom of thought and information a permanent, ineradicable feature of the net that holds our souls."
>>>> "We live in a world where our use of the network is mediated by organizations that often do not have our best interests at heart. By building software that does not rely on a central service, we can regain control and privacy. By keeping our data in our homes, we gain useful legal protections over it. By giving back power to the users over their networks and machines, we are returning the Internet to its intended peer-to-peer architecture. "
>>>> I'm not a member of the organization, but it seems to me that the distributed nature of Erlang could offer awesome possibilities to work around certain technical difficulties. I could, for example, envisage a mesh of Erlang nodes connected together providing various distributed services where no individual is in overall control. Or you could provide services (Erlang processes/application) owned and managed by someone from a country with poor human rights that is in fact running on an Erlang node on a country with better human rights (a chat service for example). I'm not talking about "cloud" services here (that some organization ultimately owns), but running applications on a mesh of privately owned "Freedom boxes" that host Erlang VMs. The beauty of Erlang is that it's innate ability to distribute code, processes and applications in such a simple and seamless manner could provide very powerful tools for the organization.
>>>> Any comments and thoughts on this?
>>>> erlang-questions mailing list
>>> erlang-questions mailing list
More information about the erlang-questions