Skip to content

Conversation

@oskardudycz
Copy link
Collaborator

Summary

I propose dual licensing Emmett and Pongo under AGPLv3 and SSPL. Users choose which license suits their needs. The intention is to establish clear, flexible licensing for users and due diligence to prevent exploitation, enabling a sustainable model for maintainers.


🙏🥺 We're really open to your questions, suggestions and constructive criticism.

See full human-Readable form: https://github.com/event-driven-io/emmett/blob/rfc/002-License/rfc/002-License.md

Feedback is more than welcome!

Feel also invited to join our Discord Channel if and discuss that in the dedicated topic 🙂

@oskardudycz oskardudycz added the RFC label Aug 4, 2025
@oskardudycz oskardudycz changed the title [RFC] Added RFC for Dual Licensing strategy in Emmett and Pongo [RFC] Introducing Dual Licensing strategy in Emmett and Pongo Aug 4, 2025
@oskardudycz oskardudycz force-pushed the rfc/002-License branch 2 times, most recently from a78487d to 52cb1c9 Compare August 4, 2025 11:13
Copy link

@watford-ep watford-ep left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No concerns.

@oskardudycz
Copy link
Collaborator Author

No concerns.

Thank you @watford-ep for reviewing it, much appreciated!

Co-authored-by: Marcin Lach <[email protected]>

"Users interacting over a network" means any service where users access the functionality - web applications, APIs, any network protocol. This applies only to modifications of the licensed software itself.

Many developers misunderstand this. They believe AGPLv3 requires open sourcing their entire application. It doesn't. If you build a banking system using Emmett, your business logic remains proprietary. Only if you modify Emmett's core event sourcing engine and expose that modified version as a service would you need to share those Emmett modifications.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think you might be wrong about this. There's a lot that has yet to be litigated in a court of law, but based on my reading of the linking discussion, integrating a (A)GPL library into your code, regardless of whether you change the GPL library code, is considered a derivative work, which in turn must be shared under the same license. I think in part it has to do with whether it is integrated as an external program, or the code interfaces are directly integrated into your code.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More in the GPL FAQ. There is the LGPL which behaves more like what you're describing here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants