=== FreeBSD Foundation

Links: +
link:https://www.FreeBSDfoundation.org[FreeBSD Foundation] URL: link:https://www.FreeBSDfoundation.org[https://www.FreeBSDFoundation.org] +
link:https://freebsdfoundation.org/blog/technology-roadmap/[Technology Roadmap] URL: link:https://freebsdfoundation.org/blog/technology-roadmap/[https://FreeBSDFoundation.org/blog/technology-roadmap/] +
link:https://www.FreeBSDfoundation.org/donate/[Donate] URL: link:https://www.FreeBSDfoundation.org/donate/[https://www.FreeBSDFoundation.org/donate/] +
link:https://www.FreeBSDfoundation.org/FreeBSD-foundation-partnership-program/[Foundation Partnership Program] URL: link:https://www.FreeBSDfoundation.org/FreeBSD-foundation-partnership-program[https://www.FreeBSDFoundation.org/FreeBSD-foundation-partnership-program] +
link:https://www.FreeBSDfoundation.org/journal/[FreeBSD Journal] URL: link:https://www.FreeBSDfoundation.org/journal/[https://www.FreeBSDFoundation.org/journal/] +
link:https://www.FreeBSDfoundation.org/news-and-events/[Foundation News and Events] URL: link:https://www.FreeBSDfoundation.org/news-and-events/[https://www.FreeBSDFoundation.org/news-and-events/] +

Contact: Deb Goodkin <deb@FreeBSDFoundation.org>

The FreeBSD Foundation is a 501(c)(3) non-profit organization dedicated to
supporting and promoting the FreeBSD Project and community worldwide. Donations
from individuals and corporations are used to fund and manage software
development projects, conferences, and developer summits. We also provide travel
grants to FreeBSD contributors, purchase and support hardware to improve and
maintain FreeBSD infrastructure, and provide resources to improve security,
quality assurance, and release engineering efforts. We publish marketing
material to promote, educate, and advocate for the FreeBSD Project, facilitate
collaboration between commercial vendors and FreeBSD developers, and finally,
represent the FreeBSD 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 FreeBSD last quarter:

==== Fundraising Efforts

We did it! We met our 2021 fundraising goal by raising $1,281,437!! On behalf
of the Foundation, I want to thank you for your financial support last year,
that will help us continue and increase our support for FreeBSD in 2022. In
addition, folks are already sending us their 2022 contributions, which is
incredibly heartwarming! We’ll start updating the fundraising meter for 2022
by the end of January.

In this Quarterly Status report you’ll read about many of the areas we funded
in Q4 to improve FreeBSD and advocate for the Project (the two main areas we
spend money on). Check out reports on the externally funded projects like LLDB
support, Raid-Z Expansion, WireGuard, and wifi, as well as, internally supported
work like improved security, tier-1 architecture support, and providing online
opportunities to connect and educate the community.

If you want to help us continue our efforts, please consider making a donation
towards our 2022 fundraising campaign! https://www.FreeBSDFoundation.org/donate/.

We also have a Partnership Program for larger commercial donors. You can read about
it at https://www.FreeBSDFoundation.org/FreeBSD-foundation-partnership-program/.

==== OS Improvements

During the fourth quarter, Foundation staff and grant recipients committed 472
src tree changes, 98 ports tree changes, and 11 doc tree changes.  This
represents 41%, 41%, and 13% of src, ports, and doc commits identifying a
sponsor.

You can read about Foundation-sponsored projects in individual quarterly report
entries:

- The AVX bug on amd64
- Crypto changes for WireGurard
- Intel Wireless driver support
- LLDB Debugger Improvements
- Base System OpenSSH Update
- sched_getcpu(2), membarrier(2), and rseq(2) syscalls
- VDSO on amd64

Here is a small sample of other base system improvements from Foundation
developers this quarter that do not have separate report entries.

===== kern.proc.pathname canonical hard link

Some programs adjust their behavior depending on which name was used for
execution.  For these programs, it is often important to have a consistent name
in argv[0], sysctl kern.proc.pathname, auxv AT_EXECPATH, and any procfs file
symlink.  Before this work, all listed kernel interfaces tried to calculate some
name for the text vnode and returned the result.  If the executed binary has
more than one hardlink, the returned names were arbitrarily chosen from the
list of valid names for the file.  After work completed this quarter by Foundation
developer Konstantin Belousov, the system now holds the parent directory and the
name of the text file for the running image.  This is used to reconstruct the
correct name of the text file when requested.

===== swapon/swapoff, file swapping

After work to fix asserts for character device vnode locking, there was a report
that swap on file code broke the VFS locking protocol.  Some other regressions
in the swap on file were also identified.  For instance, on shutdown,
filesystems were unmounted before swapoff, which makes swapoff panic on page-in.
These bugs were fixed and a link:https://www.freebsd.org/cgi/man.cgi?query=swapoff&apropos=0&sektion=2&manpath=FreeBSD+14.0-current&arch=default&format=html[swapoff(2)] feature was added to avoid some very
conservative estimations for protection against memory and swap space shortages.

===== fcntl(F_KINFO)

Application developers often request an interface to return the file path for an
open file descriptor.  Our only useful facility for this was kern.proc.filedesc
sysctl, which is somewhat usable, but incurs too high of an overhead when a
process has many open files.  A fcntl(F_KINFO) interface was added, which returns
a struct kinfo_file just for the specified file descriptor.  Among other useful
data, kinfo_file provides the calculated path, when available.

==== Continuous Integration and Quality Assurance

The Foundation provides a full-time staff member and funds projects to improve
continuous integration, automated testing, and overall quality assurance efforts
for the FreeBSD project.

==== Supporting FreeBSD Infrastructure

The Foundation provides hardware and support for the Project.  In the fourth
quarter of 2021, we began searching for a new Australian mirror server.  At the
time of writing, the server is purchased, but with delays obtaining components
and shipping, it may not be active until the second or third quarter of 2022.
Better and faster access to our sites for the Australian FreeBSD community is
coming.

==== FreeBSD Advocacy and Education

Much of our effort is dedicated to Project advocacy.  This may involve highlighting interesting FreeBSD work, producing literature, attending events, or giving presentations.  The goal of the literature we produce is to teach people FreeBSD basics and help make their path to adoption or contribution easier.  Other than attending and presenting at events, we encourage and help community members run their own FreeBSD events, give presentations, or staff FreeBSD tables.

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 FreeBSD-focused events to help provide a venue for sharing knowledge, working together on projects, and facilitating collaboration between developers and commercial users.  This all helps provide a healthy ecosystem.  We support the non-FreeBSD events to promote and raise awareness of FreeBSD, to increase the use of FreeBSD in different applications, and to recruit more contributors to the Project.  We are continuing to attend virtual events and held a virtual vendor summit this past November.

Check out some of the advocacy and education work we did last quarter:

* Promoted and participated as a media sponsor for link:https://2021.allthingsopen.org/[ALL Things Open 2021]
* Committed to being a Media Sponsor for link:https://www.socallinuxexpo.org/scale/19x[SCALE 19x]
* Committed to hosting a link:https://stands.fosdem.org/stands/freebsd_project/[stand at FOSDEM 2022]
* Sent out the link:https://freebsdfoundation.org/news-and-events/newsletter/freebsd-foundation-fall-2021-update/[Fall 2021 Newsletter]
* Held a link:https://www.youtube.com/watch?v=BYTNpuinaPU[FreeBSD Friday talk: The Writing Scholar's Guide to FreeBSD], (link:https://www.coreystephan.com/freebsd-friday/[text equivalent])
* Gave a Foundation talk at link:http://www.semibug.org/[Semi-Bug], November 16, 2021
* Gave Foundation and FreeBSD talks at Seagate OSPO, December 9, 2021
* Helped organize the 2 day link:https://wiki.freebsd.org/DevSummit/202111[FreeBSD Virtual Vendor Summit, November 18-19, 2021]. Videos can be found on the link:https://www.youtube.com/c/FreeBSDProject/videos[Project’s Youtube Channel]
* New blog and video posts:
** link:https://freebsdfoundation.org/news-and-events/newsletter/freebsd-foundation-fall-2021-update/[FreeBSD Foundation Fall 2021 Update]
** link:https://freebsdfoundation.org/blog/2021-in-review-advocacy/[2021 in Review: Advocacy]
** link:https://freebsdfoundation.org/blog/2021-in-review-infrastructure-support/[2021 in Review: Infrastructure Support]
** link:https://freebsdfoundation.org/blog/2021-in-review-software-development/[2021 in Review: Software Development]
** link:https://freebsdfoundation.org/blog/open-source-summit-2021-conference-recap/[Open Source Summit 2021 Conference Recap]
* New How-To Guide: link:https://freebsdfoundation.org/freebsd-project/resources/freebsd-introduction/[Introduction to FreeBSD]

We help educate the world about FreeBSD by publishing the professionally produced link:https://freebsdfoundation.org/our-work/journal/[FreeBSD Journal]. As we mentioned previously, the FreeBSD Journal is now a free publication. Find out more and access the latest issues at https://www.FreeBSDfoundation.org/journal/.

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

==== Legal/FreeBSD IP

The Foundation owns the FreeBSD 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 link:https://www.FreeBSDfoundation.org[https://www.FreeBSDFoundation.org]
to find more about how we support FreeBSD and how we can help you!
