Index: head/en_US.ISO8859-1/htdocs/news/status/report-2017-07-2017-09.xml =================================================================== --- head/en_US.ISO8859-1/htdocs/news/status/report-2017-07-2017-09.xml (revision 51317) +++ head/en_US.ISO8859-1/htdocs/news/status/report-2017-07-2017-09.xml (revision 51318) @@ -1,1279 +1,1278 @@ July-September 2017
Introduction

This is a draft of the July–September 2017 status report. Please check back after it is finalized, and an announcement email is sent to the &os;-Announce mailing list.

This report covers &os;-related projects between July and September 2017. This is the third of four reports planned for 2017.

The third quarter of 2017 was another productive quarter for the &os; project and community. [...]

Thanks to all the reporters for the excellent work!

The deadline for submissions covering the period from October to December 2017 is January 7, 2017.

?>
team &os; Team Reports

Entries from the various official and semi-official teams, as found in the Administration Page.

proj Projects

Projects that span multiple categories, from the kernel and userspace to the Ports Collection or external projects.

kern Kernel

Updates to kernel subsystems/features, driver support, filesystems, and more.

arch Architectures

Updating platform-specific features and bringing in support for new hardware platforms.

.
bin Userland Programs

Changes affecting the base system and programs in it.

ports Ports

Changes affecting the Ports Collection, whether sweeping changes that touch most of the tree, or individual ports themselves.

doc Documentation

Noteworthy changes in the documentation tree or new external books/documents.

misc Miscellaneous -

Objects that defy categorization.

+

Items that defy categorization.

third Third-Party Projects

Many projects build upon &os; or incorporate components of &os; into their project. As these projects may be of interest to the broader &os; community, we sometimes include brief updates submitted by these projects in our quarterly report. The &os; project makes no representation as to the accuracy or veracity of any claims in these submissions.

&os; Release Engineering Team &os; Release Engineering Team re@FreeBSD.org &os; 11.1-RELEASE Announcement &os; 10.4-RELEASE Schedule &os; Development Snapshots

The &os; Release Engineering Team is responsible for setting and publishing release schedules for official project releases of &os;, announcing code freezes, and maintaining the respective branches, among other things.

The &os; Release Engineering Team continued finalizing the 11.1-RELEASE cycle, with the final release builds starting on July 21 and the official release announcement email sent on July 26. Thank you to everyone who helped test 11.1-RELEASE, ensuring its quality and stability. [1]

&os; 11.1-RELEASE is the second release from the stable/11 branch.

Additionally, the &os; Release Engineering Team started the 10.4-RELEASE cycle, with the code slush starting on July 28. With the final release build expected to start on September 29 and the official announcement overlapping the end of the quarter, everything is on schedule as of this writing. [2]

&os; 10.4-RELEASE will be the fifth release from the stable/10 branch, and is planned to be the final release of the 10.x series.

The &os; Foundation [1] The &os; Foundation [2]
AMD Zen (family 17h) support Conrad Meyer cem@FreeBSD.org

This quarter, a bit of work was done to enhance platform support for AMD Zen (Ryzen, Threadripper, Epyc) processors:

Overall, Zen is now a very usable platform for x86 workstations and servers.

Dell EMC Isilon - Add HWPMC support for new performance counters in - Zen. + Add HWPMC support for the new performance counters + avilable on the Zen architecture. Add support for the CCP (Crypto Co-Processor).
Updates to GDB John Baldwin jhb@FreeBSD.org Luca Pizzamiglio pizzamig@FreeBSD.org

The port has been updated to GDB 8.0.1.

Support for &os;/aarch64 userland binaries has been committed upstream. These patches, along with support for debugging &os;/aarch64 kernels, have been committed to the port.

Upstream patches adding improved support for &os;/arm userland binaries are currently in review. &os; 12 has recently grown support for debugging VFP registers via ptrace() and core dumps as part of this work. Support for &os;/arm kernels will be added to the port after the upstream patches are added to the port.

Support for $_siginfo has been committed upstream. This uses the recently added NT_LWPINFO note to extract signal information from process cores.

Hangs that occured when GDB's kill command was used were fixed in &os; in r313992.

Figure out why the powerpc kgdb targets are not able to unwind the stack past the initial frame. Test support for sparc64 binaries and kernels. Add support for debugging powerpc vector registers. Implement info proc commands. Implement info os commands.
Absolute &os;, 3rd Edition Michael Lucas mwlucas@michaelwlucas.com Official Announcement

The first draft of the third edition of Absolute &os; is finished. It is 220,200 words, or roughly enough to stun a medium-sized ox. It's on target to be in print before BSDCan 2018.

Stare at the wall blankly for a few days. Fix all the problems pointed out by dozens of community reviewers. Fix all the problems pointed out by John Baldwin, tech reviewer extraordinaire. Editing. Copyediting. Page layout. Page editing. Re-editing. Indexing. Edits discovered by indexer. Pre-orders should open some time next year. Restrain myself from strangling people who ask when the fourth edition is coming.
Puppet Puppet Team puppet@FreeBSD.org Puppetlab's &os; Slack Channel

This summer has seen the creation of a puppet@ team to help - maintain the ~30 Puppet-related ports in the &os; ports tree. + maintain the approximately 30 Puppet-related ports in the &os; + ports tree. These ports were previously maintained by various committers, - and from time to time this introduced some delays when - updating a port due to the need to wait for a maintainer's + and from time to time the distributed maintainership + introduced some delays when + updating a port due, to the need to wait for a maintainer's approval for a related change to a different port.

Puppet 5 is now in the ports tree (as sysutils/puppet5). The C++ version of Facter (sysutils/facter) got a lot of love and is now a - drop-in replacement for the previous Ruby version of Facter + drop-in replacement for the previous Ruby version (sysutils/rubygem-facter); it is the default facts source for the Puppet 5 port.

Work continues on bringing in Puppetserver 5 to the ports tree, and on keeping all the ports up-to-date.

- The pkgng package provider has some minor issues + The pkg package provider has some minor issues (it breaks things when no repos are configured, and is not working properly from the context of the MCollective package agent). The databases/puppetdb[345] and sysutils/puppetserver[45] ports rely on Clojure and Java, and download compiled jar files instead of building them from source.
Intel iWARP Support Bartosz Sobczak bartosz.sobczak@intel.com iWARP for ixl

iWARP is a protocol suite that enables efficient movement of data across the network, building on Remote Direct Memory Access, Direct Data Placement, and Marker PDU Aligned Framing. - It endeavors to avoid unnecessary (local) data copies and + It endeavors to avoid unnecessary (local) data copies and to offload work from the main CPU to dedicated hardware.

An initial commit adding iWARP support for the Intel X722 family of network adapters is under review. This is an important step towards introducing full iWARP support on systems equipped with Intel C620 Series Chipsets. Currently, with the iw_ixl driver, only the kVerbs API is supported.

Additional testing.
Intel 10G <tt>iflib</tt> Driver Update Chris Galazka krzysztof.galazka@intel.com Piotr Pietruszewski piotr.pietruszewski@intel.com ixgbe iflib Conversion

The ix and ixv network interface drivers support a variety of Intel network interfaces, with line speeds at 10 Gbit/second.

This quarter, with the help of Matt Macy and Sean Bruno (among others), we've submitted a review in Phabricator for the conversion of the ixgbe driver to use the new (and evolving) - iflib interface.

+ iflib framework.

Stay tuned for the conversion of the 40G driver - (ixl) as it is currently being ported to use + (ixl), as it is currently being ported to use iflib.

Additional testing.
FreeBSDDesktop Johannes Dieterich jmd@freebsd.org Mark Johnston markj@freebsd.org Hans Petter Selasky hselasky@freebsd.org Matthew Macy mmacy@nextbsd.org - FreeBSDDesktop GitHub + FreeBSDDesktop on GitHub

The FreeBSDDesktop team is happy to announce the availability of - graphics/drm-next-kmod. This port for &os; CURRENT + graphics/drm-next-kmod. This port for &os;-CURRENT (amd64) provides support for the amdgpu, i915, and radeon DRM modules using the linuxkpi compatibility framework. - The port currently corresponds to DRM from Linux 4.9 and is in - an experimental state. It works reliably for a lot of testers + The port currently corresponds to the DRM from Linux 4.9 and is in + an experimental state. It works reliably for many testers with modern GPU hardware (AMD HD7000 series/Tahiti to Polaris - and Intel HD3000/Sandy Bridge to Skylake). Broader testing and + and Intel HD3000/Sandy Bridge to Skylake). Broader testing and reporting/fixing of bugs is appreciated.

Resolve issues that cause radeonkms and amdgpu to fail with EFI boot (though there is a workaround available). Upgrade to Linux 4.10 and higher DRM versions. Get feedback from broader testing.
OpenJFX 8 Tobias Kortkamp tobik@FreeBSD.org OpenJFX Wiki java/openjfx8-devel java/openjfx8-scenebuilder AsciidocFX -

OpenJFX is an open source, next generation client - application platform for desktop and embedded systems +

OpenJFX is an open source, next generation, client + application platform for desktop and embedded systems, based on JavaSE. This quarter, the OpenJFX port was - reworked and has some significant improvements.

+ reworked and has received some significant improvements.

More modules are being built. With the new web module we gain support for applications that have their own builtin - web browser like e.g. AsciidocFX. The new media module - allows JavaFX applications to playback audio and video + web browser such as AsciidocFX. The new media module + allows JavaFX applications to play audio and video files.

A port of the JavaFX scenebuilder, a RAD tool for building JavaFX scenes, was added to the ports tree.

The OpenGL Prism backend for GPU acceleration was enabled by default.

From a mainainer's and contributor's perspective, the port was simplified by moving all &os;-local patches to the ports tree and fetching the upstream sources directly instead of using a separate repository for them.

- Upstream some of the patches + Upstream some of the patches in the ports tree.
Ports Collection René Ladan portmgr-secretary@FreeBSD.org &os; Ports Management Team portmgr@FreeBSD.org About &os; Ports Contributing to Ports &os; Ports Monitoring Ports Management Team Website &os; portmgr on Twitter (@freebsd_portmgr) &os; Ports Management Team on Facebook &os; Ports Management Team on Google+ -

The Ports Collection now features over 31,600 ports. There are currently - 2671 problem reports, of which 718 are unassigned. This quarter saw - almost 5,900 commits from 175 committers. The number of open PRs grew +

The Ports Collection now features over 31,600 ports. There are currently + 2671 problem reports, of which 718 are unassigned. This quarter saw + almost 5,900 commits from 175 committers. The number of open PRs grew compared to last quarter, and outpaced the number of changes.

This quarter, we welcomed Zach Leslie (zleslie@), Luca Pizzamiglio (pizzamig@), Craig Leres (leres@), Adriaan de Groot (adridg@), and Dave - Cottlehuber (dch@) as new committers. The commit bits of the following + Cottlehuber (dch@) as new committers. The commit bits of the following committers were taken in for safekeeping: alonso@ after 19 months of inactivity, rpaulo@ per his request, and ache@ after he passed away. Despite several tries and changing mentors, kami@ lacked interest in completing his mentorship, so his commit bit was also taken in for safekeeping.

On the infrastructure side, two USES values were removed because they outlived their usefulness:

-

The default version of GCC was bumped from 5 to 6. Firefox was updated - to version 56.0 and Chromium to version 61.0.3163.100. The version of +

The default version of GCC was bumped from 5 to 6. Firefox was updated + to version 56.0 and Chromium to version 61.0.3163.100. The version of pkg itself was updated to 1.10.1.

During this quarter, antoine@ performed 28 exp-runs to test version updates of major ports, improving USE_GITHUB and SHEBANG_FILES, and API changes to the base system. - This quarter, the foundations for ports "flavors" were + This quarter, the foundation for ports "flavors" was committed, though more development and testing will be performed in the coming quarter before it goes live.

The PR load needs more attention, as the number of open PRs has started to increase again.
&os; CI Jenkins Admins jenkins-admin@FreeBSD.org freebsd-ci Repository freebsd-testing Mailing List &os; Jenkins Instance

The &os; CI team runs various continuous integration solutions for &os;, regularly checking that the current state of the Subversion repository can successfully build, and performing various tests and analysis upon the build results.

We have introduced a DTrace test pipeline, with the results and artifacts available at:

-

We had 2 developer summits in Q3:

+

We had a team meeting at two developer summits during Q3:

- Fix the failing cases and builds. + Fix the failing test cases and builds. Create builds for additional architectures. Add more tests. The additional TODO items listed at https://wiki.FreeBSD.org/Jenkins/TODO.
The &os; Core Team &os; Core Team core@FreeBSD.org

The new "&os; Community Process" was drafted during BSDCan earlier this year. The first such document, FCP 0, defines how the whole process works. After some time for discussion and revision, FCP 0 was voted on and accepted by core, following the procedure laid down within that document. Currently the use of FCPs is entirely optional; we shall see how the community begins to adopt their usage and evolve the process based on experience.

A draft update to the Code of Conduct has been prepared by the advisory committee. Core is currently reviewing the text, and will soon vote on accepting it. Core is keen to avoid the trap of "rules lawyering". At the moment, the feeling is that we need to add a preamble to the CoC to articulate the goals of the project and to act as a general guide to the exercise of the code.

This quarter has been quite a busy one concerning changes to the roster of committers and project members. We have elected our first new Project Member — John Hixson, who will be familiar from many conferences where he has given presentations and ably represented iXsystems. A second proposed Project Member was not accepted by core, but only because core felt that Fedor Uporov really deserved a commit bit instead.

In addition to Fedor Uporov, please also welcome (in no particular order) Matt Joras, Marcin Wojtas, Chuck Tuffli, Ilya - Bakulin and Alex Richardson as brand new committers. We have also + Bakulin and Alex Richardson as brand-new committers. We have also awarded Steven Hurd and Eugene Grosbein src commit bits to go with their existing ports bits. Welcome back Gordon Tetlow as a src committer, essential for his new role within secteam. Eric Davis and Rui Paulo have both decided to hang up their commit bits: we wish them well in their future endeavours. Finally, we must report the sad death of Andrey Chernov, who will be sorely missed by his colleagues and collaborators.

Andrey's death has highlighted another question which is only going to become more complex over time. Keeping track of copyrights is already hard enough within a mature source tree with many contributors, such as the &os; sources. Now we need to consider trying to keep track of the heirs and beneficiaries of contributors who have sadly passed away. Core will consult with the Foundation legal team to discuss possible approaches to alleviate this.

There have been complaints that the workings of Core are being kept overly confidential, and that consequently the majority of the project has too little idea of what is going on. This is certainly not intentional by Core, and we are keen to open up Core's business to more general community scrutiny as far as seems reasonable.

Core dealt with a number of licensing questions:

Concerns were raised regarding the pending HardenedBSD entry in the previous quarterly report prior to publication. The &os; project welcomes reports from separate (but derived) projects in quarterly reports and has included similar reports in the past from other projects (such as TrueOS and pfSense). The HardenedBSD report was edited for length and to concentrate on activities during the quarter in question.

-

Amazon is proposing to set up mirrors of the FreeBSD-update and +

Amazon is proposing to set up mirrors of the freebsd-update and pkg servers within AWS in order to provide faster access for EC2 users. These mirrors will be publicly accessible, but the expectation is that use will primarily be from within EC2. &os; AMIs will have a preset configuration that references the Amazon servers.

-

The old, long deprecated and insecure "r-commands" (rsh, - rlogin, rcp) are being removed from the base system for +

The old, long-deprecated, and insecure "r-commands" + (rsh, rlogin, rcp) are being removed + from the base system for 12.0-RELEASE. Notice of this was added to the man pages and release notes in time for 11.1-RELEASE and 10.4-RELEASE. Anyone requiring these commands for backwards compatibility can use the new net/bsdrcmds port.

Work to replace Heimdal Kerberos in base with the more widely compatible MIT Kerberos has begun in a new projects/krb5 branch. This should not fall foul of any US cryptography export regulations: the project is required to notify the US government that cryptographic software can be downloaded from &os; servers, and this already covers MIT Kerberos, already available within ports.

A number of Bay Area &os; User Group-related domain names are being given up by their original owner. The current BAFUG organisers have been made aware.

Core has voted on a change to the Doceng voting rules to provide for a "did not vote" status during doceng voting similar to how portmgr and core voting operates. The current requirement for all five members of doceng to register a vote on issues was proving to be a significant bottleneck.

The FreeBSD Foundation Deb Goodkin deb@FreeBSDFoundation.org FreeBSD Foundation Website - FreeBSD Foundation Quarterly Newsletter + FreeBSD Foundation Quarterly Newsletter

The FreeBSD Foundation is a 501(c)(3) non-profit organization dedicated to supporting and promoting the &os; Project and community worldwide. Funding comes from individual and corporate donations and is used to fund and manage software development projects, conferences and developer summits, and provide travel grants to &os; contributors. The Foundation purchases and supports hardware to improve and maintain &os; infrastructure and provides full-time Release Engineering support; publishes marketing material to promote, educate, and advocate for the &os; Project; facilitates collaboration between commercial vendors and &os; developers; and finally, represents the &os; Project in executing contracts, license agreements, and other legal arrangements that require a recognized legal entity.

Here are some highlights of what we did to help &os; last quarter:

Fundraising Efforts

Our work is 100% funded by your donations. This year we've - raised over $860,000 from 500+ donors. Our 2017 fundraising + raised over $860,000 from over 500 donors. Our 2017 fundraising goal is $1,250,00 and we are continuing to work hard to meet and exceed this goal! Please consider making a donation to - help us continue and increase our support for &os;. https://www.&os;foundation.org/donate/.

We also have a new Partnership Program, to provide more benefits for our larger commercial donors. Find out more information at https://www.FreeBSDfoundation.org/FreeBSD-foundation-partnership-program/ and share with your companies!

OS Improvements

The Foundation improves the &os; operating system by employing our technical staff to maintain and improve critical kernel subsystems, add features and functionality, and fix problems. This also includes funding separate project grants like the arm64 port, blacklistd access control daemon, and the integration of VIMAGE support, to make sure that &os; remains a viable solution for research, education, computing, products and more.

We kicked off or continued the following projects last quarter:

Having software developers on staff has allowed us to jump in and work directly on projects to improve &os; like:

Staff and board members continued hosting bi-weekly conference calls to facilitate efforts for individuals to collaborate on different technologies.

-

You can find out more about the support we provided by - reading individual updates from Ed Maste, Konstatin Belousov, - Landon Fuller, Matt Ahrens, and Edward Napierala in this - report.

-

Release Engineering

The Foundation provides a full-time staff member to lead the release engineering efforts. This has provided timely and reliable releases over the last few years.

Last quarter, our full-time staff member worked with the &os; Release Engineering and Security Teams to finalize 11.1-RELEASE. He also supported the 10.4 release effort, and has continued producing 10-STABLE, 11-STABLE, and 12-CURRENT development snapshot builds throughout the quarter. At the vBSDCon Developer Summit, he gave a presentation on the state of the release engineering team.

You can find out more about the support we provided to the Release Engineering Team by reading their status update in this report.

Supporting &os; Infrastructure

The Foundation provides hardware and support to improve the &os; infrastructure. Last quarter, we continued supporting &os; hardware located around the world.

&os; Advocacy and Education

A large part of our efforts are dedicated to advocating for the Project. This includes promoting work being done by others with &os;; producing advocacy literature to teach people about &os; and help make the path to starting using &os; or contributing to the Project easier; and attending and getting other &os; contributors to volunteer to run &os; events, staff &os; tables, and give &os; presentations.

The FreeBSD Foundation sponsors many conferences, events, and summits around the globe. These events can be BSD-related, open source, or technology events geared towards underrepresented groups.

We support the &os;-focused events to help provide a venue for sharing knowledge, to work together on projects, and to facilitate collaboration between developers and commercial users. This all helps provide a healthy ecosystem. We support the non-&os; events to promote and raise awareness of &os;, to increase the use of &os; in different applications, and to recruit more contributors to the Project.

Here is a list highlighting some of the advocacy and education work we did last quarter:

We continued producing &os; advocacy material to help people promote &os; around the world.

We help educate the world about &os; by publishing the professionally produced &os; Journal. Last quarter we published the July/August issue that you can find at https://www.&os;foundation.org/journal/.

-

You can find out more about events we were at and upcoming +

You can find out more about events we attended and upcoming events at https://www.FreeBSDfoundation.org/news-and-events/.

Legal/&os; IP

The Foundation owns the &os; trademarks, and it is our responsibility to protect them. We also provide legal support for the core team to investigate questions that arise.

Go to http://www.&os;foundation.org to find out how we support &os; and how we can help you!

pNFS Server Plan B Rick Macklem rmacklem@FreeBSD.org Instructions for Testing

A pNFS server allows an NFS service to be spread over multiple servers, separating the MetaData operations from the - Data operations (Read/Write). This project will add the - capability of using &os; systems to create a pNFS service - consisting of a single MetaData Server, plus a set of Data + Data operations (Read and Write). This project will add the + ability to use &os; systems to create a pNFS service + consisting of a single MetaData Server plus a set of Data Servers. The Data Servers can be mirrored, so that redundant copies of the file data are maintained.

The support for non-mirrored Data Servers is now believed to be complete. Support for mirrored Data Servers using the Flexible File Layout, which will soon be published as an RFC, is implemented. However, there is still significant work to be done, since the current implementation of mirrored Data Servers does not handle failed Data Servers or their resilvering/recovery. It is hoped that support for failure/recovery of Data Servers will be implemented in the next six months.

The patched &os; sources may now be accessed for testing - via either Subversion or download of a gzipped tarball. - They consist of a patched kernel plus nfsd daemon and can be + via either Subversion or downloading a gzipped tarball. + They consist of a patched kernel and nfsd and can be used on any &os; 11 or later system. The installation procedure is covered in the linked document.

Testing by others will be needed, now that the implementation is available. Implementation and testing of mirror failure/recovery.
- + The <tt>nosh</tt> Project Jonathan de Boyne Pollard J.deBoynePollard-newsgroups@NTLWorld.COM Introduction &os; Binary Packages Installation How-To Roadmap A Slightly Outdated User Guide Archnosh -

The nosh project is a suite of system-level utilities for +

The nosh project is a suite of system-level utilities for initializing, running, and shutting down BSD systems; and for managing daemons, terminals, and logging. It attempts to supersede BSD init, the Mewburn rc.d system, and OpenRC as used on &os; and TrueOS, drawing inspiration from Solaris SMF for named milestones, daemontools-encore for service control/status mechanisms, UCSPI, and IBM AIX for - separated service and system management. It comprises a range + separated service and system management. It includes a range of compatibility mechanisms, including shims for familiar commands from other systems, and an automatic import mechanism that takes existing configuration data from /etc/fstab, /etc/rc.conf{,.local}, /etc/ttys, and elsewhere, applying them to its native service definitions and creating additional native services. It is portable (including to Linux) and composable, it provides a migration path from the world of systemd Linux, and it does not require new kernel APIs. It provides clean service environments, orderings and dependencies between services, parallelized startup and shutdown (including fsck), strictly size-capped and autorotated logging, the service manager as a "subreaper", and uses kevent(2) for event-driven parallelism.

Since the last status report, in December 2015, the project has seen: restructured and finer-grained packaging that has fewer conflicts with other toolsets; the addition of - zsh completion files; improvements to the vertual + zsh completion files; improvements to the virtual terminal subsystem, keyboard map, mouse support, and ugen and DECSCUSR support; RFC 5424/5426 remote logging support; - replacement of the libkqueue and the C library's environment + replacement of libkqueue and the C library's environment handling functions; several new helper commands; support for Java VM autolocation; improved socket-passing code; an extended status API and "one-shot" service support; additional pre-supplied service bundles; support for service aliases; improved handling of per-user D-Bus services; improved import of MySQL, MariaDB, Percona, and OpenVPN services; improved configuration import support; and extensive additions to the nosh Guide.

On the recently updated roadmap you can see plans for even more documentation, continuing the work to extend the capabilities of the networking subsystem, and the scant handful of rc.d-related items remaining. There are also some ideas still in the speculative or planning phases, including work that may depend on incorporating nosh support into other software.

Improve Ansible and SaltStack integration (the maintainer of the Arch Linux nosh integration has some ideas). Command-line completions are still needed for bash, csh, and fish. Document convert-systemd-units for use by port maintainers in making packaged service bundles from systemd unit files. nosh could take advantage of several proposed features for the base system:
  • the boot loader signaling "emergency" and "rescue"modes of operation
  • adding machine-readable status output to fsck
  • adding runtime support for more clang-compilable languages in the early bootstrap stage
  • adding hooks for invoking external configuration import mechanisms
Manual Pages Warren Block wblock@FreeBSD.org &os; Documentation Project Primer

Over the last year, interest has increased in manual pages, in large part due to excellent infrastructure work by Baptiste Daroussin and others, and promotion by George Neville-Neil and others. This increased interest has been both gratifying and problematic. Our man pages are underappreciated gems, but we have sadly lacked any substantial documentation on how to write new ones.

In September, I added a new chapter to the - &os;Documentation - Project Primer describing the basics of creating a man - page. It includes descriptions of the markup, section - structure, recommended optional material such as examples, - and sample templates for the most common types of man pages. - The Resources section includes links to several external - resources, including the excellent &os; + Documentation Project Primer describing the basics of + creating a man page. It includes descriptions of the + markup, section structure, recommended optional material + such as examples, and sample templates for the most common + types of man pages. The Resources section includes links to + several external resources, including the excellent Practical UNIX Manuals: mdoc.

While this chapter is not a full tutorial, it does begin to fill in a large gap in our documentation resources and provide a starting point from which to grow.

- Add more explanation and examples of markup. + Add more explanation and examples of markup usage. Expand the sample templates with additional desired standard features, like an EXAMPLES section. Add more sample templates.