finos / community

FINOS Community, Project and SIG wide collaboration space
http://community.finos.org
64 stars 28 forks source link

Project Activation: Spring Bot #236

Closed robmoffat closed 1 year ago

robmoffat commented 1 year ago

Activation

Virtually all FINOS hosted projects are expected to strive towards, and ultimately attain, Active status and the related badge. An active badge indicates to potential consumers that the project has reached a level of maturity, both functional and non-functional, that it is suitable for production use.

The Technical Steering Committee approves lifecycle transitions following objective criteria detailed in the below checklist. More information in the FINOS Governance.

What does activation mean for the consumer?

:heavy_check_mark: The Project is high quality, mature from a codebase and community dynamics perspective.

:dart: The Project produces valuable releases to solve a useful business problem for our Community.

What does activation mean for the project team?

:star: Glory in the Community

:eyes: :loudspeaker: Increased visibility and positioning in FINOS web resources, marketing and Community building efforts like meetups, blog posts, etc.

Activation Checklist

Activation (promotion to Active State) How and Where Demonstrated Validated
QUALITY & SECURITY
Development Process The Project adopts best-of-breed standards of distributed software development, including but not limited to: semantic versioning tagging / branch protection continuous integration ("CI") and continuous delivery ("CD") where applicable If Project Team choses not to use the FINOS provided Open Developer Platform (ODP), a comparable SDLC should be adopted and made available. Couple of examples of server: https://central.sonatype.com/artifact/org.finos.springbot/chat-workflow/9.0.1/versions and prior to the name change: https://central.sonatype.com/artifact/org.finos.symphony.toolkit/bindings/8.0.5/versions Releases page: https://github.com/finos/spring-bot/releases We have branch protection on the main branches CI: https://github.com/finos/spring-bot/actions/workflows/build.yml CD: none (see below) Yes
Build & Release The Project code/documentation release process automated or at lest well documented. If code is published, publicly redistributed release binaries should be listed or referred to in the documentation (e.g. under the FINOS namespace in an artefact repository or package manager, e.g. NPM, Maven Central, etc.) Releases done into maven central following: https://github.com/finos/spring-bot#releasing-this-project Yes
Security < The project has an OpenSSF "Passing" badge Maintainers are familiar with the FINOS Security vulnerabilities responsible disclosure An automated security scanning tool is enabled on the project (e.g. FINOS Security Scanning or WhiteSource) Yes, we have the passing badge and an automated CVE scanning for dependencies, see https://github.com/finos/spring-bot/actions/workflows/cve-scanning.yml Yes
Documentation The README.md must include or reference up to date: end user docs, including a description of the software, feature overview, installation & configuration instructions developer docs, including links to other external systems (further docs, wiki, CI & validation tools, artefact repository, change log / history, etc.) where possible badges (e.g. from shields.io) are encouraged sample code explaining how to use the project, library, standard, SDK, etc. Please see: https://springbot.finos.org and https://github.com/finos/spring-bot Yes
DIVERSITY & VIABILITY
Community Project has active participation from 2+ independent individuals and/or organizations; Ideally Project Team members who make contributions in connection with their employment are doing do as part of their regular job duties. https://github.com/orgs/finos/teams/sjt-contributors https://github.com/orgs/finos/teams/sjt-maintainers - Symphony developers - DB developers - RM from FINOS (independent) Yes
Project Team Project Team has/have demonstrated active involvement commitment to the open source project List of closed PRs: https://github.com/finos/spring-bot/pulls?q=is%3Apr+is%3Aclosed Yes
License Project must not have dependencies which effectively restrict how the project may be distributed or deployed and must not depend on any proprietary third-party components for their core functionality. Automated license scanning available at https://github.com/finos/spring-bot/actions/workflows/license-check.yml Yes
Trademark Community is using a different established Project name or original contribution trademark is owned by FINOS. All Project related websites and assets are owned and hosted by FINOS. yes, please see above sites. Yes ROADMAP & RESOURCES
Progress Project has progressed against its public roadmap during incubation. Please see above PRs. Major work has been to use Symphony BDK as a dep and support Microsoft teams. Yes
Versioning Project software is production grade and ready for large scale consumption. 1.0.0 version was released and announced it to the announce@ mailing list. Yes, ages ago. We're into version 9 and it's in production in many places in DB Yes
Roadmap Projects share and work to a public roadmap. See Readme.
FINOS Support Project Team is largely self-sufficient, requiring minimal operational support from FINOS to govern and maintain the project. FINOS support switches to strategic growth of the Project in the Community. Yes. Yes
GROWTH & ADOPTION
Usefulness The Project demonstrably solves a real life use case in the Community. Evidence of adoption beyond the contributing individuals or firms (e.g., in the form of download statistics, listing known deployments or implementations, etc.) At DB: - Reminder Bot - Poll Bot - DAP Bot - Various Banking bots that we don't want to divulge.
Status Badging Project Team commits to adopt the FINOS Active badge in the README.md once the FINOS team approves activation, in order to properly signal the new Project Lifecycle status to adopters. yes Yes
HYGIENE & OPERATIONS
Compliance The appropriate license text is included in each source file's header. See details and template no. not really interested in doing this. Yes
Community Inquiries Community inquiries on the project channels (mailing lists, issues and pull requests, etc) are generally promptly answered GitHub issues. Answered promptly for the few enquiries we get from 3rd parties, e.g. https://github.com/finos/spring-bot/issues/372 Yes
Meeting Hygiene If the project meets regularly on-line, the Project Team has demonstrated a track record of publishing and distributing agenda no less than 24 hours before the meeting, and publishes meeting minutes after calls. We meet weekly. Moving to a group meeting with Symphony to cover all FINOS bot-related projects soon. Will have a more public agenda/tracking then. Yes
Transparency Project Team has adopted a transparent governance model(*) consistent with FINOS Community governance. Work for new contributors is organized into issues within a public issue tracking system, as appropriate, tagged as "Good First Issues" https://github.com/finos/spring-bot/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22 Yes

(*) transparent governance model is when a project’s discussions, minutes, deliberations, project plans, issue tracking plans for new features, and other artefacts are open, public, and easily accessible in the FINOS Project Infrastructure or FINOS sanctioned external system.

maoo commented 1 year ago

All items are checked, this activation is now ready to be validated by the TSC

brunodom commented 1 year ago

Summary of findings from TSC review: Activated with recommendations/notes

Usefulness: Spring Bot has a clear purpose for what the problem is intended to solve, There are differentiations that Spring Bot brings, such as multiple platform support that eventually can help avoid lock-in, more emphasis on the business logic, templating, and easier annotations. However, it is a crowded market with competing solutions; it may need to be clarified why Spring Bot has a unique differentiation for FINO's members to attract further adoption in this community. The differentiations focus more on the commercial and technology focus than the industry relevance.

Community: Work on Spring Bot is made in the public domain, GitHub. However, I couldn’t find any publicly available references for the meeting agenda or minutes, even knowing that the weekly meeting related to bot- projects are handled in the Symphony. The code was developed and donated by Deutsche Bank, and there is a small community of contributors. Still, the only institution using it is DB which stated that it is used in several bank areas. It is not well-defined how to get engaged with the Spring Bot. It should be an easy fix and can be addressed for large community adoption.

Progress: It is said that Spring Bot has been used in several instances inside DB over the years. However, there is yet to be a concrete roadmap. It is more a section of PRs (three, to be precise) with comments on what should be incorporated but not a final decision, implementation dates, or how the feature will be adopted. Once activated, a proper roadmap should be elaborated.

robmoffat commented 1 year ago

@abhishek-sinha-db @vaibhav-db Do you think you put together some information about the things DB are using Spring Bot for?

e.g.

TheJuanAndOnly99 commented 1 year ago

Congratulations @robmoffat + team! Spring Bot is now officially a FINOS active project. Announcement can be found at https://groups.google.com/u/1/a/finos.org/g/announce/c/aBnV0T8OAro.

TheJuanAndOnly99 commented 1 year ago

@abhishek-sinha-db @vaibhav-db Do you think you put together some information about the things DB are using Spring Bot for?

e.g.

  • hackathons
  • symphony bots in production
  • teams bots in production

@robmoffat Hi Rob it may be worth creating a new issue inside the spring bot repo as we're closing this one. But I'll leave it up to you.