└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # Discussions 2 | 3 | > DLang-community is a GitHub organization which maintains D packages that are 4 | important to the D ecosystem. 5 | 6 | About the organization 7 | ---------------------- 8 | 9 | This organization was formed by annoyance of needing to fork popular repositories to get fixes merged. 10 | Similarly to `std.experimental`, projects are still driven by their original authors if they have the time. 11 | However, small bug fixes don't need to wait in the queue for months, and in case the author is completely gone, 12 | the DLang community has one upstream repository instead of ten different forks containing the same fix. 13 | Moreover, thanks to being a larger organization, the overhead of a project can be 14 | distributed and more easily automated (e.g. documentation builds, binary releases etc.). 15 | 16 | Getting in touch 17 | ---------------- 18 | 19 | This is a public discussion list based on [GitHub issues](https://github.com/dlang-community/discussions/issues). 20 | 21 | Do you have a question? 22 | Then don't hesitate to [open an issue](https://github.com/dlang-community/discussions/issues/new)! 23 | 24 | Adoption guidelines 25 | ------------------- 26 | 27 | These question are intended to give a rough feeling on what packages might be considered for adoption. 28 | When in doubt, please open an issue! 29 | 30 | ### Popularity 31 | 32 | Q: Is there enough interest from the D community, i.e. is it "worth maintaining"? 33 | 34 | ### Competition 35 | 36 | Q: Is there a similar library with active development out there? 37 | 38 | ### Maintainer/sponsor 39 | 40 | Q: Is at least one of the DLang community member competent for the domain covered by the project? 41 | If not, is there anyone willing to join? 42 | 43 | Best practices 44 | -------------- 45 | 46 | This is a list of requirements that should be enabled for each repository. 47 | It's not a requirement for adoption, but a reminder for DLang community members. 48 | 49 | ### GitHub branch protections 50 | 51 | GitHub branch protections (https://github.com/dlang-community/X/settings/branches) 52 | are very important to avoid accidentally pushing to `master`. All repos should have 53 | these two checks enabled: 54 | - Master branch should be set to "force-push protected" 55 | - "Require status checks to pass before merging" should be set 56 | 57 | ### CI integration 58 | 59 | To prevent regressions, assist reviewers and help improving the D ecosystem stability 60 | all changes should be tested as extensively as possible: 61 | 62 | - Travis (Linux, OS X) 63 | - Enable daily crons 64 | - AppVeyor (Windows) 65 | - Test the following compilers 66 | - `dmd`, `dmd-beta`, `dmd-nightly` 67 | - `ldc`, `ldc-beta` 68 | 69 | ### DUB 70 | 71 | All repos should be published on the DUB registry. 72 | 73 | ### Automated generation (TBD) 74 | 75 | - Automated documentation generation (TBD) 76 | - Automated binary generation (TBD) 77 | 78 | Guidelines 79 | ---------- 80 | 81 | ### Q: When can I (self)-pull a PR? 82 | 83 | - Allowed without CI: typos, Readme changes, etc. 84 | - Allowed to be pulled immediately: critical bug fixes that pass the CI (critical = e.g. breakage with dmd-nightly) 85 | - Allowed without a reply within a few days: bug fixes that pass the CI 86 | - Do _not_ pull new features without approval (if the original author is still present, new features should be approved by him) 87 | 88 | 89 | These guidelines are WIP - [your feedback](https://github.com/dlang-community/discussions/issues) is welcome! 90 | 91 | ### Q: What should I do when I want to move a package to dlang-community? 92 | 93 | Please open an issue and let's have a discussion - we don't bite! 94 | Please don't create new packages _without_ consulting other dlang-community members. 95 | 96 | 97 | How do I become a member of the DLang community? 98 | ------------------------------------------------ 99 | 100 | First of all, by reading this you most likely are already. 101 | For this GitHub community there are two options: 102 | 103 | - You are already a well-known member of the D community, then simply [ping us](https://github.com/dlang-community/discussions/issues/new) for merge rights. 104 | - Otherwise, start contributing to one of the projects and earn your trust. 105 | --------------------------------------------------------------------------------