Apache License 2.0
Apache 2.0 is another permissive open-source licence.
It has broadly the same "yes, people can reuse this quite freely" direction as MIT and BSD, but it is longer and spells out a few things in more detail.
What does it mean in normal English?
Very roughly: people can use, modify and distribute the software, including commercially and as part of closed-source software, as long as they follow the licence's conditions.
One of Apache 2.0's notable features is its explicit patent licence.
What can people do?
Apache 2.0 grants broad copyright permissions including reproducing the work, preparing derivative works, distributing it and sublicensing it.
It is not a copyleft licence, so using Apache-covered code does not automatically require an entire larger application to be released under Apache.
What has to be included when I distribute it?
You need to give recipients a copy of the Apache licence.
You also need to retain relevant copyright, patent, trademark and attribution notices from the source form, subject to the rules in the licence.
What is a NOTICE file?
Some Apache-licensed projects include a file called NOTICE.
If the work includes one, Apache 2.0 has rules about reproducing the attribution notices from it when you distribute derivative works.
NOTICE is not just another name for the licence, and it is not supposed to be used as a sneaky place to add extra licence restrictions.
Do I have to say that I changed something?
Yes. If you modify files, Apache 2.0 requires modified files to carry prominent notices stating that you changed them.
What is the patent bit?
Contributors grant a patent licence covering certain patent claims that would be infringed by their contribution, alone or in combination with the work.
The licence also contains a patent termination provision connected with certain patent litigation.
If patents genuinely matter to what you're doing, this is one of those points where a friendly tutorial stops being enough. Read the actual licence and get proper advice if the stakes justify it.
Does it give me somebody's trademark?
No general trademark licence is granted.
Having permission to use a project's code does not automatically mean you can use its name or logo however you like.
Apache or MIT?
Both are permissive. MIT is tiny and simple. Apache is longer but explicitly deals with things such as patents, modified-file notices and NOTICE files.
Neither is automatically "better". It depends what you want the licence to do.
An example
You release a library under Apache 2.0. A company changes it and includes it in a commercial application.
That can be allowed. They need to meet Apache's licence, notice and modification requirements. The rest of their application does not automatically have to become open source simply because your library is in it.
Image Description