Re: Candidacy: Emmanuele Bassi
- From: Emmanuele Bassi <ebassi gmail com>
- To: foundation-list gnome org
- Subject: Re: Candidacy: Emmanuele Bassi
- Date: Sat, 21 May 2011 15:23:08 +0100
[sorry, it appears I forgot to set the reply-to to foundation-list on
my candidacy announcement, and I replied to Richard directly; I'm
moving the discussion to foundation-list now.]
On 2011-05-20 at 18:59, Richard Stallman wrote:
> GNOME is a graphical interface, developed as part of the GNU system.
the "graphical interface" part is a definition that might have applied
10 years ago.
the main lesson learned in these past 10 years is that writing a
"graphical interface" in a vacuum, shielded by layers of abstractions
is not only impossible: it's actively wrong.
GNOME requires, in order to build a full user experience (not just the
user interface bits, but also the interaction between them and the
device, and the user), a full set of vertically designed and integrated
capabilities: from the chosen kernel (generally Linux) to the low-level
kernel/user space interaction (e.g. udev); from the IPC mechanism (e.g.
D-Bus) to the initialization system; from the authentication and
authorization framework up to the login manager — and we haven't even
logged into the session yet!
each of these components must be written not as single projects but as
part of a cohesive whole; the features must be driven by design, and
those will encompass different layers of the stack: a "simple" decision
of using animations in the main graphical shell touches at least the
following components:
- the graphical shell
- the window manager and compositor
- the toolkit(s)
- the OpenGL implementation
- the GPU drivers
all of these components, even if non directly connected or maintained
by GNOME developers, have to be modified (or newly written) together
towards the same goal.
many GNOME developers have been hard at work for the past 10 years to
make sure that any high level decision would be implemented in the lower
levels of the stack; without their *amazing* work we would not have power
management, hotplugging, hardware accelerated displays or any other
feature that users take for granted on any device and platform.
the next step for GNOME, and what I'd like to work towards, is to have
the GNOME project mandate a series of low-level components (hopefully
across different kernels, if the guys working on Solaris and *BSD
collaborate with us whilst designing and implementing the features) for
OEMs and OSVs so that new products can be built using GNOME (with and
without customization); and a full software development kit targeting
GNOME itself for ISVs, so that developers can start targeting GNOME as
the platform we keep calling it, instead of a random collection of API
and modules.
this is especially true for mobile devices, where we lack a real open
alternative to the walled gardens of iOS and Android; in the past we
marketed GNOME as a "pick & mix" list of components, and that led to
fragmentation, loss and failure; the GNOME platform wasn't good enough
not because we lacked abstraction layers to combine piece together: it
was not good enough because it was not integrated enough; it was
impossible to document; it was impossible to QA; it was scattered all
over, brittle and unoptimized — all because it was not a cohesive
platform that you could twist, and turn, and pick, and mix. it should
not surprise anyone that many companies decided to switch from GNOME
technologies to a platform that gave the impression of cohesiveness.
my "blue skies" vision is that developers will be able to download an
ISO from gnome.org and start working on free/open source applications
immediately, and be able to upload those applications to GNOME-approved
application repositories, where users with devices running GNOME will be
able to download, use and enjoy them.
> What does it mean to speak of GNOME itself as an "operating system"?
hopefully, I answered this question.
ciao,
Emmanuele.
--
W: http://www.emmanuelebassi.name
B: http://blogs.gnome.org/ebassi
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]