(a copy of this message was sent to the gnome-hackers list)

Hello,

I want to discuss a bit further the proposition of an eventual XDG folder
Gnome goal.
http://live.gnome.org/GnomeGoals/XDGConfigFolders

There's also a tracking bug :
http://bugzilla.gnome.org/show_bug.cgi?id=523057

The concept of this Gnome Goal would be to follow the FD.o specication (
http://standards.freedesktop.org/basedir-spec/latest/ar01s03.html ) who
describes how to slip hidden folders into configuration, data and cache.

This Gnome Goal would allow the following benefits :
- a lot less cluttered $HOME (my mother will not cry anymore when the gtk
file selector randomly choose to display hidden folders)
- Make backups a lot more safe and easier. (you know that backuping your
$XDG_DATA_HOME along with your files is enough)
- A lot easier to reset a default configuration if you want/need it (and
without any risk to loose informations)
- Avoid some strange bugs that happens because you had a old version of some
configuration file
- A lot more of flexibility and portability because no path are hardcoded.
You use the XDG library that does the job for you. If you don't want the
dependancy, implementing it is only a few lines of code.


Now, I want to push things further and make this an official Gnome Goal. A
lot of applications tend to naturally switch (see the tracking bug) but
other will not move at all if there is not official gnome goal. If only a
few apps don't follow the XDG rules, it defeats the whole purpose of the
specification :-(


Applications
***************

I see two kinds of applications :

1) Application that "only" need to migrate their own data. The XDG specs
will mean that, at one point, the user will not be able to downgrade it
version. But, anyway, it appears fairly often that a new version change the
config file format. Backward incompatibility happens all the time, AFAIK. Do
you see any really critical usecase where it would be a big problem ?

For that applications, this Gnome Goal will be handled on a case by case
basis. Some are already respecting it.

2) applications where the hidden folder is used by external applications and
scripts.  The first step would be to identify which application is in this
category. Then, we should ensure that an appropriate communication is done.
Once again, the use of XDFfolders instead of harcoded path would be a huge
benefit for everyone !

Here, I suggest that each maintener of an application of the 2nd category
post a list of things "that should be done before we can think about
switching to $XDG". This way, we can progress step by step.


Interpretation of the specs
*********************************

Another problem that I see is that no everybody understand the XDG
specification the same way. Some believe that it's only a matter of moving
the hidden directory in .config. Others believe that the specification
doesn't apply to them even though they do exactly the same things by
splitting their own directory in different files (see
http://developer.pidgin.im/ticket/4911 - no offense intended).

As a rule of thumb, I want to insist that $XDG_CONFIG_HOME and
$XDG_CACHE_HOME should be deletable at any time.

But to be certain and insure consistency, I propose to create a place where
each maintener who is unsure can discuss it with other involved people. (a
wiki page ? a mailing list ? a XDG council ? whatever. It might be not
needed)


Gconf
*******

Gconf seems to me the biggest problem. I've heard many thing about gconf so
I'm unsure what is the best way. There are two alternatives :

1) Gconf is only there to store preferences. It means that all gconf will
simply go to $XDG_CONFIG_HOME. All applications that have datas in Gconf
(like evolution does) should be treated as bugs. Remember : XDG_CONFIG_HOME
is deletable !

2) We agree that Gconf should be able to also store personnal datas. If it's
the case, well, it would require a lot more thinking. But the first
interesting to do should be to list applications that put data (and not
config) in gconf, meaning "which applications will break if you delete the
gconf directory" ?


Making it official
********************

My personnal hope is that this goal become an official gnome goal. There's a
great need for a snowball effect to push the XDG folders specification. A
lot of maintener (not necessarly in Gnome) are currently replying "I don't
want to do it if nobody does it". Hopefully, the trend is changing (look at
your ~/.config).

But in order to do this, we have to "brainstorm" a bit in order to be sure
that the overall quality of Gnome is never impacted and remains at least as
high as it is right now.


Well, in conclusion : as soon as Vuntz is convinced, we can be sure that it
would be a rock-solid Gnome Goal.

Lionel
_______________________________________________
gnome-love mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/gnome-love

Reply via email to