Ho una domanda riguardante le licenze software. Ho intenzione di mettere una licenza per un framework che ho scritto. La mia intenzione è che la licenza sia aperta, al fine di mantenere una comunità.
Per essere chiari, spiegherò come mi aspetto che le cose funzionino. Il framework definirà alcune API comuni per determinate funzionalità e una classe Proxy che invocherà un'implementazione di tale API. Il proxy farà parte del framework, ma chiamerà internamente un'implementazione reale che sarà sviluppata principalmente da qualcun altro.
Quindi, fondamentalmente voglio essere in grado di:
- Distribuisci la mia libreria come gratuita e open-source
- Consenti l'utilizzo della mia libreria nel software commerciale
- Consenti ai prodotti commerciali di dipendere dalla mia libreria, cioè fornire un lavoro derivato purché sia il risultato del collegamento alla mia API framework (non utilizzando il codice sorgente direttamente in forma non modificata) e concedere in licenza il loro lavoro derivato come loro scelgono.
- Fornire mezzi legali per rispettare le licenze di eventuali implementazioni di terze parti invocate attraverso la mia biblioteca. Ciò significa che un'applicazione commerciale dovrebbe essere in grado di utilizzare la mia biblioteca e un'altra libreria commerciale progettata per funzionare con la mia biblioteca purché rispetti i miei termini di licenza e quelli della licenza commerciale.