The last of YaST?
The announcement
of the openSUSE Leap 16.0 beta contained something of a
surprise—along with the usual set of changes and updates, it
informed the community of the retirement of "the traditional YaST
stack
" from Leap. The YaST ("Yet another Setup Tool")
installation and configuration utility has been a core part of the
openSUSE distribution since its inception
in 2005, and part of SUSE Linux since 1996. It will not, immediately,
be removed from the openSUSE Tumbleweed rolling-release
distribution, but its future is uncertain and its fate is up to the larger
community to decide.
YaST has undergone a number of revisions and rewrites over the years. The original YaST was replaced by YaST2 in 2002, and the project was released as open source, under the GPLv2, in 2004. YaST features graphical and text-based user interfaces, so it can be used on the desktop or via the shell. "Setup Tool" undersells what YaST does by a significant margin. It is the system installer, used for both interactive and unattended installations. It is also a tool for software management and performs a wide variety of system-management tasks—including user management, security configuration, and setting up printers.
For many years, YaST was implemented in its own programming
language, YCP,
which was phased out and mostly
replaced with Ruby around 2013 as part of the YCP Killer
project. Currently, YaST is written in Ruby, with some of the
graphical stack written in C, as well as some legacy bits in Perl and
YCP. As the contributing page
for the project notes, it is a "complex system consisting of
several components and modules
". Each of YaST's functions, such as
managing users, installing software, and configuring security
settings, is implemented as a modules. The project's GitHub organization has more than
240 repositories.
The decision to move away from YaST was not well-advertised for such a major component of the distribution. On October 7, 2024, Josef Reidinger replied to a question about the YaST:Devel repository with information about plans to develop YaST for SUSE Linux Enterprise Server (SLES) 16. There was, at that time, little indication that SUSE developers were thinking about dropping YaST from SLE 16 or Leap.
There was a mention of a YaST "stack reduction
" in the
openSUSE Release
Engineering minutes for November 27. The minutes note that
YaST modules would be reconsidered on a "per use case
basis
". However, it also linked to a features ticket for
openSUSE LEAP opened by Luboš Kocman in October 2024 that
said SUSE's product management "do not want any YaST in SLES
16
". It seems unlikely that many openSUSE users or contributors
would have discovered this, however.
In January, Andreas Jaeger wrote a blog post about plans for SLES 16, which contained a short section saying that YaST was being put into maintenance mode, though it would continue to be fully supported for the life of SLES 15. According to the SUSE lifecycle page, general support for SLES 15 will end in 2031.
Agama and YaST replacements
Even though the SUSE team has been relatively quiet about the intent to retire YaST, the Agama installer project did foreshadow the move. In 2022, the YaST developers started working on a new installer under the provisional name D-Installer, and the project was eventually named Agama after a type of lizard. The stated goal of this work was to decouple the user interface from YaST's internals, add a web-based user interface that would allow remote installation of the distribution, and more. That work progressed well enough that Agama was tapped to replace YaST as the installer for openSUSE Leap 16's alpha release. LWN covered Agama's development in August 2024.
At the time, the team was open about the fact that YaST was showing its age. That was part of the reason that they embarked on a from-scratch effort to replace it as the installer. However, Agama was more limited in scope than YaST as an installer—it lacked support for some of the AutoYaST unattended deployment features, for example—and there was no indication that the team was considering replacing YaST altogether. All signs pointed to the two tools coexisting.
With the release
of Agama 10, the Agama team announced a standalone documentation
site for the project and started a new blog for Agama-related news
in October 2024 "to avoid confusion between YaST and
Agama
". Since then, the YaST blog has gone silent.
The Leap 16 beta announcement was the first public note
that explicitly stated the new direction for openSUSE. It said that
YaST had been retired in favor of Agama, Cockpit for system management,
and Myrlyn
(formerly YQPkg) for package management. (LWN looked at Cockpit in
March 2024.) The announcement also noted that YaST would
continue to be available in Tumbleweed but would no longer be
developed by SUSE. "If someone is interested in the maintenance of
YaST for further development and bugfixes, the sources are available
on github.
"
The future
I emailed several openSUSE contributors about the YaST retirement
and received a reply from Douglas DeMaio. He acknowledged that earlier
communication about Agama suggested that YaST would continue to be
used as a management tool, but "the pivot toward deprecation came as
Agama and Myrlyn progressed and were deemed more
future-proof
".
DeMaio said that there were a few reasons that the change is
happening in Leap 16. One is that Agama and Cockpit are
"modern, modular, and API-driven
" which are better suited to
multi-distribution environments that users are working in. Adopting Cockpit,
he said, "helps reduce fragmentation and brings alignment with
other Linux distributions
"; that will make life easier for developers
and users alike. The other is that YaST's code base is large and
complex, and it was decided it would be more practical to design a
new, modular structure from the ground up.
He said that no standalone announcements have gone out to the YaST
development list or openSUSE's Factory development list because YaST
still exists in Tumbleweed. It will be phased out slowly, and YaST
packages may be deprecated or picked up by the community "based on
interest, available maintainers, and whether there's a clear use case
or demand within the community to keep them alive
".
Absent any community effort to maintain YaST, it will likely degrade in place until it is removed entirely from Tumbleweed. Dominique Leuenberger said on the openSUSE Factory mailing list that there are already components that no longer work, and more are likely to break soon.
What's likely to hit a big nail in the coffin will be the next Ruby version update: we've seen every year that the update needed 'some work' on the YaST code base. Without anybody looking after it, there is a big chance things will break by then.
Ruby has one major release a year, on December 25. Thus, Tumbleweed users have more than six months before Ruby-related breakage starts to set in.
It would be hard to argue against SUSE's decision to move away from YaST in favor of more modern tooling. At one time, YaST was a selling point for the distributions—it provided a one-stop shop for system management and configuration that was user friendly. Now, however, much of its functionality is present in more modern tools like Cockpit or the configuration tools included with GNOME and KDE. It makes sense to adopt the healthy upstream projects rather than to continue to develop a distribution-specific tool that offers little functionality not found elsewhere.
But the lack of communication about its retirement, even though it was clearly being discussed behind closed doors last year, is unfortunate. If there are openSUSE community members passionate about maintaining YaST, they could have benefited from an early warning about YaST's deprecation. Perhaps openSUSE could take a cue from Fedora's change process, for example, to ensure that major changes are communicated early and the community is given an opportunity to weigh in. If there are no willing maintainers to be found, openSUSE Tumbleweed users would no doubt still appreciate clear communication about the change rather than a slow trickle of information.
YaST may have outlived its usefulness, but it served the SUSE community well for decades and made Linux more approachable for many users. It deserves a better sendoff than a slow fade into obscurity.
