-
Notifications
You must be signed in to change notification settings - Fork 32
Description
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:
- Describing the Contribution led by contributor
- Approval led by FINOS TOC
- Preparing for Onboarding led by contributor
- Onboarding completed by FINOS Infra
- Announcement led by FINOS Marketing
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
Describe the business problem the contribution solves
IBM Spectrum Symphony provides management for running compute-intensive and data-intensive distributed applications on a scalable, shared grid. This software does not offer any direct integration with either Kubernetes or other modern compute platform. Kubernetes has become the leader in the workload management space and there is no easy way to leverage it.
Proposed Solution
Describe the type of contribution (project or working group) and how it solves that business problem
Implementation consists of a Python project that implements plugin interface required by IBM platform symphony:
https://www.ibm.com/docs/en/spectrum-symphony/7.3.2?topic=factory-provider-plug-in-interface-specification
This project is initially targeted for Kubernetes but could be expanded to other platforms.
Tentative Roadmap
Describe the short and medium term goals and phases of the project. What does success look like for this project?
The short-term goal is to build a workable example that can deliver business value.
In the medium term, we would be targeting some support for a Kubernetes native approach using operators. This would enable higher performance and seamless interaction with a cluster.
Current State
Summarize the history and current state of the project
This project started internally to Morgan Stanley. Different cloud providers have recognized this is an issue they are also looking to solve. Morgan Stanley then published the project to an open source repository.
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
- GitHub / GitLab Repository (delete as appropriate)
- URL for the repository (if it exists)
morganstanley/symphony-hostfactory - Project Name (enter here)
open-hostfactory-plugin - @finos-admin has been given read-only permissions if private
na
- URL for the repository (if it exists)
- Is Continuous Integration used? If so, which system is used?
N/a - Was the project ever released? (yes / no)
no- If so, are releases public? (yes / no)
np - And what's the latest released version?
- If so, are releases public? (yes / no)
- Existing Project Documentation ( URL / microsite / PDF etc detail here)
symphony-hostfactory/README.md at main · morganstanley/symphony-hostfactory - Does the name have a registered trademark? (yes / no)
no - Is there a logo? (yes / no)
No - High-Level Presentation prepared for Technical Oversight Committee (~15 mins)
yes - Are meetings currently held for the project? (yes / no + details)
Yes, directly between interested stakeholders - Are meeting minutes, agenda and attendance tracked? (yes / no + details)
Yes, they are currently private
Development Team
Maintainers
Who will be the project maintainer(s)? Provide full name, affiliation, work email address, and GitHub / GitLab username.
Name | Affiliation | Work Email Address | Github / GitLab username |
---|---|---|---|
Cyriaque Millot | Morgan Stanley | Cyriaque.millot@morganstanley.com | @cyriaquem |
Flamur Gogolli | AWS | mailto:flamurg@amazon.com | @fgogolli |
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
Name | Affiliation | Work Email Address | Github / GitLab username |
---|---|---|---|
Andrei Keiss | Morgan Stanley | Andrei.Keis@morganstanley.com | @andreikeis |
Target Contributors
Describe the contributor profile (background, position, organization) you would like to get contributions from.
This project is targeted towards users of the IBM Symphony Spectrum project as well as the compute providers for those users.
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:
- FINOS overview (if necessary)
- FINOS Maintainers cheatsheet
- FINOS Project/Standards Governance
- FINOS Project Lifecycle
Record The Contribution (FINOS Infra)
- (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.
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)
- Prioritise this issue on the TOC Backlog
- Assign this issue to @eddie-knight
- Add the
ready-for-tsc
label - 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)
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
- Apply project blueprint contents - see our docs on collaboration infrastructure
- README.md file contains the sections in the README Template
- Project FINOS badge in README (incubating)
- OpenSSF Passing Badge
- License in README
- Contributing in README
-
CONTRIBUTING.md
-
LICENSE
(replace{}
placeholders) - Ensure that the proper project governance is in the CONTRIBUTING.md file
- All incubating criteria are checked and documented below
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
- Identify other existing contributors (assuming there's a contribution history (eg Git history)
- Check if maintainers and other contributors are all covered by FINOS CLA
- Engage with FINOS Legal team to figure out what’s needed to cover all maintainers and contributors with FINOS CLA
- Reach out to contributors and employers to coordinate CLA signatures
- Invite GitHub usernames to GitHub FINOS Org
- Create
<project-name>-maintainers
GitHub team and invite users
Validation (only if code is contributed)
- Backup (even with screenshot) GitHub permissions of the repository to transfer
- Check GitHub repository transfer requirements:
- finos-admin has
Admin
to all repositories to transfer - finos-admin ia allowed to transfer repositories out of the org
- if the repository is owned by a user (and not an org), the user must be able to transfer the repository to finos-admin
- finos-admin has
- The codebase doesn’t have HIGH or CRITICAL CVEs across direct and transitive libraries
- The codebase doesn’t have any unfriendly licenses across direct and transitive libraries
- (optional - if a build system is provided) The build process runs successfully
- The codebase doesn’t include any patent or copyright that conflicts with FINOS Governance and bylaws (to be validated with FINOS Legal team)
- All incubating criteria are met (review documentation provided above)
Code transfer
- Transfer all code assets as GitHub repositories under github.com/finos
- Rename main branch to
main
(instead ofmaster
) - Configure
finos-admins
(Maintain
role) andfinos-staff
(Triage
role) team permissions
Project Communication Channel(s)
- Create the identified communication channels during infra set up
- Create mailing-list on lists.finos.org (if requested)
- Enable Hubspot Sync for all project mailing lists created
- Aggregate mailing lists to community@finos.org
- Update marketing lists (see
Email List
andEmail
filter fields), particularly Hubspot all community list
- Create Slack channels if requested.
- Link communication channels linked front-and-center in the project README.md
Repository setup
- Enable EasyCLA
- Add project to metadata
- Add identities, orgs and affiliations to metadata (deprecated by EasyCLA)
- Add logo to FINOS landscape
- Create
staging
branch onfinos/finos-landscape
- Merge
finos/metadata
changes on master (will udpdatelandscape.yml
infinos/finos-landscape
) - Create PR from
staging
branch onfinos/finos-landscape
- Review Netlify preview
- Merge PR
- Create
- Add project maintainers emails to finos-project-maintainers@finos.org list
- Add project maintainers GitHub usernames to the project-maintainers Team
- Ask @jgavronsky to mark contribution as "Active" within LF systems
- (best effort) Update release coordinates and code namespace to include
finos
- Check that CVE (and preferably static code analysis, if applicable) scanning is in place
- Enable automated dependency update, using Renovate
- Enable branch protection (
Require a pull request before merging
) - (optional) Enable meeting attendance tracking
- (optional) Onboard into legend.finos.org/studio
5. Announcement
(Lead: Project Lead and FINOS Infra team)
- Update the contribution status to "Active" by sending another email to LF Legal Representative with the name of the project and its new status.
- Lead maintainer works with FINOS marketing to send out announcement to announce@finos.org , checkout announcement template at the Contribution page
- Notify FINOS marketing (@grizzwolf + finos-marketing internal Slack channel)
Metadata
Metadata
Assignees
Type
Projects
Status