FreeCAD did not yet participate in Googles student coding program (GSoC), 2016 is the first partisipation. As we are only a small team we got involved in a combined effort of many CAx organisations. Due to the combined application at GSoC many links will lead from here to the BRLcad wiki, which is used as single place for everything.

How it works

  • The student writes a project proposal for FreeCAD.
    • Sometimes their project idea caters to something that the open source organization suggests and sometimes it's an idea entirely of the student's conception.
  • Proposals are reviewed, evaluated, and ranked by the open source organization's mentors.
  • Google allocates a certain number of slots to each participating organization
    • That, in turn, determines how many student developers work with that organization.

If you want to get involved have a look at the getting started checklist. Whether you're applying or accepted, we've itemized everything you need to do in this list. We're here to help you become new open source developers, so don't be shy if you have any questions.

The Selection Process

GSoC is about getting people involved and contributing to open source over the long-term. As such, we heavily weight our application selection process towards students that are interested in remaining involved in FreeCAD and open source software development long after GSoC has ended. GSoC is not a job. If you think this is just a summer job, then GSoC is probably not for you. It's only like a job in terms of planning your time commitment over the summer.

Additionally, submissions are graded based on perception of the submitter's abilities to complete the task within the program timeframe, general consensus on the technical approach being proposed, and overall interest in having such modifications made to FreeCAD. Particular notice is made of students that are responsive to questions and readily interactive in the IRC channel or on the forum. Communication is a great thing.

Just about every GSoC organization receives considerably more project proposals than can be accepted. Every application gets read multiple times and reviewed in detail. Of those applications, only a small subset are selected so keep in mind that the selection process is rather competitive and difficult.

Whether or not you are accepted, contributing to open source outside of GSoC is one of the main goals of the program and is the best way to be noticed and get your proposal accepted. Keep that in mind. Thanks for your interest and we look forward to working with new FreeCAD developers!

Available Slots

As FreeCAD is new in GSoC our slots will be limited to maximal 2. Hence it will be hard for gathreing one of those slots with your application. Try to increase your chance by getting to know us early and start fixing bugs before GSoC starts, that always helps to build trust and will convince us of your dedication.

Possible Mentors

Ickby, Yorik You can reach us both in the forum and in the IRC channel.

Implementation Ideas

The ideas listed here have a high chance of being accepted as project proposal. Note that for students already longer involved in FreeCAD, and which already contributed code, own ideas in their line of work are also welcome. Feel free to contact us on IRC, the forum or the mailing list for further discussions about the listed projects.

Topic Language Difficulty Contact
Advance FreeCAD test system: Create a framework for result file based comparisons and workbench specific comparators. Also creation of test cases should be simplified by a GUI or wizard. Python/C++ Medium Ickby
Topological Naming Project: Theory evaluation of possible algorithms in respect to FreeCADs internal architecture and implementation of a prototype to show the general applicability of the choosen approach. C++ Hard Ickby
Direct modeling tools: Create a new layer of tools and objects, that work on top of existing Part-based 3D objects, that allow a user to graphically modify their geometry. Python/C++ Medium Yorik
FEM Post Processing based on VTK: Advance the currently prototyped FEM post processing based on the vtk library with more functionality and ensure a better itnegration into the workbench C++ Medium Ickby
Extend Part workbench python API : Expose 2D geometry API from opencascade and extend the 3D geometry API with then possible new functions C++, Python Easy Ickby
General measure framework: Build a unified measure framework working with different workbenches and objects for advanced data collection C++, Python Medium Ickby
IPython notebook integration: Create a way to export the open inventor scenegraph as a JavaScript file and add functions for seamless interaction with the IPython display system C++, JavaScript, Python Easy Ickby
Integrate Cycles renderer: Add Blender's new Cycles renderer as a new render engine to the Raytracing Workbench C++ Medium Yorik