It is freely useable, but it is copyrighted.
One of the interesting features of the language is that it is both a language and an API for accessing the runtime state of the language's interpreter from a host C program. This means that most lua programs run as part of a host application which is usually written in C or C++. The API allows different parts of a program to be written in C and lua and communicate values, functions, and execution between them. A function in lua can call a function in C and vice versa.
See http://www.lua.org/ for more information.