Table of Contents

Licensing

MIT wherever NetOcc can, OCCT's terms where it must. This isn't legal advice. The repository carries LICENSE (MIT) and netocc-core/NOTICE; the packages carry NOTICE, the runtime packages THIRD-PARTY-NOTICES.txt (NOTICE and every vcpkg port's license).

Part License Why, and what it takes
netocc-gen, its config, the typemap library, the runtime, the hand-written C#, tests, build scripts MIT NetOcc's own code; the generator reads OCCT's headers and never links OCCT
Generated .i, _module.hxx and .g.cs MIT, committed declarations only: OCCT's doc text never lands in committed files
SWIG's output (*_wrap.cxx, *.cs) build output not committed
Native libraries (NetOcc<Module>, NetOccRuntime) MIT the OCCT exception lets object code that incorporates header material use terms of your choice, given a prominent notice that it uses OCCT: NOTICE
NetOcc.dll MIT C# calling the native libraries
NetOcc.xml, the IntelliSense documentation LGPL-2.1 with the OCCT exception the doc comments of OCCT's headers: shipped with OCCT-LICENSE.txt, never committed. The package's license expression then reads MIT AND LGPL-2.1-only WITH OCCT-exception-1.0
OCCT's libraries (TK*) LGPL-2.1 with the OCCT exception shipped as separate, replaceable libraries with their license texts, and the exact source published: OCCT's tag and vcpkg's port patches. One patch changes Image_AlienPixMap.cxx, so the shipped OCCT is modified
FreeType, RapidJSON, zlib, libpng, brotli, bzip2 FTL, MIT, zlib, libpng, MIT, bzip2 attribution in NOTICE; no FreeImage (GPL, FIPL)
SWIG the tool GPL-3.0, its runtime library terms of your choice the generated output is unrestricted
ClangSharp, libclang MIT, Apache-2.0 WITH LLVM-exception the generator's dependencies only
Other OCCT bindings GPL-3.0, LGPL-3.0 reference for rules at most: copying their code or exclusion lists would make NetOcc's GPL
  • Managed math is written from scratch. Porting OCCT's inline implementations to C# would make that code an LGPL derivative, so anything beyond trivial math calls OCCT.
  • NetOcc isn't affiliated with Open Cascade SAS. "Open CASCADE" and "Open CASCADE Technology" are its trademarks.