Solidity is a powerful programming language designed specifically for writing smart contracts on the Ethereum blockchain. With Solidity, developers can define the rules and behavior of decentralized applications (DApps).
Smart contracts are programs that are executed inside a peer-to-peer network where nobody has special authority over the execution, and thus they allow to implement tokens of value, ownership, voting and other kinds of logics.
Note that when deploying contracts, you should use the latest released version of Solidity. This is because breaking changes as well as new features and bug fixes are introduced regularly.
Solidity was publicly previewed for the first time in November 2014 at Devcon0. Versioning for Solidity was committed. into the codebase on July 9, 2015, marking Solidity Version 0.0.1. However, v0.1.0 wasn't an actual release yet, and builds of it are not available anymore. You can read more about Solidity's history in the 5 year celebration post from 2020 here.
The Solidity programming language is an open-source, community project governed by a core team. The core team is sponsored by the Ethereum Foundation.