Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 52 additions & 26 deletions docs/src/community/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,52 +43,78 @@ Maintainer and PMC rosters information follow these guidelines:

This section details the projects maintained in the Lance community.

### Core Projects
### Core Project

Core projects are the foundational repositories maintained by the Lance community with strict quality and release standards.
[Contributing Guidelines](./contributing.md), [Community Voting Process](./voting.md) and [Release Guidelines](./release.md)
are all applicable to these projects.
[lance](https://github.com/lance-format/lance) is the core project of the lance-format GitHub Organization,
which hosts most of the development on the table and file format, Rust SDK, Python and Java binding SDKs, documentation and discussions.

Here is the list of current core projects:

| Project Name | Repository | Contents |
|-------------------|------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------|
| lance | https://github.com/lance-format/lance | Lance file and table format specification, Rust SDK (including Namespace Integration SDK), Python SDK, Java SDK, Website |
| lance-namespace | https://github.com/lance-format/lance-namespace | Lance namespace format specification, Rust/Python/Java Codegen SDKs, Java/Python Integration SDK |
| lance-python-docs | https://github.com/lance-format/lance-python-docs | Lance Python SDK generated docs and integration hook with readthedocs |
| lance-ray | https://github.com/lance-format/lance-ray | Ray integration for Lance |
| lance-spark | https://github.com/lance-format/lance-spark | Apache Spark connector for Lance |
The core project is maintained by the Lance community with strict quality and release standards.
[Contributing Guidelines](./contributing.md), [Community Voting Process](./voting.md) and [Release Guidelines](./release.md)
are all applicable to the core project.

### Subprojects

Subprojects are initiatives or repositories that extend Lance's functionality.
They must align with Lance's overall mission and technical direction.
New subprojects can be created with PMC approval.
New subprojects are created by graduating from incubating subprojects through a PMC vote.

Subprojects have relaxed requirements compared to core projects:

Subprojects have relaxed requirements for contribution,
where contributors may receive write access even if not maintainers.
- Contributors may receive write access even if not maintainers
- Merges may be allowed without review at maintainer discretion
- Release processes may be simplified compared to core projects

Here is the list of current subprojects:

| Project Name | Repository | Contents |
|-------------------|------------------------------------------------|-----------------------------------------------------|
| Project Name | Repository | Contents |
|-------------------|---------------------------------------------------|------------------------------------------------------------------------|
| lance-duckdb | https://github.com/lance-format/lance-duckdb | DuckDB extension for Lance |
| lance-huggingface | https://github.com/lance-format/lance-huggingface | Hugging Face integration for Lance |
| lance-namespace | https://github.com/lance-format/lance-namespace | Lance namespace format specification, Rust/Python/Java Codegen SDKs |
| lance-namespace-impls | https://github.com/lance-format/lance-namespace-impls | Lance Namespace Implementations - Apache Hive, Apache Polaris, Apache Gravitino, Unity Catalog, AWS Glue and more |
| lance-python-docs | https://github.com/lance-format/lance-python-docs | Lance Python SDK generated docs and integration hook with readthedocs |
| lance-ray | https://github.com/lance-format/lance-ray | Ray integration for Lance |
| lance-spark | https://github.com/lance-format/lance-spark | Apache Spark connector for Lance |

### Incubating Subprojects

Incubating subprojects are experimental or early-stage repositories in the Lance ecosystem.
Any PMC member can create an incubating subproject without a formal vote.
These projects provide a space for new ideas to develop before committing to full subproject standards.

Incubating subprojects have the most relaxed requirements:

- Anyone can be added as a committer by the project creator or existing PMC members
- Merges without review are allowed
- No formal release process is required

**Important**: All incubating subprojects must include a prominent notice in their README with the following exact notice:

> ⚠️ **Incubating Subproject**: This project is in incubation and is not yet an official Lance subproject.
> APIs and functionality may change without notice. Use it in production at your own risk.

Here is the list of current incubating subprojects:

| Project Name | Repository | Contents |
|-------------------|---------------------------------------------------|-----------------------------------------------------|
| lance-context | https://github.com/lance-format/lance-context | Manage Multimodal Agentic Context Lifecycle with Lance |
| lance-data-viewer | https://github.com/lance-format/lance-data-viewer | Read-only web interface for browsing Lance datasets |
| lance-duckdb | https://github.com/lance-format/lance-duckdb | DuckDB extension for Lance |
| lance-flink | https://github.com/lance-format/lance-flink | Apache Flink connector for Lance |
| lance-graph | https://github.com/lance-format/lance-graph | Cypher-capable graph query engine on top of Lance |
| lance-trino | https://github.com/lance-format/lance-trino | Trino connector for Lance |
| pglance | https://github.com/lance-format/pglance | PostgreSQL extension for Lance |

### Graduating a Subproject
### Graduating from Incubating to Subproject

The PMC can vote to promote a subproject to a core project once the subproject has demonstrated aspects including:
The PMC can vote to promote an incubating subproject to a subproject once the project has demonstrated:

- Proper repository setup including CI, issue tracking, contributing guide, etc.
- Proper code standard enforcement including lint, testing, etc.
- Automated release mechanism
- Established production use cases
- Proper repository setup including CI, issue tracking, and contributing guide
- Proper code standard enforcement including lint and testing
- Established use cases
- Community adoption outside the primary contributor
- Consistent contributions from the community to add new features and fix bugs
- At least one Lance maintainer actively maintaining the project

Contributors with write access will retain their access after graduation to subproject.

### Project License

Expand Down
12 changes: 6 additions & 6 deletions docs/src/community/voting.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,12 @@ A **-1** binding vote is considered a veto for all decision types. Vetoes:
|-------------------------------------------------------------------------------|----------------------------------------------|--------------------------------|---------------------------------------|----------------|
| Governance process and structure modifications | 3 | PMC | Private Mailing List | 1 week |
| Changes in maintainers and PMC rosters | 3 (excluding the people proposed for change) | PMC | Private Mailing List | 1 week |
| Subproject creation and management | 3 | PMC | GitHub Discussions | 3 days |
| Subproject graduation to core project | 3 | PMC | GitHub Discussions | 1 week |
| Release a new stable major version of core projects | 3 | PMC | GitHub Discussions | 1 week |
| Release a new stable minor version of core projects | 3 | PMC | GitHub Discussions | 3 days |
| Release a new stable patch version of core projects | 3 | PMC | GitHub Discussions | N/A |
| Incubating subproject graduation to subproject | 3 | PMC | GitHub Discussions | 3 days |
| Subproject management | 1 | PMC | GitHub Discussions | N/A |
| Release a new stable major version of the core project | 3 | PMC | GitHub Discussions | 1 week |
| Release a new stable minor version of the core project | 3 | PMC | GitHub Discussions | 3 days |
| Release a new stable patch version of the core project | 3 | PMC | GitHub Discussions | N/A |
| Lance Format Specification modifications | 3 (excluding proposer) | PMC | GitHub Discussions (with a GitHub PR) | 1 week |
| Code modifications in core projects (except changes to format specifications) | 1 (excluding proposer) | Maintainers with write access | GitHub PR | N/A |
| Code modifications in the core project (except changes to format specifications) | 1 (excluding proposer) | Maintainers with write access | GitHub PR | N/A |
| Release a new stable version of subprojects | 1 | PMC | GitHub Discussions | N/A |
| Code modifications in subprojects | 1 (excluding proposer) | Contributors with write access | GitHub PR | N/A |