- The corporate employee whose employer uses OSS, and will gladly pay him/her a salary to contribute and enhance the software. Particularly to implement features required by the company. Ex: Red Hat; Linus Torvalds/TransMeta.
- The consultant who gives away free software, but charges for consulting and customization (WiX), or an enhanced "professional" version.
- The employee of a non-profit organization that receives donations (Electronic Frontier Foundation, Apache Foundation), or an academic paid by a university.
- The hobbyist who toils at a boring day job, but who likes to tinker evenings and week-ends.
- Government software funded by taxpayers (NIST; USGS).
- A programmer or organization funded by KickStarter or Patreon.
The point is, everybody needs to earn a living one way or another. There is no free lunch™.
There are certain types of software that lend themselves well to an OSS project: programs that are universal and used by many people:
- Operating Systems: Linux, FreeBSD.
- Web browsers: FireFox.
- Web servers: Apache.
- Software development tools: GNU, GCC, Eclipse.
- Common applications: Open Office word processing + spreadsheet; Gimp and InkScape graphics; TeX document formatting; Thunderbird email.
- Emulators: Wine.
- Genealogy: Gramps. (Very few people use it, consumers would rather pay for something simple to install and use).
Applications that are less "fun", on the other hand, do not attract volunteers. I once saw a disparaging comment in a forum attempting to create an open-source accounting package, "who would want to work on that boring stuff?".
Not everything is amenable to OSS. There are many applications where, if one were to publish code as OSS, the only people taking notice would be competitors who would steal the code, incorporate it into their rival apps, and never contribute anything in return.