Replies: 1 comment 6 replies
-
So it all boils down to what a modified version is and when it is distributed. Tl;dr: In almost all cases you need a commercial license if you want to use HexaPDF in a commercial setting when you don't want to publish the source code of your whole application. Modified VersionThe AGPL is written in terms of "program" which makes understanding it in context of a license more difficult. In case of HexaPDF as soon as you Note that it doesn't matter whether HexaPDF itself is modified or an unmodified version of HexaPDF is used as the incorporation into an application creates a modified version of HexaPDF. DistributionAs for distribution: The AGPL explicitly states in section 13 that use over a network is deemed distribution and therefore the source of the whole modified work needs to be provided. This means that if a SaaS application incorporates HexaPDF and a user interacts with the SaaS application and receives a PDF created by HexaPDF, section 13 is activated. |
Beta Was this translation helpful? Give feedback.
-
Hello. I stumbled upon this project, and noticed the AGPL license. Though I'm not a copyright lawyer, and I firmly believe software engineers should be paid for their work on projects such as this, I wanted to start a discussion on what appears to be a very common misconception around AGPL, one which I've noticed on this repos README, namely this statement:
This statement is not correct. AGPL was designed to prevent companies from taking GPL licensed work that receives/sends data over a network (like web servers, mail servers, or databases/cache/etc) and making private modifications or bug fixes that they do not contribute back to the public. Though not under AGPL themselves, software such as Nginx, Postgres, Redis and Memcache spring to mind when thinking of software in this space. Additionally, AGPL only requires the modifications to be released, not the source code of the rest of the application that uses it.
Therefore, If a commercial web application were to use an unmodified copy of HexaPdf, the APGL license would not require them to open source their entire application. And because HexaPdf is not designed to receive/respond to network requests, even if someone did make private modifications, they would not need to make their changes public.
In HexaPdfs case, under AGPL, the only time someone would need to make the modification changes public would be if they created a derivative work that they distributed (e.g,. if someone created a paid PDF desktop app that used HexaPdf, any changes they make to the HexaPdf source code to make it work would need to be made available or they would need to purchase a commercial license).
With this in mind, a SaaS application that happens to use HexaPdf for PDF generation of invoices would not be required to purchase a commercial license. They could freely use HexaPdf under the AGPL license, given that 1) HexaPdf is not solely designed to receive/respond to network requests, 2) Only modifications need to be made public, no modifications means no issues with licensing
If your intent is to allow open source software to use HexaPdf for free but anyone using it in any commercial system acquire a license, AGPL is not suited for this.
Sources:
https://en.wikipedia.org/wiki/GNU_Affero_General_Public_License
https://www.gnu.org/licenses/why-affero-gpl.html
https://www.gnu.org/licenses/gpl-faq.html#AGPLv3InteractingRemotely
https://fossa.com/blog/open-source-software-licenses-101-agpl-license/
https://opensource.com/article/17/1/providing-corresponding-source-agplv3-license
https://medium.com/swlh/understanding-the-agpl-the-most-misunderstood-license-86fd1fe91275
Beta Was this translation helpful? Give feedback.
All reactions