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.
| 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.
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 |
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 |
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 |
Some of the icons in our applications are from Flaticon and Icons8, and we thank their designers:
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 |
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.
The full text of each licence is available at the links in the table above.