Re: New module proposal: LightDM


On Fri, May 13, 2011 at 8:59 AM, Robert Ancell <robert ancell gmail com> wrote:
> I'm proposing LightDM [1] as a replacement for GDM.  I started the
> proposal for this in GNOME 3.0 [2] but due to the young age of the
> project I thought it better to wait until 3.2 before making a full
> proposal.  This is it.  I apologise this has been done after the
> proposal period.

There actually isn't a module proposal period anymore.  We are using
feature or design proposals now.

> Why replace GDM?
> - LightDM is a cross-platform solution.  Ubuntu is planning to switch
> to it this cycle, and other distributions have expressed interest in
> the project.  By sharing this piece of infrastructure GNOME can spend
> more time working on important GNOME components.  LightDM is aligned
> with

There isn't a lot of value in having a core GNOME component be cross
platform or cross desktop.  There certainly isn't any value in that
for a user.  There are, however, a number of reasons why this isn't a
good thing.  GDM was explicitly designed to be a core GNOME component.
 The primary goal is to have a consistent and unified experience from
power on to power off.  Having a cross desktop component in there
doesn't really make any sense to the end user.  It doesn't match the
look and feel, the interactions are different, the default settings
and behaviors are different.  That is what GDM circa 2005 was like.
And it wasn't good.

> - I am confident that the LightDM architecture is simpler than GDM.
> Some indicators of this:
>  - Smaller code size
>  - Well defined interface between greeter and session
>  - Less dependencies
>  - Less internal interfaces
>  Architecture can be a personal opinion, and I encourage those with
> programming experience to look at the code and decide for themselves.
> Note that LightDM is not lighter in features, but in architecture.

There is no value to the user in a different internal architecture.
The complexity of GDM is not due to our love of complexity.  It was
out of necessity.  Dealing with PAM correctly and securely is a pain
in the ass.  Dealing with secure separation of the greeter is a pain
in the ass.  Designing with a goal of integrating screen lock
functionality into GDM resulted in some technical decisions that made
things more of a pain in the ass.

Now there are certainly things we can improve there.  There is a fair
amount of unused capability.  The reason why it hasn't been removed is
simple.  It is not a good idea to redesign the internal architecture
of the login manager until:

 a) we merge the multi-stack authentication technology - this stuff is
neat and lets you run multiple pam stacks simultaneously - user
benefit being that you can authenticate with a fingerprint or
smartcard while another pam stack like normal password is blocked
waiting for input
 b) we figure out the best way to implement our designs for
 c) we figure out the best way to finally have good screen unlock
functionality that supports touch and a11y
 d) we figure out what the story will be with systemd multi-seat and
how it impacts a login manager

Those are important goals.  Things that will matter to the end user.
Changing code bases will not help solve them.

> - By having a well defined interface between the greeter and daemon,
> it is significantly easier to develop a greeter without knowledge of
> how display management works.  This is useful as the skillset and
> motivations of these two sets of developers are different.

Having lots of different greeters isn't an important goal.  Having one
that works really well, and integrates well with the rest of the OS
is.  That is the goal of the GDM interface.  Standardization of that
interface is not a good idea.  It just needs to get the job done.

> - LightDM is a platform for future work and is investigating the use
> of new technologies like Wayland.

Yes Wayland is very awesome.  I fail to see how this is a good reason
to switch to a new login manager.

Anyway, I don't really maintain GDM anymore so hopefully Ray will
respond with some more details but basically:

 * I don't see any compelling reason to architecture astronaut a new
display manager
 * None of the stated reasons have a significant user visible benefit to GNOME
 * We really ought to be spending our time on higher level, bigger
picture integration issues
 * If there are problems with GDM we should just fix them
 * This is just not the right time to consider this (see list above of
important issues to consider first)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]