Cothemes compared to the Theme Package Specification draft

Another theme package format has been proposed with similar goals to Cothemes. The draft specification can be found at:

This document aims to compare them.

ThemePackage Cotheme Comments by Flimm, author of Cotheme
File extension .theme .cotheme .theme is already used by Windows themes, as well as other file formats. .cotheme has not been used, as far as I am aware.
Mime-type application/x-themepackage application/x-cotheme Both are unique, AFAIK
Archive format gzipped-compressed tarball zip Gzipped tarballs are the traditional archive format for themes on free desktop environments. However, the zip file format is more universally accepted. In addition, zip files allow random access to its contents by file name, allowing rapid extraction of metadata files or thumbnail files. Different files can be compressed at different levels and at specified positions in the file. This is important for maintaining the magic number. OpenDocument packages use zip.
Magic number None application/x-cotheme found at byte x
Metadata file format an INI file an RDF/XML file While INI files are simpler to edit by hand, their format is not well documented, leading to incompatible parsers. XML files are also reasonably easy to edit by hand. The XML file format is very well defined, and parsers exist for practically every programming language. Developers and theme creators would not need to know RDF at all, similar to DOAP, the XML format chosen would coincide with RDF/XML.
Embedded thumbnails None Included (Thumbnails/thumbnail.png) Cotheme's thumbnail mechanism is similar to OpenDocument's.
Include multiple themes Yes Yes
Theme types allowed Not specified Almost any that meet the minimum requirements
Theme type names Simple but limited: gtk-2.0, xfwm4, etc Uses URNs, unlimited
Required and recommended meta-data
  • name
  • version
  • name and email of the maintainer
  • name of the artist
  • description
  • license
  • name
  • version
  • name of the creator
  • description
  • license
  • source
  • rights holder
  • date copyrighted
  • dominant colour
  • relationships to other cothemes (dependence or inclusion)
  • dependencies on pieces of software
  • (can be expanded to include any RDF data, which is unlimited)
Cothemes use the well-established vocabulary of Dublin Core for some of its metadata. Dependencies on other themes can be specified (for example, icon themes on other icon themes). Dependencies on software programs or libraries can be specified (for example, GTK themes on GTK engines), in a way that would allow automatic installation of the dependency.
Can metadata be translated? Unspecified, probably yes Yes