Every Bitcoin transaction is authorised by an elliptic curve signature, and for years the code that made and checked those signatures was OpenSSL, a general-purpose library that supports thousands of curves and had no particular reason to care about this one. libsecp256k1 is the replacement: a C library that does one curve, secp256k1, and does it under assumptions a consensus system actually needs.
The Bitcoin Core 0.10.0 release notes describe it as "created by Bitcoin Core developer Pieter Wuille" and give the reason for switching signing to it in February 2015. Signatures became constant time and deterministic, closing a class of attack in which an adversary sharing hardware with a signer could extract a private key by observing several hundred signing operations. The notes are blunt that OpenSSL had never shipped the equivalent protection. In February 2016, Bitcoin Core 0.12.0 moved signature validation across as well, reporting validation over five times faster on x86_64 and reindex times less than half what they had been. That change also removed OpenSSL as a dependency of libconsensus, which matters more than the speed: consensus code that depends on a large general-purpose library inherits every one of its bugs as a potential chain split.
The stated design goals read like a list of things most cryptography libraries do not promise: no runtime heap allocation, no floating point, portability to C89 compilers, a deliberately small API surface so that insecure usage is hard to express, and timing side-channel resistance for anything touching a secret key. Optional modules now cover Schnorr signatures (BIP-340), ECDH, ElligatorSwift for BIP-324 encrypted transport, MuSig2 (BIP-327) and silent payments (BIP-352), which means the library has become the place where new Bitcoin cryptography lands first.
It is MIT licensed and lives in the bitcoin-core organisation. Like Bitcoin Core itself, it publishes no legal entity, and no founding year is stated in the repository, so both fields are left unasserted here.