FreeCAD Managing Expectations

Purpose
This wiki page is intended for new FreeCAD users coming from other CAD/CAM solutions.

Opening Statement
The FreeCAD community understands that many hobbyists, freelance designers and small businesses often seek refuge from the high costs and licensing restrictions of commercial software, or perhaps you merely chose FreeCAD because you believe in the philosophy behind FOSS. In either case, WELCOME! There are many users, just like you who have successfully made the transition to FreeCAD for their personal and professional needs. This wiki page is designed to help set you on the path of success and establish some realistic expectations while diving into the FreeCAD Way™, which is most likely quite a bit different than what you may have grown accustomed to with other popular CAD software.

Disclaimer:
'' While we welcome and encourage community growth and participation, demands, emotional rants and wild claims are generally poorly received as our community is made up of many experienced and passionate supporters of FreeCAD who have heard similar statements many times over. If you find a feature lacking, or something which is an annoying bug for you, we highly encourage you to consider getting engaged with the code itself. FreeCAD is largely developed by a relatively small group of talented people who all have day jobs, families and other interests beyond just programming on-demand. If you have the skills (Python/C++) and motivation to participate, your contributions can help make FreeCAD even better than it is today. You can find tracked bugs/feature requests here. ''

What can I expect?
At its core FreeCAD is a parametric modeler. It uses a workbench concept, where each workbench is responsible for specific tasks and functions. This construct is very powerful (but can also be confusing for new users). As such it can be used for many purposes. It is actively developed, used in production, and quite stable. However, like any other CAD program, FreeCAD is not 100% stable.

Coming from another CAD program you may find FreeCAD terminology, structure and organization to be slightly foreign. You might also have to adjust your workflow, learn functional workarounds or utilize our powerful macro system, but in many cases you will be able to achieve what you want. And if you need help: we have a very active and responsive forum willing to assist. Among the forum members there are bound to be (former) users of your current CAD program. So do not hesitate to tap into that resource.

How can I contribute?
There are many ways: you can make a donation, help with forum questions, or write documentation or code. See Help FreeCAD.

Non Parametric

 * FreeCAD can be used non-parametrically. But the user needs to know how.
 * Blender is the ideal free libre opensource tool for non-parametric design.

Mesh Modeler

 * Again, Blender is the more appropriate application for mesh modeling.

FreeCAD is not stable
This is true to of any of many CAD applications. FreeCAD suffers from this as well. Although the community works to address catastrophic crashes quickly, users are encouraged to employ a workflow in which they save their work often and utilize the backup features (available in preferences) to recover or roll-back from problematic issues. An important point here to consider is that many users aren't always using the most up to date version of FreeCAD and end up complaining of deprecated or already addressed instability problems. FreeCAD also has a very long release cycle and in the past has not backported fixes due to time and 3rd-party dependency complexity. In short, many bugs get fixed in the development version and so users need to make the unorthodox decision of running a development version of FreeCAD instead of the 'stable'.

FreeCAD UI is ugly

 * At its core, this is relegated to 'Eye of the beholder' (subjective) perspective. FreeCAD has been around a very long time, its dedicated users have grown familiar with the user interface.
 * The topic of changes to UI/UX is very contentious. Changes to the UI/UX require proof of concepts, popularity in the community, and effectiveness to eventually make it in to the mainline FreeCAD code. This takes time and diplomacy.
 * Is it really? Thanks to customization possibilities (as of v0.20) there is an ability to customize the UI (see Preference Packs). At some point very soon, FreeCAD will be provide a comprehensive flexibility to customize its UI, something other CAD packages would not be able to boast.

OpenCascade Kernel
OpenCascade (OCC/OCCT) is a core external CAD kernel dependency that FreeCAD is utterly dependent on. There are many open 'upstream' bugs that the FreeCAD community has identified and track regarding OCC. We track them via the:
 * bugtracker
 * forum thread called OCC Bugs in the Bugtracker

Links

 * Discussion: FreeCAD is not ready for 1.0 (forum thread)
 * Why the GIMP Team Obviously* Hates You (*We Actually Love You. **Mostly) Pat David from GIMP team presentation at SCaLE16x California 2016
 * Earning Your Support Instead of Buying it: A How-to Guide to Open Source Assistance by Ian Turton at FOSS4G Seoul 2015