You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a list of questions that need to be answered by the contributor in order to allow a new project to pass to the approval stage of onboarding.
Business Problem
Software architecture aims to provide a high-level framework that ensures software systems in highly regulated industries like finance are secure, compliant, and scalable while meeting business objectives. It focuses on creating a structure that supports regulatory compliance, risk management, and adaptability to evolving demands. A strong architecture balances performance, reliability, and maintainability, enabling financial institutions to handle high transaction volumes, ensure operational continuity, and protect sensitive data. By aligning technical design with business goals, architecture facilitates long-term growth and competitiveness.
However, most existing architectural frameworks and tools focus on the initial formation of the architecture, emphasizing planning, governance, and compliance through structured methodologies like TOGAF or Zachman. While these tools provide valuable blueprints, they often operate asynchronously from the development lifecycle (SDLC), relying on manual gating processes and disjointed reviews that delay development and create inefficiencies. They lack tight integration with modern SDLC practices such as Agile, DevOps, and CI/CD, making it challenging to adapt architectural decisions dynamically as systems are implemented. This disconnect limits their effectiveness in delivering seamless, compliant, and adaptable solutions in fast-paced, regulated industries.
Proposed Solution
The Architecture as Code Working Group was formed as part of the FINOS DevOps Automation SIG to focus on trying to define a solution for how we could tightly integrate Software Architecture into the development process. The group was formed in August 2023 and ran regular monthly meet-ups and several offsite workshops with participants from several large financial institutions.
The objective of the working group was to establish a framework for bringing architectures off a whiteboard / Visio diagram and into something machine readable that could be used to provide systematic controls during the SDLC but which would also crucially enable the development of productivity tools which would enable teams to more easily show architectural compliance and thereby reduce or even remove the friction of manual governance processes.
In early 2024 the group started to develop the Common Architecture Language Model (CALM); the framework is a JSON Meta Schema designed to enable system architectures to be capture as code to a high degree of fidelity. The schema is developed as a 'core' schema which provides a generic vocabulary for defining architectures and 'domains' which allow more domain specific concepts to be included and used by those users who have need for them, such as Controls or Business Flows. The use of JSON Schema enables existing tools which are JSON 'aware' such as IDEs to be able to provide additional features such as code completion and validation.
In addition to being able to define specific system architectures, CALM also has the ability to capture architecture patterns. These are codified, reusable architectures which enable a user of CALM to bootstrap their architecture or to compose existing patterns together.
In addition to the CALM schema, the group have also developed an initial set of tools to make it easier to work with CALM and to provide additional capabilities. The core of these additional tools is the Command Line Interface (CLI) which enables uses to generate an architecture from a pattern, validate an architecture or visualize an architecture . We also have a standalone translator to C4 and CalmHub (a distributed artefact repository akin to Maven Central) is in development.
Tentative Roadmap
Describe the short and medium term goals and phases of the project. What does success look like for this project?
Short term (0-6 months)
Release v1.0 of the CALM specification
Release v1.0 of the CALM CLI
Deploy a centrally hosted CalmHub to house the schema and publicly published architecture artefacts
Release v1.0 of a CALM interactive visualisation and authoring tool
Introduce Data representation into CALM
Introduce CALM to Code observability tools
Current State
Summarize the history and current state of the project
CALM already has a repository in the FINOS GitHub organisation and fulfils the requirements and best practices for incubating projects.
CALM Specification
The CALM specification has iterated through 7 draft iterations and is nearing finalisation for v1.0 publication
CLI
The CLI is feature complete per the four functions mentioned above; it is currently paired to v.2024-04 of the draft schema and is being upgraded to the latest release.
CalmHub is in private development, contribution to the public repository is expect Jan 2025.
Marketing & Communication
In addition to the monthly working group and weekly office hours meetings, there have been several offsite workshops and hackdays and CALM has been presented at FINOS OSFF, ScotSoft and the JSON Schema Conference as part of APIDays in Paris.
Existing Materials
If materials already exist, provide a link to them that Foundation staff can access - if it's in a private GitHub.com repositories, you should invite the finos-admin user with R/O permissions to those repositories
Are meetings currently held for the project? Yes, monthly Working Group on the 4th Tuesday of each month and weekly office hours for active contributors.
If applicable, list all of the individuals that have expressed interest in and/or are committed to contributing to this project, including full name, affiliation, work email address, and GitHub.com username
Describe the contributor profile (background, position, organization) you would like to get contributions from.
System Architects and developers from Finance or other highly regulated industries who have a need to be able to prove conformance to a governed architecture process.
Other members of FINOS organisations interested in adopting CALM.
Project Communication Channel(s)
Contributor to ask maintainers which communications channels they'd like to use:
Asynchronous
GitHub Issues (public)
GitHub Discussions (public)
GitHub Team Discussions (consisting of the above described contributors)
Public
Private
Mailing-list (groups.io)
FINOS Slack Channel (consisting of the above described contributors)
General (public) (supply channel name)
Leadership (private) (supply channel name)
Synchronous
Recurring meetings
Understanding FINOS Onboarding Requirements
As a project onboarding into FINOS, you will need to familiarize yourself and your contributor team with the following materials:
(optional) Identify and Assign FINOS Strategic Advisor
Submit contribution to LF by opening a ticket via https://jira.linuxfoundation.org/browse/SS and marking contribution as "Exploratory"; attach a summary of the Business Problem and Proposed Solution (above) of the project.
TOC to invite contributors to present their project
FINOS TOC approves/rejects the contribution
Ask @jgavronsky to mark contribution as "Engaged" within LF systems
(optional) If additional socialization is required, the Executive Director may bring projects to the FINOS Governing Board
Update the contribution status to "Engaged" by sending another email to LF Legal Representative with the name of the project and its new status.
TOC Findings / Report
TOC to enter findings summary here.
3. Preparing For Onboarding
Before the FINOS team can onboard your project, there are a few housekeeping that need to be taken care of. These must be completed by the contributor, with help if required from the FINOS Infra.
Kick-off meeting
Set up kick-off meeting with project leads
Run kick-off meeting
Walk through the checklist in part 1, ensure all the questions are answered and remove items that don't apply
Write and send contribution proposal announcement (optional - see below)
Proposal (Lead Maintainer)
Lead maintainer to send out announcement to community@finos.org using this template:
Dear FINOS Community,
We would like to propose a new FINOS project. Please review the proposal details at (_TODO: add link to the GitHub issue proposal_).
If you're interested in participating, please :+1: the GitHub issue proposal and drop a comment with your name, org and email
Thanks a lot,
Logo / Trademarks
Sign the project contribution agreement to allow FINOS to act on behalf of the contributor for accounts related to the project (e.g., GitHub, domain names, social media) and to optionally manage trademark assignment
Request logo design from help@finos.org(if needed)
The codebase doesn’t include any patent or copyright that conflicts with FINOS Governance and bylaws. (Infra team to validate with FINOS Legal team if anything important is raised)
FINOS Project Blueprint
finos-admin is Admin of the GitHub repository to transfer
Please note that only FINOS members can propose new projects. If you're interested in membership, see https://www.finos.org/membership-benefits#become-a-member.
Onboarding Process
Completing an onboarding of a project into FINOS requires following these 5 main steps:
1. Describing The Contribution
This is a list of questions that need to be answered by the contributor in order to allow a new project to pass to the approval stage of onboarding.
Business Problem
Software architecture aims to provide a high-level framework that ensures software systems in highly regulated industries like finance are secure, compliant, and scalable while meeting business objectives. It focuses on creating a structure that supports regulatory compliance, risk management, and adaptability to evolving demands. A strong architecture balances performance, reliability, and maintainability, enabling financial institutions to handle high transaction volumes, ensure operational continuity, and protect sensitive data. By aligning technical design with business goals, architecture facilitates long-term growth and competitiveness.
However, most existing architectural frameworks and tools focus on the initial formation of the architecture, emphasizing planning, governance, and compliance through structured methodologies like TOGAF or Zachman. While these tools provide valuable blueprints, they often operate asynchronously from the development lifecycle (SDLC), relying on manual gating processes and disjointed reviews that delay development and create inefficiencies. They lack tight integration with modern SDLC practices such as Agile, DevOps, and CI/CD, making it challenging to adapt architectural decisions dynamically as systems are implemented. This disconnect limits their effectiveness in delivering seamless, compliant, and adaptable solutions in fast-paced, regulated industries.
Proposed Solution
The Architecture as Code Working Group was formed as part of the FINOS DevOps Automation SIG to focus on trying to define a solution for how we could tightly integrate Software Architecture into the development process. The group was formed in August 2023 and ran regular monthly meet-ups and several offsite workshops with participants from several large financial institutions.
The objective of the working group was to establish a framework for bringing architectures off a whiteboard / Visio diagram and into something machine readable that could be used to provide systematic controls during the SDLC but which would also crucially enable the development of productivity tools which would enable teams to more easily show architectural compliance and thereby reduce or even remove the friction of manual governance processes.
In early 2024 the group started to develop the Common Architecture Language Model (CALM); the framework is a JSON Meta Schema designed to enable system architectures to be capture as code to a high degree of fidelity. The schema is developed as a 'core' schema which provides a generic vocabulary for defining architectures and 'domains' which allow more domain specific concepts to be included and used by those users who have need for them, such as Controls or Business Flows. The use of JSON Schema enables existing tools which are JSON 'aware' such as IDEs to be able to provide additional features such as code completion and validation.
In addition to being able to define specific system architectures, CALM also has the ability to capture architecture patterns. These are codified, reusable architectures which enable a user of CALM to bootstrap their architecture or to compose existing patterns together.
In addition to the CALM schema, the group have also developed an initial set of tools to make it easier to work with CALM and to provide additional capabilities. The core of these additional tools is the Command Line Interface (CLI) which enables uses to
generate
an architecture from a pattern,validate
an architecture orvisualize
an architecture . We also have a standalone translator to C4 and CalmHub (a distributed artefact repository akin to Maven Central) is in development.Tentative Roadmap
Describe the short and medium term goals and phases of the project. What does success look like for this project?
Short term (0-6 months)
Medium term (6 - 12 months)
Current State
Summarize the history and current state of the project
CALM already has a repository in the FINOS GitHub organisation and fulfils the requirements and best practices for incubating projects.
CALM Specification
The CALM specification has iterated through 7 draft iterations and is nearing finalisation for v1.0 publication
CLI
The CLI is feature complete per the four functions mentioned above; it is currently paired to v.2024-04 of the draft schema and is being upgraded to the latest release.
CalmHub is in private development, contribution to the public repository is expect Jan 2025.
Marketing & Communication
In addition to the monthly working group and weekly office hours meetings, there have been several offsite workshops and hackdays and CALM has been presented at FINOS OSFF, ScotSoft and the JSON Schema Conference as part of APIDays in Paris.
Existing Materials
If materials already exist, provide a link to them that Foundation staff can access - if it's in a private GitHub.com repositories, you should invite the finos-admin user with R/O permissions to those repositories
Development Team
Maintainers
Who will be the project maintainer(s)? Provide full name, affiliation, work email address, and GitHub / GitLab username.
Confirmed contributors
If applicable, list all of the individuals that have expressed interest in and/or are committed to contributing to this project, including full name, affiliation, work email address, and GitHub.com username
Target Contributors
Describe the contributor profile (background, position, organization) you would like to get contributions from.
System Architects and developers from Finance or other highly regulated industries who have a need to be able to prove conformance to a governed architecture process.
Other members of FINOS organisations interested in adopting CALM.
Project Communication Channel(s)
Understanding FINOS Onboarding Requirements
As a project onboarding into FINOS, you will need to familiarize yourself and your contributor team with the following materials:
Record The Contribution (FINOS Infra)
2. Approval
The FINOS Technical Oversight Committee (TOC) is responsible for approving FINOS project contributions; feel free to check their contribution principles.
If needed, the TOC will request a follow up either via GitHub Issue comments or by inviting project leads to one of their recurrent meetings.
Tasks (for FINOS Infra/TOC)
ready-for-tsc
labelTOC Findings / Report
TOC to enter findings summary here.
3. Preparing For Onboarding
Before the FINOS team can onboard your project, there are a few housekeeping that need to be taken care of. These must be completed by the contributor, with help if required from the FINOS Infra.
Kick-off meeting
Proposal (Lead Maintainer)
Lead maintainer to send out announcement to community@finos.org using this template:
Logo / Trademarks
help@finos.org
(if needed)FINOS Project Blueprint
CONTRIBUTING.md
LICENSE
(replace{}
placeholders)Add documentation here
4. FINOS Onboarding
This is performed by FINOS Infra once the three previous stages are complete, with support from the contributor and the FINOS Infra team.
Maintainers, Contributors and CLAs
<project-name>-maintainers
GitHub team and invite usersValidation (only if code is contributed)
Admin
to all repositories to transferCode transfer
main
(instead ofmaster
)finos-admins
(Maintain
role) andfinos-staff
(Triage
role) team permissionsProject Communication Channel(s)
Email List
andEmail
filter fields), particularly Hubspot all community listRepository setup
staging
branch onfinos/finos-landscape
finos/metadata
changes on master (will udpdatelandscape.yml
infinos/finos-landscape
)staging
branch onfinos/finos-landscape
finos
Require a pull request before merging
)5. Announcement
(Lead: Project Lead and FINOS Infra team)
The text was updated successfully, but these errors were encountered: