Hacker News new | past | comments | ask | show | jobs | submit login

I like the idea, will have to read AGPL. In my mind an ideal version would be, when translated from legalese:

If your business is just an extension of the underlying software (the source) and you don't want to open source your part of the work, then pay a commercial license.

If your business uses the software (the source) just as an ancillary part most probably you're ok to source back any improvements back and keep them open source (no need to pay). If it's ancillary and you need to keep them closed, then pay for licensing anyway.

The only thing I don't understand but seen many time mentioned is the "infecting" nature of the GPL licensing?




The "infection" is the feature that makes GPL and AGPL useful. The basic idea is that if you are interfacing with the (A)GPL licensed software you are extending it's functionality and must comply with the license. The difference is that the interfacing with GPL is statically linking against the project. With AGPL the interfacing is also interfacing over the network. What this means is that software that clients or peers interacting with the software need to be available to the user. An additional stipulation for AGPL is that all necessary infrastructure to host the service be open sourced as well.

The reason for this is to prevent people from creating wrappers that allow them to profit off the licensed software without contributing back or open sourcing. The key thing to note is that you don't have to upstream changes. You only have to provide the source to users (and the license protections extend to them). This means you can still sell GPL and AGPL software but you do have to provide full usage permissions to the user once they've bought the product.

As a side note: I've always found it amusing that government contractors have traditionally been very afraid of (A)GPL despite being required to provide (A)GPL-esque usage permissions to the customer/government. Most of this I imagine is due to a fundamental misunderstanding that providing source to the user doesn't mean publicly make source available for everyone.

Now if you have an AGPL or GPL licensed dependency and you want to dual(+commercial) license your project, you have to work out a commercial license agreement with the dependency's maintainer. If a project has (A)GPL dependencies and doesn't have a commercial license but you'd like to use one, you'd have to work out commercial licenses with the project and all the dependencies (or have the project maintainer work said license out).

This infection effectively enforces users to either share their software or "pay" for all of it which is arguably a good thing for the health of the ecosystem as a whole. If (A)GPL+commercial licensure was standard practice, we likely wouldn't be seeing the [OpenSSL/xkcd-2347](https://xkcd.com/2347/) issue keep popping up time and again.

TLDR: The "infection" forces users/developers to either respect the "free" terms or pay for the full value of the software.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: