=== 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 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!