The Common Domain Model is an open standard project hosted under FINOS, the Fintech Open Source Foundation, starting in February 2023.
The standard is developed through the Community Specification open governance process, and underlying code assets are released under the Community Specification License 1.0. For versions before 4.0.0 and other license details, check Notice.md.
To participate in the standard process and working group meetings, enroll as a participant by completing a Community Specification Contributor License Agreement (CSL CLA). All meetings are to be held in accordance with the FINOS policies and procedures.
For a general overview of the Common Domain Model, a comparative analysis with FpML, an exploration of the CDM's historical development and events, as well as insights into its further applications, including its role in the ecosystem and support for smart contract technology, we recommend reviewing the CDM Overview deck.
For a more detailed overview of the existing Working Group and standard Participants, Editors and Maintainers, please see Governance.md. For more information on discussions and announcements subscribe to our mailing list using the following link.
Read more about project contribution guidelines, principles, frequently asked questions and the journey of Common Domain Model into Open Source at FINOS.
The CSL specifies three different contribution roles for each specific Working Group:
- Maintainers - those who drive consensus within the working group
- Editors - those who codify ideas into a formal specification
- Participants - anyone who provides contributions to the project under a signed CSL CLA. A great way to sign the CLA is to open a Pull Request to add your name to the Participants.md file.
The following Working Groups are currently activated or about to be set up for this project:
- Contribution Review Working Group
- Collateral Working Group
- Technology Architecture Working Group
- Structured Products Working Group
- Steering Working Group
- Derivative Products and Business Events Working Group
- ISLA CDM Working Group (Securities Lending)
- ISLA CDM Trading Working Group (Securities Lending)
- ISLA Document Digitisation Working Group (GMSLA)
- ICMA CDM SteerCo for repo and bonds
Changes to the CDM may be proposed by CDM Working Groups, individual corporate contributors, or individual contributors.
Any Participant may propose a Working Group. Proposals for the formation of a new Working Group are made by completion of a new CDM Working Group template, clearly stating the objectives, deliverables and committed maintainers/editors for the proposed Working Group.
Approval of Specification Changes by Working Groups. Participants of each Working Group approve the âproposedâ changes from that working group; the âapproved changesâ within a given Working Group will be brought to the Steering Working Group as a proposed âPre-Draftâ contribution.
- Participants of the CDM Steering Working Group approve DRAFT specification releases.
- Maintainers of the CDM Steering Working Group will approve merging of the proposed âPre-Draftâ changes (coming from other Working Groups or otherwise from community) into the repo.
CDM Steering Working Group. The CDM Steering Working Group will review and approve completed Working Group formation proposals per 2.1.0.
CDM Steering Working Group Purpose: The Steering Working Group is responsible for developing the technical and modelling guidelines, setting and revising the projectâs strategic roadmap, and for vetting proposed changes. The CDM Steering Working Group may approve or establish additional working groups.
The first Steering Group of each calendar year will include a review of existing governance measures and wording on the agenda for re-ratification.
Appointment of CDM Maintainers:
Maintainers are designated as either Organisational Representatives (OrgRep) or Private individuals. Private individuals are maintainers in their own right, acting on their own volition and not representing another legal entity. OrgReps are appointed by their organisation, acting on behalf and for that organisation. Organisations are recommended to appoint at least two representatives for coverage purposes. Organizations may change their OrgReps at any time.
A list of Maintainers along with their type will be kept visible within the governance documentation provided on the repo and mini-site.
-
Additional Maintainers may be proposed by Participants. Proposed new Private individuals or new organisations will be approved via consensus of the Participants and with agreement of existing Maintainers, and should meet the following criteria:
-
Proven experience in data modelling and/or software development in financial markets.
-
In-depth understanding and proven track record of contribution to the CDM, as well as other data standards (such as ISO) and messaging protocols (such as FIX, FpML or Swift).Private individuals and Organisations may choose to rescind their maintainership at will but must notify the other maintainers. Any entity who has chosen to rescind their maintainership, but then at a later time would like to re-join the maintainer team, is subject to the voting process outlined above. Additionally any OrgRep who has been replaced by their organisation, but wishes to remain a maintainer as a Private Individual will also need to go through the voting process. For the voting purposes, each Organization will have one vote.
Maintaining entities or representatives can have their maintainer status revoked by unanimous vote of other maintainers. This measure is expected to be used only in extreme circumstances such as in the event of a maintainer being inactive for a significant period of time, or being found to no longer meet the requirements of being a maintainer set out above. This is not intended to be an exhaustive list of circumstances.
Proposals for an entity to be given maintainership status or to have maintainership rescinded should be made at a Steering Group, with final approval or rejection at the following Steering Group to ensure fair notice for all. Proposals should be sent to the Steering Group chair to add to the agenda.
CDM Steering Working Group Decision Making: As outlined in governance.md, The CDM Steering Working Group will operate by consensus-based decision-making. Maintainers are responsible for determining and documenting when consensus has been reached. In the event a clear consensus is not reached, Maintainers may call for a simple majority vote of Participants to determine outcomes.
CDM Steering Working Group Appointment of the Editor(s): Editors will review and implement pull requests not expressed in code, test and release new functionalities, resolve bugs and implement approved improvements.
Contributions to the CDM have to comply with the following set of design principles that include the following concepts:
- Normalisation through abstraction of common components
- Composability where objects are composed and qualified from the bottom up
- Mapping to existing industry messaging formats
- Embedded logic to represent industry processes
- Modularisation into logical layers \
The CDM Development Guidelines are defined by the Steering Working Group. The full set of CDM development guidelines can be found here.
Interact with the CDM community
GitHub
CDM activity primarily happens in this CDM GitHub repository. Watch the repository in order to be notified of new Pull Requests and issues.
If you'd like to receive official updates, please send an email to help@finos.org. You can join the CDM mailing list by sending an email to cdm+subscribe@lists.finos.org.
Meetings
Finally, another great way to interact with the community is to attend the bi-weekly Contribution Review Working Group, monthly Collateral Working Group, monthly FINOS Structured Products Working Group, monthly Steering Working Group, monthly Technology Architecture Working Group, bi-weekly Derivative Products and Business Events Working Group, and/or quarterly Steering Working Group: email help@finos.org to be added to the meeting invites directly, or find the meeting in the FINOS Community Calendar.
Need help?
Email help@finos.org. if you need help getting started in the CDM Community or if you encounter technical difficulties accessing repositories, mailing lists or meetings.
-
The latest CDM roadmap of expected contributions sponsored by the presently participating trade associations: ICMA, ISDA and ISLA can be found under Roadmap.md.
-
Releases can be tracked on the CDM Releases page.
See guidelines for the licensing agreement here.
To implement changes in the CDM repository resolving an issue please read our contribution guidelines.
NOTE: Commits and pull requests to FINOS repositories will only be accepted from those contributors with an active, executed Individual Contributor License Agreement (ICLA) with FINOS, OR who are covered under an existing and active Corporate Contribution License Agreement (CCLA) executed with FINOS. Commits from individuals not covered under an ICLA or CCLA will be flagged and blocked by the Linux Foundation EasyCLA tool. Please note that some CCLAs require individuals/employees to be explicitly named on the CCLA.
Need an ICLA? Unsure if you are covered under an existing CCLA? Email help@finos.org.
The Rosetta Design application can be used to contribute to the CDM without setting up any development environment. Rosetta Designâs source control integration means that a PR is automatically created to a fork of the FINOS CDM under the Rosetta Models GitHub Organisation.
Steps:
- Create a Workspace for the CDM in Rosetta Design
- Review and contribute change in Rosetta Design - which will create PR in the rosetta-models organisation
- Create a PR to the Finos Github. See instructions here
- Fork it (https://github.com/finos/common-domain-model)
- Create your feature branch (
git checkout -b feature/my-new-feature
) - Make a change - hint you can make changes to Rosetta files directly on your desktop using the Rosetta VS Code plugin
- Read our contribution guidelines and Community Code of Conduct
- Commit your changes (
git commit -am 'My New Feature'
) - Push to the branch (
git push origin feature/my-new-feature
) - Create a new Pull Request
The CDM has extensive documentation which is kept up to date. Any change to the CDM should be accompanied by documentation. See docs guide here
NOTE: Commits and pull requests to FINOS repositories will only be accepted from those contributors with an active, executed Individual Contributor License Agreement (ICLA) with FINOS OR who are covered under an existing and active Corporate Contribution License Agreement (CCLA) executed with FINOS. Commits from individuals not covered under an ICLA or CCLA will be flagged and blocked by the FINOS Clabot tool (or EasyCLA). Please note that some CCLAs require individuals/employees to be explicitly named on the CCLA.
Need an ICLA? Unsure if you are covered under an existing CCLA? Email help@finos.org
FINOS Common Domain Model is maintained by FINOS members and the wider open source in finance community.
The following are the FINOS CDM maintainers and the firms they represent.
FINOS CDM Maintainer | Representing | Capacity | GithubID |
---|---|---|---|
Gabriel Callsen | ICMA | OrgRep | gabriel-ICMA |
Tom Healey | ICMA | OrgRep | tomhealey-icma |
Vernon Alden-Smith | ISDA | OrgRep | valdensmith |
Eleonora Acuna | ISDA | OrgRep | eacunaISDA |
David Shone | ISDA | OrgRep | dshoneisda |
Adrian Dale | ISLA | OrgRep | ADaleISLA |
Chris Rayner | ISLA | OrgRep | chrisisla |
Minesh Patel | Regnosys | OrgRep | minesh-s-patel |
Leo Labeis | Regnosys | OrgRep | lolabeis |
Hugo Hills | Regnosys | OrgRep | hugohills-regnosys |
Lyteck Lynhiavu | ISDA | OrgRep | llynhiavu |
Manuel Martos | TradeHeader | OrgRep | manel-martos |
Marc Gratacos | TradeHeader | OrgRep | mgratacos |
If you would like to get in touch with the CDM maintainer team, contact them through their mailing list at https://lists.finos.org/g/cdm-maintainers. You can do so by first subscribing at cdm-maintainers+subscribe@lists.finos.org and posting at cdm-maintainers@lists.finos.org .
Copyright 2021 FINOS and CDM Participants
Specifications in the repository are subject to the Community Specification License 1.0 available in the LICENSE.md file.