\chapter{License}
\label{ch:license}%READMEIGNORE

`We' refers to the copyright holders. `You' refers to the licensee.
`Renew' refers to the complete set of sources, executables,
and sample nets that make up the Reference Net Workshop.

Renew is available free of charge, but not without restrictions.
The majority of Renew is published under the GNU Lesser General Public
License (for details see Section ``Original Parts'' below).
However, Renew builds up on other people's work that has been licensed
under other terms.

The license section got a bit long. We apologize, but we cannot hope
to do better, because we included many external parts with many
different licenses.


\section{Contributed Parts}

Renew uses several parts that were previously developed by other 
people and have been made publicly available.

\subsection{The \texttt{collections} Package}

The \texttt{collections} package is used as our set/queue/list
implementation. The relevant license information states:

\begin{licensequote}
Originally written by Doug Lea and released into the public domain. 
\end{licensequote}

You can use it as you want. Please note that Doug Lea now suggests to
use the container libraries that come with Java~1.2 instead of his own 
libraries. 
We are currently working on the migration, so far all plug-ins
except the FS plug-in have been adopted to the Java container classes.


\subsection{The \texttt{JHotDraw} Package}

The \texttt{JHotDraw} graphical editor written by Erich Gamma is 
copyrighted. The relevant license information states:

\begin{licensequote}
JHotDraw is copyright 1996, 1997 by IFA Informatik and Erich Gamma.

It is hereby granted that this software can be used, copied, modified, 
and distributed without fee provided that this copyright notice appears 
in all copies.
\end{licensequote}


\subsection{Code Generated from JavaCC}

Some of the code of Renew was generated by the parser generator JavaCC. JavaCC is distributed under the 3-Clause BSD license, a copy of which can be found here \url{https://opensource.org/licenses/BSD-3-Clause}. The relevant license information states:

\begin{licensequote}
Copyright (c) 2006, Sun Microsystems, Inc. All rights reserved.\\

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:\\

\begin{itemize}
	\item Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 
	
	\item Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
	
	\item Neither the name of the Sun Microsystems, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 
\end{itemize}
\end{licensequote}

\noindent Hence we would like to explicitly point out that Sun is not responsible for any problems that might result from the use of the output of JavaCC. 


\subsection{Bill's Java Grammar}

A Java grammar \texttt{billsJava1.0.2.jj} was distributed together with 
JavaCC 0.7 as a sample grammar. Bill McKeeman (\texttt{mckeeman@mathworks.com})
contributed this grammar to JavaCC. The relevant license information 
from Sun states:
\begin{licensequote}
2. SAMPLE GRAMMARS

You may modify the sample grammars included in the Software to develop
derivatives thereof ("Sample Grammar Derivatives"), and sublicense the
Sample Grammar Derivatives directly or indirectly to your customers.

\medskip

4. YOUR INDEMNIFICATION OF SAMPLE GRAMMARS

DERIVATIVES AND DEVELOPED PRODUCTS

You agree to indemnify, hold harmless, and defend Sun from and against
any claims or suits, including attorneys' fees, which arise or result
from any use or distribution of Sample Grammar Derivatives and/or
Developed Programs.
\end{licensequote}

The original parts of \texttt{billsJava1.0.2.jj} which are now contained 
in a modified form in the files \texttt{JavaNetParser.jj}, \texttt{FSNetParser.jj}, 
\texttt{FSParser.jj}, and \texttt{StubParser.jj} are Copyright (C) 1996, 1997
Sun Microsystems Inc. A sublicense for these grammars is hereby granted. 
If you have any further questions, please consult the file \texttt{COPYRIGHT} 
as distributed with JavaCC.


\subsection{Graph Layout Algorithm}

The graph layout algorithm used in the class \texttt{de.renew.gui.GraphLayout}
was originally provided by Sun as part of the Java Development Kit.
The relevant license information from Sun states:
\begin{licensequote}
Sun grants you ("Licensee") a non-exclusive, royalty free, license to use,
modify and redistribute this software in source and binary code form,
provided that i) this copyright notice and license appear on all copies of
the software; and ii) Licensee does not utilize the software in a manner
which is disparaging to Sun.

\dots

This software is not designed or intended for use in on-line control 
of aircraft, air traffic, aircraft navigation or aircraft communications; 
or in the design, construction, operation or maintenance of any nuclear
facility. Licensee represents and warrants that it will not use or
redistribute the Software for such purposes.
\end{licensequote}

We would like to explicitly point out that Sun is not responsible
for any problems that might result from the use of the graph layout 
algorithm. See the source files for Sun's original disclaimer.


\subsection{The \texttt{Reload4j} Package}

Renew comes with an unmodified, binary distribution of 
\texttt{Reload4j}, which is a fork of Apache \texttt{log4j} version 1.2.17.
\texttt{Reload4j} is licensed under the Apache License, Version 2.0. 
The full license is included in the distribution, a copy of the License may
also be obtained from \url{https://www.apache.org/licenses/LICENSE-2.0}.
The relevant license information states:

\begin{licensequote}
  \begin{itemize}
  \item[2.]
      Grant of Copyright 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
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

  \item[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.

  \item [4.]
      Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      \begin{itemize}
      \item[(a)]
          You must give any other recipients of the Work or
          Derivative Works a copy of this License; and
      \end{itemize}
      \dots

      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.

      \dots

  \item[7.]
      Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

  \item[8.]
      Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.
  \end{itemize}
\end{licensequote}


\subsection{The FreeHEP VectorGraphics package}

Renew comes with a slightly modified version of Java libraries
provided by the the FreeHEP project to support several export formats
like EPS, PDF, SVG or PNG.  The FreeHEP libraries are provided under
the same license as Renew itself (the GNU Lesser General Public
License, for a link see below) which allows the inclusion of a binary
distribution within other projects.  The modified sources are
available at https://github.com/renew-tgi/.

\subsection{JLine2}

Renew comes with an unmodified, binary distribution and some slightly
modified classes of the \texttt{JLine2} package, which provides the
basis for the Console plug-in.  \texttt{JLine2} is distributed under
the BSD License, meaning that you are completely free to redistribute,
modify, or sell it with almost no restrictions.  The full license is
included in the distribution, a copy of the License may also be
obtained from \url{https://opensource.org/licenses/bsd-license.php}.

The original \texttt{JLine2} package can be obtained from
\url{https://github.com/jline/jline2/}, the modified classes are part
of the source distribution of Renew.

\subsection{Commons CLI}

Commons CLI is a library that supports parsing command line commands
in Java and is distributed under the Apache License, Version 2.0 as of
2004. It is used by Renew to provide a uniform command line interface. 
The Commons CLI library is available at the Apache project website 
\url{https://commons.apache.org/cli}.

\subsection{DockingFrames}

Renew comes with an unmodified, binary distribution of the DockingFrames framework which is used for the graphical user interface of Renew. The framework is provided under the same license as Renew itself (the GNU Lesser General Public License, for a link see below). 

\subsection{Other Libraries}
\label{sec:other-libraries}

Other libraries might provide their own licenses. 

\section{Original Parts}
\label{sec:license-original-parts}%READMEIGNORE

This copyright section deals with those parts of Renew that are not
based on other works, i.e.\ the example nets and the packages
\texttt{fs} and \texttt{de.renew} without the JavaCC grammars.

\subsection{Example Nets}

The example nets are in the public domain. You may modify them as
you like. You may use them as the basis for your own nets without
restrictions.

\subsection{Java Source Code and Executables}

Sources and executables are copyright 1998--\renewyear{} by Olaf
Kummer, Frank Wienberg, Michael Duvigenau, Lawrence Cabac, Michael
Haustermann, David Mosteller and others.  You can distribute these
files under the GNU Lesser General Public License.

You should have received a copy of the GNU Lesser General Public License
along with this program in the file \texttt{doc/COPYING}; if not, write to
the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
MA 02111-1307 USA.


\section{Created Parts}

You are permitted to use works that you create with Renew (i.e., Java
stubs, net drawings, EPS/PDF output, simulation states, and other
exported data) without restrictions.


\section{Disclaimer}

We distribute Renew in the hope that it will be useful, but \emph{without 
any warranty}; without even the implied warranty of merchantability or 
fitness for a particular purpose.

We are \emph{not liable} for any direct, indirect, incidental or 
consequential damage including, but not limited to, loss of data, loss 
of profits, or system failure, which arises out of use or inability to
use Renew or works created with Renew. This clause does not apply to 
gross negligence or premeditation.

Some parts of Renew may use patented techniques that may not be freely 
usable in some countries. In that case, it is the responsibility of the 
user of Renew to obtain a license on the aforementioned techniques 
before using Renew.

Some parts of Renew may include additional disclaimers in their license 
terms. In such cases, both disclaimers hold simultaneously. If one
clause of any disclaimer is found invalid under applicable law, this 
does not affect the validity of the remaining clauses or of other 
disclaimers.

The applicable court is Hamburg, Germany.


\section{Open Source}

This license is intended to be Open Source compliant. 

If you find any clause within this license that is incompatible with 
the guidelines set forth in the Open Source definition (see 
\texttt{https://opensource.org/osd}), please contact the authors.


%%READMEIGNORE% Local Variables: 
%%READMEIGNORE% mode: latex
%%READMEIGNORE% TeX-master: "renew"
%%READMEIGNORE% End: 
