Recs.
Updated
LÖVE is a open-source 2D game framework that uses Lua for scripting.
Platforms: Windows, Mac OS X and Linux
SpecsUpdate
Pros
Pro Active and very friendly community
The LÖVE forums are extremely helpful. With people checking the forums every day, it won't take long to receive answer to your questions on the Support board, receive feedback on games you post in the Projects board, as well as have a chat about the LÖVE engine while learning tricks to use in the very active General board.
If you need an immediate answer though, or just want to chat, there is a very active and helpful IRC channel.
Pro Open source and free
The LÖVE engine is licensed under The zlib/libpng license (which is very short and human readable) which allows you to use the source code and even modify it as long as you do not claim that the original source code is yours.
You can obtain the code at this bitbucket repository and even help fix bugs and participate in the development of LÖVE.
Pro Very good documentation
The LÖVE wiki provides full documentation of its easy to use Modules, which are conveniently located on the side bar of the wiki. It takes seconds to find the module for love.keyboard, which provides a list of all functions along with arguments and examples where the function could be used.
Pro Uses the fantastic Lua for scripting
Lua is an embeddable scripting language designed to be lightweight, fast yet powerful. It is used in major titles such as Civilization as well as a lot of indie games.
Lua is very popular because it provides "meta language" features. You can implement object-oriented structures, or pure procedural functions, etc. It has a very simple C interface, and gives the engine developer a lot of flexibility in the language itself.
Artists tend to love Lua too because it's very approachable, with plain and forgiving syntax.
Lua is free open-source software, distributed under a very liberal license (the well-known MIT license).
Pro Easy to understand and use
Lua2D handles loading the resources, reading input, playing sounds and displaying stuff on the screen. Only the logic is left for the developer to write. It also removes the overhead of having to use and learn a GUI game editor. All you need is a knowledge of Lua and your favourite text editor or IDE.
Pro Very easy to learn
The API is very simple and easy, which is particularly good for beginners.
Cons
Con Absolutely no GUI (no graphical interface)
This has no graphical interface at all, you have to know how to read script in order to know what you're looking at. After you've written the script for everything, you compile it to see the result. It's a very poor way to create a game, given how even most professional tools out there give you a GUI to work with and debug on the go. The lack of a GUI slows down the work by ten-fold, and it's just an inefficient use of your time.
Con Binary compilation
No way to compile into a binary under Linux. Source code has to be given away.
Con The community seems juvenile
For example, some of the library include names such as HUMP, LUBE, AnAL.
Con Documentation is very dry and technical
The site has plenty of tutorials, true, but they all read very technical, and explain very little. This might be too much for beginners, even for coding purposes, because of the fact that the specifics aren't explained well enough to learn effectively. The docs can be found frustrating to understand even the basics, such as tables or the like, because of how poorly they are explained, and how few examples are given before expecting you to be able to use them.
Recommendations
Comments
Flagged Pros + Cons
Out of Date Pros + Cons
Con Mobile support is still experimental
While it is possible to export LÖVE games to Android and iOS, it is still experimental so there might be hidden bugs and flaws that need to be addressed.