The project traces back to the original client Satoshi Nakamoto released in 2009; after early contributors took over maintenance it was renamed Bitcoin Core in 2014 to distinguish the software from the network and the asset. Written mostly in C++ and released under the MIT license, it remains the software that the overwhelming majority of nodes and mining pools run.
Every copy of Bitcoin Core independently checks incoming blocks and transactions against the same rule set: correct signatures, no double spends, valid proof of work, and a supply schedule that caps issuance at 21 million coins. A block that breaks any rule is rejected outright, no matter how much mining power produced it, which is what gives node operators, not miners, the final say over what counts as valid Bitcoin.
No company controls the project. Proposed changes go through the BIP process, get reviewed publicly on GitHub, and are merged by a rotating group of maintainers with commit access but no authority to force adoption; node operators choose whether to install an upgrade at all. Major protocol changes delivered through Bitcoin Core releases include Segregated Witness and Taproot.
The software ships a command line daemon, an optional graphical interface, and a built-in wallet, though many users instead run it purely as a validating full node and keep funds in separate wallet software. Alternative implementations exist, such as Bitcoin Knots, but Bitcoin Core's dominant share means its release notes effectively set the pace of Bitcoin protocol development.