[mythtv] Theme Discrepancies

Michael T. Dean mtdean at thirdcontact.com
Mon Sep 10 21:51:25 UTC 2007


On 09/09/2007 11:01 PM, Johan Venter wrote:
> Michael T. Dean wrote:
>   
>> Justin Hornsby and Stuart Morgan have been working on something like
>> this in their (little bit of) free time.  (Though I don't know if they
>> plan to promise forwards compatibility (what you've referred to as
>> backwards compatibility).)  But, as it really isn't required (and is
>> less visible than other "bug" fixes), I don't think it's their highest
>> priority.
>>     
> I think it's both forwards and backwards compatibility.
>
> Backwards in the sense that new code (ie requiring some container)
> should not break the old themes, while forwards in the sense that old
> themes should work with things like new XML attributes through the
> choice of sane defaults.
>
> Or am I labouring under my own special brand of ignorance as to the
> correct definitions of backwards/fowards compatibility? If so, apologies.

Forwards compatibility means that a theme created for MythTV 0.13 will
work with, i.e. MythTV version 0.20 (in spite of all the changes that
have occurred to MythTV in the interim--including the need for new
containers/windows/...).

Backwards compatibility means that a theme created for MythTV 0.20 will
work with, i.e. MythTV version 0.13 (in spite of all the "garbage" in
the theme that MythTV 0.13 won't understand).

Myth has never promised either, and, IMHO, shouldn't.

Let's leave forwards compatibility--i.e. "tradition unhampered by
progress"--to Microsoft.  ;)  After all, in the open-source world, if
enough people want the theme updated it will be.  For example. look at
the Visor theme.  Myth has pretty good support for defaults with the
default and default-wide stuff, but going farther is, IMHO, hardly
warranted as writing a significant amount of code (and doing a lot of
extra testing) to save someone from writing a 5-line patch for a
theme--er, an /never-needs-compiled/, often editable without a frontend
restart theme--is asking a lot.

As for backwards compatibility, let's leave the devs free to make good
changes to add new things to the themes without having to consider the
effect on old ("unsupported") versions of MythTV (not to mention having
to test the new themes on all old versions of Myth).  If a user wants to
use a new theme, he/she can upgrade to the current version of Myth and
benefit from all the great bug fixes, new features, and goodness in the
new version of Myth.  Sure, this approach may make things harder for a
few users who don't want to upgrade an already-working system, but if
they're that adamant about using the old version, they can "back-port"
the new theme to the old version of Myth.

That said, themes often work across version numbers and many of the
changes that affect themes are discussed with Justin Hornsby (the
resident "voice of the themers") and others (often on IRC).  He'll often
make suggestions for approaches that cause minimal compatibility
issues.  So, although not promising theme compatibility, MythTV hasn't
done too bad with it.

Mike


More information about the mythtv-dev mailing list