Hi everyone,
I am currently developing a new proprietary system and have chosen the Frappe framework as the core. To build 3 of my core features, I plan to leverage Gameplan, LMS, and Raven. However, I’m facing some confusion regarding licensing.
While Frappe is licensed under MIT (which imposes no restrictions on virality), the three apps I’m interested in are licensed under AGPL-3 — one of the strictest copyleft licenses. I’d like to share my intended use cases and seek clarity on how AGPL-3 might affect my approach.
Intended Use Cases
**Embedding Portal Pages**
I plan to embed the portal pages of these apps (which have custom dashboards built using Frappe’s portal feature) within the main Frappe desk using iframes. My goal is to have my own dashboard items along with those from these apps displayed in one unified view.
**Custom Look and Feel**
I intend to inject custom JS and CSS to modify the look and feel, including hiding certain items. This approach is still not decided upon firmly, as I’m considering building custom dashboard items instead, which would be more maintainable than a "hacky" solution.
**Backend Customization**
On the backend, I may need to override certain classes from these apps. My first approach will be to use hooks, but if that doesn’t work, I’ll resort to direct overrides as a last option.
**Mobile App Integration**
I will create a mobile app that interacts with the entire system, including these three apps, via APIs. I’ll use default APIs if they suffice, but if necessary, I’ll create my own exposed methods in my app, which would depend on the documents/data produced by these apps.
External Customizations Only
Importantly, I will not modify the source code of these apps directly. All my customizations will be done externally.
My Concern
My main concern is that I will not be able to disclose the source code of my proprietary system. However, AGPL-3’s clauses have left me puzzled. It appears that even without modifying the source code of these apps, I may still be obligated to disclose my entire codebase simply because of my system’s “dependence” on them.
If the obligation were limited to publishing only source code modifications, I would be fine with that. I would simply modify the source code directly and contribute it back to the community, which would be a more maintainable approach for me as well. But that flexibility seems to be possible only with LGPL, not AGPL-3.
Since the interpretation of licensing terms often depends on the authors’ intent and the community’s understanding, I’m seeking input from both the community and the core contributors. Your insights will help me determine the best approach.
I’m not sure if it’s polite to tag core contributors, but since you all are in leading roles (as far as I know), I would really appreciate your guidance and suggestions. Many thanks in advance for your help!