diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f03f8cb525..36c9b692ad 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,8 +8,8 @@ - See the COPYRIGHT file distributed with this work for additional - information regarding copyright ownership. --> -## BIND Source Access and Contributor Guidelines -*Feb 22, 2018* +## BIND 9 Source Access and Contributor Guidelines +*May 28, 2020* ### Contents @@ -19,12 +19,12 @@ ### Introduction -Thank you for using BIND! +Thank you for using BIND 9! BIND is open source software that implements the Domain Name System (DNS) protocols for the Internet. It is a reference implementation of those protocols, but it is also production-grade software, suitable for use in -high-volume and high-reliability applications. It is by far the most +high-volume and high-reliability applications. It is very widely used DNS software, providing a robust and stable platform on top of which organizations can build distributed computing systems with the knowledge that those systems are fully compliant with published DNS @@ -33,20 +33,20 @@ standards. BIND is and will always remain free and openly available. It can be used and modified in any way by anyone. -BIND is maintained by the [Internet Systems Consortium](https://www.isc.org), +BIND is maintained by [Internet Systems Consortium](https://www.isc.org), a public-benefit 501(c)(3) nonprofit, using a "managed open source" approach: anyone can see the source, but only ISC employees have commit access. -Until recently, the source could only be seen once ISC had published -a release: read access to the source repository was restricted just -as commit access was. That's now changing, with the opening of a +In the past, the source could only be seen once ISC had published +a release; read access to the source repository was restricted just +as commit access was. That has changed, as ISC now provides a public git mirror to the BIND source tree (see below). -At [Internet Systems Consortium](https://www.isc.org), we're committed to -building communities that are welcoming and inclusive; environments where people +At ISC, we're committed to +building communities that are welcoming and inclusive: environments where people are encouraged to share ideas, treat each other with respect, and collaborate -towards the best solutions. To reinforce our commitment, the [Internet Systems -Consortium](https://www.isc.org) has adopted the Contributor Covenant version -1.4 as our Code of Conduct for BIND 9 project, as well as for the conduct of our +towards the best solutions. To reinforce our commitment, ISC +has adopted a slightly modified version of the Django +[Code of Conduct](https://gitlab.isc.org/isc-projects/bind9/-/blob/master/CODE_OF_CONDUCT.md) for the BIND 9 project, as well as for the conduct of our developers throughout the industry. ### Access to source code @@ -76,7 +76,7 @@ branch, use: > $ git checkout v9_12 -Whenever a branch is ready for publication, a tag will be placed of the +Whenever a branch is ready for publication, a tag is placed of the form `v9_X_Y`. The 9.12.0 release, for instance, is tagged as `v9_12_0`. The branch in which the next major release is being developed is called @@ -86,16 +86,16 @@ The branch in which the next major release is being developed is called Reports of flaws in the BIND package, including software bugs, errors in the documentation, missing files in the tarball, suggested changes -or requests for new features, etc, can be filed using +or requests for new features, etc., can be filed using [https://gitlab.isc.org/isc-projects/bind9/issues](https://gitlab.isc.org/isc-projects/bind9/issues). Due to a large ticket backlog, we are sometimes slow to respond, especially if a bug is cosmetic or if a feature request is vague or -low in priority, but we will try at least to acknowledge legitimate +low in priority, but we try at least to acknowledge legitimate bug reports within a week. -ISC's ticketing system is publicly readable; however, you must have -an account to file a new issue. You can either register locally or +ISC's GitLab system is publicly readable; however, you must have +an account to create a new issue. You can either register locally or use credentials from an existing account at GitHub, GitLab, Google, Twitter, or Facebook. @@ -105,26 +105,26 @@ If you think you may be seeing a potential security vulnerability in BIND report it immediately by emailing to security-officer@isc.org. Plain-text e-mail is not a secure choice for communications concerning undisclosed security issues so please encrypt your communications to us if possible, -using the [ISC Security Officer public key](https://www.isc.org/downloads/software-support-policy/openpgp-key/). +using the [ISC Security Officer public key](https://www.isc.org/pgpkey/). Do not discuss undisclosed security vulnerabilities on any public mailing list. ISC has a long history of handling reported vulnerabilities promptly and effectively and we respect and acknowledge responsible reporters. -ISC's Security Vulnerability Disclosure Policy is documented at [https://kb.isc.org/article/AA-00861/0](https://kb.isc.org/article/AA-00861/0). +ISC's Security Vulnerability Disclosure Policy is documented at [https://kb.isc.org/docs/aa-00861](https://kb.isc.org/docs/aa-00861). If you have a crash, you may want to consult -[‘What to do if your BIND or DHCP server has crashed.’](https://kb.isc.org/article/AA-00340/89/What-to-do-if-your-BIND-or-DHCP-server-has-crashed.html) +["What to do if your BIND or DHCP server has crashed."](https://kb.isc.org/docs/aa-00340) ### Contributing code BIND is licensed under the -[Mozilla Public License 2.0](http://www.isc.org/downloads/software-support-policy/isc-license/). -Earier versions (BIND 9.10 and earlier) were licensed under the [ISC License](http://www.isc.org/downloads/software-support-policy/isc-license/) +[Mozilla Public License 2.0](https://www.mozilla.org/en-US/MPL/2.0/). +Earlier versions (BIND 9.10 and earlier) were licensed under the [ISC License](https://www.isc.org/licenses/) ISC does not require an explicit copyright assignment for patch contributions. However, by submitting a patch to ISC, you implicitly -certify that you are the author of the code, that you intend to reliquish +certify that you are the author of the code, that you intend to relinquish exclusive copyright, and that you grant permission to publish your work under the open source license used for the BIND version(s) to which your patch will be applied. @@ -132,7 +132,7 @@ patch will be applied. #### BIND code Patches for BIND may be submitted directly via merge requests in -[ISC's Gitlab](https://gitlab.isc.org/isc-projects/bind9/) source +[ISC's GitLab](https://gitlab.isc.org/isc-projects/bind9/) source repository for BIND. Patches can also be submitted as diffs against a specific version of @@ -142,10 +142,9 @@ be generated using either `git format-patch` or `git diff`. Those wanting to write code for BIND may be interested in the [developer information](doc/dev/dev.md) page, which includes information about BIND design and coding practices, including discussion of internal -APIs and overall system architecture. (This is a work in progress, and -still quite preliminary.) +APIs and overall system architecture. -Every patch submitted will be reviewed by ISC engineers following our +Every patch submitted is reviewed by ISC engineers following our [code review process](doc/dev/dev.md#reviews) before it is merged. It may take considerable time to review patch submissions, especially if @@ -156,7 +155,7 @@ we're busy with other work, it may take us a long time to get to it. To ensure your patch is acted on as promptly as possible, please: * Try to adhere to the [BIND 9 coding style](doc/dev/style.md). -* Run `make` `check` to ensure your change hasn't caused any +* Run `make check` to ensure your change hasn't caused any functional regressions. * Document your work, both in the patch itself and in the accompanying email. @@ -182,28 +181,23 @@ All functional changes should be documented. There are three types of documentation in the BIND source tree: * Man pages are kept alongside the source code for the commands - they document, in files ending in `.docbook`; for example, the - `named` man page is `bin/named/named.docbook`. -* The *BIND 9 Administrator Reference Manual* is mostly in - `doc/arm/Bv9ARM-book.xml`, plus a few other XML files that are included - in it. + they document, in files ending in `.rst`: for example, the + `named` man page is `bin/named/named.rst`. +* The *BIND 9 Administrator Reference Manual* is in the .rst files in + `doc/arm/`; the PDF and HTML versions are automatically generated from the `.rst` files. * API documentation is in the header file describing the API, in Doxygen-formatted comments. -It is not necessary to edit any documentation files other than these; -all PDF, HTML, and `nroff`-format man page files will be updated -automatically from the `docbook` and `XML` files after merging. - Patches to improve existing documentation are also very welcome! ##### Tests BIND is a large and complex project. We rely heavily on continuous automated testing and cannot merge new code without adequate test coverage. -Please see [the 'Testing' section of doc/dev/dev.md](doc/dev/dev.md#testing) +Please see [the "Testing" section of doc/dev/dev.md](doc/dev/dev.md#testing) for more information. #### Thanks Thank you for your interest in contributing to the ongoing development -of BIND. +of BIND 9.