[Openicc] Linux CM ideology .. Linux CM proposal

Graeme Gill graeme at argyllcms.com
Tue Feb 8 05:27:47 PST 2011


Kai-Uwe Behrmann wrote:

> To realise the DB we can base it on:
> * JSON as use in ArgyllCMS,
> * Elektra files based data base (DB) as in Oyranos
> * XML
> * sqlite as used in colord

I suspect that Elektra is too contentious, and is a heavyweight
dependency. The same might be said for a database, unless it
is a rather simple one, with a small, self contained library to access
it.

[ One of the political issues is that configuration is a "solved"
   problem from the perspective of many desktops and (to some
   degree) operating systems, so the proposal to re-invent "yet another"
   configuration format is seen as poor development practice. The
   problem with all the "solutions" is that they tend to solve the
   problem in a relatively narrow way, making it impossible for all
   interested parties to accept any single such solution. ]

> JSON appears to be accessible by yail, which is small, widely deployed
> and cross platform.

> XML needs libxml2, which is not as small but widely deployed and cross
> platform.

Either of these might be acceptable.

> Elektra file access needs Elektra or alternatively file access on C level.
> The syntax is very very simple. More and more industry applications
> deploy it. C and Elektra are cross platform.

It seems to me to be too far reaching, and therefore out of scope.
[My view is that it would be better to add the color profile configuration
into Elektra if it became more widely accepted, rather than building
color profile configuration using Elektra.]

One approach would be to use a configuration format that Elektra
already encompasses, such as the .ini style text file.

> SQLite is a small library. The data base itself is a chunk of data other
> than the previously mentioned formats. It is widely deployed and cross
> platform.

It depends on how heavyweight SQLite is.

Here's my (rough) criteria: The code for the color profile configuration
should be a maximum of a dozen files in total, and should comfortably
sit in one directory.

On the surface SQLite fits with this criteria, but I notice that
the main source file has more than 100,000 lines. By comparison
my simple JSON based config has about 5000 lines, 5% of the size.

It does seem to meet many of the criteria though. Is it reasonable
to make it a dependency of anyone doing color on Unix like systems ?

Graeme Gill.


More information about the openicc mailing list