Why is the usage of a CDN an improvement? #449
Replies: 2 comments 5 replies
-
|
The reason BentoPDF loads these modules from CDN rather than bundling them directly now comes down to licensing clarity for our commercial dual licensing. BentoPDF is available under both AGPL-3.0 and a commercial license. PyMuPDF, Ghostscript, and CoherentPDF are also AGPL-licensed, and while AGPL-to-AGPL is technically compatible, bundling third-party AGPL code into a product that's also sold under a commercial (non-AGPL) license creates a legal grey area. By not bundling them, we keep a clean separation. BentoPDF's own code can be commercially licensed without any ambiguity about the AGPL obligations of these third-party libraries. As for the practical concern about CDN dependency, the WASM files are only fetched once. After the first load, they're cached by the service worker, so every subsequent visit serves them instantly from the local cache with zero network requests. It effectively works offline after the first visit. If you prefer no external dependency at all from the get go, you can self-host the WASM files on your own infrastructure and point BentoPDF to your internal URLs. |
Beta Was this translation helpful? Give feedback.
-
|
I was about to ask the same question.
@alam00000 wouldn't it be possible to bundle the modules for those who want to use the non-commercial licence and keep the commercial version without them?
Running BentoPDF offline and knowing that it cannot connect to the internet even if it wanted to still provides a better peace of mind though (especially when dealing with sensitive data).
If you mean this then that's quite a lot of work compared to deploying a simple container. I can imagine keeping everything up to date would be pretty cumbersome too. Would it even be possible to use automatic updates or would I have to repeat the process after every BentoPDF/module update? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I'm struggeling to understand, why the usage of CDNs to load external program parts is considered an improvement?
How does the dependency on an external service and an available internet connection make things better?
Maybe one of you can shed some light on this.
Beta Was this translation helpful? Give feedback.
All reactions