
Greenfoot makes use of, and distributes with it, several third party libraries which
are made available under different license conditions.

Copies of various licenses can be found in the "thirdpartylicenses" directory/folder
within the Greenfoot distribution.

Contents:
1. Copyright notices
2. Libraries used and their licenses
3. Licenses for code not part of libraries
4. Libraries and code included with but not used by Greenfoot
5. Summary of jar files and licenses


1. COPYRIGHT NOTICES
====================

Licenses of third-party software used in BlueJ require the following notices be present in
the BlueJ documentation:


Apache HttpComponents Client
Copyright 1999-2011 The Apache Software Foundation

Apache Commons Logging
Copyright 2003-2013 The Apache Software Foundation

This product includes software developed at
The Apache Software Foundation (http://www.apache.org/).

This project contains annotations derived from JCIP-ANNOTATIONS
Copyright (c) 2005 Brian Goetz and Tim Peierls. See http://www.jcip.net



2. LIBRARIES AND THEIR LICENSES
===============================

The following is a list of the libraries used in Greenfoot, and their licenses:


Apple Java Extensions (BSD-like license)
----------------------------------------
"AppleJavaExtensions.jar" is the Apple Java Extensions stub library, which provides
stubs for Java methods that provide Mac OS X specific functionality, so that code using
these functions can be compiled on other operating systems. The license can be found in
the "AppleJavaExtensions.txt" file. More information on the Apple Java Extensions can
be found here:
https://developer.apple.com/legacy/library/samplecode/AppleJavaExtensions/Introduction/Intro.html


Apache Commons libraries (Apache License version 2.0)
-----------------------------------------------------
Various components of the Apache Commons libraries (https://commons.apache.org/) are
used by Greenfoot:
  commons-logging-api-1.1.2.jar
  commons-vfs2-2.0.jar
  commons-codec-1.3.txt
  commons-httpclient-3.1.txt
These components are distributed under the Apache License version 2.0. A copy of this
license can be found in the "Apache-License-2.0.txt" file.  


Apache HttpComponents library (Apache License version 2.0)
----------------------------------------------------------
Various components of the Apache HttpComponents library (https://hc.apache.org/) are
used by BlueJ:
  httpclient-4.1.1.jar
  httpcore-4.1.1.jar
  httpmime-4.1.1.jar 
These components are distributed under the Apache License version 2.0. A copy of this
license can be found in the "Apache-License-2.0.txt" file.  
 

Diffutils (Apache License version 2.0)
--------------------------------------
"diffutils-1.2.1.jar" is from the Diff Utils library, for computing diffs (deltas) between
text files. It is used by BlueJ for (opt-in) data collection purposes. More information on
this library can be found on the Google Code page for the project:

https://code.google.com/p/java-diff-utils/

The library is distributed under the Apache License version 2.0, as found in the
"Apache-License-2.0.txt" file.


Guava - Google Core library (Apache License version 2.0)
--------------------------------------------------------
"guava-17.0.jar" is from the Google Core libraries for Java
(https://github.com/google/guava) which BlueJ uses.
It is distributed under the Apache License version 2.0, as found in the
"Apache-License-2.0.txt" file.


Hamcrest (3-clause BSD license)
-------------------------------
"hamcrest-core-1.3.jar" is part of the Hamcrest libary
(http://hamcrest.org/JavaHamcrest/) and is a dependency of JUnit, which
is used by Greenfoot.
It is available under the "3 clause BSD" license as found in the
"hamcrest-BSD.txt" file.


Javassist library (Apache License version 2.0)
----------------------------------------------
"javassist-3.18.0" is the Javassist library (http://jboss-javassist.github.io/javassist/),
a bytecode engineering library used by BlueJ.
Javassist is Copyright (C) 1999-2013, Shigeru Chiba.
The copyright holder allows distribution of Javassist under a choice of several licenses.
In Greenfoot it is distributed under the terms of the Apache License version 2.0, as found
in the "Apache-License-2.0.txt" file.


JLayer MP3 processing library (Lesser GNU Public License v2.1)
--------------------------------------------------------------
"jl1.0.1.jar" comprises the JLayer library, used fro MP3 audio file support in Greenfoot.
It is distributed under the terms of the LGPL v2.1, as found in the
"GNU-LGPL-v2.1.txt" file.


JNA (Apache License version 2.0)
--------------------------------
"jna-4.2.0.jar" and "jna-platform-4.2.0" are part of the Java Native Access library
(JNA; https://github.com/java-native-access/jna). This library is used by Greenfoot.
The copyright holder allows distribution of JNA under a choice of two licenses.
In Greenfoot it is distributed under the terms of the Apache License version 2.0, as found
in the "Apache-License-2.0.txt" file.


JUnit (Common Public License v1.0)
----------------------------------
"junit-4.11.jar" is part of the JUnit unit testing library (http://junit.org/) which is
used by BlueJ. It is distributed under the terms of the Common Public License
version 1.0, as found in the "CPL-v1.0.txt" file.


OpenCSV (Apache License version 2.0)
------------------------------------
"openscv-2.3.jar" comprises the Opencsv library (http://opencsv.sourceforge.net/) which is
used by Greenfoot to implement the user storage facility ("UserInfo" class). It is
distributed under the terms of the Apache License version 2.0, as found in the
"Apache-License-2.0.txt" file.


Sequence Library (3-clause BSD license)
---------------------------------------
"sequence-library-1.0.3.jar" is part of a sequence library, available in source form
from the subversion repository at http://svn.svnkit.com/repos/3rdparty (under the path
de.regnis.q.sequence). This version is distributed under the terms of the BSD license
as found in the "sequence-library-BSD.txt" file.


XOM XML Object Modeller library (Lesser GNU Public License v2.1)
----------------------------------------------------------------
"xom-1.2.9.jar" comprises the XOM library (http://www.cafeconleche.org/XOM/), used
by BlueJ. It is distributed under the terms of the LGPL v2.1, as found in the
"GNU-LGPL-v2.1.txt" file.



3. LICENSES FOR CODE NOT PART OF LIBRARIES


The Damerau-Levenshtein algorithm in bluej.utility.DamerauLevenshteinAlgorithm has
the following licence:

--- begin ---
Copyright (c) 2012 Kevin L. Stern

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
--- end ---

---

The Reflections code in org.reflections was taken from the Reflections library by ronamo,
master version from https://github.com/ronmamo/reflections on 2014-05-30, after commit
662061c7544a6fb4155dbfa8b95d4d5c7a372806.  The code was originally licensed under the WTFPL,
and is distributed as part of BlueJ under the GPLv2 license with Classpath exception (the
primary BlueJ license). 

---

The greenfoot.util.ShadowRenderer and greenfoot.util.GraphicsUtilities classes contain code
originally written by Romain Guy, distributed under the following license:

--- begin ---
This product includes software developed by Romain Guy:
Copyright (c) 2007, Romain Guy
All rights reserved.
                
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

  * Redistributions of source code must retain the above copyright
    notice, this list of conditions and the following disclaimer.
  * 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.
  * Neither the name of the TimingFramework project nor the names of its
    contributors may be used to endorse or promote products derived
    from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
--- end ---


4. LIBRARIES AND CODE INCLUDED WITH BUT NOT USED BY GREENFOOT

The common classes included with Greenfoot (which can be imported into scenarios using
the "Import Class" menu item) include a "Weather" class. This class uses two APIs:
 1- "Wunderground core" 1.0.8 (https://code.google.com/p/wunderground-core/),
     in file greenfoot/common/Weather/lib/wunderground-core.jar, is distributed under
     the GNU General Public License version 3. The text of this license can be found
     in the file "GNU-GPL-v3.txt".
 2- "MyGeoLoc" 1.0 (https://code.google.com/p/mygeoloc/), in source form under the
     directory greenfoot/common/Weather/src/com/smartechz/, is distributed under the
     GNU Lesser General Public License version 3. The text of this license can be found
     in the file "GNU-LGPL-v3.txt".
 
The MyGeoLoc code is compiled (along with other code) into a binary .jar file,
Weather.jar. This file is distributed under the Lesser GNU Public License version 3.

Because Greenfoot does not directly link to these libraries, distribution of Greenfoot
itself (other than these components) is not bound by the terms of their licenses. Any
Greenfoot project that uses these libaries, however, must only be distributed according
to the terms of these licenses.


5. SUMMARY OF THIRD-PARTY JAR FILES AND LICENSES

commons-logging-api-1.1.2.jar            Apache License v2.0
commons-vfs2-2.0.jar                     Apache License v2.0
commons-codec-1.3.txt                    Apache License v2.0
commons-httpclient-3.1.txt               Apache License v2.0
diffutils-1.2.1.jar                      Apache License v2.0
guava-17.0.jar                           Apache License v2.0
hamcrest-core-1.3.jar                    BSD License
httpclient-4.1.1.jar                     Apache License v2.0
httpcore-4.1.jar                         Apache License v2.0
httpmime-4.1.1.jar                       Apache License v2.0
javassist-3.18.0.jar                     Apache License v2.0
jl1.0.1.jar                              Lesser GPL v2.1
jna-4.2.0.jar                            Apache License v2.0
jna-platform-4.2.0.jar                   Apache License v2.0
junit-4.11.jar                           Common Public License v1.0
opencsv-2.3.jar                          Apache License v2.0
sequence-library-1.0.3.jar               BSD License
xom-1.2.9.jar                            Lesser GPL v2.1


