Managing the FreeCAD Grant Program

Managing resources

Main program page

The program page is expected to provide the latest information on the program: current stage, up-to-date rules, up-to-date list of this year’s issued grants, a link to the program’s archive of past issued grants.

Program archive

The program archive pages should list past issues grants grouped by year, in reverse chronological order. Information about each grant should include:

Git repository for grant applications

All applications are managed through a dedicated git repository.

Applicants submit an issue using one of the two available issue templates: for fixed goal or for time commitment.

For grant applications that have been approved, issues stay open until either proposed work is done or the grant contract has been terminated.

For grant applications that have been declined, issues get closed immediately after voting.

All management is done by either the grant program manager or any member of the FPA general assembly.

Annual program lifecycle

Program preparation

  1. January each year — propose 1) a timeline to the general assembly and the technical committee, 2) a budget.
  2. Have the FPA general assembly vote on the timeline and the budget.
  3. See if the git repository for grant applications needs a cleanup: issues that need closing etc.

Program announcement checklist

  1. Ask if everyone’s still ready, especially the technical review committee.
  2. Update the program page for the new timeline.
  3. Write the announcement post stating:
  1. Publish the blog post.

Collecting applications

All grant applications are submitted to the dedicated git repository.

Analyzing applications

This is done in two steps.

Step 1: The grant review committee studies grant applications using the following criteria (order is important):

  1. Whether the proposal is technically sound:
  1. Whether the goal appears to be achievable in the proposed timeframe

Step 2: The FPA general assembly takes grant review committee’s verdict into consideration and further looks at the following:

  1. Whether the project would improve FreeCAD or its ecosystem in a significant manner. Significance criteria:
  1. Whether the applicant has demonstrated the technical ability to work on the project in general:
  1. Whether the scope of the project matches demonstrable skills of the developer and is doable in the proposed time frame

  2. Whether the requested compensation is generally in line with what’s expected (not too little, not too much; e.g. $5/hour is too little, $200/hour is too much)

Voting for grants

The general assembly reads reviews made by the technical review committee and votes for proposals.

Announcing grants

  1. Update the list of ongoing projects on the FPA website
  2. Publish the same list of approved projects in the FreeCAD blog.

For each approved project state:

Interim updates

All contributors who received grants are obligated to submit interim reports.

For contributors working on fixes goal projects, reports are expected at the end of each stage.

For contributors working on time commitment projects, reports are generally expected every two weeks.

Each report should contain a list of work done, preferably as a list of submitted pull requests with status on each one: in draft, open and waiting for review, passed review with further changes pending, merged. Reports are also expected to outline further planned work. Contributors are encouraged to talk about challenges to give the FPA heads up on complications.

Closing grant projects

  1. The contributor submits the last pull request.
  2. The PR passes code review and is merged.
  3. The contributor writes and submits the final report.
  4. The program manager verifies that all work has been done.
  5. The treasurer issues the last payment.

Wrapping up the program

  1. The grant program manager collects information about all grants issued during the year and writes a public report:
  1. The grant program manager writes and publishes shorter version of the report for the FreeCAD blog and links to the full report.


  1. The grant program manager collects feedback from all stakeholders: what things worked well, what things need rethinking, what things need scrapping entirely.
  2. The grant program manager proposes changes to program rules as a PR to the ‘FPA’ git repository.
  3. The FPA general assembly reviews the proposal and requests further changes or merges the PR.

Out-of-program grants

For grants applications submitted outside of the annual programs, the same rules generally apply: