
Renew - The Reference Net Workshop
==================================

Renew is a high-level Petri net simulator written in Java.
This file tells you about license terms and disclaimer.

License
=======

`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.


Contributed Parts
-----------------

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


The collections
...............

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

  Originally written by Doug Lea and released into the public domain. 

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.


The JHotDraw
............

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

  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.


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 https://opensource.org/licenses/BSD-3-Clause. The relevant license information states:

  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:

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

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. 


Bill's Java Grammar
...................

A Java grammar billsJava1.0.2.jj was distributed together with 
JavaCC 0.7 as a sample grammar. Bill McKeeman (mckeeman@mathworks.com)
contributed this grammar to JavaCC. The relevant license information 
from Sun states:

  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.

  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.

The original parts of billsJava1.0.2.jj which are now contained 
in a modified form in the files JavaNetParser.jj, FSNetParser.jj, 
FSParser.jj, and 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 COPYRIGHT 
as distributed with JavaCC.


Graph Layout Algorithm
......................

The graph layout algorithm used in the class de.renew.gui.GraphLayout
was originally provided by Sun as part of the Java Development Kit.
The relevant license information from Sun states:

  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.

  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.

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.


The Reload4j
............

Renew comes with an unmodified, binary distribution of 
Reload4j, which is a fork of Apache log4j version 1.2.17.
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 https://www.apache.org/licenses/LICENSE-2.0.
The relevant license information states:

  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.

  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.

  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:

    (a)
      You must give any other recipients of the Work or
      Derivative Works a copy of this License; and

    

    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.

    

  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.

  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.


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/.


JLine2
......

Renew comes with an unmodified, binary distribution and some slightly
modified classes of the JLine2 package, which provides the
basis for the Console plug-in.  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 https://opensource.org/licenses/bsd-license.php.

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


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 
https://commons.apache.org/cli.


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). 


Other Libraries
...............

sec:other-libraries

Other libraries might provide their own licenses. 


Original Parts
--------------

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


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.


Java Source Code and Executables
................................

Sources and executables are copyright 1998-- 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 doc/COPYING; if not, write to
the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
MA 02111-1307 USA.


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.


Disclaimer
----------

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

We are 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.


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 
https://opensource.org/osd), please contact the authors.

