If you like FreeCAD and would like to help in its development, there are many things you can do, even if you are not a programmer. Actually, there are things to do for everyone: users, power users and developers:
Work on the documentation
Help us to build, correct and extend this documentation. Correct mistakes, extend or correct pages that are unclear, create new pages if a topic is missing, etc. To edit the wiki, you will need a SourceForge account, then, you can use the same login and password on this wiki. Then, ask on the forum or on the irc channel for write permission (the wiki is write-protected to avoid spamming). A couple of areas that would welcome your work:
- The List of Commands page list and documents all of the FreeCAD commands. Most of them have few or no information at all. The Std_ViewScreenShot page is a good example of what every other command should like.
- The Tutorials section is still very poor. If you developed something cool with FreeCAD, why not write there how you did it?
The users community around FreeCAD is still small, but already includes several advanced users who do a very important job in showing to newcomers how to use the software. If you begin to feel comfortable with FreeCAD, your knowledge could be very valuable to others, and you might contribute with important assets, like:
- Showing the work you do with FreeCAD on this forum thread. You can post screenshots, and, even better, attach the FreeCAD files so other people can examine it and understand how you did it.
- Recording videos showing how you did something interesting in FreeCAD. These videos usually do a great job in showing new features.
- Write tutorials describing or teaching something interesting. You can write tutorials on your own blog, directly on our wiki, or even on the forum.
Translate the documentation and FreeCAD itself
- Translate FreeCAD in your own language. All text of the FreeCAD interface can be easily translated in other languages. All we need is someone who know that other language and is willing to help! We currently have translation in english, german and french.
- Translate the documentation: Translating this wiki is easy, you just need to add a /languagecode page to create a translation. For example, to translate the Part_Module page (its url ends with index.php?title=Part_Module) to french, you would just add /fr to the url, which will create a Part_Module/fr page.
Help others to know FreeCAD
- Talk about FreeCAD to other people who might be interested
- Find interesting uses for FreeCAD, and document it, for example with screenshots. FreeCAD is very young, and not many people see what they can do with it. If you are a FreeCAD fan already, you surely know some cool thing FreeCAD can do. Help us to show that to others!
- Hang on the forum, and help newcomers to solve basic questions
- Write tutorials, record videos, etc... showing what you do with FreeCAD
- Contribute with files, drawings, etc... We still lack good example files of what can be done with FreeCAD
Report bugs and ask for interesting features
The place to report bugs and suggest new features is the FreeCAD Tracker. In order to save developers time (triaging and handling hard to understand bugs can be very time consuming), and avoid frustrations because your issue was not handled the way you would like, please read the following:
- Bugs and features requests are handled in the same tracker. Just mark your issue as "bug" (something that doesn't work as it should) or "feature" (something that is not there but you think it would be good to have)
- Although you can submit issues anonymously, please use your sourceforge account (create one if needed), so you can be notified when someone adds notes to the issue. In many cases, the person who will handle the bug will need more information from you.
- When reporting a bug, the most important point is to allow developers to reproduce it. Be sure to include the exact steps needed to make the bug happen, so another person can do the same and see the bug happen on his machine too. If the developer cannot see the bug, he cannot solve it either.
- Also include information that can help developers to situate the problem, like the operating system you are running FreeCAD on, the version of FreeCAD (for example 0.11) and the revision number (for example 4955). Both those numbers are available on the Help -> about FreeCAD dialog.
- If you are not sure whether what you found is a bug or not, the best way is to head to the forum and discuss it there first.
- Before submitting a feature request, it might also be a good idea to discuss it with other users on the forum, so you might end up with a more solid proposal, with more chances to interest a developer to implement it.
- Remember that FreeCAD is developed by volunteers who use their free time to work on it. Although everyone tries his best to make the best possible application, your bug report might be treated with low priority, or canceled if you cannot give sufficient information, and your feature request might be postponed or even refused if no developer has interest in implement it or if that would request unrealistic amount of work.
- If you know a bit of python language, program some useful scripts. Maybe you want a small function that is missing? Or you feel bold enough to start to program some new tool? Look in the scripting section, or head to the forum and discuss your ideas, you will surely find plenty of help.
- If you don't know python but would like to try, know that python is extremely easy and user-friendly, in fact it is a perfect language for someone who has never programmed before. With a bit of interest and dedication, you could be on tracks pretty quickly. Have a look at our Introduction to python!
- If you know how to program in C++, then you are ready for bigger stuff. Head to the Developer hub!