Why, then, is the MIT license compatible with the GPL?
Because the MIT license is silent about patents; in and of itself, it can't do anything to require you to breach the GPL's licensing terms. (It may be that the word "use" provides an implied patent license.) A specific MIT-licensed program may be GPL-incompatible, but MIT-licensed programs as a class are not, because they don't impose any requirements incompatible with the GPL's.
Neither does the Apache License. Please read the terms carefully:
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
Under no circumstance does this add a restriction that does not already exist within the GPL. The GPL prohibits distribution of a work that is covered by non-free patents. The Apache License says that any patent licenses granted to you by virtue of it being contributed to Apache go away if you claim there exists a non-free patent in the work.
Section 4:
You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
In other words, any GPL code that is combined with Apache License code remains under the GPL, which is the sole requirement for compatibility.
I have not seen Eben's analysis of the approved version of the Apache License, so I have no idea why the FSF site claims they are incompatible. It is simply claimed on the site that it adds an additional restriction, as if nobody bothered to read the terms.
Cheers,
Roy T. Fielding <http://roy.gbiv.com/> Chief Scientist, Day Software <http://www.day.com/>
-- license-discuss archive is at http://crynwr.com/cgi-bin/ezmlm-cgi?3