These annotations are based on the Annotations to the Mozilla Public License, Version 1.0. Note that these annotations are not the InterBase Public License (IPL). These annotations are not a legal document, or legal advice. If you need to know exactly what the license requires, you need to read and understand the license itself; if you need legal advice, you need to talk to a lawyer. The annotations are merely a good faith effort to explain the license in simpler language.
"Covered Code"
This means any software or code that is covered by this
License.
"Source Code" vs "Executable"
This license makes a distinction between covered Source
Code, and the binary executable products that can be made
from it. It defines all possible forms of the InterBase code as
either one or the other. They have different restrictions and
requirements placed on their use and distribution.
"Initial Developer"
In the IPL, it is whomever contributes code and places it under the IPL.
"Larger Work"
This is the definition that allows you, provided that you have
taken the proper care in your coding, to combine IPL covered code with other code -- such as code
governed by a proprietary license -- to make a product.
"Modifications"
This is a very important definition, as it specifies precisely
what code you write must be made public and what you can
keep.
If you change anything within one of the files contained
in the Source Code, that is a Modification, and it must
be made publicly available in source code form.
If you take code out of one of the files contained in the
Source Code and place it in a new file, whether you
add new code or not, that is a Modification, and it
must be made publicly available in source code form.
If you rename a file or combine two or more files
contained in the Source Code, that is a Modification,
and it must be made publicly available in source code
form.
However, if you add a new file that does not contain
any of the Original Code or subsequent Modified
code, it is not a Modification, and need not be made
publicly available in source code form. This remains
true even if the new file is called or referenced by
changes you made in the Source Code, though those
changes do constitute a Modification and must be
made publicly available in source code form. Having
said this, though, Netscape believes that it is in the
interest of all who develop on the InterBase code
base to contribute their changes back to the
development community. In this way, they will reap the
benefits of distributed development.
This definition also refers only to the Modifications themselves,
not the complete file as modified. Later in the License, we
require that the Source Code to Modifications be made
available, and this way a developer need only post his
changes to the Source, not the entire source in changed form.
This should cut down on the need for quite a bit of FTP
space.
"Original Code"
In this case, it is the InterBase 6.0 code released by Borland on July 25, 2000. In the case of the IPL
used in the future, this definition will apply to code released
by other Developers. This definition makes clear that a
Modification is not Original code.
"You"
This definition of You allows either an individual or an
organization to use code covered by these licenses.
"Source Code License"
This is the part of the License in which it is spelled out
precisely what permissions the contributors to the Source
Code are granting.
"Initial Developer Grant" and "Contributor Grant"
section (b)
This section is derived from the basic principles below.
- It is not OK for someone to create a Modification for
which he or she has a patent, make the Modification available
free of charge as required under the License, and then come
back and try to charge everyone for the patent rights.
- On the other hand, the patent rights of Contributors should
be protected in a manner consistent with the goal of the
License.
"Availability of Source Code"
This provision is intended to ensure availability of code, while
minimizing the burden on each Contributor. It is based on the
principle of ``code follows the executable'' that is found in the
GPL. It does not require that you return Modifications to
Borland or any other named organization. However, you
may do so if you choose, and we hope that you wish to
participate in the InterBase development community.
"Third Party Claims"
We considered whether we should prohibit the use of any
functionality where a contested intellectual property claim
exists. But because these claims are often in contention, or
unclear, or limited in their geographical scope so that they do
not apply in some areas, we decided that this would limit the
range of products that could be created from the InterBase code too severely. Instead, we decided that
contested intellectual property claims should be clearly
disclosed so that each Developer understands to the greatest
extent possible the intellectual property issues surrounding the
Source Code. This will help them to choose, on a
case-by-case basis, whether or not they are interested
enough in using the functionality to deal with the rights issues
that surround that functionality.
"Contributor APIs"
This section is designed to protect Developers using code
covered by the IPL against stealthy patent
attacks.
"Required Notices"
This section is intended to allow Contributors to receive
proper recognition for their contributions and to provide
additional value-added services as long as they take the
appropriate precautions to protect other Contributors from
liability associated with such services.
"Distribution of Executable Versions"
The goal of the IPL is to encourage as much
innovation as possible. We anticipate that people will take the
code licensed under the IPL and combine it
with code developed or licensed under other terms. We also
anticipate that the combined code will be licensed under a
variety of terms, including different payment terms, support
terms and use restrictions. Borland does not wish to dictate
the terms under which any such executables will be available.
The IPL is designed to make sure that the
Source Code Modifications are freely available. After that,
the creator of a Larger Work is free to license the Executable
of the work as he or she sees fit.
"Inability to Comply Due to Statute or Regulation"
This section was included so that the license could allow for
the inclusion in the Source Code of regulated software such
as cryptographic code which may have legal restrictions
placed on its broad and public distribution.
"Versions of the License"
We realize that we are not perfect and may not have thought
of all possible contentious situations that may arise because of
this License. This clause give us the opportunity to address
problems that may arise in the future.
"Effect of New Versions"
This clause guarantees that Borland will never be able to
take away rights that you have under the version of the license
under which your code or modifications were created.
"Derivative Works"
If someone wants to
make a new license based on the IPL, they
need to distinguish their license from ours to avoid
unnecessary confusion.
Required Legalese
These last sections of the License are the inevitable legal
statements. Where they are in CAPS, we are not shouting,
but are required to write these sections in capital letters by
law.
"Responsibility for Claims"
This section is designed to spread the burden of intellectual
property claims made on InterBase based code over the group
of developers responsible for distributing copies of covered
code that contain the offense that leads to the claim.
We believe wholeheartedly in the benefits of open source
development, but not everyone does. Some people or groups
may try to take advantage of the work of open source
development through claims of patent infringement. This is
unfortunate, but it is also reality. We suggest that you be
aware of the intellectual property implications of what you are
working on to protect yourself and others from falling afoul of
someone else's patent.
We may remove some functionality for patented inventions which
Borland may not have the right to distribute in Source Code
form at this time.
"InterBase and logo"
In our hurry to release the InterBase code, we may have missed something.
All this section says is that if you come across something that
we've missed, that doesn't give you the rights to use our
trademarks. It doesn't require you to do our work for us. This
section is designed to protect us from our screw ups, not to
screw you up.
"Alternative Licensing"
This is included because Borland may already have certain source
code licenses in place whose terms differ from those of this
IPL and these other licenses may not require the license back of
code.
"Exhibit A"
This is the text that you must include in all files that are
covered by the IPL.