Open source has great advantages, but, often, it is also a way for big corporations to exploit the work of independent developers.
This is a major issue. Here's some outcomes:
- Faker, Colors and other libraries: tired developers remove the library or voluntarily damage it
- Log4j vulnerability, Heartbleed exploit: only 1 or 2 developers were maintaining it
Nobody should work for free forever: "visibility" doesn't pay the bills.
There are many videos (video 1, video 2) on Youtube that explain the problem with more context.
What is your opinion about "Source Available" licenses? i.e. a license where source code is public and you can also contribute it, but that gives more power / ownership to the original developer.
Can "Source Available" licenses solve many of the problems that Open Source has? We may release the code, but require a payment above a certain threshold or to use some advanced features (like SaaS).
Some projects like Redis modules and Gitlab EE already do something similar. However their licenses are complex and non-standard and that may limit the adoption of such projects (i.e. this is even more true for smaller projects).
I think it would be useful to create a "Standard Source Available License" that anyone can use for his projects (instead of MIT, GPL, etc.)
A quick idea for brainstorming: take the MIT license (or BSD, or something similar) and add this sentence:
[...] subject to the following conditions:
The purchase of a license may be required in order to use some advanced software features or above certain usage levels. You cannot make modifications to the software made to circumvent license key validations, license-related code or copyright.
This would make it legally required for larger organizations to buy a sponsorship (with the result of happier contributors and well-maintained software).
Let me know your thoughts below: if I collect enough feedback I can also open a repo on Github and try to write the full-text of the license.
Top comments (2)
I made a GitHub repo with the license text:
github.com/collimarco/Standard-Sou...
I think this is a good idea, but I'd make the baseline lower: add one more license that just adds an extra layer of responsibility to developers. That doesn't mean the other licenses have to start from that one and build upon it, but that would mean there's a "free work, when I can, If I want to" version of what you propose too. Basically an MIT license with a sprinkle of liability.