2023 in retrospect & happy new year 2024!
  
  Jan 22, 2024
A Happy New Year 2024 to all of you! We hope you enjoyed the fireworks; we tried to contribute
to these too with the binary package news just before new year! That’s not the only thing in Gentoo that
was new in 2023 though; as in the previous years, let’s look back and give it a review.
Gentoo in numbers
The number of commits to the main ::gentoo repository has remained at an overall high level in 2023, only slightly lower from 126682 to 121000. The number of commits by external contributors has actually increased from 10492 to 10708, now across 404 unique external authors.
GURU, our user-curated repository with a trusted user model, is still attracting a lot of potential developers. We have had 5045 commits in 2023, a slight decrease from 5751 in 2022. The number of contributors to GURU has increased clearly however, from 134 in 2022 to 158 in 2023. Please join us there and help packaging the latest and greatest software. That’s the ideal preparation for becoming a Gentoo developer!
On the Gentoo bugtracker bugs.gentoo.org, we’ve had 24795 bug reports created in 2023, compared to 26362 in 2022. The number of resolved bugs shows a similar trend, with 22779 in 2023 compared to 24681 in 2022. Many of these bugs are stabilization requests; a possible interpretation is that stable Gentoo is becoming more and more current, catching up with new software releases.
New developers
In 2023 we have gained 3 new Gentoo developers. They are in chronological order:
- 
    
Arsen Arsenović (arsen):
Arsen joined up as a developer right at the start of the year in January from Belgrade, Serbia. He’s a computer science student interested in both maths and music, active in many different free software projects, and has already made his impression, e.g., in our emacs and toolchain projects.
 - 
    
Paul Fox (ris): After already being very active in our Wiki for some time, Paul joined in March as developer from France. Activity on our wiki and documentation quality will certainly grow much further with his help.
 - 
    
Petr Vaněk (arkamar):
Petr Vaněk, from Prague, Czech Republic, joined the ranks of our developers in November. Gentoo user since 2009, craft beer enthusiast, and Linux kernel contributor, he has already been active in very diverse corners of Gentoo.
 
Featured changes and news
Let’s now look at the major improvements and news of 2023 in Gentoo.
Distribution-wide Initiatives
- 
    
Binary package hosting: Gentoo shockingly now also provides 
binary packages, for easier and faster installation! For amd64 and arm64, we’ve got
a stunning >20 GByte of packages on our mirrors, from LibreOffice 
to KDE Plasma and from Gnome to Docker.
Also, would you think 9-year old x86-64-v3 is still experimental? 
We have it already 
on our mirrors! For all other architectures and ABIs, the binary package files used for building the 
installation stages (including the build tool chain) are available for download. - 
    
New 23.0 profiles in preparation: A new profile version, i.e. a collection of presets and configurations, is at the moment undergoing internal preparation and testing for all architectures. It’s not ready yet, but will integrate more toolchain hardening by default, as well as fix a lot of internal inconsistencies. Stay tuned for an announcement with more details in the near future.
 - 
    
Modern C: Work continues on porting Gentoo, and the Linux userland at large, to Modern C. This is a real marathon effort rather than a sprint (just see our tracker bug for it). Our efforts together with the same project ongoing in Fedora have already helped many upstreams, which have accepted patches in preparation for GCC 14 (that starts to enforce the modern language usage).
 - 
    
Event presence: At the Free and Open Source 
Developers European Meeting (FOSDEM) 2023, the Free and Open Source Software 
Conference (FrOSCon) 2023, and the Chemnitzer
Linux-Tage (CLT) 2023, Gentoo had a booth with mugs, stickers, t-shirts, and of course the famous
self-compiled buttons. - 
    
Google Summer of Code: In 2023 Gentoo had another successful year participating in the 
Google Summer of Code. We had three contributors
completing their projects; you can find out more about them by visiting the 
Gentoo GSoC blog. We thank our contributors Catcream, LabBrat, and 
Listout, and also all the developers who took the time to mentor them. - 
    
Online workshops: Our German support, Gentoo e.V., organized this year 6 online workshops on building and improving ebuilds. This will be continued every two months in the upcoming year.
 - 
    
Documentation on wiki.gentoo.org has been making great progress as 
always. This past year the contributor’s 
guide, article writing guidelines, and 
help pages were updated to 
give the best possible start to anyone ready to lend a hand. The Gentoo Handbook got updates, 
and a new changelog. Of course much documentation was fixed, extended, or updated, and quite
a few new pages were created. We hope to see even more activity in the new year, and hopefully
some new contributors - editing documentation is a particularly easy area to 
start contributing to Gentoo in, please
give it a try! 
Architectures
- 
    
Alpha: Support for the DEC Alpha 
architecture was revived, with a massive keywording effort going on. While not perfectly 
complete yet, we are very close to a fully consistent dependency tree and package set for alpha again. - 
    
musl: Support for the lightweight musl libc has 
been added to the architectures MIPS (o32) and m68k, with corresponding profiles in the Gentoo 
repository and corresponding installation stages and binary packages available for download. Enjoy! 
Packages
- 
    
.NET: The Gentoo Dotnet project 
has significantly 
improved support for building 
.NET-based software, using the nuget, dotnet-pkg-base, and dotnet-pkg eclasses. 
Now we’re ready for packages depending on the .NET ecosystem and for
developers using dotnet-sdk on Gentoo. New software requiring .NET is constantly 
being added to the main Gentoo tree. Recent additions include PowerShell for Linux, 
Denaro (a finance application), Pinta (a graphics program), Ryujinx (a NS emulator)
and many other aimed straight at developing .NET projects. - 
    
Java: OpenJDK 21 has been introduced for amd64, arm64, ppc64, and x86! - 
    
Python: In the meantime the default Python version in Gentoo has reached Python 3.11. Additionally we have also Python 3.12 available stable - again we’re fully up to date with upstream.
 - 
    
PyPy3 compatibility for scientific Python:
While some packages (numexpr, pandas, xarray) are at the moment still undergoing upstream bug fixing, 
more and more scientific Python packages have been adapted in Gentoo and upstream for 
the speed-optimized Python variant PyPy. This can provide a nice performance boost for 
numerical data analysis… - 
    
Signed kernel modules and (unified) kernel images: We now support signing of both in-tree and out-of-tree kernel modules and kernel images. This is useful for those who would like the extra bit of verification offered by Secure Boot, which is now easier than ever to set up on Gentoo systems! Additionally, our kernel install scripts and eclasses are now fully compatible with Unified Kernel Images and our prebuilt gentoo-kernel-bin can now optionally install an experimental pregenerated generic Unified Kernel Image.
 - 
    
The GAP System:
A new dev-gap package category has arrived with about sixty packages.
GAP is a popular system for computational
discrete algebra, with particular emphasis on Computational Group
Theory. GAP consists of a programming language, a library of thousands
of functions implementing algebraic algorithms written in the GAP
language, and large data libraries of algebraic objects. It has 
its own
package ecosystem, mostly written in the GAP language with a few C components. 
Physical and Software Infrastructure
- 
    
Portage improvements: A significant amount of work went into enhancing our 
package manager, Portage, to better support binary package deployment. Users building 
their own binary packages and setting up their own infrastructure will certainly benefit
from it too. - 
    
packages.gentoo.org: The development of Gentoo’s package database website, packages.gentoo.org, has picked up speed, with new features for maintainer, category, and arch pages, and Repology integration. Many optimization were done for the backend database queries and the website should now feel faster to use.
 - 
    
pkgdev bugs: A new developer tool called pkgdev bugs enables us now to
simplify the procedure for filing new stable requests bugs a lot. By just giving it 
version lists (which can be generated by other tools),
pkgdev bugs can be used to compute dependencies, cycles, merges, and will file
the bugs for the architecture teams / testers. This allows us to step ahead much faster
with package stabilizations. 
Finances of the Gentoo Foundation
- 
    
Income: The Gentoo Foundation took in approximately $18,500 in fiscal year 2023;
the majority (over 80%) were individual cash donations from the community. - 
    
Expenses: Our expenses in 2023 were, as split into the usual three categories, operating expenses (for services, fees, …) $6,000, only minor capital expenses (for bought assets), and depreciation expenses (value loss of existing assets) $20,000.
 - 
    
Balance: We have about $101,000 in the bank as of July 1, 2023 (which is when our fiscal year 2023 ends for accounting purposes). The draft finanical report for 2023 is available on the Gentoo Wiki.
 
Thank you!
Obviously this is not all Gentoo development that happened in 2023. From KDE to GNOME, from kernels to scientific software, you can find much more if you look at the details. As every year, we would like to thank all Gentoo developers and all who have submitted contributions for their relentless everyday Gentoo work. As a volunteer project, Gentoo could not exist without them. And if you are interested and would like to contribute, please join us and help us make Gentoo even better!