[gnome-love] Discussion about the proposed XDG gnome goals



(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


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