"""Licenses that use Copyleft are sometimes called “Viral” licenses; If you include any code that uses that license in your code, then your entire program has to be released under the same license."""

This claim is often made (especially by corporate interests who dislike reciprocal licenses), but it is not true.

The only major reciprocal licenses, the GPL and LGPL, do not require that the entire codebase be under the GPL/LGPL. It only has to be under a compatible license.

For example, say I had a 10,000-line BSD-licensed application, and I copied a few hundred lines of some GPL'd code into it, then:

* The original code is still BSD licensed.

* The copied code is still GPL'd.

* The source tarball must include both license documents.

* The compiled binary must be distributed in a way complying with both licenses.

In particular, someone may download the BSD+GPL source, remove the GPL'd part, compile what's left, and distribute the resulting binaries without source. The licensing situation of the BSD'd code has not been changed in any way!

-----------

The "Weak" and "Strong" copylefts you describe don't make much sense, either. Both GPL and LGPL code can have proprietary products use them. The primary difference is that proprietary binaries may directly include LGPL'd code, but GPL'd code can't be included in proprietary applications.

For example, consider a proprietary application that dynamically links against "readline". Depending on which libraries are installed on the end user's machine, at runtime one of these will happen:

* The application tries to load libreadline.so, fails, and continues to run (perhaps disabling some advanced functionality).

* The application loads libreadline.so, which is a compiled library for readline (a GPL-licensed library).

* The application loads libreadline.so, which is a compiled library for editline (a BSD-licensed replacement for readline).

Obviously, the proprietary application is "using" readline, but as it's not distributed with any readline code, the authors of the application do not need any copyright permission from the readline authors.

An interesting variant if the original application binary was compiled on a system that had editline installed. From proprietary application developer's point of view, they used only BSD-licensed software, and didn't even distribute third-party code, so why should the GPL matter at all?

The major "grey area" here is GPL'd code, as a shared library, bundled with a proprietary application as a fallback in case the end user's system doesn't have it installed. While I think that this would be OK in most situations (assuming the library's API is intact), it's murky enough that the application author should check with a copyright lawyer first.

-----------

Regarding "web application" licenses, note that regardless of what they claim, they do not (and cannot) apply unless you're distributing the software. Remember, they're still just copyright licenses. If you're not doing anything that requires copyright permission, you do not have to obey them.

For example, if someone writes an AGPL'd application that generates an image of the Mandelbrot set, I can install that application on my server and have it send images to users without distributing the source.

The only area where AGPL-style licenses are relevant is when running the application requires distributing part of it to users. Think of html page templates, or Javascript.