Most open source software projects come to life because someone is trying to scratch an itch.
Some group of coders or a team of academics or a fast-moving startup will build some software that solves a very real computing problem, and then they’ll open source the code, sharing it with the world at large. Maybe, the coders are trying to help the larger world of software developers, believing that others will find the code useful too. Maybe, they’re trying to get more eyes on their code, hoping that others will contribute bug reports and fixes to the project. Or maybe, as is typically the case, they’re trying to do both.