(Last Updated: April 27, 2020)

Who owns Luup?

  • I first learned of Lua and Luup (Lua+UPnP extensions) in 2009, but was never quite clear on who created reach language or who "owns" them now.

    Are these proprietary? Open source? IEEE spec? Fully documented? Extensible?
    Heck, I didn't even realize there was an SDK out there until this year! Suddenly desirous of learning more...


  • Forgot this: https://www.lua.org/

  • Never thought about it as I never notice any trademark or registration. Thanks @HSD99 for providing an answer.

  • @rafale77 From Lua.org:

    Lua is free
    Lua is free open-source software, distributed under a very liberal license (the well-known MIT license). It may be used for any purpose, including commercial purposes, at absolutely no cost. Just download it and use it.

  • I am (edit: was) still left wondering who originated the Luup extension of Lua, which got me to Googling, when this minor gem turned up: http://www.pearltrees.com/t/micasaverde-developer-program/id4660384

    ANSWER HERE: http://wiki.micasaverde.com/index.php/Luup_Press_Release#What_is_Luup.3F

    Besides @toggledbits , have any of you undertaken to create your own Lua-derived language? I know so little about programming languages generally, but enough to ask: Has LUUP been taken as far as it needs to go?

  • LUUP is not a language to my understanding. It is a Lua extension making use of the UPnP library into an API. The language remains Lua.

  • LUUP on Vera is a Linux executable written in C/C++ that provides the operational functions of Vera, a Lua environment for running Lua scripts, HTTP, serial device support and the UPnP control model. The problem as I see it is that many of these functions should not be part of single executable, but in fact should be provided by the OS since that's why it's there. The basic architecture of LUUP is therefore fragile, and can become unstable under a variety of internal and external conditions. For example, HTTP request to external sites (e.g. a cloud-based whatever) can crash LUUP if the external site takes too long or responds in a way that LUUP can't process. LUUP either crashes on its own, or makes the decision to "self-crash" and reload to attempt to get itself back to a sane operating state. These are my assumptions based on what I've been able to observe. Anything that causes a delay will almost certainly crash LUUP. I know we have folks here who have delved much more deeply into LUUP, or at least as deep as you can by observing its external behavior and who will have far more insight than I.

    I have done embedded Linux systems since the early 2000's. We used as many OS functions as possible, since that's why you have an OS. We wrote our own Linux device drivers for our special I/O devices, and confined the executable to the actual control and computations required by our application. We also used shell scripts, as does Vera, for various OS functions. Our systems did not use Lua, and did not have any mechanism for user-written code. This made it much easier to have stable systems. It comes down to architectural decisions and IMHO Vera chose poorly.

  • Let’s be clear...

    "Lua" (pronounced LOO-ah) means "Moon" in Portuguese. As such, it is neither an acronym nor an abbreviation, but a noun. More specifically, "Lua" is a name, the name of the Earth's moon and the name of the language. Like most names, it should be written in lower case with an initial capital, that is, "Lua". Please do not write it as "LUA", which is both ugly and confusing, because then it becomes an acronym with different meanings for different people. So, please, write "Lua" right!

    ...from http://Lua.org/about.html


  • Edited my post accordingly. Thank AK!

Log in to reply