KDE architecture diagram

Aurélien Gâteau agateau at kde.org
Fri Jun 8 13:49:07 UTC 2012


Le vendredi 8 juin 2012 15:07:17 Aaron J. Seigo a écrit :

> ok.. let's try to define that then. i'll offer what i see as a product, as
> then perhaps you can do the same and we can compare and hopefully
> understand each other better.
> 
> Product: a finished whole that is presented in a form that is useful to the
> intended audience.
> 
> using that as a starting point, then to me the Linux kernel is a product
> delivered in a useful form to OS and hardware vendors; they then use the
> Linux kernel to make products useful to end users.
> 
> the Linux kernel is very different from kernels before it (and even many
> today). prior to the Linux kernel, we had operating systems "for servers" or
> "for desktops" or "for mobile". hardware evolved and new thinking emerged
> and "Linux" is now a product that services super computers, servers,
> desktops, mobile, embedded, etc. as a hardware spectrum. there are deltas
> in the code for each target, but it's one product.
> 
> Plasma is similar. we deliver a UX in form useful for OS and hardware
> vendors; they use it to make products useful to end users.
> 
> Plasma is different from other workspace UX frameworks before it (and even
> many today). prior to Plasma, we have workspaces that are "for desktops"
> and "for phones" and "for PDAs" and "for tablets". hardware has evolved and
> our new thinking is that the workspace product should service workstations,
> desktops, tablets, set top boxes, IVI, phones, etc. there are deltas in the
> code for each target, but Plasma is one product.
> 
> Desktop, Netbook, Active and whatever else we add to it in the future
> extends this product with different device and use case targets. this is
> analogous to the arch trees in the Linux kernel.

My definition is indeed different. To me, Plasma Desktop, Plasma Netbook and 
Plasma Active are three products, which are all built on top of a shared set 
of components and applets.

As a user, my system is running either the Desktop, Netbook or Active product. 
I can switch from one to another as I want.

To me, Plasma is an umbrella term which groups together the shells, the 
applets and the components.

This is how I see it could match with the Linux analogy:

- Plasma Active is the Android kernel, Plasma Desktop is the kernel shipped by 
my distro.

They share a lot of code: Plasma Active and Desktop through dynamic libraries, 
the Android and distro kernels by building from (mostly) the same source tree.

They are also very different: Plasma shells through different binaries which 
make different use of the Plasma components, kernels through compilation 
options and different patchsets.

- A Plasma applet is a kernel module, some are developed in-tree, others are 
out-of-tree.
The Linux situation here further reinforces the fact that different kernels are 
different products: Say you have a TI ARM board. If you build your own kernel 
for it, and a few modules. If you switch back to the kernel provided by TI, 
there is no chance for you to load any module built for your kernel: TI takes 
the Linux kernel and creates a different product out of it.

- Plasma is the kernel, plus all modules, plus the low level plumbing 
libraries used to communicate with user-space.

> > But this discussion is going nowhere so let's end it.
> 
> how can we come to a common undestanding if we don't discuss?
> if we don't come to a common understanding, how can we succeed?
> 
> it's worth it.

Time will tell.

Aurélien


More information about the Plasma-devel mailing list