Table of Contents


This page provides guidance to those wanting to contribute to the project.

Here is a video on contributing to open source -

There is also a file at the top level that guides common activities.

Development Flow

  • Report the issue you are facing or the new feature you would like to introduce and get approval from the maintainers of the project. Alternatively, choose an already reported issue.
  • Pull or clone the repository
  • Create a new branch
  • Make the necessary changes
  • Test your changes
    • Write and run tests
    • Look for instructions in the README.MD file in the project where your changes are for additional instructions on testing the code
  • Create a Pull Request and assign reviewers
  • Once approved, merge the pull request

Pull Request Process

Every pull request must follow the guidelines set here to be approved and considered for merging. Every pull request should be linked to a reported GitHub Issue in the openIDL project. Pull requests have been set up with checks that all have to pass. At least two maintainers should approve the pull request.

Pull Request Requirements

At least 2 approvals from maintainers from two different organizations(tick)
The pull request is linked to a GitHub Issue (new feature or a bug)(tick)
Developer Certificate of Origin (DCO)(tick)Always commit your changes with git commit -s  (--signoff)
Automated builds pass(tick)
Automated tests pass(tick)
Security scans pass (Snyk)(tick)

Definition of Done


Active Maintainers

NameOrganizationGitHub ID
Jeff BraswellopenIDL


Sean BohanopenIDLSeanBohan
Ken SayersAAISkens-aais
Peter AntleyAAISantleypk2
Surya LankaChainyardsuryalanka-cy
Tsvetan GeorgievSenofiTsvetanG
Yanko ZhelyazkovSenofiyzhivkov

New maintainers are welcome.


Each subdirectory has a file that helps with the details of local development.

Developing the UI

Developing the APIs

Developing Common Code

Standard object notation is JSON. Keys/Attributes will be named using PascalCase example:  {'Foo': 'val'},{'FooBar': 'val2'}

Objects will have singular names. Lists of objects will be names as plural form of singular object.  ex: {"Foos" : [{"Foo":"val3"},{"Foo":"val4"}]

Developing Utility Code




  • No labels