Open Source Software Used in Geotechnical Engineering Modelling Software (GEMS)

Last updated: 23rd October 2026

Geotechnical Engineering Modelling Software (GEMS) LLP ("GEMS", "GEMSai", "we", "us" or "our") develops desktop and cloud applications for foundation analysis and design, and our applications make use of the work of a number of open source projects. We are grateful to the developers and organisations who make these projects available, and we list them here together with the licences under which we use and distribute them.

Each component remains the property of its respective copyright holders and is distributed under its own licence, shown below. The licences for these components do not change the terms on which GEMSai software is licensed to you, which are set out in our Terms and Conditions.

GEMSai desktop applications

Component Version Licence Project website
Java runtime and user interface
OpenJDK Java runtime (Eclipse Temurin) 25.0.x, 21.0.x GNU General Public License v2 with Classpath Exception adoptium.net
OpenJFX (JavaFX)Includes WebKit, GStreamer and GLib components, distributed under the GNU Lesser General Public License v2.1 and BSD-style licences. 25.0.x, 23.0.x, 17.0.x GNU General Public License v2 with Classpath Exception openjfx.io
ControlsFX 11.2.0 BSD 3-Clause License github.com/controlsfx/controlsfx
JFoenix 9.0.10 Apache License 2.0 github.com/sshahine/JFoenix
JavaFX 3D Surface Chart — Apache License 2.0 github.com/adihubba/javafx-3d-surface-chart
Java Native Access (JNA) 5.18.1 GNU Lesser General Public License v2.1 or Apache License 2.0, at the user's choice github.com/java-native-access/jna
Native runtime libraries
GNU Fortran runtime library (libgfortran) and GCC runtime library (libgcc) — GNU General Public License v3 with the GCC Runtime Library Exception 3.1 gcc.gnu.org/fortran
GCC Quad-Precision Math Library (libquadmath) — GNU Lesser General Public License v2.1 or later gcc.gnu.org/onlinedocs/libquadmath
MinGW-w64 winpthreads (libwinpthread)Windows only. — MIT License, with parts under BSD-style licences mingw-w64.org
Report generation (Word, Excel and PDF)
Apache POI (poi, poi-ooxml) 4.0.1 Apache License 2.0 poi.apache.org
Apache POI OOXML Schemas 4.1.2 Apache License 2.0 poi.apache.org
Apache XMLBeans 3.1.0 Apache License 2.0 xmlbeans.apache.org
XDocReport (XWPF converter core, XWPF to PDF converter, iText extension) 2.0.2 MIT License github.com/opensagres/xdocreport
iText 2.1.7 Mozilla Public License 1.1 or GNU Library General Public License v2 or later, at the user's choice Maven Central (source and binaries)
curvesapi 1.05 BSD 3-Clause License github.com/virtuald/curvesapi
Geometry and numerical methods
Apache Commons Math 3.6.1 Apache License 2.0 commons.apache.org
JTS Topology Suite 1.19.0 Eclipse Public License 2.0 or Eclipse Distribution License 1.0, at the user's choice github.com/locationtech/jts
polybool-java 1.0.1 MIT License github.com/menecats/polybool-java
Networking, data and general utilities
Apache HttpComponents Client 5.1.3 Apache License 2.0 hc.apache.org
Apache HttpComponents Core (core, HTTP/2) 5.1.3 Apache License 2.0 hc.apache.org
Apache Commons Net 3.11.1 Apache License 2.0 commons.apache.org
Apache Commons Lang 3.17.0 Apache License 2.0 commons.apache.org
Apache Commons Text 1.10.0 Apache License 2.0 commons.apache.org
Apache Commons Collections 4.2 Apache License 2.0 commons.apache.org
Apache Commons Compress 1.18 Apache License 2.0 commons.apache.org
Apache Commons Codec 1.15 Apache License 2.0 commons.apache.org
JSON.simple 1.1.1 Apache License 2.0 github.com/fangyidong/json-simple
SLF4J API 1.7.25 MIT License slf4j.org
JUnit 4.10 Eclipse Public License 1.0 junit.org
Hamcrest Core 1.1 BSD 3-Clause License hamcrest.org

Versions are those included in the current release of each application; where more than one version is listed, the version used depends on the platform. The GNU Fortran, GCC and MinGW-w64 runtime libraries are those supplied with the GNU Fortran compiler used to build each platform (MinGW-w64 on Windows). On 32-bit Windows, the applications use the Java 8 versions of ControlsFX (8.40.18) and JFoenix (8.0.10), which are distributed under the same licences.

GEMSai Cloud services

Our cloud services run on our own servers and make use of the following open source projects, which we are pleased to acknowledge.

Component Version Licence Project website
Python 3 Python Software Foundation License python.org
Flask 3.1 BSD 3-Clause License flask.palletsprojects.com
Werkzeug 3.1 BSD 3-Clause License werkzeug.palletsprojects.com
MySQL Connector/Python 9.x GNU General Public License v2 with the FOSS License Exception dev.mysql.com
Pydantic 2.x MIT License github.com/pydantic/pydantic
websockets 13.1 BSD 3-Clause License github.com/python-websockets/websockets
PyYAML 6.0.3 MIT License github.com/yaml/pyyaml

Code adapted from Stack Overflow and Stack Exchange

A few small parts of our applications are adapted from answers shared by the Stack Overflow and Mathematics Stack Exchange communities. We thank the authors for generously sharing their knowledge. Contributions to these sites are licensed under the Creative Commons Attribution-ShareAlike licence (CC BY-SA), in the version that applies to each post as described in Stack Overflow's licensing terms.

Used for Source Author
Copying and pasting table data to and from the clipboard Stack Overflow: Save table in clipboard (JavaFX) Roland (Roland09)
Wrapping long text across multiple lines in table cells Stack Overflow: TableView cell word wrapping maxim
Testing whether a point lies inside a triangle (3D surface charts) Stack Overflow: How to determine if a point is in a 2D triangle? andreasdr
Interpolating a value on a triangle (3D surface charts) Mathematics Stack Exchange: answer 851752 mfl

Code adapted from published articles

Parts of our applications also build on techniques described in the following articles. We are grateful to their authors for sharing them with the developer community.

Used for Source Author
Editable table cells and number formatting in tables DZone: Editable Tables in JavaFX Dan Newton
Custom application and table events JavaWorld: Mr. Happy Object teaches custom events Tony Sintes

Icons

Some of the icons in our applications are from Flaticon and Icons8, and we thank their designers:

Photographs on our website

Some of the photographs on our website are the work of other photographers, and we gratefully acknowledge them here.

Photograph Author Licence
Offshore oil platform Chad Teer Creative Commons Attribution 2.0 Generic
Offshore oil platform Unknown author Creative Commons Attribution 4.0
Beam foundation Unknown author —
Vashi bridge Mr. Pramath Creative Commons Attribution-ShareAlike 4.0
Pile foundations Unknown authors Creative Commons Attribution-ShareAlike 4.0
Construction building site Alex Borland Public domain

Source code for LGPL and MPL components

Where a component is distributed under the GNU Lesser (or Library) General Public License or the Mozilla Public License, its complete source code is available from the project website listed above. We use these components unmodified. If you would like us to provide a copy of the source code for any of these components, please contact us and we will be happy to send it to you.

Licence texts

The full text of each licence is available at the links in the table above.