If you take the AGPL source code, modify it, then use the modified version
for your web application, you have to publish your source code changes.
This is true. And this is why I wrote about making "your modification for
*yourself*". If you are then offering a service over the Internet, your are
not doing *your* computing anymore. You are doing SaaS and this is evil
(whatever the nature of the software running on the server: free or
proprietary).
The copyright holder is the only one that can change the license and can
abuse it as well.
This is true as well... but that has nothing to do with the license. The same
applies to permissively licensed software. And, again, someone contributing
to a free software without signing a "copyright assignment" (e.g., the Linux
kernel) needs not fear her contribution being relicensed. She remains the
author of her code, she holds the copyright on it.
Besides, I really do not get your reasoning. You do not like software turning
proprietary (your fear Oracle will do so with MySQL) and I share your fears.
But then you prefer permissive licenses to copylefted licenses and that makes
no sense to me. By definition, permissive license let anybody take the code
and put it in a proprietary software (that potentially competes with the
original free software). On the contrary, copylefted licenses force any
derivative work to be distributed under the same free software license (and
the original free software can therefore integrate the improvements made in
the derivatives). In both case, the copyright holders can change the license.
But that is not even required to authorize proprietary derivatives of a
permissively licensed software.
it avoids weird linking confusion that the LGPL has.
The MPLv2 has a per-file copyleft that is stronger than what the LGPL
enforces. So, again, I fail to make sense from your point.
It has compatability with Apache 2.0 (which GPLv2 does not have)
The GNU GPLv3 is compatible with the Apache license too. It is compatible
with the MPLv2 too.
Most commerical "open source" projects require a CLA and it seems to be the
norm. They aren't the university student who is doing an open source project
to learn a language for a class, but actual commercial entities that are
consistent with using their own money to contribute back.
Large not-for-profit organizations require a CLA too: the FSF (for the GNU
project), the Apache foundation, etc.
In the same way that the license being copylefted (e.g., the GNU project) or
not (Apache software) has nothing to do with CLAs, having companies
contributing or not have nothing to do with CLAs.
Companies like Google and Red Hat contribute a LOT of resources into the
Linux kernel
... and the Linux project, which distributes its kernel under a copylefted
license (the GNU GPL), does not make its contributor sign a copyright
assignment! Thank you for that example.