Please create an account to participate in the Slashdot moderation system

 



Forgot your password?
typodupeerror
×
Hardware Hacking Software Linux

Kernel Maintainer Kills Philips USB Camera Support 206

outanowhere writes "The author of the Philips webcams kernel module has thrown in the towel and quit providing the pwc and pwcx kernel modules which make using Philips-based USB cameras such as those from Logitech and Philips possible with Linux. According to the author, the last straw was when a kernel maintainer changed his pwc module to make using the binary-only pwcx compression module impossible. It is a victory for obsessive kernel-purists but a major loss for all Linux users."
This discussion has been archived. No new comments can be posted.

Kernel Maintainer Kills Philips USB Camera Support

Comments Filter:
  • By the way (Score:4, Insightful)

    by gazbo ( 517111 ) on Friday August 27, 2004 @06:50AM (#10086587)
    For all of you who wonder what we mean when we say "zealots make it hard for businesses to take F/OSS seriously", this is what we mean.
    • Re:By the way (Score:5, Insightful)

      by psavo ( 162634 ) <psavo@iki.fi> on Friday August 27, 2004 @07:13AM (#10086667) Homepage

      For all of you who wonder what we mean when we say "zealots make it hard for businesses to take F/OSS seriously", this is what we mean.

      Nope. This is eating own dogfood, having a stance and keeping it. Businesses can be sure that there's no fucking around rules of linux development. It's either playing by the rules or not playing at all.

      • Re:By the way (Score:3, Insightful)

        by orthogonal ( 588627 )
        Nope. This is eating own dogfood, having a stance and keeping it. Businesses can be sure that there's no fucking around rules of linux development. It's either playing by the rules or not playing at all.

        Um, whose rules?

        If open source is about choice, I've just lost the choice to use both Phillips-based webcams and linux. Now my choice is one or the other.

        But if by "rules" you mean that the linux developers are making me -- and many others -- bear the costs of the developers' ideological fights, then say
        • Re:By the way (Score:5, Insightful)

          by nathanh ( 1214 ) on Friday August 27, 2004 @09:36AM (#10087568) Homepage
          If open source is about choice, I've just lost the choice to use both Phillips-based webcams and linux. Now my choice is one or the other.

          It is about choice. You can choose to put the USB hook back and maintain the Philips webcam driver indefinitely in a separate kernel tree. The current kernel developers have the choice to drop that USB hook and tell the Philips webcam guy to find another way. The Philips webcam guy has the choice to reimplement the Philips webcam driver in userspace using libusb. Though as it is, he chose to have a hissy fit. His choice.

          The mistake you've made is in thinking that "choice" is equivalent to "kernel developers give you all the options and you just choose a precanned solution from a checklist". That's not how it works. Get off your lazy butt and make things happen. Stop complaining that the kernel developers aren't doing things the way you want them to be done. That's their choice to make, not yours. Exercise your freedom of choice but don't expect others to do the work for you.

          • Re:By the way (Score:4, Insightful)

            by Enrico Pulatzo ( 536675 ) on Friday August 27, 2004 @10:18AM (#10088021)
            So you have a choice, be practical and don't use the camera with Linux, or be shackled with the responsibility of maintaining a module across any kernel version you may ever come across.

            Ain't freedom grand? As with most things in life, freedom is only available to the elite few that possess enough understanding to be free in the first place. I understand that I'm free to fork the source, but if I lack the knowledge necessary to hack on the kernel what good is it to me to fork?
          • Re:By the way (Score:5, Interesting)

            by Teogue ( 797794 ) on Friday August 27, 2004 @10:19AM (#10088030) Homepage
            As a developer for a very small company, trying to get our Open Source driver into the 2.4 kernel was a nightmare.

            For several reasons, user land was not a viable option. The elitist control freak running the show wouldn't let our code in. Consequently, we lost some good free advertising, and possibly some customers in order to feed the ego of some guy bent on denying anything he thought could go through user land instead.

            We ended up just putting the source on our web site. Several customers already use it very successfully. But none the less, we were blocked from contributing while trying to uphold the spirit and ideals of OSS. I can only imagine how much the poor sap from Philips was being jerked around.

            That being said, Linux was a stroll through a grassy meadow compared to trying to go through WHQL testing for M$.
            • Why couldn't it go in user space? The fact that people suggested it implies it might have been workable... and keeping stuff out of the kernel is worth some extra effort.
            • Re:By the way (Score:3, Interesting)

              by warpSpeed ( 67927 )
              The elitist control freak running the show wouldn't let our code in.

              I find it hard to swallow just one side of the story. (Score:4, Interesting)?!?! It is all to easy to just spout off with your opinion about an "elitist control freak" with out providing something to back up yor claims. Are there emails in LKML that you can back your assertions up with? What is your software driver package for, and do you have a URL for the download? Who is the control freak?

              I'm much more willing to give your point

              • Re:By the way (Score:2, Interesting)

                by Teogue ( 797794 )
                I am admittedly and quite obviously biased. I assumed that this would go without saying in my original post, but it did not.

                I'll not give you any information that could be traced back to me or my company, but take a moment to think on the way in which new drivers are scrutinized. They must have the Linux standard formatting, which at least I find quite odd. If the driver does not behave like other drivers in its class then you'll likely be rejected by default and have to claw your way in. Which is simil
                • Re:By the way (Score:3, Informative)

                  by r00t ( 33219 )
                  You do need to follow the Linux standard formatting.
                  This is simply because your code needs to be
                  readable to everybody, and everybody is used to
                  the standard style.

                  Often, somebody will go through the Linux source
                  code making fixes to hundreds of drivers. Such a
                  person can work much faster if all the code uses
                  the same style.

                  Fix the style, then post to linux-kernel with
                  copies to Linus and Andrew Morton. Repeat as
                  needed, fixing up any objections you get.

                • I have to agree with the other respondant. I understand how irritating it is for you -- after all, there are no code style constraints on Windows drivers -- but the only software that makes it into the mainstream Linux kernel (or bundled with the Windows distribution) is the very good stuff, and unlike on Windows, on Linux the code, not just the binary, is a factor in the quality.

                  I *do* realize that this could cause major problems if there are internal reasons for using a particular style or -- God forbid
        • Comment removed (Score:5, Insightful)

          by account_deleted ( 4530225 ) on Friday August 27, 2004 @09:40AM (#10087615)
          Comment removed based on user account deletion
        • Re:By the way (Score:2, Insightful)

          by Anonymous Coward
          It's not about choice. That's the problem. Sure, "Open Source" may be about choice, but "Free Software" isn't.

          I'll explain.

          The GPL, under which the Linux kernel is released, is about using the idea of copyright to restrict one thing that copyright has traditionally been used for: controlling what others do with the work.

          In a sense, the GPL and "Free Software" are about restrictions. The whole idea is to restrict the copyright-holders ability to control what others do with the work.

          On a certain level,
    • Re:By the way (Score:5, Insightful)

      by MS_is_the_best ( 126922 ) on Friday August 27, 2004 @07:15AM (#10086672)
      Despite the somewhat suggestive text from 'outanowhere' the truth is different I guess. Philips does not want to support linux, by providing a kernel driver for their device. That is their choice. This is and stays the main problem.

      Now, someone ported a binary driver to linux. Very nice from this guy, but in the long run this will hurt linux (AND linux users). Manufacturers are just weighing what's the penalty and the profit for bringing out a driver (binary or source), no driver or support somenone who writes a driver (binary or source). Now, if the use of binary drivers is discouraged, there will be more source drivers becoming available (but less drivers, some manufacturers are not willing to open their source). However in the long run (and linux marketshare will help) manufacturers have to support linux. The more other manufacturers have open source drivers, the less trouble they have doing the same.

      Of course you can say all things about manufacturers 'not being able to open' (nvidia binary drivers cannot be opened, because of rules, etc.), but that is just not true. Nvidia has no advantage of opening their secrets (yes, their competitors will take advantage of this) and therefore they are not doing it (they lose perhaps a handfull of users). A perfect business decision in the light of most linux users using a binary driver. However if ATI IS providing (this is an example) the source, Nvidia has to look different to the situation, especially if, say 20% of the users uses ATI because of this and if ATI is also 'giving up' their secrets.

      All this is just negotiation in the end and we should not give up already and accept binary drivers. That is just like a salesman selling televisions for 1 dollar, because that is bidded first.

      No, i am not obsessed, just differently minded (and not native, sorry for my language).
      • Re:By the way (Score:4, Insightful)

        by GregChant ( 305127 ) on Friday August 27, 2004 @07:27AM (#10086711)
        Manufacturers are just weighing what's the penalty and the profit for bringing out a driver (binary or source), no driver or support somenone who writes a driver (binary or source).

        Do you have any evidence that this is the case, or is this just pure speculation?

        Now, if the use of binary drivers is discouraged, there will be more source drivers becoming available (but less drivers, some manufacturers are not willing to open their source).

        This is wholly fallacious. There is nothing to suggest that by blocking binary-only development, more source will become available. This is a pipe-dream of the F/OSS utopia.

        However in the long run (and linux marketshare will help) manufacturers have to support linux.

        Again, fallacious; again, a pipe-dream of the F/OSS community.

        The more other manufacturers have open source drivers, the less trouble they have doing the same.

        Do you have any evidence that this is the case?

        Nvidia has no advantage of opening their secrets (yes, their competitors will take advantage of this) and therefore they are not doing it (they lose perhaps a handfull of users). A perfect business decision in the light of most linux users using a binary driver. However if ATI IS providing (this is an example) the source, Nvidia has to look different to the situation, especially if, say 20% of the users uses ATI because of this and if ATI is also 'giving up' their secrets.

        You ought to have stopped after the first sentence. There is no monetary advantage to opening source or revealing trade secrets: the software industry isn't high school. If Janie (i.e. ATI) is smoking the marijuana (opens the source to its drivers), it doesn't mean it's okay for Bobby (nVidia) to do the same; it just means Janie (ATI) is foolish.

        As several people have said, the consumer cares about what "just works". They don't care about software ideals, as evidenced by Microsoft's 95% market share. The software industry is inherently capitalistic, and will follow the money. If the consumer wants something that just works, and the F/OSS community isn't going to give it to them, they are going to pay money for it. This is where you will find the software industry: not out trying to "play by the F/OSS rules".

        • Re:By the way (Score:5, Insightful)

          by MS_is_the_best ( 126922 ) on Friday August 27, 2004 @07:42AM (#10086755)
          Yep, I agree with you. However about 'the evidence' you want. I just know business, they (actually we), just weigh in the advantages against the disadvantages (usually involves calculation of money).

          There is nothing to suggest that by blocking binary-only development, more source will become available. This is a pipe-dream of the F/OSS utopia.
          No, it is just common sense. The push on, say Nvidia, to open their source is larger if binary drivers are not possible. Two things are important in this situation, marketshare and large customers. Large customers can perhaps (now under NDA) already get the source, lose of market share (if net loss of opening drivers is smaller than loss of profit by a smaller share in market they will just open of course).

          However I tend to agree with you that when all binary drivers are forbidden and the manufacturers are offered a choice, leave the linux market or open their code, much much more will choose the first. That is because the business situation is like this at the moment. But some will not. (for example the NIC company specialized in linux clustering etc.).

          If Janie (i.e. ATI) is smoking the marijuana (opens the source to its drivers), it doesn't mean it's okay for Bobby (nVidia) to do the same; it just means Janie (ATI) is foolish.
          Companies are sometimes behaving more emotional than factual. For example if some major top 500 companies buy Linux licenses from SCO, a lot will follow. Their bosses will say, 'hey if BMW buys a license we have to do that also, because they have good lawyers'. Without even checking theirselves. This happens a lot (too much).
          • Re:By the way (Score:3, Insightful)

            If Janie (i.e. ATI) is smoking the marijuana (opens the source to its drivers), it doesn't mean it's okay for Bobby (nVidia) to do the same; it just means Janie (ATI) is foolish.
            To reply to myself: I just thought of a better example to show this stuff DOES happen. Just look at the support list of the ALSA project (http://www.alsa-project.org/alsa-doc). They have a history of strongly discouraging binary drivers and it pays of. Yes, some manufacturers are unwilling to open, but a lot fall for the argument,
          • It's funny that you should use the marijuana story,
            since the heaviest pot smoker I ever met was a
            driver developer for ATI. I never met Carl Sagan.

        • This is a pipe-dream of the F/OSS utopia.

          Oop! I'm sorry, that was your credibility that just went down the drain. Here's a tip: if you want people to listen to what you have to say, don't insult your target audience.

          It doesn't matter any more what points you're trying to make. You've just prejudiced your reader against you. This is great if you want an argument, but not so sensible if you actually want to get your point across...

        • The software industry is inherently capitalistic, and will follow the money.

          Not so. Capitalism states anything you give away for free has no value. Far more enlightened people than me are STILL speculating on the nature of the software industry. It seems to me quite obvious the the success of Open Source software shows that software does not follow the rules of capitlism. I am tired of hearing what seem to be intelligent people on slashdot bolding predicting the future. I am reminded of the old chinese sa

        • Re:By the way (Score:3, Interesting)

          You ought to have stopped after the first sentence. There is no monetary advantage to opening source or revealing trade secrets: the software industry isn't high school. If Janie (i.e. ATI) is smoking the marijuana (opens the source to its drivers), it doesn't mean it's okay for Bobby (nVidia) to do the same; it just means Janie (ATI) is foolish.

          Actually, the opposite is quickly becoming true.

          It all depends on what kind of systems you're using your hardware with. True, I can't see a Fortune 500 compa

        • Re:By the way (Score:4, Insightful)

          by V. Mole ( 9567 ) on Friday August 27, 2004 @11:22AM (#10088680) Homepage

          There is no monetary advantage to opening source or revealing trade secrets.

          Sure there is. I buy only hardware that is supported by open source drivers. Philips, Nvidia, and ATI are in the hardware business. If they want to sell hardware to people like me, they'll have to supply the docs. I'm not asking them to supply drivers, although that would be nice. I'm asking them to make the docs available, so that others can write drivers.

          The Philips case is especially absurd. I'm prepared to believe that ATI and Nvidia have stuff in their drivers that gives them a competitive advantage. But some dinky little compressor? Give me a break. I bet it's only proprietary because it's some crappy little algortithm that it would embarass them to release.

        • You ought to have stopped after the first sentence. There is no monetary advantage to opening source or revealing trade secrets: the software industry isn't high school. If Janie (i.e. ATI) is smoking the marijuana (opens the source to its drivers), it doesn't mean it's okay for Bobby (nVidia) to do the same; it just means Janie (ATI) is foolish.

          The last graphics card I purchased was a Radeon 9100. It will remain that was as long as there is is no Free Software driver for a more powerful graphics card.

      • Re:By the way (Score:2, Interesting)

        Now, someone ported a binary driver to linux. Very nice from this guy, but in the long run this will hurt linux (AND linux users). Manufacturers are just weighing what's the penalty and the profit for bringing out a driver (binary or source), no driver or support somenone who writes a driver (binary or source). Now, if the use of binary drivers is discouraged, there will be more source drivers becoming available (but less drivers, some manufacturers are not willing to open their source). However in the long
        • I'm afraid you chose the wrong example here, because nVidia is dealing with licensing agreements forced upon them by law. They tried to use someone else's IP, and they got caught, and were forced to license that IP
          No, this example works. They cannot open the drivers they currently have, because there is IP from others in it. That is true. But if they have business incentive (more cards sold etc.) to open their drivers, they can rewrite the protected IP part with a different algorithm.

          In the Nvidia case th
      • I thought the point of the Linux "community" was that you could dissassemble your toaster and write Linux drivers for it to replace the manual controls?

        Phillips has likely licenced the technology from another vendor who is unwilling to change the terms. The fact that they were willing to provide access to the code under NDA at little or no cost displays their good intentions.

        If the Linux kernel team is going to fuck with binary code in the kernel, then alot of other devices are going to be broken.
    • This is exactly why I don't run Linux on my laptop. Most laptops (especially Intel Centrino-based) are shipping with binary-only drivers. This same problem is going to affect them - this is not just a USB camera issue...

      Now are you seriously going to tell me (and millions of other users) that because the purists want it this way that we can't install a version of Linux on a laptop without net access w/o first hacking together a custom kernel?!? wtf?!?

      I read an article on /. not too long ago that talked
      • I read an article on /. not too long ago that talked about the great lenghts Microsoft programmers went through to make sure that future versions of Windows were compatible with previous releases of software already in the wild - this is exactly why they have over 90 percent marketshare and 50 billion in the bank.

        If backwards compatability was the main reason for MicroSofts success, then NetBSD would give them a run for their money. NetBSD is backwards compatible with previous releases all the way to 4.3

      • That's why I like IBM Thinkpads. They have reliably run Debian or RedHat for me since the 600X back in '97.

        When you are competing on price in a commodity market, you make your profit on the last 10% of the sales. The difference between a 90% target market and a 99% target is the difference between success and bankruptcy.

        The only reasons any vendor of consumer-level mass sales hardware gets away with not documenting their interfaces are (1) lack of competition in an early-adoption market or (2) lack of c
  • by Fizzl ( 209397 ) <fizzl@@@fizzl...net> on Friday August 27, 2004 @06:50AM (#10086588) Homepage Journal
    Yes, all Linux users who care about that particular module.

    Itt's not like everyone in the world own a Philips USB camera.

    Yes, yes. I know what's the point. Making it harder to include binary carbage in the kernel makes it harder to provide modules for proprietary hardware solutions.

    But in the long run, do you want to have third party binary carbage in YOUR KERNEL?
    No way to check out what's in there. Except perhaps reverse engineering, which isn't an option to everyone. Programming is hard. Reverse engineering is harder.
    • "But in the long run, do you want to have third party binary carbage in YOUR KERNEL?"


      I think you are missing the point. Not every user cares what is in their kernel, much the same was as Windows users don't. They just want stuff to work.

      • by psavo ( 162634 ) <psavo@iki.fi> on Friday August 27, 2004 @07:18AM (#10086680) Homepage

        I think you are missing the point. Not every user cares what is in their kernel, much the same was as Windows users don't. They just want stuff to work.

        And you're missing the 'provider' point. If Linux kernel maintainer isn't willing to provide binary module hooks into kernel, then it's his right to refuse having them.

        This module could walk around this rule by having same system as nVidia kernel driver, but no, they come to slashdot, bitch and moan.

      • Not every user cares what is in their kernel, much the same was as Windows users don't.

        True, but this is short-sighted. The binary drivers WILL give problems in the long run for the users. (Microsoft knows this, windows is unstable with unstable drivers, therefore they emphasize a lot on signing of the drivers by Microsoft!)

        It remembers me of the feauture bloat of win95-win200 path. The users wanted these feautures (being able to do all kind of things) and didn't care about the security impact. Microsoft
        • Sorry, but if it comes down to me having problems with a driver versus not having a piece of hardware work at all, I'll take the former.

          I almost threw my laptop out the window years ago when I installed Suse and couldn't figure out for the life of me why I couldn't get the damn WiFi interface to work.

          When I discovered that it was because my laptop had an built-in wifi card that had a binary only driver (and I had to jump through hoops to install 3rd party support for it) I instantly just wiped Suse out an
          • by Anonymous Coward
            So buy an IBM laptop if you want to run Linux. That laptop was completely useless to you because it was designed for Windows.

            You have to put your money where your mouth is. If you want a linux laptop, you GET a linux laptop. You don't bitch that your Windows-only laptop doesn't run linux.

            This way there is a monetary incentive for these companies to support linux & the GPL.
        • True, but this is short-sighted. The binary drivers WILL give problems in the long run for the users. (Microsoft knows this, windows is unstable with unstable drivers, therefore they emphasize a lot on signing of the drivers by Microsoft!)

          Do you only use WQHL drivers? Not many people I know do, particularly with video drivers. I have heard support techs tell people to upgrade to the latest drivers. I've heard them tell people to upgrade to the latest beta (!) drivers. I've never heard one tell a customer
      • Comment removed (Score:5, Insightful)

        by account_deleted ( 4530225 ) on Friday August 27, 2004 @07:32AM (#10086729)
        Comment removed based on user account deletion
      • I think you are missing the point. Not every user cares what is in their kernel, much the same was as Windows users don't. They just want stuff to work.

        True. Not every users cares. However in Linux land it's the kernel developers who make all the decisions. So what the kernel developers care about is all that matters. The most influential kernel developers (eg, Linus, Alan) have been consistent in their stance that they will not go out of their way to support binary modules. If a binary module breaks

    • by megalomaniacs4u ( 199468 ) on Friday August 27, 2004 @06:57AM (#10086612)
      Yes, yes. I know what's the point. Making it harder to include binary carbage in the kernel makes it harder to provide modules for proprietary hardware solutions.

      Forward to the past!

      Yes, binary only modules are unacceptable in principle. Unfortunately unless you want to head back the days when most hardware wouldn't work under Linux they are a necessary evil.

      Of course the zealots who want pure open-source will eventually have to face the fact that some companies will never open-source anything or live in eternal denial.

      • The binary driver for the Aureal Vortex soundcard stopped working when distributions started using GCC 3 for kernel compiles. What can we do? Nothing. Aureal went bankrupt in 2000.
        A binary driver means planned obsolescence for your hardware as soon as the manufacturer loses interest.
        Oh, I'm sure you simply dump your machines yearly and get a new one, but those old clunkers are not defective in any way - or wouldn't be, if their driver came with source that we could update. There's your ecological argument for open source.
    • by ColaMan ( 37550 ) on Friday August 27, 2004 @07:00AM (#10086625) Journal
      The thing is , if you *want* binary third-party carbage in your kernel, well now *you cannot do it at all*
      If you don't want third-party binary carbage in your kernel, well, you don't load the module that contains it.

      People want their stuff to work. If they need to load a binary module to get their stuff to work, then they'll generally do that, zealots be damned.
    • But in the long run, do you want to have third party binary carbage in YOUR KERNEL?

      Yes. I use a Phillips based camera. Now I will no longer be able to do so from Linux, and you're trying like hell to tell me this is Good(TM) for me.
  • by The Flying Guy ( 528591 ) <{xc.hta.suraki} {ta} {suraki}> on Friday August 27, 2004 @07:03AM (#10086633) Homepage
    I met the maintainer once (although he lives relativly close), nice guy, but I kinda think this is just a useless move to annoy him, there are many fully binary only modules out there and he makes the effort to make opensource what he can (NDA) but provides a binary only module (on his own website) to add some more functionality (larger image/higher fps).
  • Last release ... (Score:4, Informative)

    by dago ( 25724 ) on Friday August 27, 2004 @07:11AM (#10086656)
    Sad, really sad. It's a lose-lose situation, and the biggest losers are linux users [who have pwc-based webcams].

    Anyway, the last release files can still be found online, backup fast (e.g. gentoo distfiles : pwcx-8.4.tar.gz [switch.ch], usb-pwcx-8.2.2.tar.gz [switch.ch]).

  • Can anybody with real knowledge explain this in more detail?

    The Linux kernel certainly does allow a "hook to load a binary module". How about "load module"? Or "exec" for that matter. There are dozens of binary closed modules that work "out of the box" (NVidea for instance? All those NT wireless cards? And I personally am employeed selling an evil closed-source application for Linux and the kernel maintainers have not removed exec() to stop me!

    So my first reaction is that this guy is trying to raise flame
  • Sheesh... (Score:5, Insightful)

    by nathanh ( 1214 ) on Friday August 27, 2004 @07:27AM (#10086712) Homepage
    It is a victory for obsessive kernel-purists but a major loss for all Linux users.

    Talk about flagrantly showing your bias. How about we rephrase that last sentence as...

    It is a victory for kernel developers who do not have to waste their time with crash dumps from kernels linked to binary modules, for users who benefit from a more stable kernel, and for the advancement of Linux because it is not held back by archaic binary interfaces.

    This is only a loss to those silly people who think that their $50 web cam is so damn important that all of the kernel developers should support binary interfaces to cater for undocumented video hardware. The USB hook for binary modules was a real detriment to the USB subsystem. It was taken out for technical reasons.

    As for this..

    So what's going to happen next? Well, I'm pulling the plug completely. I'm cleaning up this website, removing the downloads, documentation, FAQs, etc.

    Talk about immature. He could leave it there until a new maintainer stepped forward but he'd rather have a dummy spit and stamp his feet.

    So what can you do about it? Not much, unless the kernel maintainers ease up a little, and stop being such fundamentalistic turds.

    What a wanker.

    • Re:Sheesh... (Score:4, Interesting)

      by IamTheRealMike ( 537420 ) on Friday August 27, 2004 @08:41AM (#10087053)
      It is a victory for kernel developers who do not have to waste their time with crash dumps from kernels linked to binary modules, for users who benefit from a more stable kernel, and for the advancement of Linux because it is not held back by archaic binary interfaces

      I don't have much sympathy. API versioning isn't rocket science, and it does not doom you to "archaic" interfaces when managed correctly. Compatibility between the major releases (2.4 series, 2.6 series) etc alone would be a major improvement. It can be as simple as introducing a new function instead of changing the prototype of a new one, or introducing padding into the structures.

      Unfortunately the kernel developers have this idea that somehow the kernel is exempt from the same rules that govern userspace: if you document and expose interfaces to external code, you keep the interfaces stable.

      Quite a lot of armchair coders don't understand backwards compatibility. It does not (necessarily) lead to insecurity or unreliability. I would like to be given examples of occasions where it has, in fact. It does mean managing change, but then this is what maintainership is all about.

      The idea that making binary development hard increases the likelyhood of source releases is a fantasy based on an incomplete understanding of the economics involved. The most likely outcome is in fact the discontinuing of the drivers altogether, as has happened here.

      The USB hook for binary modules was a real detriment to the USB subsystem. It was taken out for technical reasons.

      It was not. Re-read Greg KHs emails. It was taken out because he thought it was a GPL violation (which is a gray area).

      Talk about immature. He could leave it there until a new maintainer stepped forward but he'd rather have a dummy spit and stamp his feet.

      He has worked for years to produce a solid driver for the community, even signed NDAs to get the relevant specs, and has coded on in the face of ridiculous instability in kernel development. It isn't easy doing such job, yet he did it anyway.

      When you have contributed for so long, in the face of such a difficult API to work with, then you may have some authority to say whether his behaviour is "childish" or not. In his position I'd be pretty pissed off as well.

      Hell, even Linux userspace has severe problems with keeping stable interfaces. I would hate to be a kernel developer.

      • Re:Sheesh... (Score:4, Insightful)

        by RustyTaco ( 301580 ) on Friday August 27, 2004 @02:20PM (#10090436) Homepage
        Unfortunately the kernel developers have this idea that somehow the kernel is exempt from the same rules that govern userspace: if you document and expose interfaces to external code, you keep the interfaces stable.
        There's the part you're not understanding. Aside from the syscalls which havn't really changed in ages (You can boot the same userland on a 2.2, 2.4, or 2.6 kernel) Linux does not have any "Documented and exposed" interfaces. It's monolithic by design, so anything in kernel space is part of the kernel and uses volitile internal interfaces. It's not what they teach you in CS 101, but that's how it works.

        - RustyTaco
  • by Spoing ( 152917 ) on Friday August 27, 2004 @07:47AM (#10086773) Homepage
    There are debates like this on the Linux Kernel Mailing List frequently. Should binary modules be supported? If so, within what limits? The concensus seems to be;

    • Loading firmware to a target device is OK.
    • Loading a binary kernel module taints the kernel;
      • Idealistically: It's not open source!
      • Practically: Defects in that binary module can be debugged but the original source can't be fixed since it's not available -- so it's a waste of time.
      • A big annoyance: One bad module can cause non-obvious problems, so if the kernel is tainted it is entirely suspect.
    • Code clean up and improvement will impact the kernel interfaces; changes constantly happen in other kernel structures as well as user space tools.
    • The push over time is to place as much under the control of user space tools as possible and as little in kernel modules (within limits).

    While the Philips binary seems to be stable, if an exception to it were made other binary modules could be argued for. In fact, that's what is happening now; more and more kernel patches are being made available with binary-only parts.

    There are two solutions to this;

    • Move the driver to user space and out of the kernel.
    • Open the source for the binary part.

    Converting USB kernel modules into user space tools happens regularly. Not as easily done as said, and it's less prestigious, though as a technical solution it does solve the kernel dispute.

    Not having the source for these devices is silly, though. Do they intend to sell hardware or drivers? By releasing the source or the specs (at a minimum), Philips would gain much and loose little. Someone else can go on a rant to fill in the details...I'm done!

    • The relevant binary code involved video codecs. These are often patented and licensed from 3rd parties. Even if Phillips had invented and created the technology, that doesn't mean it's in their economic advantage to do so.
        1. The relevant binary code involved video codecs. These are often patented and licensed from 3rd parties. Even if Phillips had invented and created the technology, that doesn't mean it's in their economic advantage to do so.

        There's no conflict with that, the kernel changes, and...

        • Move the driver to user space and out of the kernel.
  • by Domini ( 103836 ) on Friday August 27, 2004 @08:17AM (#10086906) Journal
    -grin-

    Kernel maintainers see linux as a server platform... and that seems to be that... webcams don't really make headway in the Apache-server linux arena which is what Linux is really mainly being used for apart from embedded stuff.

    Sure, perhaps they have a point? A kernel-hook here and a direct access there, and next thing you will have something like DirectX under linux! The Horror! A Security Nightmare!

    But then there is also the practical approach... if they remove these things, then there *should* be alternatives!

    Otherwise I will stop using Linux as my development platform as it's not consistent...

    -sigh-

    I've been using the pxc.o driver of Allesondro Rubini for some time now, and even that is a bit of a pain to install... One has to modify gub configs with kernel params etc...

    • if they remove these things, then there *should* be alternatives!

      There ARE alternatives. One is called libusb [sourceforge.net]. However, this guy decided that he'd rather not port his driver to libusb because it somehow makes it a second-rate driver, and therefore makes him a second rate developer or something... Tell that to the SANE developers, who are moving all USB scanner drivers over to use libusb.
  • by Nagus ( 146351 ) on Friday August 27, 2004 @08:19AM (#10086916)
    The decompression part of this driver is in the kernel. This allows applications to get at the uncompressed (or "decoded") videostream through the v4l (video4linux) programming interface.

    That's all fine and dandy, you may think. Not so. Nowadays applications shouldn't use these kernel interfaces at all. They should use media frameworks like GStreamer [freedesktop.org]. If they did, the driver core could remain in the kernel, while the decompressor would be a special video-source plugin for GStreamer that talks to the kernel driver through some private interface.

    The decompressor code could remain in userspace, where no one gives a flying fsck about its license. Applications would be more portable, and could use any video source instead of only v4l devices. Plus, it would be much easier to reverse engineer that damn decompressor, put it under the GPL, and be done with it.
  • by phunhippy ( 86447 ) <zavoid&gmail,com> on Friday August 27, 2004 @08:23AM (#10086942) Journal
    So what can you do about it? Not much, unless the kernel maintainers ease up a little, and stop being such fundamentalistic turds.

    I spittled my cereal all over my desk!! thanks a lot!

  • Misguided (Score:5, Informative)

    by albalbo ( 33890 ) on Friday August 27, 2004 @08:28AM (#10086971) Homepage

    I love the misguided comments in this story. In particular, I like the "most users don't care what is in their kernel, so we shouldn't care that we're taking away freedoms from all (including those who do care)".

    Some comments from the guy who actually did this (http://www.uwsg.iu.edu/hypermail/linux/kernel/040 8.3/0270.html [iu.edu]):

    "Without this hook, PWC will work, but with limitations, just as it always has."

    "Actually, I've got a little surprise for you. The NDA I signed with Philips has already expired a year ago. Yet, I didn't just throw the decompressor code on the Internet."

    So, just to summarise, a) removing the hook doesn't stop the driver working, b) there isn't really anything stopping him publishing the code as free software. Basically, he just wants to take his ball home because he thinks he should be allowed to put hooks for proprietary modules into the kernel.

    Is it the first time he's threatened to do this? No (http://www.uwsg.iu.edu/hypermail/linux/kernel/010 5.3/0365.html [iu.edu]):

    "Anyway, I am not going to debate this any further at this point. Johannes, please remove my webcam driver from the USB source tree" (May 25, 2001)

    Linux doesn't need proprietary drivers, it doesn't need to compromise freedom, and it certainly doesn't need people to try to press the issue by holding code hostage. And, aside from all the facts that this guy is acting an arse, there are also questions over whether or not the hook is legal (Linus' point of view of derivative works of the Linux kernel is quite clear - they must be GPL'd), and the decision to remove the hook was partially a technical one anyway (only one driver is using it).

    Yet, we are still going to get people holding this up as an example of the GPL preventing Linux from "going enterprise" or whatever. Guys; shove it - for Linux to be "accepted by business" doesn't mean that developers should bend over for whatever perversion proprietary companies want. Jeesh.

    • He already explained why he hasn't published the information. Whether you agree with his reasoning or not is besides the point, he's explained it and it's not that he just gets a kick out of it. Given that the binary code has broken in the past I tend to agree with him.

      Linux doesn't need proprietary drivers

      "Linux" may not, but "Linux users" certainly do, at least until the fundamental questions of economics and patents are resolved. Until then proprietary drivers will be on the increase, just like pro

  • by Tom7 ( 102298 ) on Friday August 27, 2004 @08:46AM (#10087089) Homepage Journal
    So what's going to happen next? Well, I'm pulling the plug completely. I'm cleaning up this website, removing the downloads, documentation, FAQs, etc. I'm discontinuing the webcam@ mailbox, and I'm going to request (well, demand) that PWC will be removed from the kernel tree. I do not want a crippled driver in the kernel with my name attached to it. Last, I'm going to remove the entries in the bugtracker.

    It's fine to lose interest due to political reasons and want to stop maintaining it. But this is pretty lame. Demanding that his code be removed from the kernel? (I expect the license will make it impossible to really "demand" that.) Getting rid of all the existing downloads, documentation and FAQs? It sounds more like a tantrum to me.
    • Tantrum (Score:2, Insightful)

      by hummassa ( 157160 )
      It *is* a tantrum.

      He can't demand back what he has already GPL-licensed. He can request it to be evicted of the kernel, and his request will probably be granted... Then someone else will take pwc and maintain it as a kernel patch. The interesting thing is that it seems not to exist any license information for pwcx.

      • Re:Tantrum (Score:3, Interesting)

        by orthogonal ( 588627 )
        He can't demand back what he has already GPL-licensed.

        I imagine that he can't demand that anyone who has exercised the rights granted under his license to retroactively remove his work from their own.

        But if he decides not to license his work under the GPL anymore, what right do you or I have to use his code in a new project? We have no license from him, so we'd be violating his copyright.

        The situation, of course, gets muddier: if I had incorporated, for example, the entirety of his GPL'd code in some pr
        • Re:Tantrum (Score:3, Insightful)

          by hummassa ( 157160 )
          I imagine that he can't demand that anyone who has exercised the rights granted under his license to retroactively remove his work from their own

          Such rights were already excercised by a lot of Linux distributions, because his work was in the _pristine_, official Linus' kernel; besides, the copyright of his work is not only his: his code is a derivative work on lots of parts of the kernel, and, as such, the copyright holders of those parts are stake-holders in the copyrights of his work.

          You used the expre
        • Re:Tantrum (Score:3, Insightful)

          by 0x0d0a ( 568518 )
          But if he decides not to license his work under the GPL anymore, what right do you or I have to use his code in a new project? We have no license from him, so we'd be violating his copyright.

          It doesn't work like that. He can choose not to license his *future* work on the codebase under the GPL *if* he is the sole copyright holder (or all copyright holders agree), but even if you are the sole copyright holder, you can never "remove the rights you granted under the GPL to existing code". It might be that
    • Actually it is his right to do so. He wrote and maintained all the pwc code, so he has the right to request that it be removed.

      It would be like painting a smile with teeth on the mona lisa because you did not like the smile that is there already.

      If you have ever participated in discussions on the kernel mailing list, then you'd know that there is a lot of hate running through that list. People get into real heated discussions and it always comes down to GPL this and GPL that. The GPL is all good and fi

      • Actually it is his right to do so. He wrote and maintained all the pwc code, so he has the right to request that it be removed.

        I don't think it is his right. Once you've licensed something to someone else under the GPL, you've granted the right for that person to make copies (subject to the terms of the license) forever. Some social code might dictate that the kernel developers should comply with his demands, but there would be no legal basis that I know of.
  • by Bazzargh ( 39195 ) on Friday August 27, 2004 @10:34AM (#10088195)
    3 years ago, when he was asked to take its image format conversion out of the kernel:
    here's the message [sourceforge.net]
  • by spaceyhackerlady ( 462530 ) on Friday August 27, 2004 @11:27AM (#10088735)

    Since the Philips webcams work so well (I have half a dozen myself in various applications, most with the 9.0 beta 2 driver), I'm surprised nobody has ever attempted to reverse-engineer the USB traffic and create a completely open, non-tainted-by-NDA decompression module.

    It wouldn't be the first time Linux developers had ignored an uncooperative device manufacturer.

    ...laura

  • by chongo ( 113839 ) * on Friday August 27, 2004 @12:27PM (#10089410) Homepage Journal
    The result of this PWC mess is a loss for the LavaRnd [lavarnd.org] project. We used the Logitech QuickCam 3000 Pro - pwc730 webcam [lavarnd.org] and the Logitech QuickCam 3000 Pro - pwc740 webcam [lavarnd.org] as two of our reference entropy sources because the cameras, when tuned with our code, are an excellent entropy source for generating random numbers [lavarnd.org].

    One ironic twist is that LavaRnd used only the PWC (open source) module. We did NOT use the PWCX (binary-only) module. Our hotplug script did an rmmod of the pwcx module. We discovered that the PWCX module reduced the entropy that the webcams provided. The PWCX module, when loaded, made webcams a poorer entropy source.

    LavaRnd used the entropy provided by the actual hardware. Our analysis showed that PWCX was in effect "faking" the larger image sizes by taking, say the true 160x120 pixel CCD output and expanding it to something like 640x480. The expansion was as if a 2D smoothing function (such as a 2D spline?) filled in the pixels in between. Each of the original 160x120 hardware pixels was turned into a 4x4 pixel grid where the edges of the grid were adjusted to fit better with neighboring 4x4 pixel grids. The PWCX appeared to support a higher frame rate because the PWCX module "decompressed" the true hardware pixels and filled in the pseudo-pixels on the other side of the USB wire.

    We discovered the PWCX effect while taking entropy measurements of webcam frames. Using PWC alone in 160x120 mode, the webcam produced slightly more entropy than 640x480 PWCX mode. The PWCX module was not adding real image data to webcam frames, it was just smoothing and filling in data that looked good enough to a human. However, PWCX could not fool the math ... :-)

    The PWC maintainer [demon.nl] says on his web site:

    "
    and I'm going to request (well, demand) that PWC will be removed from the kernel tree.''

    The PWC maintainer's position appears to be that if you cannot use PWCX, then PWC is worthless. From LavaRnd's point of view, PWCX (the binary only module) adds no value and in some ways reduces the Logitech QuickCam's value as an entropy source.

    We (LavaRnd) do not want to take sides in this PWC/PWCX kernel dispute. If this posting appears that way, then we apologize. The PWC folks have been mostly patient with our unusual use of their webcam modules. The Linux kernel folks have provided us with a wonderful platform for LavaRnd. As for ourselves, we put a lot of time into helping end users use the PWC module in older kernels [isthe.com].

    Here is our advice request:

    The LavaRnd project would like to see the PWC (open source) module remain in the Linux Kernel. We would like the Linux kernel folk to not honor the maintainer's request to remove everything. We want the support of PWC without PWCX to continue in the Linux Kernel. What is the best was to make this position / request known to the key Kernel people in the hopes they will PWC as part of Linux?

    And does every chunk of the Linux Kernel need an active maintainer? Could PWC remain in the Linux Kernel without the original maintainer's support or would someone such as ourselves need to step up and offer to maintain it?

    • I have one of the very nice Logitech Orbit cameras as well as a PRO3000. I was thinking of going getting a second Orbit to do Stero vision, I probably won't.

      If I'm reading your post correctly you're saying that the 640x480 mode is just a software manipulation of the 160x120 video stream?

      If ths is the case then quite probably this is why Phillips doesn't want the driver opened.

      Can you explain the lower fram rate for 640x480 compared to 160x120?

      I'll go an rip my Pro3000 and check the specs for the CCD.
      • We know that the 640x480 bits are not real bits from the hardware. Perhaps the 640x480 rate is due to the CPU time needed to fill in the in between pixels?

        Try this experiment: Take a 640x480 picture of a grid such as graph paper ... lines on a plain color background. Enlarge the image until pixels are squares that you an clearly see. Notice the 4x4 pixel blocking. Notice how each 4x4 pixel block looks like a plane tilted in color space.

        Now try the same for a 320x240 image. And notice the 2x2 pixel blo

        • Hmmm,

          Have you tried this on a Windows machine?

          The reason I'm sceptical is that my Pro3000 uses a SONY ICX098AK CCD. The overview [sony.net] and tech specs [sony.co.jp] would tend me to believe that the device can do VGA without software. Why would Phillips/Logitech fake it?
          • Sorry, we do not have a system that runs windows. Also PWC/PWCX only runs under Linux. :-)

            Our Logitech QuickCam 3000 Pro CCD only has a 160x120 pixel grid. While this closeup image of the chip [lavarnd.org] is a bit small to count by, under higher magnification you can see the individual sensors and count them. They do not have 640x480 pixel array on our chip. We counted 160x120 instead.

            One can do the math. At 30 fps with 640x480 pixels, using the YUV 4:2:0 Planar palette, (encodes at 1.5 bytes per pixel) you have:

            • I was hoping to have a test under windows to eliminate the PCWX factor.

              I guess I'll have to put mine under a scope here at work and see what I see. I am astonished that Sony/Phillips/Logitech would be so underhand as to advertise a VGA webcam with only 160x120 CCD! I'm also wondering why nobody else has noticed this? The same CCD is being used in a number of differing cameras including some firewire models.

              My understanding was that the webcam took the image at 640x480 but dropped the frames per sec due
    • I'd suggest that if this is your request, that you take over maintainership of the pwc module. It was released under the GPL so there is no reason that you cannot maintain it now.
      • correct... just pick it up, and drop the binary hook.. there's nothing he can do about it as he released it under the gpl. And as you've already realised what the proprietary binary bit is doing, you can implement that yourself using your own algorithm in the current module as a user option.
  • Some people actually want to share programs with complete corresponding source code. Therefore, they don't like to have proprietary code on their system. There are (as other posters have described) practical problems with non-free programs too.

    I hope people don't frame this issue in terms of practical utility (because down that road lies giving up software freedom for whatever is convenient to proprietors) but instead, frame the issue in terms of our ability to do what made the systems we cherish -- pres
  • And I was just about to buy one of these cameras :(

    So, can anyone suggest some webcams which are well supported by Linux? I'd taken a look at several drivers, but the PWC/PWCX ones seemed to be the best.

    With some of the others it seemed to be a lottery whether you'd be able to get a webcam with a compatible chipset (no matter what model number the manufacturer might use on the box).

For God's sake, stop researching for a while and begin to think!

Working...