Re: New module proposal: LightDM

On Fri, 13.05.11 14:59, 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.
> 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.  

I am pretty sure more platforms currently use GDM than use lightdm, how
can you claim this as a reason that lightdm was better? In fact, what
you claim here could be used as a good reason to convince Ubuntu to use
GDM, since that is what the majority uses, not as a reason to convince
the others to use lightdm, since that is only used by one relevant
distro so far, Ubuntu?

> LightDM is aligned with

What is this supposed to mean?

> - 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

But do you support everything that gdm supports, too? Like all the a11y
stuff? Or the fprint auth, the extensibility and stuff like that?

> - 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.

But why is that a benefit? I think we want one good one, instead of a
lot of bad ones?

Modern forms of authentication, like the biometric stuff, or auth tokens
usually need some kind of specific UI integration. Why do you think that
it is in our interest to complicate that even further, by requiring that
10 greeters need to be updated for this, instead of just one?

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

Hey, that's a non-issue. Grand plans don't count. The gdm devs can
promise us Skynet integration and they could be as convincing with that
as you are as with a promise of Wayland integration.

In general I do believe it is completely OK to replace existing
components with complete rewrites from time to time. I have pushed that
through myself more than once. But if you do you better have your
arguments ready for this. You must have a very good case. You must
support everything the old software you are replacing can provide, or
have very good reasons why you do not want to support specific features
(I have not seen such a list from you). You must support a lot of new
features. You must have made clear that you fully understood the
problem, you must show that you tried to fix the existing component, or
you must have a good reason why you think the current solution is so
broken that there is no value in trying to fix it. You must be able to
deal with criticism and respond to it. You must show that you can
rethink the set of problems, and that you have a good idea where you
want to go with this. You need a vision.

Right now the only benefit I can see with lightdm is that it allows
writing greeters in Qt more easily. I am not sure why that would be
interesting to GNOME however. In fact I believe a goal of GNOME should
be to head for stricter vertical integration of the platform, not to
make balkanization even easier.

I too believe the gdm source code is not as simple as it could be. But I
think lightdm mostly trades features against simplicity here. And the
features you drop are not crazy features that nobody will mind, they are
core features, they are features we want and that took us a long time
to get.

In line with my work on systemd and related techs I have quite a number
of things I'd like to see improved in gdm. For example, I want the login
screen to show up during early boot. I want background auto-logins with
foreground auth queries (i.e. what Alex already suggested here). I want
automatic multi-seat. I want hotplug support. I want things to be more
dynamic.  I want more flexible auth mech support, I want stronger Ply
integration. If want soft session switching. But lightdm does not offer
any of this, and doesnt make anything of this easier to implement. In
fact it puts us even further away from it. Progress might require
rewriting components, but just rewriting things is not automatically

gdm might not be perfect software. But it is powerful software, and its
problems can be fixed in an evolutionary, not a revolutionary way.


Lennart Poettering - Red Hat, Inc.

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