diff --git a/website/content/en/status/report-2023-01-2023-03/doceng.adoc b/website/content/en/status/report-2023-01-2023-03/doceng.adoc index 4d04371e1a..789b75a0d7 100644 --- a/website/content/en/status/report-2023-01-2023-03/doceng.adoc +++ b/website/content/en/status/report-2023-01-2023-03/doceng.adoc @@ -1,102 +1,103 @@ //// Quarter: 1st quarter of 2023 Prepared by: fernape Reviewed by: carlavilla@ Last edit: Version: //// === Documentation Engineering Team Link: link:https://www.freebsd.org/docproj/[FreeBSD Documentation Project] + Link: link:https://docs.freebsd.org/en/books/fdp-primer/[FreeBSD Documentation Project Primer for New Contributors] + Link: link:https://www.freebsd.org/administration/#t-doceng[Documentation Engineering Team] Contact: FreeBSD Doceng Team The doceng@ team is a body to handle some of the meta-project issues associated with the FreeBSD Documentation Project; for more information, see link:https://www.freebsd.org/internal/doceng/[FreeBSD Doceng Team Charter]. During the last quarter: * The doc commit bit for Pau Amma was taken in. * Lorenzo Salvadore has been proposed as doc committer. carlavilla@ and dbaio@ will mentor him. * Ryusuke SUZUKI steps down from doceng. doceng would like to thank ryusuke@ for his service. Items pending and in the discussion: * link:https://cgit.freebsd.org/doc/commit/?id=4c50528a8678246a6d01765acac8c395434b8c7e[A new document about licensing] has been added to the documentation set. ==== Porter's Handbook: Three new `Uses` knobs have been added to the Handbook: * link:https://cgit.freebsd.org/doc/commit/?id=407dbb9254e7b6b379b8257f34f7732ed1afc71f[New Uses = ruby]. * link:https://cgit.freebsd.org/doc/commit/?id=afa1a31005978bac63874fff8a1833f69a81dae3[New Uses = ldap]. * link:https://cgit.freebsd.org/doc/commit/?id=689f1b026a02bf6d7039bdfec59353196d83ccef[New Uses = budgie]. Also: * link:https://cgit.freebsd.org/doc/commit/?id=9af61238fc24d4772b3c9e5fbd63fcaee2526699[The NVIDIA install and configure options have been fixed] * link:https://cgit.freebsd.org/doc/commit/?id=3c6d3dea4a3ee60e7f0033afc9c5bf74e9ae1d31[The Advanced Networking chapter has been improved] ==== FreeBSD Translations on Weblate Link: link:https://wiki.freebsd.org/Doc/Translation/Weblate[Translate FreeBSD on Weblate] + Link: link:https://translate-dev.freebsd.org/[FreeBSD Weblate Instance] ===== Q4 2022 Status * 12 languages * 150 registered users ===== Languages * Chinese (Simplified) (zh-cn) (progress: 14%) * Chinese (Traditional) (zh-tw) (progress: 11%) * Dutch (nl) (progress: 1%) * French (fr) (progress: 1%) * German (de) (progress: 1%) * Indonesian (id) (progress: 1%) * Italian (it) (progress: 10%) * Korean (ko) (progress: 11%) * Norwegian (nb-no) (progress: 1%) * Persian (fa-ir) (progress: 6%) * Portuguese (pt-br) (progress: 29%) * Sinhala (si) (progress: 1%) * Spanish (es) (progress: 37%) * Turkish (tr) (progress: 5%) We want to thank everyone that contributed, translating or reviewing documents. And please, help promote this effort on your local user group, we always need more volunteers. ==== FreeBSD Handbook working group Contact: Sergio Carlavilla -Chapters 1 to 6 have been updated. Chapter 7 is work in progress. +Chapters 1 to 6 have been updated. +Chapter 7 is work in progress. ==== FreeBSD Website Revamp - WebApps working group Contact: Sergio Carlavilla Working group in charge of creating the new FreeBSD Documentation Portal and redesigning the FreeBSD main website and its components. FreeBSD developers can follow and join the working group on the FreeBSD Slack channel #wg-www21. The work will be divided into four phases: . Redesign of the Documentation Portal + Create a new design, responsive and with global search. (_Complete_) . Redesign of the Manual Pages on web + Scripts to generate the HTML pages using mandoc. (_Complete_) Public instance on https://man-dev.FreeBSD.org . Redesign of the Ports page on web + Ports scripts to create an applications portal. (_Work in progress_) . Redesign of the FreeBSD main website + New design, responsive and dark theme. (_Work in progress_) diff --git a/website/content/en/status/report-2023-01-2023-03/drm-drivers.adoc b/website/content/en/status/report-2023-01-2023-03/drm-drivers.adoc index 8a700bedf0..7fdac89f95 100644 --- a/website/content/en/status/report-2023-01-2023-03/drm-drivers.adoc +++ b/website/content/en/status/report-2023-01-2023-03/drm-drivers.adoc @@ -1,50 +1,51 @@ === DRM drivers (i.e. GPU drivers) Links: + link:https://github.com/freebsd/drm-kmod[Git repository on GitHub] URL: link:https://github.com/freebsd/drm-kmod[https://github.com/freebsd/drm-kmod] + Contact: Emmanuel Vadot + Contact: Jean-Sébastien Pédron + Contact: The Graphics team GPUs are driven by DRM drivers. They are developed specifically for Linux using a permissive license. Our mission is to port those drivers to FreeBSD to make sure modern GPUs are fully supported. We didn't publish a report to share our progress for a long time. Therefore this status report entry will cover more than just the last quarter. ==== Update to Linux 5.15 LTS and Linux 5.16 As of this status report, the package:graphics/drm-kmod[] meta port still installs the DRM drivers from Linux 5.10 (released on December 13, 2020) on FreeBSD 13.1 and greater. This version of the driver lacks support for recent GPUs, in particular Intel 12th gen Alder Lake ones. In the past months, we worked to update the DRM drivers to bring support for more modern AMD and Intel GPUs. The `drm-kmod` Git repository `master` branch was first updated to Linux 5.15 (released on October 31, 2021). This is an LTS branch in Linux and we wanted to take advantage of that. Thus at that point, we followed two paths: * A `5.15-lts` branch was created to backport all bug fixes from Linux 5.15.x patch releases. This work is now available in the `drm-515-kmod` port. * The porting effort from subsequent Linux versions continued. The `master` branch is now at Linux 5.16 (release on January 9, 2022). The Intel driver from Linux 5.15 LTS supports 12th gen GPUs (Alder Lake). It looks to work on FreeBSD but we only tested it lightly so far. We still need more of that, that's why package:graphics/drm-kmod[] still installs package:graphics/drm-510-kmod[] instead of package:graphics/drm-515-kmod[]. At last, FreeBSD should run as a desktop on this GPU generation and several new AMD GPUs, though problems will surely appear through real test and use. In the process, we updated firmwares to link:https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git[linux-firmware] 20230210. ==== Linux 5.17 and future work DRM drivers from Linux 5.17 (released on March 20, 2022) were already ported but link:https://github.com/freebsd/drm-kmod/pull/236[this work still sits in its own branch]. A couple of issues block further testing and the merge into the `master` branch: * Our current integration with man:vt[4], the console/terminal driver, is quite far from the DRM drivers expectations which are based on Linux' fbdev KPI. Something changed in both the Intel and AMD drivers, meaning that man:vt[4] breaks with the 5.17 update. * The initial Linux 5.17 release does not contain the fixes backported to Linux 5.15 LTS. It seems quite unstable with the Intel 12th gen GPU mentioned earlier. To address the issue with our man:vt[4] integration layer, we started to link:https://github.com/freebsd/drm-kmod/pull/243[write a new vt backend specifically to use the fbdev callbacks exposed by the DRM drivers]. This backend will be provided with the DRM drivers, not the FreeBSD kernel, to make it easier to maintain as the drivers evolve. This is still a work in progress and locking in particular is tricky to get right. -Regarding the bad support of Intel 12th gen in the 5.17 update, bug fixes backported to Linux 5.17.x patch releases will probably not be ported as part of this work. Instead we will focus on Linux 5.18 (released on May 22, 2022) and following. +Regarding the bad support of Intel 12th gen in the 5.17 update, bug fixes backported to Linux 5.17.x patch releases will probably not be ported as part of this work. +Instead we will focus on Linux 5.18 (released on May 22, 2022) and following. diff --git a/website/content/en/status/report-2023-01-2023-03/freebsd-foundation.adoc b/website/content/en/status/report-2023-01-2023-03/freebsd-foundation.adoc index 9a14fabb6c..60b83e70bc 100644 --- a/website/content/en/status/report-2023-01-2023-03/freebsd-foundation.adoc +++ b/website/content/en/status/report-2023-01-2023-03/freebsd-foundation.adoc @@ -1,119 +1,124 @@ === 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://freebsdfoundation.org/our-donors/freebsd-foundation-partnership-program/[Foundation Partnership Program] URL: link:https://freebsdfoundation.org/our-donors/freebsd-foundation-partnership-program/[https://freebsdfoundation.org/our-donors/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. ==== Fundraising Efforts We finally have our 2022 fundraising numbers in and we raised a total of $1,231,096! We were short of our goal, which forced us to pull around $74,000 from our longer term investments. Besides receiving a lot of donations from you our users and contributors, we received larger donations from Juniper, Meta, Arm, Netflix, Beckhoff, Tarsnap, Modirum, Koum Family Foundation, and Stormshield. I’d like to extend a heartfelt thank you on behalf of the Foundation to everyone, including individuals and corporations, for your financial contributions in 2022! This year our budget is around $2,230,000, which includes increased spending towards FreeBSD advocacy and software development. More than half our budget is allocated towards work directly related to improving FreeBSD and keeping it secure. To fund the 2023 budget, we increased our fundraising goal and plan on using some of our investment money. When we received our first million dollar donation, the plan was to use up to 10% of it each year to increase our work to improve FreeBSD, so this has been part of our funding plan for a few years now. The 2023 budget is in the process of being approved by the board of directors and will be published once it is approved. This quarter we received donations from Juniper, Tarsnap, Microsoft, and Stormshield. So, we are already off to a great start! But, we definitely need more to support our planned efforts for 2023. If you want to help us continue our efforts, please consider making a donation towards our 2023 fundraising campaign! link:https://www.freebsdfoundation.org/donate/[https://www.freebsdfoundation.org/donate/] We also have a Partnership Program for larger commercial donors. You can read about it at link:https://freebsdfoundation.org/our-donors/freebsd-foundation-partnership-program/[https://freebsdfoundation.org/our-donors/freebsd-foundation-partnership-program/]. ==== OS Improvements During the first quarter of 2023, 226 src, 39 ports, and 12 doc tree commits identified the Foundation as a sponsor. Some of this sponsored work is described in separate report entries: * Continuous Integration * Enabling Snapshots on Filesystems Using Journaled Soft Updates * FreeBSD Release Engineering Team * Improve the kinst DTrace provider * OpenStack on FreeBSD Other Foundation-sponsored work included: * OpenSSH fixes and updates to versions 9.2p1 and 9.3p1 * a vendor import and update of libpcap to version 1.10.3 * improvements to tmpfs, msdosfs, and makefs * the addition of a new kqueue1 syscall * man page updates * dtrace and bhyve fixes * LinuxKPI work ==== 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. You can read more about CI work in a dedicated report entry. A current project that is being funded by the FreeBSD Foundation is one to develop a set of scripts to help src developers conduct CI tests themselves. One of the main goals is to offer more visibility at the pre-commit stage. link:https://reviews.freebsd.org/D38815[A review for the first milestone] has been submitted. ==== FreeBSD Advocacy and Education Much of our effort is dedicated to the FreeBSD Project advocacy. This may involve highlighting interesting FreeBSD work, producing literature and video tutorials, 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 back to attending events mostly in person and began planning the in person May 2023 Developer Summit, co-located with BSDCan. In addition to attending and planning events, we are continually working on new training initiatives and updating our selection of link:https://freebsdfoundation.org/freebsd-project/resources/[how-to guides] to facilitate getting more folks to try out FreeBSD. Check out some of our advocacy and education work: -* Hosted a stand at FOSDEM 2023, February 4-5, 2023 in Brussels, Belgium. Check out the link:https://freebsdfoundation.org/blog/fosdem-2023-conference-report/[trip report]. -* Hosted a table at State of Open Con 2023, February, 7-8, 2023, in London, England. link:https://freebsdfoundation.org/blog/advocating-for-freebsd-around-the-world/[Read more] about it. -* Sponsored, held a workshop and hosted a booth at SCALE 20x, in March 9-12, 2023, Pasadena, California. Check out the link:https://freebsdfoundation.org/blog/freebsd-at-scale-20x/[trip report]. +* Hosted a stand at FOSDEM 2023, February 4-5, 2023 in Brussels, Belgium. +Check out the link:https://freebsdfoundation.org/blog/fosdem-2023-conference-report/[trip report]. +* Hosted a table at State of Open Con 2023, February, 7-8, 2023, in London, England. +link:https://freebsdfoundation.org/blog/advocating-for-freebsd-around-the-world/[Read more] about it. +* Sponsored, held a workshop and hosted a booth at SCALE 20x, in March 9-12, 2023, Pasadena, California. +Check out the link:https://freebsdfoundation.org/blog/freebsd-at-scale-20x/[trip report]. * Sponsored Open Source 101, March 23 2023, in Charlotte, NC. * Sponsored and began planning the in-person link:https://wiki.freebsd.org/DevSummit/202305[May 2023 Developer Summit] taking place May 17-18, 2023 in Ottawa, Ontario * Secured our Media Partner sponsorship status and submitted a workshop for link:https://2023.allthingsopen.org/[All Things Open], October 15-17, 2023 in Raleigh, NC. * Submitted a Workshop proposal for link:https://sfconservancy.org/fossy/[FOSSY], July 13-16, 2023, in Portland, OR. * The FreeBSD Project was accepted as a link:https://summerofcode.withgoogle.com/programs/2023/organizations/the-freebsd-project[Participating Organization] for Google Summer of Code. * We held link:https://youtu.be/NpOkTR_d8os[GSoC Office Hours] to help prospective participants with questions. * Published link:https://freebsdfoundation.org/news-and-events/newsletter/freebsd-foundation-update-march-2023/[March Newsletter] * Additional Blog Posts ** link:https://freebsdfoundation.org/blog/under-the-hood-with-freebsd-and-ampere-altra/[Under the Hood with FreeBSD and Ampere Altra] ** link:https://freebsdfoundation.org/blog/under-the-hood-with-freebsd-and-ampere-altra/[New Open Position: FreeBSD Userland Software Developer] - Note: Posting is closed. ** link:https://freebsdfoundation.org/blog/bsdcan-2023-travel-grant-application-now-open/[BSDCan 2023 Travel Grant Application Now Open] - Note: Applications are closed * FreeBSD in the News: ** link:https://freebsdfoundation.org/news-and-events/latest-news/vmblog-state-of-open-con-qa-with-deb-goodkin/[VMBlog State of Open Con Q&A with Deb Goodkin] -We help educate the world about FreeBSD by publishing the professionally produced FreeBSD Journal. As we mentioned previously, the FreeBSD Journal is now a free publication. Find out more and access the latest issues at link:https://www.freebsdfoundation.org/journal/[https://www.FreeBSDfoundation.org/journal/]. +We help educate the world about FreeBSD by publishing the professionally produced FreeBSD Journal. +As we mentioned previously, the FreeBSD Journal is now a free publication. +Find out more and access the latest issues at link:https://www.freebsdfoundation.org/journal/[https://www.FreeBSDfoundation.org/journal/]. You can find out more about events we attended and upcoming events at link:https://www.FreeBSDfoundation.org/news-and-events/[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! diff --git a/website/content/en/status/report-2023-01-2023-03/freshports.adoc b/website/content/en/status/report-2023-01-2023-03/freshports.adoc index 1ffc32e770..4cf385c706 100644 --- a/website/content/en/status/report-2023-01-2023-03/freshports.adoc +++ b/website/content/en/status/report-2023-01-2023-03/freshports.adoc @@ -1,48 +1,49 @@ === Freshports: SQL Injection Attack and Help Request Links: + link:https://freshports..org[FreshPorts] URL: link:freshports.org[] + link:https://news.freshports.org/[FreshPorts blog] URL: link:https://news.freshports.org/[] Contact: Dan Langille -FreshPorts and FreshSource have reported upon FreeBSD commits for 20 years. They cover all commits, not just ports. +FreshPorts and FreshSource have reported upon FreeBSD commits for 20 years. +They cover all commits, not just ports. FreshPorts tracks the commits and extracts data from the port Makefiles to create a database of information useful to both port maintainers and port users. For example, link:https://www.freshports.org/security/acme.sh/[] shows the history of the package:security/acme.sh[] port, back to its creation in May 2017. Also available are dependencies, flavors, configuration options, and available packages. All of this is useful for both users and developers of ports. ==== SQL Injection Attack In March, an SQL injection attack was noticed and the website was patched. Notices were sent out via our Twitter account, our status page, and a notice on the top of each page of the website. The immediate attack vector was shutdown and soon patched. Additional preventative patches were added across the website. Everything we know about has been fixed. Users were notified and advised to change their passwords. Details at: * link:https://news.freshports.org/2023/03/24/sql-inejection-issues-fixed/[] * link:https://news.freshports.org/2023/03/24/freshsource-code-fixes/[] ==== Help Needed It has been over 22 years since FreshPorts started. Others must take over eventually. I’d like to start that process now. There are several aspects to FreshPorts: * FreeBSD admin (updating the OS and packages) * front end code (website - mostly PHP) * back end code (commit processing - Perl, Python, shell) * database design (PostgreSQL). The database does not change very often and requires little maintenance compared to the applications and OS. The website pretty much runs itself. From time to time, a change to the FreeBSD ports infrastructure breaks something or requires a modification, but there is rarely any urgency to fix that. This is not a huge time commitment. There is a lot of learning. While not a complex application, FreshPorts is also not trivial. diff --git a/website/content/en/status/report-2023-01-2023-03/kinst.adoc b/website/content/en/status/report-2023-01-2023-03/kinst.adoc index ef912d78fd..f1b0c2998b 100644 --- a/website/content/en/status/report-2023-01-2023-03/kinst.adoc +++ b/website/content/en/status/report-2023-01-2023-03/kinst.adoc @@ -1,67 +1,66 @@ === Improve the kinst DTrace provider Links: + link:https://reviews.freebsd.org/D38825[libdtrace: implement inline function tracing] URL: link:https://reviews.freebsd.org/D38825[https://reviews.freebsd.org/D38825] + link:https://reviews.freebsd.org/D38732[dtrace(1): add -d flag to dump D script post-dt_sugar] URL: link:https://reviews.freebsd.org/D38732[https://reviews.freebsd.org/D38732] Contact: Christos Margiolis + Contact: Mark Johnston -kinst is a new DTrace provider created by christos@ and markj@ that allows for -arbitrary instruction tracing in a kernel function. kinst has been added to the -base system in FreeBSD 14.0. +kinst is a new DTrace provider created by christos@ and markj@ that allows for arbitrary instruction tracing in a kernel function. +kinst has been added to the base system in FreeBSD 14.0. link:https://www.freebsd.org/status/report-2022-07-2022-09/#_dtrace_instruction_level_dynamic_tracing[The 2022Q3 status report gives a brief introduction to kinst.] We're now working on inline function tracing (see review D38825 above) -- a much-requested DTrace feature -- by using kernel DWARF and ELF info to find the call sites of each inline copy and use that information to transform D syntax by turning kinst probes of the form: .... kinst::: // { } .... To: .... kinst:::, kinst:::, kinst::: // { } .... For example: .... # dtrace -dn 'kinst::cam_iosched_has_more_trim:entry { printf("\t%d\t%s", pid, execname); }' kinst::cam_iosched_get_trim:13, kinst::cam_iosched_next_bio:13, kinst::cam_iosched_schedule:40 { printf("\t%d\t%s", pid, execname); } dtrace: description 'kinst::cam_iosched_has_more_trim:entry ' matched 3 probes CPU ID FUNCTION:NAME 2 79315 cam_iosched_next_bio:13 0 kernel 2 79316 cam_iosched_schedule:40 0 kernel 0 79316 cam_iosched_schedule:40 12 intr 2 79315 cam_iosched_next_bio:13 0 kernel 2 79316 cam_iosched_schedule:40 0 kernel 0 79316 cam_iosched_schedule:40 12 intr ^C .... A new `-d` flag has also been added to man:dtrace[1] which dumps the D script after libdtrace has applied syntactic transformations. Further goals include: * Implement a `locals` structure in D which stores the local variables of the traced function. For example with `kinst::foo:`, we could print the local variable `bar` by doing `print(locals->bar)` inside a D script. * Port kinst to riscv and/or arm64. Sponsor: The FreeBSD Foundation