Re: Start a gnome-shell-extensions repository / module



On Tue, 2011-01-11 at 11:32 -0600, Jason D. Clinton wrote:
> On Tue, Jan 11, 2011 at 08:06, Giovanni Campagna
> <scampa giovanni gmail com> wrote:
>         Also, GNOME Shell is currently very unstable, both in API,
>         implementation and design, meaning that extensions written for
>         2.91.4
>         may not work with 2.91.5 or 2.91.6.
>         
>         For these reasons, I'm proposing to open a new repository on
>         GNOME Git,
>         called gnome-shell-extensions, collecting useful, or less so,
>         extensions, that would be characterized by clean code with
>         reviews from
>         Shell developers (including porting after API breaks),
>         thorough
>         translations and increased marketing (possibly with
>         distribution
>         packages), while still allowing for UIs that don't agree with
>         current
>         design.
> 
> This has been discussed in the past and it was generally agreed that
> extensions should be kept *inside* the GNOME Shell repo. until there
> is a stable API. At that point it would make sense to have an external
> repo. The rationale given for keeping them inside, while the API is
> unstable, is that any API changes that affect extensions would
> immediately show up in runtime testing.

I don't particularly remember that conversation. I think the problem
we'd have with keeping extensions inside the shell repository is that it
would imply that they were "UI options" - that they should be packaged
by distributions, installed with the shell, and that the user goes into
a preferences dialog to turn them on.

But that's not the experience we want with extensions. Installing an
extension is like modding your car. You've opened the hood and pulled
out some hoses, and now you can plug in the new chip for your engine,
and maybe it will give you more power, or maybe it will make your car
spew black smoke, and you've accepted that, because if it works you'll
be a hero to your friends.

The "danger" element is why in the long-term I see a web user interface
as being essential to this. If the user was looking at a list of
extensions in the package installer for their operating system, they'd
have no way of knowing which ones were cool and work well, and which
ones just make GNOME Shell spew black smoke. Ratings and comments are
essential parts of the experience.

But that doesn't really answer the question of what to do in the short
term... I agree that it's not great that people just post links to
extensions here and they disappear into the archives.

I think I'm fine if we collect code in a gnome-shell-extensions module
in GNOME Git, but we need to the module a bit special - *not* as a
standard GNOME module. Maybe something like:

 * No tarballs 
 * A README file that requests that distributions *not* package it
 * Maintain it "Linux kernel" style. Suggest that people who
   want to contribute to it create branches on github (gitorious?)
   and send pull requests to the maintainer. I don't think getting
   through the GNOME account process makes sense if you want to
   contribute a small extension.

Giovanni - if you are volunteering want to create and maintain such a
module, please go ahead - that would be a good step forward. :-)

The other important piece here that we don't have is versioning. I'd
really like it to work the same way as Firefox extensions. You have to
declare what versions you work with, you aren't allowed to declare that
you work with all future versions, and if the shell is upgraded, and an
extension isn't marked as compatible with the new version, it just stops
working.

- Owen





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