Argeo JJML - Java bindings for the ggml family of machine learning libraries, especially llama.cpp

Copyright 2024-2025 Mathieu Baudier

Copyright 2024-2025 Argeo GmbH

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.

This program is distributed 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.  See the GNU
Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with this program; if not, see <https://www.gnu.org/licenses>.

## Third-party software licenses

When the Program is distributed with third-party components as a Java runtime
the legal details of each component can be found under the legal/ directory.

## Alternative licenses

As an alternative, this Program is also provided to you under the terms and 
conditions of the Eclipse Public License version 2.0 or any later version. 
A copy of the Eclipse Public License version 2.0 is available at 
http://www.eclipse.org/legal/epl-2.0.

This Source Code may also be made available under the following 
Secondary Licenses when the conditions for such availability set forth 
in the Eclipse Public License, v. 2.0 are satisfied: 
GNU General Public License, version 2.0, or any later versions of that license, 
with additional EPL and JCR permissions (these additional permissions being 
detailed hereafter).

## Additional Permissions (when applicable)

In case you decide to relicense this program to the GNU General Public License 
version 2.0, or any later version, the copyright holders of Argeo JJML give 
you the following additional permissions:

# Eclipse Public License Permission

Linking Argeo JJML statically or dynamically with other modules is making a 
combined work based on Argeo JJML. Thus, the terms and conditions of the GNU 
General Public License cover the whole combination when this license becomes 
applicable.

In addition, as a special exception, the copyright holders of Argeo JJML give 
you permission to combine Argeo JJML with any program released under the 
terms and conditions of the Eclipse Public License v1.0, v2.0 (even without a 
Secondary License enabled) or any later version of this license. You may copy 
and distribute such a system following the terms of the GNU GPL for Argeo JJML 
and the licenses of the other code concerned, provided that you include the 
source code of that other code when and as the GNU GPL requires distribution of 
source code.

Note that people who make modified versions of Argeo JJML are not obligated 
to grant this special exception for their modified versions; it is their choice 
whether to do so. The GNU General Public License gives permission to release a 
modified version without this exception; this exception also makes it possible 
to release a modified version which carries forward this exception.

# Apache License Permission

Linking Argeo JJML statically or dynamically with other modules is making a 
combined work based on Argeo JJML. Thus, the terms and conditions of the GNU 
General Public License cover the whole combination when this license becomes 
applicable.

In addition, as a special exception, the copyright holders of Argeo JJML give 
you permission to combine Argeo JJML with any program released under the 
terms and conditions of the Apache License v2.0 or any later version of this 
license. You may copy and distribute such a system following the terms of 
the GNU GPL for Argeo JJML and the licenses of the other code concerned, 
provided that you include the source code of that other code when and as 
the GNU GPL requires distribution of source code.

Note that people who make modified versions of Argeo JJML are not obligated 
to grant this special exception for their modified versions; it is their choice 
whether to do so. The GNU General Public License gives permission to release a 
modified version without this exception; this exception also makes it possible 
to release a modified version which carries forward this exception.

# Java Content Repository API version 2.0 Permission

Linking Argeo JJML statically or dynamically with other modules is making a 
combined work based on Argeo JJML. Thus, the terms and conditions of the GNU 
General Public License cover the whole combination when this license becomes 
applicable.

In addition, as a special exception, the copyright holders of Argeo JJML give 
you permission to combine Argeo JJML with code included in the standard 
release of the JCR API version 2.0 (and this version only), licensed under the 
Day Specification License and the Day JCR License. You may copy and distribute 
such a system following the terms of the GNU GPL for Argeo JJML and the 
licenses of the other code concerned.

Copies of the Day Specification License and the Day JCR License
are expected to be available here:
https://jackrabbit.apache.org/jcr/jcr.html

Note that people who make modified versions of Argeo JJML are not obligated 
to grant this special exception for their modified versions; it is their choice 
whether to do so. The GNU General Public License gives permission to release a 
modified version without this exception; this exception also makes it possible 
to release a modified version which carries forward this exception.
