KDE architecture diagram

Sebastian Kügler sebas at kde.org
Fri Jun 8 10:01:39 UTC 2012


On Thursday, June 07, 2012 22:16:13 Aurélien Gâteau wrote:
> Le jeudi 7 juin 2012 21:11:09 Aaron J. Seigo a écrit :
> > there's an artificial spliting between "kde workspace" and "plasma active"
> > that does not exist. those of us working on these things keep saying that
> > but nobody seems to either be listening to or believing us :)
> 
> If I am not mistaken, kde workspace and plasma active are developed in
> different repositories, have different release schedules and target
> different devices. That was enough for me to split them.

Most of it is developed in the same repository (kde-runtime, kde-workspace, 
and basically the whole rest of the stack). Only the shell and a few apps are 
developed in a separate repository (which I think is more an artifact of us 
moving to quickly in the past year to clean up after ourselves than anything 
else). The different release schedules ... I don't know.

On the one hand, we untangling what we currently release as KDE SC, making 
separate releases for platform, workspaces and apps, on the other hand. On the 
other hand, we've thought about releasing the plasma-mobile repo together with 
the rest of KDE SC. We see that requirements for devices are a bit different, 
and that we want to cater for that with an "always releasable" system.

Still, ideally we'd roll stable releases of an always releasable core together 
with SC releases, but are basically able to do a device with the latest 
snapshots at any point in time.


To me, it's really much more like this:


				Plasma Workspaces
               |
          KDE Platform


Plasma Workspace includes Desktop, Netbook, Active, Mediacenter, etc.. This 
may look oversimplified, but I don't think it is. Technical details such as 
what you can find in which repository, how packages are split are really only 
technical details for the sake of deployment, but it's certainly not a 
structure we can use to define ourselves and what we do.

Just like for apps that ship different kinds of UIs, the "Plasma Active 
Workspace" is just a different flavour of the "Plasma Workspace", just like 
the desktop. In most cases it does not make much sense to draw an artifical 
line. (The same holds true for Calligra Active vs Calligra (Desktop), Okular, 
Marble, etc... who all might use different UIs bases on the target device. 
>From that, you can derive "Plasma principles" such as "a component should work 
with different formfactors and input devices" and "a component should work 
across multiple devices" quite logically, and I think that's the mindset we 
need to foster.
I think we're doing ourselves a disservice if we see these things as different 
"projects" or even teams, and we should not to that.

Food for thought: How many Linux kernel developers do you know that try to 
divide the Linux kernel in subprojects for servers, desktops, embedded 
systems? Here, just like in Plasma, there are a few codepathes that differ per 
device, but the majority of the code is shared. The differences come from how 
you configure it for a given target device. That is conceptually the same as 
with Plasma we're building a system that you can configure for a wide range of 
target devices.

> > i will try to come up with something that reflects my knowledge of the
> > system in time for the sprint. i can probably start with a diagram that
> > sebas and i did up a couple years ago ....
> 
> That would be great.
-- 
sebas

http://www.kde.org | http://vizZzion.org | GPG Key ID: 9119 0EF9


More information about the Plasma-devel mailing list