I know most of you have been following the upcoming Plasma Next release with interest, there’s lots of work being done, and as usual, most of it happens under the surface.
I would like to talk today about the new repository structure we have been working on during the last weeks: Splitting the kde-workspace and kde-runtime repositories.
What did we use to have, so far?
What we have now is mostly an evolution of what KDE ever was, only that after many iterations, especially given the long history we’ve been through, since the Kool Desktop environment days, in CVS back then. Since then, concepts have changed, the community has progressed and ultimately, the projects we’re offering have evolved a great deal.
Nowadays our workspaces are built around the kde-workspace repository which is a subset of what kdebase once was. It contains the code relative to the shell, System Settings, kinfocenter, KWin and other components, even some libraries.
Note that some of these are big components, some are small, some are part of Plasma Active, some aren’t. This had different implications, for example: Plasma Active depends on having the desktop environment installed, repository-wise, so does KWin need to have systemsettings installed, etc.
What will we have now?
We chopped kde-workspace into several chunks. We separated what’s specific to our desktop users and what can be independent components, trying to make sure that we end up with manageable projects rather than a bag of surprises. This leaves us a clean outline of what projects we are working on, while still letting us figure out what is part of a project and what isn’t.
This is all glued together by the dependency-data files, where we specify what project depends on what project within KDE. This means both and compile-time and runtime. The dependency-data files will start gaining relevance as it suggests, what does it mean to have a full Plasma Desktop installed or, for example, a full KDevelop. *
What does this mean?
Depending on how you look at it, nothing changes. I would like to highlight some points though, of what I think will have the most impact.
- Simpler to modify and deploy the components. Some of our components are more complex than others. Now you can modify System Settings without pulling a full KWin.
- Easily follow your favorite projects. Now you’ll be able to follow the commits in a specific project (See the “Follow this project” check in a project page). This should increase peer review for people interested in a project but concerned about receiving noise on the inbox.
- Simpler to reach the components. Now it’s easier to figure out where the System Settings are, given that you can find them in projects.kde.org right away.
I hope you’ll be as excited as I am, hopefully by joining the development team and helping us create a wonderfully awesome Plasma Next release.
* This opens the possibility to review what’s extragear and what’s KDE SC roles, it will be an interesting discussion.