On November 20, 2019, at FINOS' flagship conference, the Open Source Strategy Forum, FINOS Platinum member Goldman Sachs announced its intention to open source into FINOS:
- Its internally developed logical modeling language, referred to within the bank as "PURE", and
- A suite and workbench of tools, including a visual modeling platform, collectively referred to as "Alloy", and used to build, design, and execute, PURE models
The PURE language, together with four modules - Studio, SDLC, Engine, and Shared - were open sourced into FINOS on October 19, 2020. Collectively they were also given a new name -- Legend.
FREQUENTLY ASKED QUESTIONS
WHAT IS THE LEGEND LANGUAGE?
The Legend language, previously known as PURE, is an immutable functional language based on the Unified Modeling Language (UML) and inspired by Object Constraint Language (OCL). Goldman Sachs uses the Legend language to create and construct internal models for functions such as risk assessment, reporting, clearing, and human resources.
WHAT IS THE LEGEND PLATFORM?
The Legend Platform, previously referred to as Alloy, is a collection of tools, including a visual modeling environment (Studio) that are used to design, build, and test models written in the Legend language. Behind the scenes, the Legend platform uses git and specifically Gitlab for its SDLC (software development lifecycle). Standard source control concepts are put to use to manage changes to, and reviews of, models. Legend can also generate code in languages and formats such as SQL, JSON, Protobuf, AVRO, Rosetta, JSON Schema (and, internally to Goldman Sachs, SLANG) in order to import and update target systems & infrastructure w/ revised model definitions/extensions.
HOW WAS LEGEND OPEN SOURCED? WHAT'S NEXT?
The open sourcing of Legend is happening in the following phases:
- Phase 0 (October 2019 - January 2020): Deployed an external instance of Legend to AWS within FINOS infrastructure. Announced the intention by Goldman Sachs to open source at the FINOS Open Source Strategy Forum (completed)
- Phase 1 (January 2020 - September 2020)
- Opened the external instance of Legend Studio deployed in Phase 0 to a pilot group of financial institutions, composed of FINOS members plus several other institutions that expressed an interest in participating in the pilot, for them together with Goldman Sachs and FINOS to evaluate the use of Legend to do shared, collaborative modeling. (completed)
- Using the external instance of Legend Studio, the pilot group extended and expanded the FX Option model of the Common Domain Model (CDM), developed by the International Swaps and Derivatives Association (ISDA). The Averaging Model developed during the pilot has since been approved by the ISDA Architecture Review Committee and released in the CDM (see 2.82.8). The pilot group also worked on a commodities reference data using Legend. (completed)
- Performed code readiness work to extract Legend code from GS infrastructure, and sufficiently abstract and generalize code base as needed. Revised code base to reflect new name (note that some references to old "PURE" and "Alloy" name still exist). GS Engineering, together with FINOS and Linux Foundation DevOps team, performed code scanning and remediations. Moved Goldman's daily production builds of Legend to FINOS infrastructure and public GitHub repos. (completed)
- Phase 2 (Oct 2020 - December 2020)
- Pilot group uses the hosted instance of Studio to uplift the derivatives industry model, and submits their changes to the Derivatives Association (ISDA) as improvements to their model (completed)
- Announced new name (Legend) and rebranded (completed)
- Begin accepting pull requests of code from external (non-GS) developers
- Phase 3 (Q1 2021): Make additional functionality available in Studio, including relational execution, support for flat data sources (e.g. csv) and automated code generation (e.g. JSON schema, Protobuf, AVRO).
- Phase 4 (Q3 2021): Open source Cube UI for user-friendly tabular data exploration.
- Phase 5 (Q4 2021): Open source Query UI to search and access modeled data.
- Phase 6 (Q4 2021): Open source Services UI. This will allow managing of production data services (APIs) for repeatable and controlled data access.
WHAT WAS THE MODELING SCOPE FOR THE PILOT GROUP IN PHASE 1?
The two areas that the pilot group modeled during the pilot were:
- FX Options: the Averaging Model developed by the FX Options workstream was proposed back to ISDA, and has been approved and released in the CDM (see 2.82.8).
- Commodity Reference Data: especially in the context of a Fixed vs Float swap, including defining a payout model to be proposed into the CDM.
Other areas that the pilot group discussed as potential areas to model together in Legend include Environmental, Social and Governance (ESG) data as well as potentially continuing some of the work started by the FINOS Financial Objects program on RFQ in the context of interest rate swaps.
The Legend documentation site is legend.finos.org. Also checkout the project's README for a general overview, and its CONTRIBUTING.md file for info on how to get more involved in project.
Pierre de Belen, Managing Director and head of the Data Model Engineering team at Goldman Sachs gave a demo of Legend during the FINOS Open Source Strategy Forum this past November. The demo is available on the FINOS YouTube channel.
LEGEND GENERAL MEETINGS
Legend general meetings are your opportunity to get updates on Legend, provide feedback on the product and the roadmap, see demos, and ask questions. The next general meeting is scheduled for January 28, 2020.
LEGEND OFFICE HOURS
READY TO CHECK OUT LEGEND & START MODELING?
Use the form below to request an account on the FINOS shared (public) instance of Legend (https://legend.finos.org/studio)
The shared instance of Legend is provided free-of-charge and as-is. It is primarily intended to be used for shared modeling efforts conducted by FINOS members and other non-member community participants as part of FINOS hosted projects or initiatives. Please read the Terms of Service for more information.
Anyone is welcome to request an account on the shared instance. Requests for accounts will be fulfilled based on FINOS staff availability as well as the rationale stated below for wanting an account and/or any connection between a request and the work of an ongoing FINOS project. Additional consideration will be also given to account requests from FINOS members.
FINOS reserves the right to pause, throttle, and/or group requests into limited availability tranches based on demand, load, and/or FINOS capacity.