I've seen a couple different camps of OSS. Some people do it to scratch their own itch. Like building a tool because it was fun to do or solved a problem the author had. This is the perfect case for OSS. People rarely care about reuse in this case.
The other case is a project desperately needed by the community and every corporation is making their own internal version of that code. No one really wants to commit the next 10 years of their life to it but someone eventually does sensing the need. The author gets many stars and forks but almost no money. Corporations then want to twist the library to their own specific needs while an individual or small team build a necessary tool but there's no business model. Then either a corporation adopts the repo to keep it going or the author tries to turn it into a business. Both of these outcomes rarely succeed for the wider needed but no one's really willing to pay for it.
These are super broad generalizations. The big problem seems to be when some software is really needed, someone steps in to build it and then no one pays them. Need != business model.
The other case is a project desperately needed by the community and every corporation is making their own internal version of that code. No one really wants to commit the next 10 years of their life to it but someone eventually does sensing the need. The author gets many stars and forks but almost no money. Corporations then want to twist the library to their own specific needs while an individual or small team build a necessary tool but there's no business model. Then either a corporation adopts the repo to keep it going or the author tries to turn it into a business. Both of these outcomes rarely succeed for the wider needed but no one's really willing to pay for it.
These are super broad generalizations. The big problem seems to be when some software is really needed, someone steps in to build it and then no one pays them. Need != business model.