Licenses and attribution
This browser edition is hosted here for classroom use. It is not affiliated with or endorsed by the FreeCAD project. For help with this school site, ask your teacher.
This application
The browser port is copyright © Virtastic. The copyright and component notices are available in the local NOTICE.
The build scripts, patches, front-end shell and verification harnesses are licensed under the GNU Lesser General Public License, version 2.1 or (at your option) any later version — matching FreeCAD, from which the shipped application is derived. Full text: LICENSE.
Corresponding source
Everything needed to rebuild and relink this application is public — there is no written-offer step to go through:
The corresponding source, build scripts, patches, release artifacts and build procedure are provided by the copyright holder at https://github.com/Virtastic/freecad-web/tree/v1.0.5. Ask your teacher if you need help accessing them.
Components linked into FreeCAD.wasm
| Component | License | Upstream |
|---|---|---|
| FreeCAD | LGPL-2.1-or-later | FreeCAD/FreeCAD |
| Open CASCADE Technology | LGPL-2.1 + exception | dev.opencascade.org |
| Coin3D | BSD-3-Clause | coin3d/coin |
| VTK | BSD-3-Clause | vtk.org |
| CPython | PSF-2.0 | python.org |
| Qt 6 | LGPL-3.0-only | qt.io |
| PySide6 / shiboken6 | LGPL-3.0-only | Qt for Python |
| IfcOpenShell | LGPL-3.0-or-later | ifcopenshell.org |
| pivy | ISC | coin3d/pivy |
| NumPy | BSD-3-Clause | numpy.org |
| matplotlib | matplotlib (PSF-based) | matplotlib.org |
| kiwisolver | BSD-3-Clause | nucleic/kiwi |
| Xerces-C++ | Apache-2.0 | xerces.apache.org |
| Boost | BSL-1.0 | boost.org |
| ply | BSD-3-Clause | dabeaz/ply |
| typing_extensions | PSF-2.0 | python/typing_extensions |
| Emscripten / LLVM | MIT and NCSA | emscripten.org |
Full license texts are in
/LICENSES/ on this site.
Separate WebAssembly modules (GPL)
| Component | License | Upstream |
|---|---|---|
| Gmsh | GPL-2.0-or-later | gmsh.info |
| CalculiX (ccx) | GPL-2.0-or-later | calculix.de |
These are GPL and are deliberately not linked into FreeCAD.wasm.
Each is built as its own standalone WebAssembly module (gmsh.wasm,
ccx.wasm) with its own filesystem, fetched on demand, and driven through a
JavaScript bridge that copies input files in and results back out — the same arrangement desktop
FreeCAD uses when it shells out to an installed gmsh or ccx binary.
Anyone redistributing this application should confirm that arrangement against their own legal
advice rather than relying on this note.
3D mouse (3Dconnexion)
3D input device development tools and related technology are provided under license from 3Dconnexion. © 3Dconnexion 1992 - 2025. All rights reserved.
The 3Dconnexion JavaScript client (3dx/3dconnexion.min.js) and the
3dx/autobahn.min.js bundle it uses ship unmodified, each keeping its original
license header. They are not covered by this repository's LGPL license, are loaded only when you
connect a 3D mouse, and talk only to the 3Dconnexion driver on your own computer.
| Component | License | Upstream |
|---|---|---|
| 3DconnexionJS 0.8.1 | 3Dconnexion SDK license (proprietary) | 3dconnexion.com |
| AutobahnJS | MIT, © 2011-2014 Tavendo GmbH | autobahn.ws |
| when.js (included in AutobahnJS) | MIT, © B Cavalier & J Hann | cujojs/when |
| CryptoJS 4.2.0 | MIT, © 2009-2013 Jeff Mott, 2013-2016 Evan Vosberg | brix/crypto-js |
The MIT license text is in LICENSES/MIT.txt.
Qt licensing
Qt is used under the LGPL-3.0. play-gui/qtloader.js is distributed by The Qt Company
under LicenseRef-Qt-Commercial OR GPL-3.0-only and retains its original header.
FreeCAD is LGPL-2.1-or-later, so it may be used under LGPL-3.0, which is compatible with
GPL-3.0; the combined work is distributed under terms no weaker than those.
Trademarks
“FreeCAD” is a trademark of the FreeCAD project, used here to identify the software this build is derived from. No affiliation or endorsement is claimed.