[mythtv-users] [old] Re: XvMC and libmpeg2 to be dropped in 0.25

Brian J. Murrell brian at interlinx.bc.ca
Wed Feb 9 19:27:17 UTC 2011


On Wed, 2011-02-09 at 09:42 -0800, Robert McNamara wrote: 
> This presumes that the functionality and syntax of the information exchanged
> with the backend, and between the frontend and the backend doesn't change on
> a very regular basis.

Not really.  Indeed, the more frequently it does change the more
frequently compatibility has to be dealt with, but that's not at all
insurmountable.

> We don't just capriciously change the
> protocol version or schema,

I didn't imply you did.

> those things change because the language spoken
> by one or more of the components has changed.

Of course.  The problem is that when the language is "extended" no
effort is made to continue to speak to older speakers of the language
within their limited capabilities.  Just like in spoken language, if a
new word is invented and somebody doesn't (yet) know it, you just don't
use it with them and they don't get the benefit from it.  You can still
talk to them with the words they do know however and carry on as you
would have before the new word was invented.

> We add features or fix bugs
> which necessitate this change in protocol.

Right.  I'm not saying the protocol has to be static, just that newer
speakers of it have to remember there are still speakers of just the old
version of it.

And absolutely, such an older speaker will not get to use/see newer
features of the language.  That's what upgrades are for.  I'd be happy
to just have the older speakers continue to have their limited
functionality with the newer speakers.

> If we were to keep the API
> unchanged, it would also prevent us fixing bugs or adding new functionality,
> and that's an unacceptable sacrifice.

Of course it is and nobody is expecting that.  The API or language just
has to be flexible enough to allow that sort of thing and maintain
compatibility.  It's not impossible to do.  (many) Other protocols and
APIs do it.

And yes, there will always be times when a change has to be made that
breaks backward compatibility, but those should be very grave instances
(and reflect poor design likely) and rare.

As has been pointed out already, the first step (after the design of the
flexible protocol) is to stop having clients access the database
directly.

And yeah, I know, patches and maintainers welcome.

Cheers,
b.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://mythtv.org/pipermail/mythtv-users/attachments/20110209/9a30b893/attachment.pgp>


More information about the mythtv-users mailing list