Developer hub



This is the place to come if you want to contribute to the development of the FreeCAD software.

These pages are in the early stage of development. If you can't find the information you are looking for, or have found useful information somewhere we have not linked to, then please leave a comment on the forum and someone will look into it (or, if you are feeling bold, why not edit this page directly!).

Developer Documentation
The developer documentation comprises the following sections:

Do it yourself: Compiling FreeCAD

 * Source code management
 * Find assistance when you have a problem or think you may have found a bug
 * Compiling on Windows
 * Compiling on Unix
 * Compiling on Mac OS X
 * Licence details about the FreeCAD licences
 * Third Party Libraries
 * Third Party Tools
 * Start up and Configuration
 * Source documentation

Build Support Tools

 * The FreeCAD Build Tool
 * Adding an application module to FreeCAD
 * Debugging FreeCAD
 * Testing FreeCAD
 * Compiling (Speeding up) FreeCAD
 * Continuous Integration

Modifying FreeCAD

 * Understanding The FreeCAD source code
 * Add Features to FreeCAD or a Workbench
 * Branding or how to give FreeCAD a unique look
 * Artwork we made for FreeCAD, that you can freely reuse
 * Translating FreeCAD
 * Extra python modules, or how to extend python functionality within FreeCAD
 * Google Summer of Code get involved via Google's student support program

Module developer's guide
FreeCAD Mod Dev Guide: This is an ebook under writing on github, please fork and send pull request to contribute.

Chapters:
 * Overview and Software Architecture
 * Source code structure
 * Base and App module
 * Gui module
 * Python wrapping
 * Modular design
 * Fem module source analysis (mixed C++ and Python)
 * Development of CFD Module (pure Python)
 * Module testing and debugging
 * Contribute code with git

Latest pdf preview can be downoaded from pdf folder of this git repo

OpenCascade Documentation

 * Roman Lygin's tutorials
 * Online class reference. This is the help data on-line for the last version that they offer this way, it is out of date but still helpful and often still relevant. It is perhaps more convenient that having to download a single large file, which is what you have to do for a more recent version.
 * The openCascade wiki

Roadmap
FreeCAD, though usable in certain areas, is at the beginning of a long way into the CAD mainstream. There is still a lot to do to reach a state where we can compete with commercial software.


 * Development roadmap

Credits
Contributors