Every Program, PMC and Project will be mapped as a GitHub team, following a 2-levels hierarchical structure:
<FINOS Program Team>
<FINOS Project Team, belonging to the Program>
panpmcs
<FINOS PMC team>
Note that FINOS Program Teams only inherit members from sub-groups, they are not directly managed.
Each repository will grant access to these teams, as shown in the picture below (taken from the datahelix project)
GitHub Issues provide a simple and flexible way to track task lists; issues can also include list of checkboxes, as shown in the image.
Labels can be useful to add meta information to tasks, like type, audience and more.
When creating a new issue, it is possible to guide users via Issue Templates, which allow to:
Labels are very helpful to manage issues; each repository can define its own taxonomy, though it is helpful to enforce a common list of labels, so that the experience of using GitHub Issues across different repositories and projects is the same. It is also handy when using GitHub boards that link to multiple repositories.
The easiest way to define roadmaps in GitHub is using Milestones, which allow to group issues together and associate a title, description and due date.
As a complement or alternative, GitHub project boards can be used to define a Kanban (or "flow") of activities across a list of predefined states, which can be mapped to the milestones of a roadmap.
FINOS Projects may need a Wiki in order to collaboratively edit and publish content related with general documentation, team composition, meeting information, how to get in touch and other useful info.
FINOS uses a framework called Docusaurus to:
Checkout FDC3 and Financial Objects as examples; you can also read more on how FINOS uses Docusaurus.
In order to track threaded conversations - among project team members, external collaborators and consumers - it is possible to use GitHub Issues, with the following limitations:
A more advanced way (currently being investigated at FINOS) is to use GitHub team discussions:
Both features support email notifications and the ability to post a comment by answering to it.
FINOS Governance processes require voting at different levels (and publicly available), including but not limited to:
GitHub Issues can provide an easy platform to vehicle this process:
[VOTE]
prefix in the issue title, to help issue browsing and discoverabilityvote
labelA project needs:
vote
issue label defined.github/ISSUE_TEMPLATE/Vote.md
definedMeetings are one of the most used collaboration channels at FINOS, and minutes are very important, as they provide a transparency across all project activities and decisions; you can read more in the Running Good Meetings page; they are also very important for participants, as they are used to track meeting participation and therefore the activity of each individual and firm; all data is publicly available at metrics.finos.org
Although Atlassian Confluence is currently the most used tool, FINOS also provides a way to use GitHub Issues to manage meeting minutes. The person leading the meeting (or meeting leader) can create a new GitHub Issue for each meeting, following the Meeting template provided by FINOS and leverage issue assignees to track meeting participants (see our public activity dashboards).
Meetings
issue template[MEETING]
title prefixmeeting
labelindexed
will be added to the issue.indexed
label in order to remove meeting attendance from the index and make changes; in order to reindex the meeting, the indexed
label can be re-added.indexed
label as described above. If you're uncertain or want to revert changes, get in touch with FINOS staff via help@finos.orgCheckout https://github.com/apps/handlebar-templates if you want to make your meeting issue templates more dynamic and automated |
A project needs:
Write
access to the repositorymeeting
issue label defined.github/ISSUE_TEMPLATE/Meeting.md
defined.github/workflows/meetings.yml
definedhelp@finos.org
to set them up)In order to consolidate processes and tools around security vulnerabilities management, FINOS have shared a /wiki/spaces/FINOS/pages/1230176257 and teamed up with WhiteSource to configure a bot that continuously scans - across each configured repository - all external dependencies; the bot is able to scan direct commits and Pull Requests, and by default creates GitHub Issues with details about the vulnerability; you can read more about WhiteSource integration for GitHub.com.
The Project blueprint is a FINOS project that provides a template for new or existing repositories; it includes:
Placeholders are defined using the {}
brackets.
Anyone can use the Project blueprint repository, simply accessing https://github.com/finos/project-blueprint and pressing the Use this template
button and following instructions.
The main README.md
file contains instructions on how to replace placeholders across all blueprint files.
There is no automated way to align an existing repository with the project blueprint structure, therefore it must be done manually, going through the blueprint items listed above and copy/paste content across repositories.
The project blueprint comes with a pre-definite website that is built using Docusaurus (1.14) and served via https://finos.github.io/<repository name>
.
Getting started is quite simple:
docs/
and website/
folder from the project-blueprintwebsite/siteConfig.js
following comments in filedocs/
files and check changes on https://finos.github.io/ name>
.