Hacker News new | ask | show | jobs
by eitland 2330 days ago
My questions are:

- if I allow users to use an AGPL product on my server and that AGPL licensed product connect to a commercially licensed application server or database on my intranet, will that be a problem?

- will it be a problem if the commercial application server connects to the AGPL licensed product to fetch data?

Except for these two points I now feel I'm starting to understand the AGPL, kind of.

2 comments

My understanding is you can simplify it into roughly three tiers of "connection":

1. Same application, dll linked

2. Same computer, IPC linked

3. Different computer, HTTP/etc linked

Companies that use AGPL will tell you that all three are covered by AGPL.

More reasonable people will tell you that 1 is definitely covered, and 2 is a grey area.

I've recently read someone who I think is affiliated with FSF say that MongoDB(?)and others have misinterpreted the AGPL intentionally to create necessary FUD to sell commercial licenses, so this is my opinion as well but when I tried to find out on the FSF page earlier this week the was still not a word in the FAQ about it.
My understanding of copyright is that the method of linking is more of a vague guideline than any set in stone legal principle. Copyright determines whether or not some work is a derivative work of an already covered work. If you simply proxy access to a covered work through a different communication interface, but still depend on it for the essential functionality of your own work, you are unlikely to get a free pass to evade the terms of the license.

Only a court can make the final decision about whether a work is a derivative work or not. As developers we need to use our common sense to determine whether what we are doing is creating new or derivative works. We've seen from Google vs Oracle that it is not necessarily clear cut as to the extent a work is covered, which is why you should never assume that it's OK to ignore license terms for some perceived "grey area," and if you have any doubts, you should seek a professional opinion.

> if I allow users to use an AGPL product on my server and that AGPL licensed product connect to a commercially licensed application server or database on my intranet, will that be a problem?

Generally, no. The AGPL work is a distinct work and not a derivative of the commercial work. You can redistribute code copies of this AGPL work even if such copies are useless to others because they don't have access to your other application which it communicates with. Nobody can prevent you from licensing your own works however you wish.

This question is more about the proprietary work rather than the AGPL work. Does the proprietary license allow you to make it available to others over the network? If the proprietary work is your own, there are no problems, at least on your part.

The problems may arise for users of your AGPL work though. They face uncertainty as to whether the proprietary work being accessed is covered by patents, or whether its API is covered by copyright - and thus, are unlikely to use your AGPL work without completely replacing the parts which communicate with your own service.

> Will it be a problem if the commercial application server connects to the AGPL licensed product to fetch data?

If the commercial application is internal to you or your business, there is no issue connecting to AGPL works.

If the commercial application is made available over the network, then the question comes down to whether it can be considered a derivative work of the AGPL work or not.