[linux-dvb] [RFC] Let the future decide between the two.
awalls at radix.net
Fri Sep 26 02:42:56 CEST 2008
On Thu, 2008-09-25 at 08:45 +0200, Michel Verbraak wrote:
> I have been following the story about the discussion of the future of
> the DVB API for the last two years and after seen all the discussion I
> would like to propose the following:
> - Keep the two different DVB API sets next to one another. Both having a
> space on Linuxtv.org to explain their knowledge and how to use them.
> - Each with their own respective maintainers to get stuff into the
> kernel. I mean V4L had two versions.
> - Let driver developers decide which API they will follow. Or even
> develop for both.
> - Let application developers decide which API they will support.
> - Let distribution packagers decide which API they will have activated
> by default in their distribution.
> - Let the end users decide which one will be used most. (Probably they
> will decide on: Is my hardware supported or not).
Having two API's is a software maintenance burden both for kernel
developers and application dev's that want their stuff to "just work"
for the end user in all situations.
The purpose of an API is to insulate apps developers from kernel
changes. What you propose is, I would think, the worst case scenario
for an application developer: an API that can change completely out from
under them at any time (e.g. at the choice of a distribution packager).
If you really want that sort of choice for application developers, you
would build a library that is a thunking layer to present a different
API to the app than the in kernel API. (I am not a serious application
developer, but for what it's worth, I don't think I would bother with
that unless I had a large complex app already written.)
> - If democracy is that strong one of them will win or maybey the two
> will get merged and we, the end users, get best of both worlds.
> As the subject says: This is a Request For Comment.
> Michel (end user and application developer).
More information about the linux-dvb