Recs.
Updated
Godot is a free, open-source, and MIT licensed game development environment for 2D and 3D games.
SpecsUpdate
Pros
Pro Free and open source
Godot is licensed under MIT license. Anyone can grab the source from https://github.com/godotengine/godot, and compile the engine themselves.
Pro Under constant development
This engine barely released one year ago has more than 1000 forks on github and about 100 developers. Not only that just a bit of browsing trough issues you will quickly find out the dev community loves new esp free technology and does not shy away from completely rewriting parts of the engine. The audio engine is being completely rewritten to use threads and so forth.
Pro Easy to learn scripting language
Godot has their own scripting language called GDScript. The scripting language is easy to learn with Python-like syntax, but it is not Python. It's very powerful, easy to learn, and it's free of unnecessary things because it was custom built for optimized integration with the Godot Engine.
It can be used to add custom behaviors to any object by extending it with scripting, using the built-in editor with syntax highlighting and code completion.
A built-in debugger with breakpoints and stepping can be used and graphs for possible bottlenecks can be checked.
Pro Friendly towards Version Control Systems
The engine is build not only to support version control but to really use it. Scene files for example which usually get compiled into some sort of unreadable data stay in a text format - that way you can actually see your changes in a version control system like Git.
Cons
Con Strange terminology at its base
Scenes can be made up of other scenes. That makes some sense. But even the smallest object (or prefab or asset) in a scene -- such as that spoon on the table or the marble on the floor -- is still called a scene... except when it's called a node. This is a bit odd for those coming from other engines. With all the great decisions behind the basic design of this engine, the choice of this term from all the potential other terms out there seems really out of place and only serves as a constant reminder that not everything about Godot is great.
Con Difficult to optimize
Godot has an OOP architecture. Everything is an object internally and data is spread among many classes, thus it's difficult to optimize (i.e. not cache friendly, difficuly to vectorize or paralellize, etc).
Read about "Data Oriented Design" for more info about the problems and solutions.
Con No console targets
Given that you can target both desktops and consoles with the same code base in other engines, the lack of support for consoles in Godot is pretty hard to get past if targeting desktops for a game. But asking for an open-source engine to target consoles is probably too much to ask. But it would be interesting to see some legacy consoles targeted even if current ones cannot be.
Con Primarily supports own proprietary language (GD Script)
While it's very accessible, and if you know Python you'll pick it up fast, having to learn a new language to fully make use of the platform can be a bit discouraging. And for those learning to code as well as learning Godot for the first time, many would rather learn a language they can 'take with them' when they explore other platforms in the future.