SIL Font Development Guide

How to build, modify, and contribute to SIL International font projects

View project onGitHub

9. Contributing Changes

Making changes is one thing, contributing changes so that they can become part of the original project and not another derivative is something else. Sometimes the change is small enough that you may not want to continue maintaining your own derivative longer-term but you’d rather have the changes be available to everyone in a newer version of the original font project.

We want to keep the process of accepting changes low friction but we will be reviewing the changes thoroughly before integrating them. Like for other open software projects, contributing a change does not mean an absolute guarantee that it will be included but it certainly helps!

To maximize your chances of getting changed merged back into an original version you need to consider the following:

  • making sure changes are expressed in open formats for interoperability: like UFO or other similar non-opaque open standards-compliant file format
  • preparing changes so they are correctly isolated from other changes (a minimal working example) and can easily be tested with corresponding data
  • optionally providing the FONTLOG entry corresponding to the proposed change
  • opening a Github issue to describe the proposed change in the appropriate repository
  • understanding the way copyright and the OFL (SIL Open Font License) work and how to fill in an copyright statement and font metadata appropriately: this means updating the copyright statement to add an extra entry but without removing any existing ones. There may be a CLA (Contributor’s License Agreement) to take care of as well. Making sure that authorship is above board and that changes are properly credited is essential. The OFL-FAQ is available to answer your questions.
  • making a diff or a branch publicly available with the changes, then submitting a PR (Pull Request) or MR (Merge Request) in the original project.

We hope you will enjoy building our open fonts, adapting them to your local needs and maybe also contributing something back to the original version. You will be properly credited with any changes you contribute back which gets included in the original version.

Let us know if you have any comments or suggestions to add to this guide.

Thanks!