From: "Nemosoft Unv." <webcam@smcc.demon.nl>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Craig Milo Rogers <rogers@isi.edu>,
Xavier Bestel <xavier.bestel@free.fr>,
Christoph Hellwig <hch@infradead.org>,
Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: Termination of the Philips Webcam Driver (pwc)
Date: Fri, 27 Aug 2004 23:42:30 +0200 [thread overview]
Message-ID: <200408272342.30619@smcc.demon.nl> (raw)
In-Reply-To: <Pine.LNX.4.58.0408271157540.14196@ppc970.osdl.org>
Greetings,
On Friday 27 August 2004 21:06, Linus Torvalds wrote:
> On Fri, 27 Aug 2004, Craig Milo Rogers wrote:
> > If you read Nemosoft's final driver release (which has been
> > reposted, and of which I now have a copy), you can see that he was
> > rewriting his code to move the proprietary codecs out of the kernel
> > entirely, and into user-mode libraries to be linked with consenting
> > applications
>
> That sounds quite good, in my opinion.
And not even too good to be true. In PWC 9.0 I introduced a RAW mode that
passes the compressed stream through unmodified, together with some support
ioctl()s.
> Whenever somebody says "accept the driver to help users", they are
> missing the big picture. A binary driver SCREWS OVER users on other
> architectures. It pretty much guarantees that those other architectures
> will never be supported. (And that's totally ignoring the maintenance
> issues even on regular x86).
Well, there's cross-compiling. You're probably not aware of this, but the
most recent PWC major version increase included some changes that would
make it a lot easier for me to cross-compile the real decompressor core to
any platform that GCC supports. The code is (was) turned into a library
(.a) which can be used as a user-program library, or turned into a kernel
module with a bit of glue code. So far, 6 different platforms in various
'flavors' were supported, and the number was growing.
Still not a perfect solution, but it means less and less people were
'screwed over', with relatively little effort (all they had to do was point
me to a cross-compiler toolchain...). I think I was supporting more
platforms than nVidia ever will :-P
> > Linus, would you adress a moot issue, please? If Nemosoft (or
> > someone else) were to release some of the codecs in question as one or
> > more open-source loadable kernel modules (similar to sound card
> > support modules in the ALSA system), while other codecs remain
> > binary-only loadable kernel modules (distributed outside the kernel,
> > but using the same hook as the open-source loadable modules), would
> > the pwc driver and codec extension hook be allowable, in your opinion,
> > please?
>
> I'd be leery.
[snip]
> So I'd personally much prefer the user mode approach. At that point it's
> still closed-source, but at least there is not even a whiff of a "hook"
> inside the kernel.
My problem with that is that it makes using such cams a lot harder for both
users and developers of webcam tools. Basicly, every tool that wanted to
use webcam X that has some binary-only library would need to specifically
support it, use probing routines, check which formats are supported, set up
the decompressor, push the data through it, etc. Conversely, every user
that wanted to use webcams X, Y and Z would need to check first if they are
all supported by the program(s) he would like to use.
The point is, the current API for video devices is the Video4Linux of
Video4Linux2 interface. It's relative simple one, but it _works_ the same
on all hardware, either TV card or webcam. What you're proposing is
fragmenting that support into programs that support X, Y or Z, or only a
subset, or none, based on whether or not the developer of said tool had the
time, skill and desire to incorporate these libraries into their program.
So instead of putting the support burden on one person (me), you want to
distribute it among a few dozen software developers. I don't think that's
really smart. It also takes the fun out of hacking a small webcam tool
together for whatever purpose, if you need a ton of extra tools, libraries
and program just to get one image.
A solution could be something like JACK for the ALSA sound cards, but then
for video. But you need a compelling reason, and somebody (somebodies) to
design, write and maintain it.
Anyway... wether or not PWC was illegal under the GPL, technically
undesirable or just not good enough, is irrelevant now. The damage has been
done, and that's just sad.
- Nemosoft
next prev parent reply other threads:[~2004-08-27 21:48 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-26 23:32 Termination of the Philips Webcam Driver (pwc) Craig Milo Rogers
2004-08-26 23:47 ` Christoph Hellwig
2004-08-27 0:03 ` Linus Torvalds
2004-08-27 8:43 ` Christoph Hellwig
2004-08-27 9:48 ` Craig Milo Rogers
2004-08-27 17:28 ` Linus Torvalds
2004-08-27 17:37 ` Xavier Bestel
2004-08-27 18:13 ` Linus Torvalds
2004-08-27 18:55 ` Craig Milo Rogers
2004-08-27 19:06 ` Linus Torvalds
2004-08-27 19:34 ` Jeff Garzik
2004-08-27 21:42 ` Nemosoft Unv. [this message]
2004-08-27 22:49 ` Marek Habersack
2004-08-27 23:40 ` Dmitry Torokhov
2004-08-28 17:42 ` Pavel Machek
2004-08-27 23:04 ` Craig Milo Rogers
2004-08-27 21:59 ` non-i386 architectures (Re: Termination of the Philips Webcam Driver (pwc)) Daniel Egger
2004-08-27 19:06 ` Termination of the Philips Webcam Driver (pwc) Martin J. Bligh
2004-08-27 19:12 ` Alex Belits
2004-08-27 21:36 ` Anton Altaparmakov
2004-08-27 21:42 ` Anton Altaparmakov
2004-08-27 22:26 ` Geert Uytterhoeven
2004-08-27 21:52 ` Linus Torvalds
2004-08-27 22:22 ` Jeff Garzik
2004-08-28 0:45 ` Paul Jakma
2004-08-28 0:53 ` Craig Milo Rogers
2004-08-28 10:29 ` Norbert van Nobelen
2004-08-29 14:37 ` Alan Cox
2004-08-28 9:26 ` chris
2004-08-29 14:41 ` Alan Cox
2004-08-29 14:36 ` Alan Cox
2004-08-29 18:09 ` Linus Torvalds
2004-08-29 18:57 ` Alan Cox
2004-08-29 19:40 ` Greg KH
2004-08-30 9:35 ` Craig Milo Rogers
-- strict thread matches above, loose matches on Subject: below --
2004-08-27 10:14 Koos Vriezen
2004-08-27 11:03 ` Marcus Metzler
2004-08-28 2:16 lkml-mail
2004-08-28 5:30 ` Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=200408272342.30619@smcc.demon.nl \
--to=webcam@smcc.demon.nl \
--cc=hch@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=rogers@isi.edu \
--cc=torvalds@osdl.org \
--cc=xavier.bestel@free.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox