Re: Proposal for better collaboration on xdg-shell

2015-05-11 Thread Jasper St. Pierre
Yeah. I think some people were assuming xdg-shell was final, and I was
its gatekeeper, and it's what GNOME wants and you have to fight to get
other things in.

That wasn't my intention at all! My goal was to build a solid base for
the rest of the DEs to eventually work more like how Bryce wants, but
I was imagining it would work a lot more informally, sort of like how
wm-spec-list works.

If there are *any* controversial features in xdg-shell that you don't
like, please let me know! The goal here is to make sure that it's a
good base for everybody, so by the time you roll around to
implementing it, xdg-shell is exactly what you want, and you can start
with custom extensions to implement stuff that's specific to your DE.
Even GTK+ has plenty of features in a custom gtk-shell that other DEs
probably don't care about.

On Mon, May 11, 2015 at 12:38 AM, Pekka Paalanen ppaala...@gmail.com wrote:
 On Mon, 20 Apr 2015 17:10:08 -0700
 Bryce Harrington br...@osg.samsung.com wrote:

 A while back Pekka asked if I'd help look at xdg-shell and how we can
 ensure it really does become a cross-desktop standard.  I promised to
 engage with the EFL folks and get their feedback, which I posted
 recently.

 snip
 http://lists.freedesktop.org/archives/wayland-devel/2015-April/021465.html


 Hi all,

 Bryce wrote a good and essentially simple proposal for getting things
 rolling again. However, it turns out that my and his underlying
 assumptions were not exactly true. We assumed that desktop projects
 want to go forward all the time, on their own schedule. To support
 that, Bryce wrote this proposal.

 Since then in IRC, GNOME (with Jasper's voice) has said they can
 actually wait for other DEs, especially KDE, to get on board.

 So it seems the current plan is to keep xdg-shell in limbo at least
 until KDE people can focus on it properly. And other DE projects, too.
 In other words, not to hurry, but think things through with all major
 players.

 Just letting you all know and collecting a hopefully good selection of
 CCs to get the teams covered.


 Thanks,
 pq



-- 
  Jasper
___
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel


Proposal for better collaboration on xdg-shell

2015-04-20 Thread Bryce Harrington
A while back Pekka asked if I'd help look at xdg-shell and how we can
ensure it really does become a cross-desktop standard.  I promised to
engage with the EFL folks and get their feedback, which I posted
recently.

I also promised to look at the Plasma team's comments on xdg-shell.xml
from some months back, and to suggest changes to xdg-shell.xml that
might make it more inclusive to their needs too.  However, in looking at
the prior discussions around KDE's feedback, and especially seeing the
tenor of discussions regarding this recent EFL feedback, I'm seeing some
really bad anti-patterns at work:

 1. There is really no substitute for getting the DIRECT feedback from
the compositor implementers.

 2. It is proving impossible to get all the D-E stakeholders to
deliberate in real-time.  Everyone's implementing Wayland on widely
dispersed schedules.

 3. Developers seem to not want to pin down their needs specifically
until they're in the midst of their own Wayland development.  But
then they need their protocol fully fleshed out ASAP so they can get
the work completed.  Development can't wait on committees.

 4. Once a D-E has finished compositor implementation, there is little
incentive to entertain changes, esp. if they got their work into the
standard already.  The first implementor thus gains a
game-breakingly strong first-mover advantage in our protocol
development process.

 5. The early adopters will then be on defensive to *prevent* further
changes.  Their motivation will thus be to lock down the protocol as
unchangeable (probably earlier than it should) and suggest everyone
else make their changes in their own private protocols.

 6. If you're not the first D-E contributor, getting your changes in
will be an adversarial process.  As this can be frustrating, you are
motivated to take the alternative and just do your own thing as
a private protocol, and just modify the subset of clients you care
about to support that protocol.  You decide to let cross-desktop be
Someone Else's problem (goto 1).

 7. Ultimately our collective goal and reason we're bothering with all
of this to begin with, is to establish a lowest-common-denominator
protocol(s), that an arbitrary third-party client can rely on when
ensuring their software will be portable across a plethora of
desktop environments.

a.  Otherwise:  Fragmentation

b.  Also, declaring a desktop standard which no one in Linux
actually follows makes us look dysfunctional.  We deserve all
the laughs that we get.


Given that steps 1-6 seem unlikely at producing #7, I don't think that
just more poking at the API is going to get us across the threshold.
What we need is a better process for developing the protocols in the
first place, which respects late-comer feedback and rewards
collaboration rather than just being first.

I.Desktop environments are expected to maintain their own private
  protocol(s) in their own repositories.  These can correspond to
  what they actually use, and what they expect clients to use.

II.   Weston's current protocol/desktop-shell.xml is renamed to
  protocol/weston-desktop.xml[1] as it is considered a Weston
  private protocol.

III.  A new repository is established on freedesktop.org.

  0. This repository exists under the purview of the Wayland
 project:

  http://cgit.freedesktop.org/wayland/desktop-protocols/

  1. Alternatively, we establish a subdir within the xdg-specs
 repository under the purview of the Freedesktop Specifications
 project, such as:

  http://cgit.freedesktop.org/xdg/xdg-specs/wayland-desktop/

IV.   A 'proposed' subdirectory is added to the
  wayland/desktop-protocols git repository.  Per-desktop environment
  subdirectories are created in this repository named
  proposed/desktop-environment/, containing proposed protocol
  standards they wish to suggest other desktop environments follow.
  For example, these could be protocols the D-E considers stable for
  itself.

  0. These protocol files should scope their globals and interfaces
 with identifiers unique to that D-E.  It's also recommended
 that the generated C symbol names also be scoped to avoid
 clashes with the other D-E's.

  1. Lesser-known D-E's are welcome.  In particular, any D-E
 mentioned on Wikipedia's D-E page will be gladly received.
 https://en.wikipedia.org/wiki/Desktop_environment

  2. D-E's should first obtain push access from FDO to the
 repository for their principal compositor developers, then add
 a subdirectory for their D-E.  These individuals are welcome to
 push directly to their subdirectory; no gatekeeper review
 required.  Do not push to other D-E subdirs or to the common
 standard spec directory without their review and Okay.