News for hackers. Stuff that matters.
Re:10 Years of HexaPDF by andai on Sunday October 27, 2024 @08:20AM (#41962021)
>commercially available library

Are there any examples of this? How do you monetize a DLL file? One time purchase and later upgrades?

It seems like you'd have to put it behind an API and charge for usage, though I don't have a good overview of what the other options are.

Re:10 Years of HexaPDF by alemanek on Sunday October 27, 2024 @09:53AM (#41962639)
This used to be much more common. I worked on a product in 2004 that licensed a library around providing a nice SDK for different payment processors. Effectively making it super simple to switch or route payments to different processing gateways.

We paid on a per domain basis and also paid a yearly maintenance fee to get updates. Nothing stopped us from just using the library in ways that violated the license but we didn’t. The threat of lawsuit is an effective deterrent if the ethical concerns aren’t.

In my experience for B2B the people that are going to steal from you were never going to pay anyways.

Re:10 Years of HexaPDF by tonyedgecombe on Sunday October 27, 2024 @11:54AM (#41963468)
>In my experience for B2B the people that are going to steal from you were never going to pay anyways.

I used to think that but eventually the evidence pointing to the opposite was overwhelming. It wasn't just small companies either, some of them you will have heard of.

Re:10 Years of HexaPDF by gettalong on Sunday October 27, 2024 @04:43PM (#41965520)
The library is dual-licensed as AGPL plus a commercial license. So everything is in the open and can be tested and tried out under the AGPL. Once the library is used in a commercial context, you nearly always need to buy the commercial licenses to stay compliant. This is how it generally works.

What the commercial license does is a different thing. You could charge once OR once and for every upgrade to an (arbitrarily defined) new major version OR each year via a subscription OR ... It is really up to you and how you want to handle this.

Re:10 Years of HexaPDF by pabs3 on Sunday October 27, 2024 @11:22PM (#41967579)
The AGPL is pretty easy to comply with in a commercial context even if you are using it as part of a SaaSS product.

Just either use the code unmodified, or release your modifications to customers, or to the public in general.

Do the businesses buying commercial licenses just not understand the AGPL license? or are their development processes not rigorous enough to ensure compliance? The AGPL includes some easy ways to be forgiven for accidental violations, so that should not be a problem in almost all cases. So only deliberate non-compliance should be an issue.

Re:10 Years of HexaPDF by gettalong on Monday October 28, 2024 @04:59AM (#41969015)
I'm not a lawyer but I think you mistaken in this regard. One indication for this is that otherwise some major companies would have problems.

For example, the GPL FAQ has the following part in the FAQ item title "What is the difference between an 'aggregate' and other kinds of 'modified versions'?" (https://www.gnu.org/licenses/gpl-faq.en.html#MereAggregation):

> If the modules are included in the same executable file, they are definitely combined in one program. If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program.

A combined work needs to be distributed under the AGPL, an aggregated work does not. Since Ruby is interpreted the code of HexaPDF loaded from the application would run in the same address space and thus it would be a combined work.

The following two links are also relevant: https://opensource.stackexchange.com/questions/5003/agplv3-s... and https://opensource.stackexchange.com/questions/5010/can-i-us...

Re:10 Years of HexaPDF by pabs3 on Tuesday October 29, 2024 @01:37AM (#41979692)
Just add an AGPL command-line interface, or a daemon wrapping the library and you have a process boundary. That doesn't necessarily create a derivative work boundary, but it probably would if it is generic enough to be useful to everyone.
Re:10 Years of HexaPDF by gettalong on Tuesday October 29, 2024 @04:01AM (#41980642)
Yes, creating a binary and calling that would circumvent the AGPL. But then everything will be more complex and slower.

Also, doing this extra work and developing the binary is probably more expensive than just buying a commercial license.