GSoC Checklist

From FreeCAD Documentation

Below is a checklist to help students get set up quickly. Items are categorized to help you prepare your application, get set up to work, and become familiarized with basic infrastructure.

Applying

  1. Check out our Project Ideas
  2. Introduce yourself! Don't be shy. The main place where the FreeCAD community meets is the FreeCAD forum. Create yourself an account, introduce yourself, and tell a bit about what you would like to do with FreeCAD or ask for ideas. You can post for example under the Open discussion section or the GSoC section.
  3. Begin your application, see GSoC Application Guidelines
  4. See proposal ideas on the Google Summer of Code 2024 page, or make up your own idea!
  5. Discuss and share your project details on the forum (don't wait, the sooner the better your proposal can be!)
  6. Submit your application
  7. Wait for the results

When you get selected

  1. Read the BRL-CAD requirementsand expectations. FreeCAD is not applying under the BRL-CAD umbrella anymore, but we still follow the same guidelines and ways of doing. We will request that you commit to your work, and communicate often.
  2. Set up an interaction schedule with your mentors
  3. Get familiarized with web resources: Homepage, Wiki, Forum
  4. Post your proposal online. Create a thread for your project under the GSoC forum.
  5. Describe your project plan
  6. Document a list of 3 to 10 milestones
  7. Announce your plan on the forum
  8. Download or clone the source code, and make sure you are able to compile FreeCAD successfully (compile, install, run) Source & Compiling

Once coding begins

  1. Write maintainable, portable, complete code
  2. Keep a daily log of your activities on your forum thread
  3. Provide a midterm report on your project progress to your forum thread
  4. Stay motivated, engage other devs, allocate time for discussions
  5. Provide a final report on your project progress to the mailing list
  6. Keep working on FreeCAD :-)
  7. Submit patches to get familiarized with code; find small tasks like these