Developed by the Apache Software Foundation and introduced in 2004, the Apache 2.0 License is a is a permissive free software license. The license permits use of the software for any purpose, users are able to distribute it, to modify it, and to distribute modified versions of the software. Unlike Copyleft licenses, Apache 2.0 permits derivative works to be distributed under a different, more restrictive, license. However, all unmodified components must use the Apache 2.0 license.
The Apache 2.0 license is quite detailed. The basics of the license is that anyone who uses open source software licensed under Apache 2.0 must include the following in their copy of the code, whether they have modified it or not:
The requirement to list any significant changes to the original code is a major difference between the other popular permissive licenses, such as the MIT and BSD licenses. Unlike with Copyleft licenses you don't have to release the code, just disclose the changes you made.
You can use licensed code commercially, including in proprietary software that you sell
Alter the the code
Distribute copies or modification of the code
Sub-license modified versions of the code under a different license
Place a warranty on the code
There are a number of licenses that the Apache Software Foundation considers to be compatible with Apache 2.0, these include much of the BSD family of licenses so long as they do not include the advertising clause. Apache 2.0 software can also be included as derivative works in GNU GPLv.3 projects, so long as thee resulting software is licensed under the GNU GPLv.3. The reverse is not true, which means that GNU GPLv.3 licensed code can not be used in a project where the final software code has an Apache 2.0 License.
There is also concern within the Apache 2.0 community about the interoperability between the Apache 2.0 License and the Creative Commons Attribution License (CC-BY) because of the clause allowing for the circumvention of "Effective Technological Measures"
The Apache Software Foundation maintains a listing of the compatibility of the Apache License with 3rd party licenses. ASF also has a statement on the compatibility issues with the GNU GPLv.3 license.
The Apache 2.0 license contains a patent grant that ensure that authors that contribute code to an Apache 2.0 licensed project cannot restrict others from using the contribution by claiming their use infringes on a patent they hold. As outlined in section 3 of the license.
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.
Jeffery Kaufman at Opensource.com has a useful post on understanding the Apache 2.0 patent grant.