State of the Lua Ecosystem

Pierre Chapuis, Moodstocks

State of the

Pierre Chapuis, Lua Workshop 2013

Lua-the-language is successful...

... but the community
is small.
Lua grows in popularity, slowly and steadily...
all on the power of a couple of good books,
a mailing list and a simple design.

Andrew Starks, lua-l

No one starts projects in Smalltalk anymore. And this is not because Smalltalk isn't wonderful to work with - it is.

But... try just posting a question about Smalltalk to Stack Overflow and see how long it takes just to get answered. Try hiring a senior Smalltalk developer - good luck.

[One of them] told me that he comes to a couple of Ruby conferences every year, and I said "why don't you go to Smalltalk conferences?" and he said "because there aren't any."

Sarah Mei, Why hasn't Ruby won?

Meyerovich & Rabkin, OOPSLA 2013

Standard libraries
Five years ago, I always assumed
the Python library contained
the “best of breed” for all packages.
These days, I tend to think the opposite.

Dusty Phillips, Dead Batteries Included

The standard library
is where modules
go to die.

Kenneth Reitz, Djangocong 2012


Contributed modules



There is no module
to solve my problem.

Number of modules in the package managers for some dynamic languages.

Quality (1)

New dependency,
new bugs :(

The root of all Evil


Quality (2)

Where is the maintainer?

Ease of use

How do I install this
without breaking
my system?

Number of modules divided by number of GitHub repositories created from Jan 2012 to Aug 2013.

People still do not
use LuaRocks enough

Pester maintainers, it works!


Why does
my application depend
on 25 object libraries?

instead of reinventing

At least share an API

Incompatible ecosystems

I have no answer to that.


I cannot find
what module
solves that problem.

Finding a module

Finding the best module

Let's open discussions.

Programmatic releases for LuaRocks

Multiple maintainers
for "Core" libraries

style guide

Yes, I know that Lua module naming in the wild is a total train wreck. This is one of the biggest failures of the Lua ecosystem.

Language ecosystems with user-contributed modules demand curation. Or at least some officially sanctioned conventions. Remember that next time you create your own language.

Anything that attempts to retain the illusion that a flat namespace is somehow a workable solution is NOT helpful.

Mike Pall, LuaJIT ML

Most important:

Thanks for listening.