Hi IPMC,

I would like to propose Asyncband [1] as a new Apache Incubator
project, you can find the proposal of Asyncband [2] for more details.

The project was previously named MEA and was discussed in an Incubator
thread [3]. Based on community feedback, we decided to rename the
project Asyncband because MEA was too short and could be ambiguous in
some languages.

I'm acting as the champion, and we currently have 4 mentors (including me).

Full proposal inlined below for easy reading.

[1] https://github.com/fast/mea
[2] 
https://cwiki.apache.org/confluence/spaces/INCUBATOR/pages/446071349/Asyncband+Proposal
[3] https://lists.apache.org/thread/5pb2rtzjmn1rzchfglokslgwwg293o47

Best regards,
Twice

-------------------------------------------------------------------------

Abstract
Asyncband is a runtime-agnostic Rust library of composable
synchronization, coordination, channel, and concurrency-control
primitives for asynchronous applications.

Proposal
Asyncband provides reusable building blocks for asynchronous Rust
programs without coupling applications or libraries to a particular
async runtime. Its primitives interoperate through Rust’s standard
Future, Context, and Waker interfaces and can therefore be used with
Tokio, async-std, or other executors.

The proposed project scope includes:
- Synchronization primitives such as Mutex, RwLock, Semaphore,
Barrier, Condvar, Latch, WaitGroup, Once, OnceCell, and OnceMap.
- Communication primitives such as one-shot, bounded and unbounded
MPSC, and broadcast channels with different delivery and overflow
strategies.
- Composed coordination utilities such as graceful shutdown signaling.
- Concurrency-control utilities such as admission control and
duplicate-call suppression.
The following areas are intentionally outside the project’s scope:
- I/O reactors or proactors for filesystems, networking, signals,
timers, or similar facilities.
- Task schedulers or complete async runtimes.
- General-purpose Future or Stream combinator libraries already
covered by the Rust futures ecosystem.
Asyncband is intended to be a focused, commons-style foundation for
async synchronization and coordination in Rust rather than another
async runtime.

Background
Asyncband was started by Zili Chen (tison) in October 2024 and has
been developed publicly on GitHub under the Apache License, Version
2.0. The project was previously named MEA and publishes the mea crate
on crates.io and versioned API documentation on docs.rs. Right now, we
have four active contributors and the crate has been downloaded more
than 5M times.

Rationale
Async Rust libraries frequently need synchronization and coordination
facilities even when they do not want to impose a particular runtime
on downstream applications. Runtime-specific primitive implementations
can introduce otherwise unnecessary coupling, while repeatedly
implementing low-level concurrency machinery increases correctness and
maintenance risks.

Asyncband addresses this gap with a coherent set of
executor-independent primitives and a deliberately small runtime
dependency surface. It gives libraries a shared implementation for
common concurrency behavior while allowing applications to choose
their executor.

Moving Asyncband to the ASF would establish durable, vendor-neutral
ownership and a transparent, merit-based governance model. It would
also create a neutral place for users of different runtimes and
downstream projects to collaborate on correctness, API design,
performance, documentation, and new primitives within a well-defined
scope.

Initial Goals
By transferring ownership of the project to the ASF, Asyncband expects
to ensure its neutrality and further encourage and facilitate the
adoption of Asyncband by the community.

Some of the areas we would like to focus on during the Apache
incubation phase include:
- A healthier community: More contributors could be able to
participate in Asyncband and own different modules.
- Wider adoption: Asyncband can be adopted by more Rust projects,
which in turn drives its own functionality.
- Strengthening correctness evidence through cross-runtime integration
tests, stress and property testing, and targeted model checking.
- Establishing reproducible benchmarks and improving performance
without compromising safety, fairness, or API clarity.

Current Status
Meritocracy
Asyncband has been developed through public GitHub issues and pull
requests. Contributors receive credit through the repository history
and release notes, but project ownership and release authority are
currently concentrated in the founding maintainer, and no formal
committer-governance model exists yet.

The initial community intends to adopt the Apache Way. Technical and
governance decisions will be made transparently on ASF-managed
channels, contributions of code and non-code work will be evaluated on
merit, and contributors who demonstrate sustained positive
participation will be invited to become committers and PPMC members.

Community
Contributors: 9

Users:
- Apache OpenDAL
- Prek
- Foyer
- ScopeDB
- ... and more on https://crates.io/crates/mea/reverse_dependencies
The donation discussion is public at https://github.com/fast/mea/issues/140.

Core Developers
The current core developers have experience with Rust, asynchronous
systems, and public open-source collaboration. Zili Chen is an ASF
Member and IPMC member with experience mentoring incubating projects.
Yunze Xu is an Apache Pulsar PMC member. Dian Luo and Haixu Ouyang
have contributed to the implementation, documentation, testing, and
maintenance of Asyncband and related projects in the fast GitHub
organization.

This gives the initial group some ASF experience, but not every core
developer is familiar with ASF release, governance, and communication
practices. The Mentors will help the whole community learn and
consistently apply those practices.

Alignment
Asyncband is already licensed under Apache-2.0, is developed in
public, and is directly used by Apache OpenDAL. Its purpose as
reusable, vendor-neutral infrastructure aligns with the ASF’s emphasis
on community-led development and long-term stewardship.

The ASF hosts a growing set of Rust projects and Rust components,
including Apache OpenDAL, Apache DataFusion, and parts of Apache
Arrow. Asyncband can provide shared async coordination infrastructure
for Apache projects where appropriate while remaining useful to the
wider Rust community.

Known Risks
Project Name
This project was previously named MEA, which stands for “Modular
Essentials for Async”. During previous discussions at the Apache
Incubator, we realized that MEA might be too short and ambiguous in
some languages, so it was renamed Asyncband.

Orphan Products
Asyncband is a small library whose maintenance has so far been led
primarily by one person, so loss of interest by the founding
maintainer is a real risk. Existing downstream adoption and the
commitment of four active contributors reduce the immediate risk, but
they do not eliminate it.

The central incubation goal is to distribute ownership across a larger
group of committers and downstream stakeholders. Transparent
governance, documented maintenance practices, and ASF-controlled
project assets will make continuation less dependent on any one
individual.

Inexperience with Open Source
Asyncband has been developed openly on GitHub since its inception, and
all initial committers have participated in public open-source
workflows. Zili Chen and Yunze Xu have substantial ASF experience,
while other initial committers are newer to ASF governance,
mailing-list-based decision-making, release voting, and policy
requirements.

The project will rely on its Mentors and experienced initial
committers to teach these practices and ensure that knowledge is
shared rather than concentrated.

Length of Incubation
Expect to enter incubation in two months and graduate in about two years.

Homogenous Developers
The initial active developers are geographically concentrated in China
and share overlapping professional interests in Rust infrastructure.
They are not all employed by the same organization, but the current
group is still too small and homogeneous for a sustainable Apache
community.

The project will actively recruit contributors through downstream
users, Rust runtime communities, ASF Rust projects, documentation
work, testing initiatives, and well-scoped issues suitable for new
participants.

Reliance on Salaried Developers
Asyncband is not known to depend on a development team funded by a
single employer. The more significant risk is concentration of
maintenance work in the founding maintainer, regardless of whether
that work is salaried or voluntary.

The project will mitigate this risk by sharing release, review,
triage, and technical ownership among multiple committers and by
recognizing sustained non-code contributions as well as code
contributions.

Relationships with Other Apache Products
- Apache OpenDAL directly depends on Asyncband and uses it throughout
its Rust implementation.
- prek depends on Asyncband and is used in Apache Airflow’s
development workflows, creating an indirect relationship with Apache
Airflow.
- Asyncband may be useful to other ASF Rust projects that need
executor-independent synchronization or coordination, but no project
will be expected to adopt it merely because it is hosted by the ASF.

An Excessive Fascination with the Apache Brand
The proposal is motivated by neutral ownership, durable
infrastructure, transparent governance, and community growth rather
than by endorsement or marketing value. The initial community
understands that the Apache name does not guarantee adoption and that
incubation requires sustained work on releases, policy compliance, and
community development.

Documentation
The API documentation of Asyncband is hosted at https://docs.rs/mea.

If the proposal is accepted, the community may establish a project
website at asyncband.apache.org; docs.rs will continue to host API
documentation for published crate versions.

Initial Source
The project currently holds a GitHub repository and a Cargo crate:
- https://github.com/fast/mea
- https://crates.io/crates/mea
The crate will retain its name, while the repository will be moved to
the Apache org.

Source and Intellectual Property Submission Plan
External Dependencies
The published crate currently has one direct runtime dependency:

MIT
slab 0.4.12 (It is planned to be removed)

Cryptography
N/A

Required Resources
Mailing Lists
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
Subversion Directory
N/A

Git Repositories
>From https://github.com/fast/mea
- https://gitbox.apache.org/asf/repos/asyncband
- https://github.com/apache/asyncband

Issue Tracking
The community would like to continue using GitHub Issues.

Other Resources
The community has already chosen GitHub Actions as continuous integration tools.

Initial Committers
tison [[email protected]]
Dian Luo [[email protected]]
Yunze Xu [[email protected]]
Haixu Ouyang [[email protected]]

Sponsors
Champion
Mingyang Liu [[email protected]]

Nominated Mentors
tison [[email protected]]
Hao Ding [[email protected]]
Jean-Baptiste Onofré [[email protected]]
Mingyang Liu [[email protected]]

Sponsor Entity
The Incubator

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to