DLang-community is a GitHub organization which maintains D packages that are important to the D ecosystem.
This organization was formed by annoyance of needing to fork popular repositories to get fixes merged.
Similarly to std.experimental
, projects are still driven by their original authors if they have the time.
However, small bug fixes don't need to wait in the queue for months, and in case the author is completely gone,
the DLang community has one upstream repository instead of ten different forks containing the same fix.
Moreover, thanks to being a larger organization, the overhead of a project can be
distributed and more easily automated (e.g. documentation builds, binary releases etc.).
This is a public discussion list based on GitHub issues.
Do you have a question? Then don't hesitate to open an issue!
These question are intended to give a rough feeling on what packages might be considered for adoption. When in doubt, please open an issue!
Q: Is there enough interest from the D community, i.e. is it "worth maintaining"?
Q: Is there a similar library with active development out there?
Q: Is at least one of the DLang community member competent for the domain covered by the project? If not, is there anyone willing to join?
This is a list of requirements that should be enabled for each repository. It's not a requirement for adoption, but a reminder for DLang community members.
GitHub branch protections (https://github.com/dlang-community/X/settings/branches)
are very important to avoid accidentally pushing to master
. All repos should have
these two checks enabled:
- Master branch should be set to "force-push protected"
- "Require status checks to pass before merging" should be set
To prevent regressions, assist reviewers and help improving the D ecosystem stability all changes should be tested as extensively as possible:
- Travis (Linux, OS X)
- Enable daily crons
- AppVeyor (Windows)
- Test the following compilers
dmd
,dmd-beta
,dmd-nightly
ldc
,ldc-beta
All repos should be published on the DUB registry.
- Automated documentation generation (TBD)
- Automated binary generation (TBD)
- Allowed without CI: typos, Readme changes, etc.
- Allowed to be pulled immediately: critical bug fixes that pass the CI (critical = e.g. breakage with dmd-nightly)
- Allowed without a reply within a few days: bug fixes that pass the CI
- Do not pull new features without approval (if the original author is still present, new features should be approved by him)
These guidelines are WIP - your feedback is welcome!
Please open an issue and let's have a discussion - we don't bite! Please don't create new packages without consulting other dlang-community members.
First of all, by reading this you most likely are already. For this GitHub community there are two options:
- You are already a well-known member of the D community, then simply ping us for merge rights.
- Otherwise, start contributing to one of the projects and earn your trust.