# libcad Motivation
## Why libcad?
The Engineering and design software industry is dominated by expensive, inflexible and often poorly written proprietary offerings.
High license fees create a high barrier for entry and a significant running cost to companies, limiting what they might otherwise be able to achieve.
Legacy mechanical CAD systems tend to be built on very old codebases, unoptimised for modern features such as multithreading, GPGPU and ray tracing.
libcad aims to alleviate these issues by introducing a completely free, open-source, and massively flexible platform for design and engineering.
Packaged as a library, libcad can be used in many different ways.
This project includes a reference cross-platform CAD implementation inspired by legacy offerings, but this is far from the limit of what is possible.
From new and more intuitive design paradigms to cloud cluster deployments and embedded system use, we hope libcad powers a more productive and innovative future.
## What is libcad?
The libcad project is modelled in many ways after graphics APIs such as OpenGL and Vulkan.
At it's most basic, libcad provides a library interface definition.
While this project includes a reference implementation, there is nothing stopping someone writing an alternative implementation that introduces new features or a different backend.