I don't know what is meant by 'software'. My assumption would be that 'software' only refers to the library included under the license (being DotNetZip) and that is doesn't extends over to my code which includes the DotNetZip library.
That's correct. The term "Software" used in the license refers to the software that license is about: DotNetZip.
If you distribute any portion of DotNetZip, you must retain all copyright, patent, trademark, and attribution notices that are present in the software (3c).
If that is the case then everything is fine as I have no issues keeping the license for DotNetZip when release this project in compiled form while having my code under its own license. If 'software' also include my code that include the DotNetZip library then that would be an issue (as it would basically act like GPL with the copyleft sense).
The latter is not the case, MS-PL is not a reciprocal license. It only requires that the software you distribute if it contains MS-PL'ed parts, must comply with the license requirements for the MS-PL'ed parts. As long as you don't give any sources from DotNetZip you do not even need to provide a copy of the license text if I read the license correctly.
Unless your project has been using "Mozilla 1.1 only",
it is implicitly using "Mozilla 1.1 or higher".
Therefore, the project can be upgraded to Mozilla 2.0 (or even forked,
without the consent of the contributors).
If you want to stay with Mozilla 1.1, all you need to do
is to not mix Apache and Mozilla licensed code in the same source file.
Your project will then be a mixed-license work.
Browse the "copyright" files at http://packages.debian.org
to see how ordinary this situation is.
=========== full background
The Apache license (2.0; 1.0 is unrelated!) is "permissive", meaning derivates can be be commercial and closed. Prior to Apache, all of the popular permissive licenses (BSD, Athena(MIT/X11), zLib, ~ Public Domain) were quite simple.
So they are compatible with nearly all other licenses (well, except
if there was an advertizement clause, which is now rare).
The Apache license tries to address more modern needs.
It has procedures for tracking the history of a work.
It has a MAD (Mutually Assured Destruction)-style patent clause.
None of that is really opposed by GPL or Mozilla,
it's just not among the "restrictions" that they allow.
The Mozilla license requires less crediting, but requires
deriviatives to be made available to the "initial developer"
of the project without restriction, and made available to the public under the Mozilla license. It was intended allow code to be open sourced without the owner losing her advantage over competitors.
The Mozilla license infects up to the source code file boundary,
but generally, no further than that. (The GPL infects much more,
up to the linker / kernel-call boundary.) Patch files are an exception,
since they tend to be derived works of the target of the patch.
You can freely aggregate files under Mozilla, LGPL, and any permissive license such as Apache.
This is the norm in large open-source applications.
Especially so for Java, where GPL is considered too infective, and Apache.org is the biggest infrastructure provider.
A single file of source code cannot comply with both Mozilla 1.1 AND Apache
license, because Mozilla (like GPL) does not tolerate any additional
encumberance. A single piece of source can
comply with Mozilla OR Apache, or almost any other license.
For example, Firefox is released under Mozilla OR GNU OR LGNU license.
Due to Apache's growing influence, GPLv3 and Mozilla v2
made sure that they were compatible.
Opting out of the "version upgrade clause" is the only encumberance that
GPL and Mozilla allow a user to add.
The only major license that users actually did "opt out" of
was GPLv3, due to it being more infective than GPLv2.
The Linux kernel, for example, is GPLv2 only.
Best Answer
Preliminary remark: I'm not a lawyer any longer, and never specialized myself in laws related to copyrights and intellectual property. If you want an unquestionable answer, you should consult a lawyer.
1. Data and data files are not the same
As it states, the exhibit 1 covers data files:
Data files and data itself are not the same. When Microsoft implements uppercase and lowercase methods in .NET Framework, the unicode standard is used, but this doesn't mean that .NET Framework contains, somewhere, the files downloaded from http://www.unicode.org/
Simple illustration of a difference between the data and the support:
Imagine that I create a database with a list of countries, cities and the corresponding post codes. I expose this data through a web service and on my website.
The data itself is in public domain: you can't reasonably copyright the list of countries and ask every person who use such list to pay you or to distribute a copy of your copyright.
On the other hand, nothing forbids for me to enforce a restrictive license on the usage of the web service or the website (especially since I invested a lot of effort while creating this set of data). If I find that an application is scraping my website to download the data, this would be a copyright infringement, and I would be able to sue the person who created the scraper.
2. Data is too vague
If http://www.unicode.org/ stated that the license covers the data itself, it would be very difficult for this organization to enforce such copyright.
Imagine the following method:
Is this a violation of the copyright? Did I actually used the data from http://www.unicode.org/ and I should include the copy of the license in my answer below? Or maybe I just typed those letters myself?
In other words, if data itself was licensed, how far the license could go?
3. Copyright and data
Here are some interesting quotes:
http://www.lib.umich.edu/copyright/facts-and-data: University of Michigan
http://www.ands.org.au/guides/copyright-and-data-awareness.html: Australian National Data Service
Those two examples, one concerning USA, the other one - Australia, clearly shows that the data itself, i.e. the unicode symbols with their respective numbers and the attributes such as "is this a digit?" or "is this a capital letter from Cyrillic alphabet?" is not covered by the copyright.
Data files, on the other hand, may be covered by the copyright, depending on their originality. For example, the PDFs you find on http://www.unicode.org/ would be very probably covered by a copyright. If, on the other hand, it is purely question of a CSV associating lowercase characters to uppercase or vice versa, the author of such data would hardly be able to enforce the copyright on it.
Clearly, the
ToUpper
method I put above is not a violation of http://www.unicode.org/ copyright. Nor the code used by .NET Framework or Firefox, unless those systems contain somewhere inside the data files which are clearly, undoubtedly copied from http://www.unicode.org/ with, optionally, some minor changes.