I have a question regarding software licenses. I plan to put a license to a framework that I have written. My intention is that the license should be open, in order to maintain a community.
To be clear I will explain how I expect things to work. The framework will define some common API for certain functionality as well as a Proxy class that will invoke an implementation of that API. The proxy will be part of the framework, but it will internally call an actual implementation which will be developed mostly by someone else.
So, basically I want to be able to:
- Distribute my library as free and open-source
- Allow use of my library in commercial software
- Allow commercial products to depend on my library i.e. provide a derived work as long as it is a result of linking to my framework API (not using the source code directly in (un)modified form), and license their derived work as they choose.
- Provide legal means of respecting the licenses of any third party implementations invoked trough my library. This means a commercial application should be able to use my library an another commercial library designed to work with my library as long as it respects my licensing terms and those of the other commercial license.