Milvus is an open source vector similarity search engine (AKA, embedding vector database). Milvus is an incubating project hosted in the LF AI & Data foundation since Mar. 2020. (Project URL: https://lfaidata.foundation/projects/milvus/)
We, as the Milvus community, want to build a fundamental data serving component so that AI applications could go production much easier. More and more people start to build up their production AI applications upon Milvus. You can find more user stories of Milvus in our project blog.
If you are a Milvus user or you have the same vision as us, we would warmly welcome you to join our community. Together, we contribute to the project design and participate in the decision making process. Let’s build up a community-driven open source AI project.
All Contributors could find their positions in the Milvus community. If you are interested in code development, please read thru the chapters of Special Interest Groups and Working Groups. If you want to make non-code contributions, you can find the opportunities in the chapters of Working Groups and Technology Steering Committee.
You could connect with the Milvus community on various channels. Here is the guideline of the community channels.
- Official website: https://milvus.io
Community calendar for events and meetings
- Mail list: https://lists.lfaidata.foundation/g/milvus-announce
User discussions, Q&A
Bug report & feature request
Group discussions (for special interest groups and working groups)
- Slack community (1 to 1 conversation, internal group discussion)
- GitHub discussions (internal group discussion and public community discussion)
- Mail list: https://lists.lfaidata.foundation/g/milvus-technical-discuss (public community discussion)
The Milvus community follows the Milvus Code of Conduct. Meanwhile, as a Linux Foundation project, all Milvus community members should agree to abide by the LF Code of Conduct available at https://lfprojects.org/policies/code-of-conduct/.
There are 3 types of groups in the Milvus community.
- Special interest groups (SIGs)
- Working groups (WGs)
- Technology Steering Committee (TSC)
The below diagram shows how they work together.
The SIGs are usually aligned to the Milvus system components, technology field, etc. Developers could join the SIGs based on their interests. Below is the list of existing SIGs:
|SIGs||Group contact||Group label (GitHub, Slack, etc)|
|The ANNS algorithm SIG||Yi Xiaomeng, Li Shengjun||sig-anns|
|The Engine SIG||Yefu Chen, Zhenshan Cao||sig-engine|
|The Testing SIG||YuDong Cai, Zhenxiang Li||sig-testing|
|The Toolchain SIG||Shiyu Chen, Yunmei Li||sig-tool|
If you want to initiate a new SIG, you need to complete and submit the SIG proposal. The proposal will be reviewed and voted on by Milvus Technology Steering Committee (TSC).
Please refer: Contributing to Milvus
Once you connect to a SIG (subscribe to the community calendar, read thru the group discussion, attend group meetings, etc), you are already a participant.
If your code contribution (thru pull request) is successfully merged into the Milvus codebase, you are a contributor.
After you have provided continued and quality contribution to the Milvus project for at least 6 months and have contributed at least one major component. You are eligible to become the reviewer of that component. The SIG leader will review and nominate reviewers periodically. You can nominate yourself as well if you want to show more commitment to the Milvus project.
Reviewers have the following responsibilities:
- Participate in feature design discussion and implementation.
- Ensure the quality of owned code modules.
- Ensure the technical accuracy of documentation.
- Quickly respond to issues and PRs and conduct code reviews.
To become a committer, a reviewer must have contributed broadly throughout the Milvus project. A reviewer must also be sponsored by a committer and the sponsorship must be approved by the TSC.
The committer role enables the contributor to commit code directly to the repository, but also comes with the responsibilities of being a leader in the community:
- Lead feature design discussions and implementation.
- Ensure the overall project quality and approve PRs.
- Participate in product release, feature planning, and roadmap design.
- Have a constructive and friendly attitude in all community interactions.
- Mentor reviewers and contributors.
- In general, continue to be willing to spend at least 25% of one's time working on the project (~1.25 business days per week).
In general, we prefer that technical issues and committer membership are amicably worked out between the persons involved. If a dispute cannot be decided independently, the committers can be called in to decide an issue. If the committers themselves cannot decide an issue, the issue will be resolved by voting. The voting process is a simple majority in which each committer receives one vote.
Some types of work (for example, release, documentation, etc) requires collaboration across different SIGs. We set up working groups to ensure the smooth proceeding of these types of work. Base on the nature of the work, there are 2 types of working groups, permanent working groups, and on-demand working groups. Below is the list of existing WGs.
|The Release WG||Xiangyu Wang||wg-release|
|The Documentation WG||Keith Cai||wg-doc|
|The DevRel WG||Kate Shao||wg-devrel|
|The Graduation WG||Jun Gu||wg-grad|
The Milvus project is legally owned by the Linux Foundation. Milvus TSC is the facilitator of the Milvus project. The TSC members ensure the success of the Milvus project.
- Create and dismiss SIGs and working groups
- Nominate and vote on new project committers
- Provide support, guidance, resources, etc. to SIGs and working groups
- Other Milvus related operation work
- Project facilitators (sponsors, project operation leader, invited advisors)