Could it be possible to create an open-source license that allows hobbyists and researchers to use the software for free, but would require commercial users to pay? Or does something like this already exist?
Of course, enforcing that might be pretty difficult in practice.
You might be able to accomplish more or less the same goal by dual licensing under AGPL and paid proprietary if you require a contributor agreement. QT (a GUI library for C++) is dual licensed LGPL and proprietary because some corporate users are uncomfortable using LGPL software (LGPL allows software to be dynamically linked but not statically linked to proprietary code).
The reason why I suggest AGPL is because it closes the "running it on a web server isn't distribution" loophole in GPL and that makes AGPL code persona non grata at Google and most SAAS companies. This license scares many companies either because they want to modify GPLed code without sharing changes or because they're afraid of having to open source other code that the AGPLed code is integrated with. This would effectively be virtually the same as a non-commercial/proprietary dual license but you'd be able to rely on the Software Freedom Conservancy's lawyers to enforce your copyrights for you and you'd have the support of the existing FOSS community.
The key however is that you have to do the contributor agreement and secure copyright or an unrestricted license to all code before merging it into your project. Otherwise offering the proprietary license option would be copyright infringement on your part if any contributor objects because you'd only have rights to their contributions under AGPL. (It's also a good idea in general to make sure any employed contributor's employer isn't going to attempt to claim copyright to their FOSS contributions before accepting the pull request.)
I think it's a good question, and would mirror the spirit of some of the Creative Commons licenses [1] but I don't think the core problem is the license as such. The problem is that writing good open-source software and running a successful business are entirely different and somewhat contradictory skill sets.
Were I a billionaire, I'd just set up a program of grants to individual developers with proven track records of making things useful to the world. Something like the MacArthur Fellows program [2] (also known as "genius grants"). There's a lot of library code that we feel should just be free, and for whom pricing and charging for it would be such a giant pain in the ass that it's uneconomical.
Sometimes that work gets big enough that it can support the overhead of a non-profit that can go out and hustle grants and donations. E.g., numpy. [3] But it's not easy for a project to get to that level and then to attract the new set of right people to make it happen. I still think there's a huge gap between what we are funding and what's societally optimal to fund.
Certainly. Despite what some people might tell you, the only real requirement behind something being Open Source is that its Source code be Open for viewing. Nothing more, nothing less.
There are plenty of "free for personal use; restrictions apply for commercial use" type products and licenses out there. To use a specific software example, almost all mods for Kerbal Space Program are open source with a "free for personal use, commercial use prohibited; redistribution prohibited" license.
Also note how there are plenty of free-as-in-beer, closed source software out there. Commercial, open source software is simply a mirror opposite of them.
Free-as-in-beer vs. Commercial, and Open vs. Closed source, are separate concepts that can co-exist in any combination.
This is incorrect, by no means does the Open Source Definition require that source code be open for viewing by the public, only by recipients of the software.
I never specified public viewing, nor does any code require the blessings of "Open Source Initiative" or their "Open Source Definition" to be open source code.
Open source code is simply source code that is open. Nothing more and nothing less.
Of course, enforcing that might be pretty difficult in practice.