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