Library Tiers¶
The primary purpose of the Foundation is to:
- advance the Bitcoin software development industry by fostering innovation, promoting best practices, and improving the overall ecosystem;
- support the promotion, research, development, maintenance, and security of the Bitcoin Dev Kit (BDK) libraries and other projects supporting the Bitcoin software industry (the "Projects");
- support and empower Bitcoin software developers through educational initiatives, open-source project support, and industry-wide collaboration;
- manage the technical infrastructure underlying the development of the Projects;
- manage and steward the BDK trademark and other assets of the Foundation;
- undertake such other activities as may from time to time be appropriate to further the purposes and achieve the goals set forth above.
In furtherance of these efforts, the Foundation shall seek to solicit the participation of all interested parties on a fair, equitable, and open basis.
To these ends we provide the technical infrastructure to maintain a number of software projects across different maturity levels and support models. To help you navigate these projects we've categorized them along two dimensions: Maturity Level (Stable vs Experimental) and Support Model (Foundation vs Community).
Library Categories¶
We categorize our libraries along two dimensions to help you understand what level of support and stability to expect:
| Foundation | Community | |
|---|---|---|
| Stable | Core BDK libraries with comprehensive support | Well-maintained libraries for specific use cases |
| Experimental | Foundation projects under active development | Community-driven experimental projects |
Maturity Level:
- Stable: Production-ready libraries with stable APIs, comprehensive testing, and backward compatibility guarantees.
- Experimental: Early-stage projects with evolving APIs, basic testing, and potential for major changes.
Support Model:
- Foundation: Libraries receiving direct support and grant funding from the BDK Foundation.
- Community: Libraries maintained primarily by volunteer contributors from the community.
What to expect¶
Stable + Foundation¶
The core of the BDK ecosystem. Production-ready libraries that receive the highest level of attention and maintenance.
What to expect:
- Two official maintainers supported by grant funding from the BDK Foundation
- A robust community of users and volunteer maintainers
- Comprehensive test coverage and CI/CD
- Security updates and dependency maintenance
- Security updates back ported to prior major release
- Active monitoring and fast response to issues
- Semantic versioning with clear release notes
- Data schema stability guarantees and clear migration paths
- Extensive documentation (API, tutorials, guides, etc.) with code examples
- Example applications
Stable + Community¶
Well-maintained, production-ready libraries serving more specific use cases. These rely more on community contributions for maintenance.
What to expect:
- Two official maintainers (volunteers from the community)
- Maintainers may receive grant funding from the BDK Foundation
- A robust community of users and volunteer maintainers
- Comprehensive test coverage and CI/CD
- Security updates and dependency maintenance
- Semantic versioning with clear release notes
- Response to issues within a reasonable timeframe
- Documentation (API) with code examples
Experimental + Foundation¶
Early-stage Foundation projects undergoing active development with Foundation support.
What to expect:
- At least one official maintainer supported by grant funding
- Incomplete or evolving APIs
- Basic test coverage and CI/CD
- Limited backward compatibility guarantees
- Minimal documentation
- Potential for major changes as the project matures
- Clear path toward becoming Stable + Foundation
Experimental + Community¶
Community-driven experimental projects exploring new ideas or serving niche use cases.
What to expect:
- At least one official maintainer (volunteer from the community)
- Incomplete or evolving APIs
- Only basic test coverage and CI/CD
- Limited or no backward compatibility guarantees
- Minimal documentation
- Potential for major changes or deprecation
Detailed Comparison Table¶
| Stable + Foundation |
Stable + Community |
Experimental + Foundation |
Experimental + Community |
|
|---|---|---|---|---|
| Maintainers | 2 | 2 | 1+ | 1+ |
| BDKF Grant Funding | Yes | Optional | Yes | No |
| Community Support | Possible | Yes | Possible | Yes |
| Comprehensive Testing & CI/CD | Yes | Yes | Basic | Basic |
| Security & Dependency Updates | Yes | Yes | Yes | Limited |
| Semantic Versioning | Yes | Yes | Yes | Yes |
| Back-ported Security Updates | Yes | No | No | No |
| Fast Response to Issues | Yes | Reasonable | Variable | Variable |
| API Stability | Yes | Yes | No | No |
| API Documentation & Examples | Extensive | Yes | Minimal | Minimal |
| Tutorials & Guides | Yes | No | No | No |
| Example Applications | Yes | No | No | No |
Where to Find This Information¶
You can find the categories assigned to each library in our GitHub Org under the Libraries heading. There you'll also find information on the specific maintainers assigned to each library.