lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


> From: Luiz Henrique de Figueiredo [mailto:lhf@tecgraf.puc-rio.br]
> Sent: Tuesday, November 12, 2002 6:44 AM
> To: rgarcia@alterwork.com
> Subject: Re: survey
>
> What do you mean by "commercial support"? Other people have said something
> similar and we're trying to understand how this could be implemented.
>
> Thanks again.
> --lhf


Suggestions from Ray Garcia:

On the topic of commercial support: probably the best model to look at is
Linux, either Redhat, Suse, Mandrake or Turbo Linux.  These vendors sell
packaging and support for Linux while remaining totally open source.
Similiar example with support for MySQL or Postgres.  In the Java community
probably Jboss.org is an other model to look at.

One can either simply download open source software and struggle with
getting it running or they can pay a small fee and get a fully tested and
installable package.  If one needs to do something other than the basic
installation then they could buy into a support program that lets them get
questions answered in a timely manner.  In the cases where someone needs to
do something novel they have a source of developers they could potential
contract to customize the open source implementation.  I beleive that this
somewhat describes the maturing of the open source movement and gives a
balance between open flexibility and sustaining the cost of on-going
development.  When open source is left only to volunteer efforts of a few
people it presents a risk to any business who has the desire to adopt the
open source solution but does not want to find itself without support when
defects are found or new releases as technology advances.  Of course with
patience it is possible to solve many issues when adopting open source by
asking for help from volunteers, unfortunately most business can't afford to
depend on this and need something more definate.

This is somewhat dealing with market perception more than reality in the
case of Lua.  For example; if one was to perceive that Lua development and
future releases had a commercial incentive then it would be more likely that
the language would be supported in the future.  The perception now (I my
opinion) is that Lua is a powerful scripting language with academic appeal
and of interest to the technically gifted and curious.  I recognize that the
reality is that Lua is actively supported and that if one needed help I'm
sure one would be able to find a volunteer to answer questions.

While the approach the Lua community is taking today leaves opportunity for
a wide variety of uses for Lua it limits the adoption to those who wish to
make Lua part of an existing effort.  Lua has the benefit of being small,
simple and fast but lacks the builtin libraries that might make it generally
usefull to a broad range of uses.  Each person needs to start with a small
Lua core and integrate it with whatever they deem necessary.  This is
somewhat a philosophical position that I think the Lua community has taken
intentionally.  In contrast Python can be small as well but it has a large
set of standard libraries that one could use immediately.  If one needs a
small version of Python its easy enough to strip away what is not needed.
Therefore it all depends on where the Lua community assumes the use for Lua
will be.  Today the assumption seems to be that it is not general purpose
and omits the large standard library approach.  My suggestion is that Lua
should come with an optional large standard library.

I beleive that Lua may be very close to being a viable option for not just
Python but other emerging languages as well.  For example; I looked at
Yindo.com, which is based on Lua and is probably the most powerful script
technology for the internet around, I was able to execute the complex demos
in just a few minutes.  Each of these demos are just a few lines of code.
In contrast if one was to attempt the exact same demos using ActiveX, a Java
applet, or Flash the download time alone would be so long as to not make it
practical.  Looking at Curl.com you'll see another example of a failed
strategy, to run the demo's requires a 12meg download and installation
process.  IBM research has put out Sash Weblications which again requires
lots of downloads and setup and runs slowly.  A good example of what Yindo
and Lua could easily compete with is Rebol.com.  Rebol approach to the
internet is very lean and powerful with a language that is simple, flexible,
and lightweight.

Aside from the support question I raise above I beleive that if the Lua
community took on the effort of adopting a standard library that included
all of something like what Yindo attempted it would position the Lua effort
as a direct alternative to Python, Ruby and other scripting languages.

You may be asking, "well if he thinks that Yindo is the way to go then why
not just use it and leave Lua the way it is", this basically goes back to
the support and commercial issues.  The Yindo effort was three guys, all of
whom seem to have moved on to other projects and do not  maintaining Yindo
anymore.  One of the Yindo founders has even started to create yet another
scripting language.  Same for several of the Lua projects I have asked about
over the internet.  Nearly all of them were great ideas started by a single
person who only periodically supported the Lua project they started or have
completely stopped the effort.

I want to consider using Lua for a commercial project but for now I'll only
look at it as another very cool scripting language to program in for fun.