-
Notifications
You must be signed in to change notification settings - Fork 71
Add library tiers page #255
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
thunderbiscuit
wants to merge
1
commit into
bitcoindevkit:master
Choose a base branch
from
thunderbiscuit:feature/tiers
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,127 @@ | ||
| --- | ||
| sidebar: true | ||
| tagline: "Foundation" | ||
| description: "The libraries we maintain." | ||
| prev: false | ||
| next: false | ||
| editLink: false | ||
| lastUpdated: false | ||
| --- | ||
|
|
||
| # Library Tiers | ||
|
|
||
| The primary purpose of the Foundation is to: | ||
|
|
||
| 1. advance the Bitcoin software development industry by fostering innovation, promoting best practices, and improving the overall ecosystem; | ||
| 2. 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"); | ||
| 3. support and empower Bitcoin software developers through educational initiatives, open-source project support, and industry-wide collaboration; | ||
| 4. manage the technical infrastructure underlying the development of the Projects; | ||
| 5. manage and steward the BDK trademark and other assets of the Foundation; | ||
| 6. 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. | ||
|
|
||
| <br> | ||
|
|
||
| ## 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 +<br/>Foundation | Stable +<br/>Community | Experimental +<br/>Foundation | Experimental +<br/>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](https://github.com/bitcoindevkit) under the [Libraries heading](https://github.com/bitcoindevkit#our-core-libraries). There you'll also find information on the specific maintainers assigned to each library. | ||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
should these 1-6 first letter be uppercased