Open-source licences
hammer8 is built on Open CASCADE Technology and FreeCAD's PlaneGCS solver. What that means, and the rights you have in them.
hammer8 is proprietary software, but the two hardest parts of it are not ours. This page says what they are, who wrote them, and what you are entitled to do with them.
The full notices — including version numbers, licence texts and build instructions — are at [/licenses/NOTICES.md](/licenses/NOTICES.md) and ship with every copy of hammer8.
The geometry kernel
hammer8 makes use of, and is based on, facilities provided by the Open CASCADE Technology software. Every solid you build — every extrude, fillet, boolean and shell — is computed by OCCT, a B-rep modelling kernel that has been developed since the 1990s.
It is used under the GNU Lesser General Public License, version 2.1, with the Open CASCADE exception ([licence](/licenses/LGPL-2.1.txt) · [exception](/licenses/OCCT-LGPL-EXCEPTION.txt)).
The sketch solver
When you add a dimension or a constraint and the sketch rearranges itself, that is PlaneGCS, the geometric constraint solver from FreeCAD, compiled to WebAssembly. It is used under the GNU Lesser General Public License, version 2.1 or later ([licence](/licenses/LGPL-2.1.txt)).
What you may do
Both are LGPL components, and that licence gives you rights that hammer8's own licence does not take away. You may:
- Modify either component for your own use, and reverse engineer hammer8 as far as you need to debug those modifications.
- Replace either one. Both ship as separate WebAssembly modules —
webcad_single.wasmfor the kernel,planegcs.wasmfor the solver — which hammer8 loads by URL when it starts. Build your own and drop it in; nothing else needs rebuilding. - Get the source. The upstream repositories, the exact versions we build from, and the one-line Docker command that produces the kernel module are all in the notices. If you would rather have the materials sent to you, ask; the offer stands for at least three years.
Everything else
hammer8 also uses [replicad](https://github.com/sgenoud/replicad), [gl-matrix](https://github.com/toji/gl-matrix) and [opentype.js](https://github.com/opentypejs/opentype.js), all under the MIT Licence. Their copyright notices are in the full notices file.
Our thanks to everyone who built these. A browser-based CAD system would not be possible without them.