Slashdot Mirror


Devs Discuss Android's Possible Readmission To Linux Kernel

MonsterTrimble writes "At the Linux Collaboration Summit, Google and Linux Kernel Developers are meeting to discuss the issues surrounding the Android fork and how it can be re-admitted to the mainline kernel. From the article: 'James Bottomley, Linux SCSI subsystem maintainer and Novell distinguished engineer, said during the kernel panel that forks are prevalent in embedded systems where companies use the fork once, then "throw it away. Google is not the first to have done something like this by far, just the one that's made the most publicity. Hopefully the function of this collaboration summit is that there is some collaboration over the next two days and we might actually solve it."'"

151 comments

  1. One thing is for certain by Anonymous Coward · · Score: 0

    There will be paddling involved.

    1. Re:One thing is for certain by Anonymous Coward · · Score: 0

      Petting?

  2. Yawn by Anonymous Coward · · Score: 5, Funny

    What does this have to do with the iPad? I come to slashdot for iPad stories, not stuff real nerds have never heard of.

    1. Re:Yawn by ickleberry · · Score: 3, Funny

      Really? I come to slashdot to read about how Google is taking yet another piece of technology we have taken for granted for many years and turning it into an online, ad-based Clout 2.0 service and tunneling it through HTTP with JSON and SOAP to their servers for a nice intense data-mining session for better targeted ads and predicting future crimes one might commit.

    2. Re:Yawn by WrongSizeGlass · · Score: 1

      What does this have to do with the iPad? I come to slashdot for iPad stories, not stuff real nerds have never heard of.

      Just be patient and give it time. This Lenax stuff may just catch on one day and we'd all look pretty foolish if we didn't pay attention to it now.

    3. Re:Yawn by girlintraining · · Score: 4, Insightful

      Really? I come to slashdot to read about how Google is taking yet another piece of technology we have taken for granted for many years and turning it into an online, ad-based Clout 2.0 service and tunneling it through HTTP with JSON and SOAP to their servers for a nice intense data-mining session for better targeted ads and predicting future crimes one might commit.

      Unbridled capitalism and the apathetic and ignorant citizens are to blame for that. Your personal data can be aggregated and monetized, and for the foreseeable future, there's very little legislation to prevent this and very little awareness of how pervasive such technology is. My whole generation is living with software riddled with government and corporations that have put back doors into everything, freely share data with each other, and those living in urban areas (the majority of the population) are rarely out of contact with some device or another wired into the global network, tracking their movements, purchases, communications, relationships, and every aspect of your life. Remotely-enabled webcams, cell phones that can be turned on silently to broadcast everything it hears and sees, and laptops and routers that can be readily converted into eavesdropping devices, just to name a few of the many things that are out there right now. And the only reason it's not all interconnected more seamlessly is because the technology is still rapidly evolving and hasn't reached a stable plateau where convergence is possible, although the internet has made a giant leap forward in enabling that future. The NSA spends billions each year trying to keep up with infrastructure changes and only is able to harness a fraction of that potential.

      But I mean, comeon -- what do you expect from a world where we find it okay to setup metal fences with razor-tipped wire and cameras everywhere as "official protest zones", where we have passports, credit cards, (and soon ID cards) that can be remotely scanned to identify you... put it all together. Where do you think this all ends?

      --
      #fuckbeta #iamslashdot #dicemustdie
    4. Re:Yawn by maxume · · Score: 2, Funny

      It is entertaining that a tinfoil hat will work quite well at protecting your wallet from remote scans.

      --
      Nerd rage is the funniest rage.
    5. Re:Yawn by Anonymous Coward · · Score: 0

      I think you meant to go to Ars Technica. Chris Foresman in particular can't get enough of the iPad.

    6. Re:Yawn by Abreu · · Score: 2, Funny

      I'm not worried! A lot of the info I have posted online is false!

      --
      No sig for the moment.
    7. Re:Yawn by Anonymous Coward · · Score: 0

      Where do you think this all ends?

      Room 101

    8. Re:Yawn by MichaelSmith · · Score: 1

      I'm not worried! A lot of the info I have posted online is false!

      Including this?

    9. Re:Yawn by russotto · · Score: 4, Insightful

      It is entertaining that a tinfoil hat will work quite well at protecting your wallet from remote scans.

      Only if you keep your wallet on your head.

    10. Re:Yawn by BlackHawk-666 · · Score: 1

      I carry my phone, wallet and even keys in a tinfoil handbag. It looks gay, but keeps the government from spying on my precious bodily fluids. I'm thinking of switching to a new shampoo with tinfoil instead of alumninium as a a major ingredient.

      --
      All those moments will be lost in time, like tears in rain.
    11. Re:Yawn by davester666 · · Score: 1

      Do you also keep your precious body fluids in that tinfoil handbag as well?

      If not, then how do you keep them from spying on your precious bodily fluids?

      --
      Sleep your way to a whiter smile...date a dentist!
    12. Re:Yawn by twitterfire · · Score: 0

      That's Ars Applica. It doesn't pass a day without Ars editors praising crApple in at least five "original stories", in fact all pathetic attempts to kiss Steve Blowjob's badonkadonk. I'm starting to ignore Ars because of their half-assed journalism.

    13. Re:Yawn by Anonymous Coward · · Score: 0

      Or you could keep the hat in your pocket, or wherever, as long as it is wrapped around your wallet.

    14. Re:Yawn by Hurricane78 · · Score: 1

      I think your definition of “real nerds” is way off.
      My dictionary says:
      iPad users — faggy hipsters who are easily influenced by viral marketing, and usually play with shiny colorful clickable UIs on locked-down appliances.
      real nerds — people who use text-based UIs and solder their own hardware, have great logic skills at the expense of social skills and are actually really using computers (=automating things).

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    15. Re:Yawn by BlackHawk-666 · · Score: 1

      Foiled again!

      --
      All those moments will be lost in time, like tears in rain.
    16. Re:Yawn by Oddscurity · · Score: 1

      Next time spend more tin on the foil.

      --
      Indeed!
  3. Bad Marketing by phantomcircuit · · Score: 1

    On the front page of the android website is an announcement for a conference that has already happened.

    Gee maybe they could update the front page?

    Android will be at the 2010 Game Developers Conference in San Francisco from March 9th to March 11th.

    1. Re:Bad Marketing by theshibboleth · · Score: 2, Insightful

      Outdated webpages are the hallmark of a dying product

    2. Re:Bad Marketing by WrongSizeGlass · · Score: 1

      Gee maybe they could update the front page?

      It's in the process of updating. Just keep in mind that "the cloud" isn't exactly 'real time'. It'll be showing the "back to school specials" well before Christmas.

    3. Re:Bad Marketing by CyberDragon777 · · Score: 1

      Slashdot is dying?

      --
      We both said a lot of things that you are going to regret.
  4. Backwards? by Sponge+Bath · · Score: 4, Insightful

    Google must now balance any desire to respect the wishes of the Linux community for compatibility with the more diverse, competing - and not always logical - interests of those now adopting Android and its own plans.

    I did a double take on this statement.

    What I've seen on the kernel mailing list is more a conflict of commercial developer's desire for compatibility (across kernel versions) with the core kernel developer's more diverse (and not always logical) desire to push pet projects and make frequent cosmetic changes that creates a hellish torrent of code churn. The lack of well defined kernel driver interfaces means a lot of time spent chasing the latest changes instead of adding features or fixing bugs.

    1. Re:Backwards? by Microlith · · Score: 5, Insightful

      The only people I've seen clamoring for a static, unchanging driver interface are those writing proprietary drivers. Last I checked, changes to the interfaces by someone puts the onus on them to fix all the calls to it in the kernel, which is why getting your driver into the tree is considered better than keeping it closed.

      That said, if you're keeping your driver closed it's a problem you're bringing upon yourself.

    2. Re:Backwards? by Daniel+Phillips · · Score: 5, Insightful

      The truth is, Google doesn't really get open source even though its livelihood depends on it.

      --
      Have you got your LWN subscription yet?
    3. Re:Backwards? by cynyr · · Score: 1

      in kernel drivers should be an issue. The module ABI/API changes as needed, but this has already been hashed out. Opensource you diver and get it in the kernel and it will work across versions. want your's to live outside the kernel (nvidia) you maintain it.

      --
      All of the above was encrypted with a Quad ROT-13 method. Unauthorized decryption is in violation of the DMCA.
    4. Re:Backwards? by Anpheus · · Score: 2, Insightful

      Those proprietary drivers still have to be maintained against the rest of the kernel, and that costs time, and consequently money.

      Furthermore, many of these devices are protected by patents, and I'm sure you don't want code for a special model of capacitive multi-touch screen that only one phone uses to be added to the general Linux kernel. There's no point in it.

      So that's the problem. All these phones have highly specialized devices that may be protected by patents that in Europe have no weight, but in the US do, and could cause problems for the linux kernel potentially even if they were introduced. Add to that the fact that for many of these devices a generic, unifying framework doesn't exist that they can attach themselves too, and you could end up seeing the kernel with ten thousand different phone drivers, each of them so specific that all it does is bloat the kernel.

      So what's the answer? Well, the answer is that if Linux doesn't start building a good ABI, they're going to shoot themselves in the foot, or more literally, they'll end up sawing off their own leg because it decided to fork itself. And for all the babbling the kernel devs do about the difficulty of maintaining an ABI and how it constrains them, it also makes it very difficult for the generic, current Linux kernel to gain widespread adoption in markets that resemble embedded ones in all but name. What is HTC supposed to do, keep people on payroll perpetually to maintain their thousand plus phones and their potentially tens of thousands of drivers?

      Suddenly, Linux is starting to look a lot more expensive than free.

    5. Re:Backwards? by Sponge+Bath · · Score: 5, Informative

      That said, if you're keeping your driver closed it's a problem you're bringing upon yourself.

      I should have been more clear. I'm talking about drivers in the main kernel source. I know the linux kernel mantra: binary only drivers are evil (I agree), out of tree open source drivers are slightly less evil. I think out of tree open source drivers can be useful when inclusion to the main kernel is denied because some critical functionality is deemed unnecessary by the gatekeepers who require it to be removed before consideration. But I'm not even talking about that.

      Last I checked, changes to the interfaces by someone puts the onus on them to fix all the calls to it in the kernel...

      That's the theory. Here is how it works in practice: A pet project or cosmetic change that touches a lot of code is implemented and then dependencies are grepped. The dependencies are fixed up in a cut and paste way. Sometimes more important drivers get some review to make sure nothing breaks. Everything else just gets shipped if it compiles. Then when that kernel is used in a distribution, sometimes years later, many drivers are suddenly broken and you have to back track to see which change took it out. If someone has a lot of time and desire to support a "lesser" driver then they can spend all of their time playing catch up, but that wears out volunteers quickly and annoys commercial vendors.

    6. Re:Backwards? by 0123456 · · Score: 1, Interesting

      The last thing Linux needs is a set-in-stone kernel interface: 'backwards compatibility' is what has ensured that Windows remains a steaming pile of kludges and security holes as no old components can be thrown away.

      I can only presume that you are actually Bill Gates and want to destroy Linux by forcing it to repeat Windows' mistakes.

    7. Re:Backwards? by Sponge+Bath · · Score: 4, Insightful

      The last thing Linux needs is a set-in-stone kernel interface...

      I can agree with this, but then again I don't see anyone asking for that.

      How about something in between, say a well defined interface that is stable for a reasonable period of time with clear points of deprecation and then replacement with improved interfaces? Windows's driver interface is not set in stone with never ending backwards compatibility, you can't use Win 9X drivers on XP. Yet a binary driver that works on Windows 2K has a reasonable chance of running on Vista.

      There needs to be a balance between improvements/changes and stability/maintainability.

    8. Re:Backwards? by Anpheus · · Score: 1

      Not set in stone, but less volatile than "every other release needs some minor fixup." That's all.

      For example, we're currently on 2.6.33.2. Why not standardize on an ABI for the minor version number? 2.6 versus 2.8 for example. (Or since they switched development pattern, will 2.7 be a legit release? I don't know.)

      The problem is that the volatility is so high that kernel drivers need 24/7 maintenance, or else they're dropped and then it becomes even harder to re-integrate them. Ask Microsoft about their paravirtualization drivers. They've submitted two or three versions to the kernel, and each time you had to use the specific version of the kernel that they compiled them on, or it didn't work. That's the problem. Linux. Isn't. Free. Microsoft is however eventually going to have to come to a sad realization: it may cost them a salaried employee and benefits just to maintain these drivers. That's ridiculous. If it's difficult for Microsoft to justify targeting Linux, how is a small business going to justify putting 1/10 of its development staff on it? 1/20?

      It's insane. Linux is such a "me me me" culture where everything revolves around the sanctity of the kernel and how free and open it is, and no one appears to consider the ramifications of the actions.

      The fact is, the Linux kernel will fix these problems or Android will fork, or HTC, Nokia, et al. will do it for them. And then Android will be fragmented, and we'll be back to considering iPhones and BlackBerry phones the best in the world, each with their horrendous lock-in. With one, I have to code in The One True Language, and with the other, I have to make sure my clients are using The One True Message Server. As soon as Android isn't viable, they're the best options. That's sad.

    9. Re:Backwards? by Microlith · · Score: 1

      Linux is such a "me me me" culture where everything revolves around the sanctity of the kernel and how free and open it is, and no one appears to consider the ramifications of the actions.

      What, they're WRONG for not allowing arguably more selfish proprietary driver vendors to decide the course for the kernel?

    10. Re:Backwards? by Anonymous Coward · · Score: 0

      The right way to look at this is that they are getting a whole OS for free. That's a lost of savings! They can get additional savings if they merge their drivers upstream. If they think, it's more valuable to have a closed driver than upstreaming it, then it's their decision. But they can't bitch about it.

      Btw, for all embedded devices, you only compile what's needed. So, you aren't adding any bloat by getting different companies to open and upstream their drivers.

      Disclaimer/credibility: I actively work on the Android kernel code. That's my full time job.

    11. Re:Backwards? by Daniel+Phillips · · Score: 1, Troll

      Why not standardize on an ABI for the minor version number? 2.6 versus 2.8 for example.

      There is no 2.8 on the horizon, the next number over to the right has become the de facto minor version number, and the module ABI is stable within each of those releases. Clearly, you are not involved in actual kernel development, but thanks for playing.

      --
      Have you got your LWN subscription yet?
    12. Re:Backwards? by HeronBlademaster · · Score: 2, Insightful

      No, but they're wrong for being unwilling to meet them halfway (even something as simple as a clear schedule for ABI changes and deprecation). There's nothing wrong with adding a little method to the madness.

    13. Re:Backwards? by Grishnakh · · Score: 1

      First, I'd like to say, what moron modded this "troll"? I personally don't agree with it, but that doesn't make it a troll.

      Furthermore, many of these devices are protected by patents, and I'm sure you don't want code for a special model of capacitive multi-touch screen that only one phone uses to be added to the general Linux kernel. There's no point in it.

      Wrong, absolutely wrong. Greg K-H himself has explicitly said that he WANTS people with drivers for even highly obscure devices to merge them into the mainline kernel. It doesn't matter if your capacitive multi-touch screen is only used in one phone; the code is useful to have publicly available in the kernel as a reference. Furthermore, as more drivers for similar devices are merged into the kernel, commonalities between them can be found, and more generic drivers can be created.

      Eventually, with multiple capacitive multi-touch drivers in place, someone will probably look at them all, and create a generic "capacitive multi-touch core" driver, and all the other drivers will only have the specific code needed for themselves, and will share the core code. This reduces the total amount of code, and increases the quality. As bugs are found and fixed in the shared core code, these bugs are then fixed for ALL such devices, instead of having to fix the same type of bug in every single driver.

      Even if no "core" driver is written, having more drivers in place serves as a reference to those writing drivers for similar devices. So if you're trying to write a driver for a different capacitive multi-touch chip, you can look at the other drivers in the kernel and see how they did it. This will speed your development greatly.

      Interestingly and coincidentally, I happen to be working on a capacitive touchscreen driver myself at the moment (not multi-touch, however).

      Add to that the fact that for many of these devices a generic, unifying framework doesn't exist that they can attach themselves too, and you could end up seeing the kernel with ten thousand different phone drivers, each of them so specific that all it does is bloat the kernel.

      You have to merge all the drivers in before someone's going to start writing a generic framework. OSS tends to be more reactive, not proactive about these things.

      And no one cares about the kernel having 10,000 different phone drivers. This doesn't "bloat" the kernel, only the source code. The only people complaining will be those downloading the source code. Given that people regularly download 1GB HD TV shows on BitTorrent these days, an extra 100MB of source code in the kernel isn't going to be a big deal. Most people don't download the Linux kernel source, only kernel developers.

      As long as people merge their drivers into the mainline like they should, there is absolutely NO reason to have a stable ABI. All it does is allow cruft and bloat, because of the need to maintain backwards compatibility. Backwards compatibility is Windows' Achilles heel; why repeat that mistake? Just because a few companies are idiotically afraid of merging their drivers? Let them suffer.

    14. Re:Backwards? by h4rr4r · · Score: 0

      Why meet them halfway when they provide nothing?
      If they want a stable ABI layer let them write a shim that exposes this stable ABI and update that when things change in the kernel. Then all the proprietary folks can share keeping one stable ABI shim up to date.

      I don't meet the homeless halfway and let them move into my garage.

    15. Re:Backwards? by Anonymous Coward · · Score: 0

      Sounds great, but sometimes management is stupid. My own company is now adopting Linux so they don't have to pay per-device license fees like with their previous embedded OS, but they don't want to contribute anything back whatsoever, including all the drivers they're developing.

      Worse, many of the drivers we're developing use GPL-only symbols, so we're declaring the drivers "GPL" in the MODULE_LICENSE macro. However, we're not honoring the GPL at all. Can that get us in legal trouble? What if a disgruntled employee were to rat them out?

      Posting anonymously for obvious reasons.

    16. Re:Backwards? by Sponge+Bath · · Score: 1

      There is no 2.8 on the horizon, the next number over to the right has become the de facto minor version number, and the module ABI is stable within each of those releases.

      I don't know where you get that. I've seen and continue to see plenty of changes to kernel functions called by drivers between 2.6.x and 2.6.x+1. Maybe you mean the next number to the right of that, the so called stable branches maintained by Greg Kroah-Hartman?

      Those are a step in the right direction, but the x changes every few months and includes fixes usually unrelated to any driver interface changes. Some of those fixes get back ported to stable, some do not. That makes the useful window of a stable branch not much longer than the interval between 2.6.x and 2.6.x+1. There is still an unnecessarily coupling of fixes to unrelated driver interface changes that keeps you on the 2.6.x upgrade path.

      Despite the intent to keep 2.6.x.y compatible with 2.6.x.y+1, I've still occasionally seen changes to kernel functions called by drivers that break the driver.

      All of this said, the current system obviously works. I just think there is room for improvement using some common sense and long proven development techniques.

    17. Re:Backwards? by Josh04 · · Score: 1

      You seem to be equating the actual users in the equation to 'nothing'. This is a pretty fundamental flaw for any project.

    18. Re:Backwards? by sjames · · Score: 1

      The thing is though, I've seen that argument since the mid 2.0.x kernels. The ABI hasn't happened and the Linux kernel hasn't shriveled up and died.

      It's not like the interface for a driver changes every single release either. There are a number of out-of-tree drivers that compile and work fine for most of the 2.6.x series (perhaps all, I haven't tried them all). So it's not exactly a lot of work to keep current. There's no real call in an embedded device (or server for that matter) to slavishly track every kernel update either.

      If they have tens of thousands of drivers, they have MUCH bigger problems than just the kernel.

    19. Re:Backwards? by jhol13 · · Score: 1

      I have had several years of driver hell, when two or three machines have constantly died because FOSS drivers have stopped working in every kernel security update (which occured about monthly for 8.04).

      Now the eee.ko driver which gives 900MHz on Eee701 does not even compile (on 10.04beta). How do you explain it? It is FOSS, I did not "bring it myself", but ...

      All this because some idiot has religious hate against "proprietary".

    20. Re:Backwards? by jhol13 · · Score: 1

      All drivers are binary only to those who are not willing to compile, fix, debug and test. ALL, even those on kernel tree as they are not tested either.

      Very, very few drivers get into the kernel tree within reasonable time period, several years of driver hell is not INMSHO acceptable.

    21. Re:Backwards? by 10101001+10101001 · · Score: 1

      Last I checked, changes to the interfaces by someone puts the onus on them to fix all the calls to it in the kernel...

      That's the theory. Here is how it works in practice: A pet project or cosmetic change that touches a lot of code is implemented and then dependencies are grepped. The dependencies are fixed up in a cut and paste way. Sometimes more important drivers get some review to make sure nothing breaks. Everything else just gets shipped if it compiles. Then when that kernel is used in a distribution, sometimes years later, many drivers are suddenly broken and you have to back track to see which change took it out. If someone has a lot of time and desire to support a "lesser" driver then they can spend all of their time playing catch up, but that wears out volunteers quickly and annoys commercial vendors.

      Unfortunately, that's a simple fact of life. The kernel has two main responsibilities: make sure the system doesn't crash and make sure that a process doesn't exceed the authority that's granted to it. Hardware drivers, by definition, have to access hardware. While it's possible in some circumstances to create an all-encompassing kernel driver and ferry out actual hardware interface handling to a user process in a stable and secure way, in most circumstances such amounts to create a huge gaping security hole which allows for nearly trivial system crashes.

      Meanwhile, within the kernel itself there's a lot of consideration that has to be given to a lot of very varied considerations, from low latency hardware access to high scalability and utilization. While this has translated into various "pet projects", in general they are efforts to take an idea an outstanding problem in one or several part of the kernel and solve them. Enough times they're incomplete solutions which only become apparent as new problems are discovered. In short, the kernel's efforts to be all things to all people has at times required significant rewrites, but the overall effort has been generally worth it.

      So, while I certainly understand your feeling about significant code churning and not enough testing, I think the kernel would be in much worse shape if consideration was given more to slow and decisive actions. Yes, this does translate into volunteer churn as well, but so long as "pet projects" are more geared towards the pragmatic and less of the political, I think most volunteers who sought out Linux for pragmatic reasons are a lot less likely to be dissuaded by yet another pragmatic push to do things better.

      --
      Eurohacker European paranoia, gun rights, and h
    22. Re:Backwards? by MichaelSmith · · Score: 1

      Once I write something, Free or not Free, I prefer that it stays written, unless there are good reasons for the underlying system to change.

    23. Re:Backwards? by dgatwood · · Score: 3, Informative

      Wrong, absolutely wrong. Greg K-H himself has explicitly said that he WANTS people with drivers for even highly obscure devices to merge them into the mainline kernel. It doesn't matter if your capacitive multi-touch screen is only used in one phone; the code is useful to have publicly available in the kernel as a reference. Furthermore, as more drivers for similar devices are merged into the kernel, commonalities between them can be found, and more generic drivers can be created.

      Based on what I've seen over the years (as a developer on a project that never made it back into the mainstream kernel), the problems with this approach are threefold:

      1. Nobody maintains most of them. Most of the 5% of drivers that everybody uses are already in the kernel tree. Of the remaining 95%, half of the drivers don't build at all, and most of the other half don't work. If they're barely maintained now, you can bet money that they won't be maintained at all when some kernel tree maintainer gets a hair up his/her backside and decides that a particular fix isn't elegant enough and won't take the changes....
      2. The tree is already too large. If every driver out there were in the tree, checking out an update to the tree would be horribly painful, the source packages that distributions include would become huge, etc. The bigger it gets, the fewer people are going to be willing to maintain their drivers inside that tree, so in the long run, encouraging people to put their drivers in the tree is just going to cause other drivers to move back out of the tree, eliminating any real benefit.
      3. Many such drivers are outside the tree because they require substantial changes to some subsystem in order to build them. Now one could argue that these changes should be made to those subsystems to make them more general, or one could argue that those drivers are so specialized that nothing else will use them, so there's no reason to bother. That's often not an easy question to answer, and tends to result in highly political shouting matches, with the end result being that the driver never goes in, which is usually why those drivers got published outside the kernel tree to begin with.

      There are ways to solve these problems, of course; IMHO, they basically amount to:

      • Design a kernel build infrastructure that can easily bring in driver sources from third-party sites (like a ports collection, but for kernel drivers). With proper categorization, this can provide all the same benefits as having the drivers in the main tree, but also allows for a richer tagging scheme instead of a simple filesystem hierarchy, which should actually make it significantly easier to spot patterns (for example, seeing that there are now eighty-seven different drivers for capacitive touchscreens, or whatever), all without bloating the tree that everybody has to download.

      • Subject all kernel API changes to a formal API review process in which no API change can go in unless the owners of all drivers in that area agree that the design is acceptable and will meet with their needs. Set up a reasonable set of rules of engagement (e.g. A. don't shoot down the idea just because you don't need it, B. don't shoot down an idea without proposing an alternative). And so on.

      • Redesign the kernel interfaces in an object-oriented language. Such designs make it more likely that drivers can extend the interfaces without requiring major changes to the core code. The Linux kernel sort of halfway adopts this approach insofar as code reuse is concerned, but does so in ways that aren't particularly clean and neat.

        For example, if I were writing an ATA driver and needed to do almost everything the same way but change the behavior of one function in some other library... say down at the block device layer, I'd either have to make a change to the block device layer with some special case detection code or I'd have to copy entire swaths of code at the ATA device layer and c

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    24. Re:Backwards? by Daengbo · · Score: 1

      you can't use Win 9X drivers on XP

      They're completely different code bases and product lines with different kernels. Of course you can't. You should be mentioning whether NT4 drivers can be used by XP or not.

    25. Re:Backwards? by Mad+Merlin · · Score: 2, Informative

      The problem is that the volatility is so high that kernel drivers need 24/7 maintenance, or else they're dropped and then it becomes even harder to re-integrate them. Ask Microsoft about their paravirtualization drivers. They've submitted two or three versions to the kernel, and each time you had to use the specific version of the kernel that they compiled them on, or it didn't work. That's the problem. Linux. Isn't. Free. Microsoft is however eventually going to have to come to a sad realization: it may cost them a salaried employee and benefits just to maintain these drivers. That's ridiculous. If it's difficult for Microsoft to justify targeting Linux, how is a small business going to justify putting 1/10 of its development staff on it? 1/20?

      Bzzt! Wrong.

      Once code is properly merged to the Linux kernel, it is maintained by the kernel community at large, which need not include the original author. When a kernel developer changes an API, they are required to simultaneously update all in kernel drivers that use the API in question. The only drivers that require 24/7 maintenance are those that are out of tree (regardless of the reason they're out of tree).

      Android was never properly merged to the Linux kernel. Google did a big code dump for Android and it was merged as a set of staging drivers with the caveat that it needed a lot of cleanup before being moved into non-staging. Unfortunately, that cleanup never came and Google basically let the code rot. Thus, a few releases later, Android was removed.

      Indeed, probably well over half of the code in the Linux kernel is now maintained by someone other than the original author (be it an individual or a corporation), particularly for non-core subsystems and drivers. As a hardware vendor or other similar party, if you want a) your widget to work out of the box on every Linux distro and b) to not worry about maintaining your driver, you should be getting your driver merged to the Linux kernel.

    26. Re:Backwards? by Daengbo · · Score: 1

      Learn the difference between the Linux kernel and Ubuntu. Ubuntu uses a modified kernel. Talk to your vendor.

    27. Re:Backwards? by Anonymous Coward · · Score: 1, Interesting

      Nope, the embedded market is the opposite, and is like the parent describes.
                In the mainstream, you have perhaps nvidia and others who make closed source stuff dreading any disruptive shifting of the internals, while the kernel developers will make the chances needed to make things work and improve the kernel.

                Embedded? From THAT point of view, the kernel is the mainline and what to aspire being compatible with, while they may have custom hacks to make the kernel loadable by a boot loader, they may have custom one-off drivers (One-off? I mean, instead of doing any existing plug-n-play, using the kernel to set up DMA and I/O, etc., the driver may just do it itself. Perfectly functional but completely non-portable, and inappropriate to plop in the mainline kernel source in that form.) They may have custom optimizations for either speed or space, that are also non-portable. And then they endeavor to re-port their custom changes to newer kernels from time to time.

                Android specifically? From what I heard, there were a lot of ARM optimizations and drivers. The ARM improvements are probably already mainline, and drivers being implemented when possible. BUT, although the kernel has plenty of lock types already, Google introduced a new one seemingly superflously, and the drivers tend to use it instead of one of the numerous existing lock types. They introduced a new security model, even though there's users&groups, Access Control Lists, and 1 or 2 additional VERY flexible security systems already in the kernel tree. They also have their frame buffer drivers implementing a new type of framebuffer Google implemented instead of just showing as a standard Linux framebuffer, and making improvements to that framebuffer code as needed. These three are the real issues from what I've read, the kernel guys would VASTLY prefer the lock, securtiy model, and extra framebuffer type not go in kernel unless Google makes a VERY compelling case there's a reason for it.

    28. Re:Backwards? by gbjbaanb · · Score: 1

      Unfortunately, that's a simple fact of life

      it is if you accept the status quo. If you took all drivers out of the main tree and created a new tree specially for driver code, not only would the kernel suddenly get smaller and easier to work with (as you at least wouldn't have to download all that useless-to-you driver code) but the distinction between them would help to keep drivers as separate, truly distinct modules.

      Of course this only happens with a stable ABI. Break that every version and all that driver code starts to wither. Keep it and you won't have to keep going back to fix up the interfaces. A stable ABI would be a good thing.

      And, no that doesn't mean the interfaces couldn't ever be changed, you can change them in major versions of the kernel, just that anything built for 2.6.0 should still work with 2.6.100

      It won't be perfect, but it'll be a lot easier to manage for driver writers. I can't see how it would be too much of a hardship for kernel developers either, unless they only churn the code in an amateur 'just hack it until it works' way.

    29. Re:Backwards? by Ash-Fox · · Score: 1

      I have never seen software development cater to all users - did not make a difference if it was opensource or proprietary.

      --
      Change is certain; progress is not obligatory.
    30. Re:Backwards? by MostAwesomeDude · · Score: 2, Informative

      You're entirely right. That's why they fund several thousand students worldwide to join open-source projects and contribute code to those projects every summer, even if the projects in question don't directly benefit Google.

      --
      ~ C.
    31. Re:Backwards? by peppepz · · Score: 1

      The tree is already too large.

      "Too large" for what? The latest linux kernel weighs 60 MB; in comparison, the latest ATI display drivers for windows take 52 MB (and they only support the latest graphics cards). Moreover, source updates only need to transfer the changes, which will usually be very small for legacy drivers, whose code is stable. The whole 2.6.32 -> 2.6.33 kernel patch is less than 10 MB big. I cant'see this as a problem in the ADSL / HSPA era, and in fact I thought that the current trend for distributed development was to switch from the traditional sets of tarballs + patches to a single, large git (or equivalent) repository.

      Redesign the kernel interfaces in an object-oriented language. Such designs make it more likely that drivers can extend the interfaces without requiring major changes to the core code. The Linux kernel sort of halfway adopts this approach insofar as code reuse is concerned, but does so in ways that aren't particularly clean and neat.

      For example, if I were writing an ATA driver and needed to do almost everything the same way but change the behavior of one function in some other library... say down at the block device layer, I'd either have to make a change to the block device layer with some special case detection code or I'd have to copy entire swaths of code at the ATA device layer and change the calls to that function to point to my own function. Eventually that might become a function pointer variable, but until then, it's a mess (and, arguably, huge piles of function pointers are still something of a mess).

      With an OO language, I'd just override one method in my class and I'd be done. No muss, no fuss.

      But doesn't "just overriding one method in a class" mean changing a function pointer? It's not that if you use a derived class for your driver, all the other drivers will magically use the derived class instead of the one they were designed and compiled for. Would converting the whole linux kernel to C++ just to get the syntactic sugar be worth the effort? Also consider that C++ is less supported on embedded systems, and has a much more complex (and changing) ABI than C.

    32. Re:Backwards? by dgatwood · · Score: 2, Informative

      The latest linux kernel weighs 60 MB;

      Odd, I'm looking at http://www.kernel.org/pub/linux/kernel/v2.6/ and the latest kernel I see is 2.6.33, and that comes in at a whopping 81 megabytes for the compressed tarball. Extracted, it takes almost 434 megabytes. That's over twelve minutes of DVD-quality video. That's two-thirds of a CD-R. That's ten times the size of the Mac OS X kernel. That's two months of bandwidth at the lowest tier of cell phone service.... You get the idea. It's freaking huge. The kernel sources were too big way back in 2.2. Now, they're just pure comedy.

      Also, remember that source control systems add a significant performance penalty that is also proportional to the number of files, not just the number of bytes. So although the giant compressed tarball may take only five minutes to download from kernel.org (which is an eternity), I'd expect a source checkout to take a good bit longer.

      But doesn't "just overriding one method in a class" mean changing a function pointer?

      The point wasn't that there's an underlying difference, but rather that the syntax of a class hierarchy tends to result in design patterns in which the things that need to be part of the class are part of the class and not part of some giant library of functions. The result is that instead of the semi-OO design pattern of using pointers for only the functions that you already know will need to be replaced, you have a true OO design pattern where any of them can be replaced without having to push for changes to thousands of lines of code all over the place that refer to that function.

      It's not that if you use a derived class for your driver, all the other drivers will magically use the derived class instead of the one they were designed and compiled for.

      I never suggested that they would. Why would they need to? There should be no accidental interaction between drivers. Any instances of variables shared between two unrelated drivers should be deliberate and rare. I should be able to make changes to my copy of the ATA core code without breaking your driver. That said, if you want the ability to do things like that, Objective-C categories would work.... :-D

      Also consider that C++ is less supported on embedded systems, and has a much more complex (and changing) ABI than C.

      All the more reason to use a limited subset of C++ (no exceptions, no templates, etc.) and to freeze the parts of the ABI that the kernel uses. Apple has managed to write their driver stack in C++ with AFAIK no binary compatibility breakage since they switched from GCC 2.95 to GCC 3 way back in 2003.... (Okay, so the CPU architecture change was something of a binary compatibility breakage, but you know what I mean.)

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    33. Re:Backwards? by 10101001+10101001 · · Score: 2, Interesting

      it is if you accept the status quo. If you took all drivers out of the main tree and created a new tree specially for driver code, not only would the kernel suddenly get smaller and easier to work with (as you at least wouldn't have to download all that useless-to-you driver code) but the distinction between them would help to keep drivers as separate, truly distinct modules.

      Linux is a monolithic kernel. Just because you can load or unload parts of it at runtime doesn't make those parts of it any less monolithic in design. Taking drivers out of the main tree won't make the modules any more distinct, stable, or secure. It would, potentially, better classify what is and is not a driver. That's the only main change I can really see in the move.

      Of course this only happens with a stable ABI. Break that every version and all that driver code starts to wither. Keep it and you won't have to keep going back to fix up the interfaces. A stable ABI would be a good thing.

      Nothing about a stable ABI moves code outside of kernel space. It would encourage the production of binary drivers, though, which if anything would worsen security and stability.

      And, no that doesn't mean the interfaces couldn't ever be changed, you can change them in major versions of the kernel, just that anything built for 2.6.0 should still work with 2.6.100

      So, you wish to turn major version changes into an even more political thing than it is now because?

      It won't be perfect, but it'll be a lot easier to manage for driver writers. I can't see how it would be too much of a hardship for kernel developers either, unless they only churn the code in an amateur 'just hack it until it works' way.

      It's funny. Your argument for a stable API is, if anything, an argument to make it so driver writers *don't* have to manage drivers. That's hardly a surprise, since I think most driver writers are of the mindset that if the hardware doesn't change, they should only have to write code for the hardware once and never have to touch the code again. It's not the mindset of "I wrote this code perfectly with perfect stability and security and consideration on exactly what my hardware does". Often enough, it's "good, it seems to work, that's good enough". Not surprisingly, kernel developers, who are concerned about more than "good enough" want code that's well designed, stable, and secure, with hopefully flexibility to work with many devices in a close to optimal way. This invariably puts them at odds with driver writers who are uninterested in maintaining anything*.

      For kernel developers, a stable ABI includes negative consequences like static or binary drivers that hold back redesign and introduce security and stability concerns. It does nothing to address drivers having to reside in kernel space. Yes, this is a byproduct of "amateur 'just hack it until it works'", but that claim can be put on just about C developer. That doesn't mean all or even most developers actually function that way in the kernel development. But, even with simple screening for obvious bad design in submissions, bugs can be very obfuscated in C; Linux nor any modern OS I know of are willing to spend the time and energy to show code is provably correct**, so trying their best and fixing problems later is the best one can reasonably expect in any remotely large, modern OS.

      *I don't mean this to be totally lambasting of driver writers. I can understand that trying to support hardware which you don't even have the specs on is frustrating, so one getting the hardware to seemingly work is usually enough to want to provide others a driver, even if one's work is incomplete or potentially sloppy (not the code itself but the design relative to what's possible). And once hardware does appear supported, one's interest are usually in coding something else (like a driver for other hardware), not doing furt

      --
      Eurohacker European paranoia, gun rights, and h
    34. Re:Backwards? by Hurricane78 · · Score: 1

      What I've seen on the kernel mailing list is more a conflict of commercial developer's desire for compatibility (across kernel versions) with the core kernel developer's more diverse (and not always logical) desire to push pet projects and make frequent cosmetic changes that creates a hellish torrent of code churn. The lack of well defined kernel driver interfaces means a lot of time spent chasing the latest changes instead of adding features or fixing bugs.

      If you ever used Gentoo, you’ll know that this is true for all of Linux, and the main thing to really really hate about it. (I love Linux in general, but this is destroying most of that love.) Your distribution maintainers just usually shield you from it.

      Stallman had good intentions, but it seems he never was at a bazaar himself, since otherwise he would have known that every bazaar is a totally chaotic mess. ^^
      Interfaces, just like standards, are a good thing.
      Maybe we should do it like the Germans would do a “bazaar”. With clear rules. You know. “Zucht und Ordnung” ;))

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    35. Re:Backwards? by gbjbaanb · · Score: 1

      ok, I was trying to advocate a situation where driver writers get to do the least amount of work necessary to produce and maintain their drivers, then they might put the minimal effort into keeping them current (or someone else might, if it becomes easier).

      A stable ABI (I think) comes the closest we'll get to this. The alternative is either a lot of effort for driver writers to do their thing; less drivers; or ndiswrapper.

    36. Re:Backwards? by HeronBlademaster · · Score: 1

      There's a rather important difference between "catering to only some users" and "catering to zero users".

      At least meeting the closed-source driver devs halfway (e.g. by making a schedule for ABI changes) means those closed-source drivers will be usable with the kernel for a time, meaning the target device will actually be able to run Linux, meaning Linux will get a bigger market share.

      Refusing to meet them halfway, though, directly results in a smaller market share, because those closed-source drivers never get written, and the device owner turns to another OS to run its device.

      Which is better?

    37. Re:Backwards? by Grishnakh · · Score: 1

      The tree is already too large. If every driver out there were in the tree, checking out an update to the tree would be horribly painful, the source packages that distributions include would become huge, etc. The bigger it gets, the fewer people are going to be willing to maintain their drivers inside that tree, so in the long run, encouraging people to put their drivers in the tree is just going to cause other drivers to move back out of the tree, eliminating any real benefit.

      Again, I don't see the problem with the "huge" tree. How many people actually download the kernel sources? Two kinds: people doing actual development work (on the kernel, or on a driver), and geeks who want to compile their own kernel. The number of people in the second category is constantly shrinking (it used to be pretty common back around 2000, but as distros have gotten better and computers faster, people aren't bothering much any more). If you're doing actual development work, what difference does another 100MB make?

      Secondly, isn't GIT supposed to help with this, if you use GIT? That way, only stuff that changes needs to be downloaded.

      Many such drivers are outside the tree because they require substantial changes to some subsystem in order to build them. Now one could argue that these changes should be made to those subsystems to make them more general, or one could argue that those drivers are so specialized that nothing else will use them, so there's no reason to bother.

      Those would be exactly the arguments that I'd make. If your driver needs big changes to a subsystem, then 1) maybe the subsystem should be redesigned to be better for all applicable drivers, or 2) maybe the person writing this driver is doing something wrong. Either way, it seems like it's probably only a small minority of out-of-tree drivers that are in this category. I think most are out-of-tree because the authors (frequently employees of companies) are too lazy or ignorant to get them merged in. Writing a driver is one thing, getting it merged with the latest kernel tree and then jumping through all the hoops necessary to satisfy the kernel maintainers is another. A lot of these out-of-tree drivers probably have poor quality code, don't meet the kernel coding conventions, etc. I'm working in a company now where we're working on Linux drivers, and my boss thinks all the Linux kernel code is ugly because it isn't written in his preferred coding style (he doesn't like K&R), and worse, horror of horrors, it has goto's which he thinks should never be used no matter what. Even though he's never written anything of note, he thinks he's a better programmer than all the people involved in Linux, apparently.

      Redesign the kernel interfaces in an object-oriented language.

      I don't think that's going to happen. C++ has never been shown to be a very good language for writing kernels. There's a reason that every kernel I've know of is written in C.

    38. Re:Backwards? by Anpheus · · Score: 1

      Apparently if HTC simply "frees their code" for their thousands of phones, maintainers will come out of the woodwork to keep them up to date for HTC. And HTC will never have to worry about it again...

      That's a good fairytale, do you have any more?

    39. Re:Backwards? by Anpheus · · Score: 1

      If your code is internal use only, then you're not violating the GPL. If your code is leaving your company, you're selling it to someone else, etc, then you are violating the GPL.

    40. Re:Backwards? by Anonymous Coward · · Score: 0

      Well, unlike windows interfaces, Linux interfaces are purely open. They are in a release cycle for almost 3 months (and about 3 months prior to that if you follow the development model), which is more than enough time for any closed driver to catch.

      OTOH, if those drivers were open, they would never have to catch up and would be of might higher quality.

    41. Re:Backwards? by Ash-Fox · · Score: 1

      At least meeting the closed-source driver devs halfway

      I believe they already met closed driver devs half way by ignoring the GPL licensing for 3rd party linked modules in the Linux kernel which are usually shipped in end user distros.

      Which is better?

      I don't believe that really changes anything, since 3rd party driver developers (nvidia, ati etc) tend to target distributions and not upstream and most distributions have stable ABIs for that specific release.

      --
      Change is certain; progress is not obligatory.
    42. Re:Backwards? by dgatwood · · Score: 1

      If you're doing actual development work, what difference does another 100MB make?

      The average Linux 2.2 kernel patch was somewhere around 5kB compressed. The average 2.6 patch is somewhere around 150kB compressed. If you were doing development back in 2.2, when you pulled an update, you got a handful of files and a couple of k in lots of little high latency pieces. Half a minute later and you were patched. With 2.6, do the math.

      Now imagine in a couple of years when the drivers have bloated that up to 2GB and the patch sets are measured in megabytes, or worse, tens of megs. Just the computing time to perform the diff operation or even gather the diffs from the backing store starts to become painfully expensive.

      C++ has never been shown to be a very good language for writing kernels. There's a reason that every kernel I've know of is written in C.

      The entire driver stack of the Mac OS X kernel is written in C++. I'd say that's pretty good proof that it works. Perfect, no, but is has done a pretty decent job.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    43. Re:Backwards? by Simetrical · · Score: 1

      Also, remember that source control systems add a significant performance penalty that is also proportional to the number of files, not just the number of bytes. So although the giant compressed tarball may take only five minutes to download from kernel.org (which is an eternity), I'd expect a source checkout to take a good bit longer.

      $ time git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git; beep -r3
      Initialized empty Git repository in /tmp/linux-2.6/.git/
      remote: Counting objects: 1541121, done.
      remote: Compressing objects: 100% (245956/245956), done.
      remote: Total 1541121 (delta 1283118), reused 1540764 (delta 1282805)
      Receiving objects: 100% (1541121/1541121), 342.13 MiB | 285 KiB/s, done.
      Resolving deltas: 100% (1283118/1283118), done.
      Checking out files: 100% (32295/32295), done.

      real 28m18.664s
      user 5m11.007s
      sys 0m23.085s

      Seems so. Not that this is good evidence by itself that Linux's development model is flawed – this is a pretty small cost compared to the other things at stake here.

      --
      MediaWiki developer, Total War Center sysadmin
    44. Re:Backwards? by dgatwood · · Score: 1

      Err.. it has...

      Gotta watch the typos. *sigh*

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    45. Re:Backwards? by Daniel+Phillips · · Score: 1

      You're entirely right. That's why they fund several thousand students worldwide to join open-source projects and contribute code to those projects every summer, even if the projects in question don't directly benefit Google.

      Google summer of code is mainly a recruiting event from Google's point of view.

      --
      Have you got your LWN subscription yet?
    46. Re:Backwards? by peppepz · · Score: 1

      Odd, I'm looking at http://www.kernel.org/pub/linux/kernel/v2.6/ and the latest kernel I see is 2.6.33, and that comes in at a whopping 81 megabytes for the compressed tarball.

      Hey, look better and you'll find that the .bz2 compressed tarball is 63 MB.

      Anyway, if we look at the uncompressed size of some other projects, we see that, for instance, vim is 60M, glibc takes 188 MB, kde is 1,5 GB and tex (binary) is 2 GB! In comparison, Linux seems pretty average to me.

      Apple has managed to write their driver stack in C++ with AFAIK no binary compatibility breakage since they switched from GCC 2.95 to GCC 3 way back in 2003....

      Sigh, in the GNU world, we've had much more frequent C++ ABI breakages, so when I hear "C++" and "binary compatibility" in the same phrase, I start to be afraid ;) .

    47. Re:Backwards? by MostAwesomeDude · · Score: 1

      Sure, but not for Google. This is my second year participating, and I'm again attached to organizations that don't directly or indirectly benefit Google. They've gotten the Melange codebase as a result of several years of GSoC; I'd think that if they wanted to commission that particular chunk of code, or hire the students responsible for it, they could have spent a lot less than the millions of dollars annually invested in the community.

      But whatever. :3

      --
      ~ C.
    48. Re:Backwards? by Anonymous Coward · · Score: 0

      This code is in embedded devices being sold to the public, so yes, it's leaving the company. Looks like we're going to violate the GPL. Now what?

  5. Tricky by Monkeedude1212 · · Score: 5, Funny

    "{
            '{
                    "{
                      }"
                    "{
                        }"
              }'
    }"

    I wasn't sure if 5 quotes at the end of the article was correct or not. I decided to employ brackets to handle the scenario. Taking out the wording, my findings are above. It IS correct.

    Is it bad that this was the most exciting part of the article to me?

    1. Re:Tricky by Zixaphir · · Score: 1

      WRONG!

      It is three quotes and a double quote. The distinction is relevant!

      --
      "Now I am become Death, the destroyer of worlds"
    2. Re:Tricky by Anonymous Coward · · Score: 0

      LOL... very good! You made my day!

    3. Re:Tricky by LynnwoodRooster · · Score: 1

      I see you used spaces rather than tabs... How anti-developer of you!

      --
      Browsing at +1 - no ACs, I ignore their posts. So refreshing!
    4. Re:Tricky by Internalist · · Score: 1

      I see you used spaces rather than tabs... How anti-developer of you!

      Somebody's clearly not a Pythonista. (oh I know, it's an awful name)

      --
      Research is what I'm doing when I don't know what I'm doing. -- Wernher von Braun
  6. Cheaper costs by girlintraining · · Score: 5, Insightful

    It's a real problem -- Android is easily the most hackable phone out there. And that's exactly the kind of thing cell phone manufacturers in this country don't want. It's bundled services that they make their fortunes on -- selling overpriced phones, contract cancellation fees, locking in devices, and more. Android threatens to separate the market into service providers and device providers and up until now, the service provider dictated what the device providers could do.

    Imagine if you could just eject your SIM card from your phone, plug it into your computer, and browse the net, take phone calls, etc., then eject it like it's a memory card, slap it back into your phone, and go off to school, work, wherever. Or using bluetooth so that as soon as you get home, it automagically resyncs all your e-mails, text messages, and more. There's so much the technology can do -- and the only reason it's not happening is because service providers want to charge for everything, rather than simply flat-rating everything on a per minute, day, or megabyte use.

    My Sidekick recently lost the ability to send files to my computer over bluetooth. Why? Because of an OTA update that disabled that. So now I can't just sit my phone near my laptop and transfer my pictures out of it, I have to open the back up, eject the little card, plug it into my system, copy the files, and then do the reverse. Very cumbersome when before it was 'click icon, drag files'.

    It's complete and utter bullshit that cell phones are as powerful now as desktops were ten years ago sitting in the palm of my hand, and yet they have less than a third of the capability. And not a one of them is really interoperable with any other except on the most primitive level. Hell, the dialup days of computing offered more functionality and standardization than the cell phone market does. Why should a 14.4k modem and an antiquidated pentium 133 have more communication functionality than today's devices? Hell... it even cost less.

    --
    #fuckbeta #iamslashdot #dicemustdie
    1. Re:Cheaper costs by ZERO1ZERO · · Score: 1
      Yes.

      I still waiting for some kind of phone etc that isn't crippled in that way. I just don't have a mobile phone now. The operators are creaming way too much off the top and giving so little back.

      I have a 10 meg line for a tenner a month to my house and can do pretty much whatever I want with it. The fact that operators charge 5p or what ever to send a 160 byte SMS message, or if I Pay 25 a month for 24 months I can send 500 or 1000 just sucks. It needs to be £5 for a month and including internet access. Some providers charge 60p per meg if you fetch more than the limit per month

    2. Re:Cheaper costs by EvanED · · Score: 5, Insightful

      It's a real problem -- Android is easily the most hackable phone out there.

      I'm not so sure... I think the Nokia N900 has got it beat.

    3. Re:Cheaper costs by Microlith · · Score: 1

      It's complete and utter bullshit that cell phones are as powerful now as desktops were ten years ago sitting in the palm of my hand, and yet they have less than a third of the capability. And not a one of them is really interoperable with any other except on the most primitive level.

      That's only because you're buying phones from your carrier, who demands they be crippled accordingly. Every once in a while you can get good, un-crippled phones from your carrier but they tend to carry higher fees.

      The trick is to go to device vendors who recognize who their true customers are, namely the ones who use the phone daily. I bought an N900 and it gives Android a severe run for its money in terms of hackability and compatibility with existing Linux platforms. The catch is that you can't buy it in the US except at full price from Nokia, and most people stumble at spending $500 on a device they consider to be nothing more than a phone with a big screen.

    4. Re:Cheaper costs by girlintraining · · Score: 4, Interesting

      I'm not so sure... I think the Nokia N900 has got it beat.

      Yeah, but who's heard of the Nokia N900, or even knows what that means, outside geek circles? On the other hand, billboards and TVs everywhere are blasting out "Droid does". For bringing a hackable system to the masses, Android has it beat.

      --
      #fuckbeta #iamslashdot #dicemustdie
    5. Re:Cheaper costs by tepples · · Score: 1

      I still waiting for some kind of phone etc that isn't crippled in that way.

      Then buy one from the manufacturer instead of from a carrier.

      I have a 10 meg line for a tenner a month to my house and can do pretty much whatever I want with it.

      Spatial multiplexing of RF signals over a wired connection is easy: just pull another insulated cable through existing conduits. Doing so over the air is harder because there's no copper or fiber waveguide to keep your signals from mixing with other subscribers' signals.

    6. Re:Cheaper costs by cynyr · · Score: 3, Informative

      i second that.

      you have hardware level access to the N[789]00 devices. I would like an ipad sized n900. that would be a great device.

      --
      All of the above was encrypted with a Quad ROT-13 method. Unauthorized decryption is in violation of the DMCA.
    7. Re:Cheaper costs by bug1 · · Score: 1, Offtopic

      Dont they both have "binary only" components ?

      Or do you mean crackable ?

    8. Re:Cheaper costs by TheRaven64 · · Score: 1

      I'm confused by your second paragraph, because that's pretty much exactly how it does work. My SIM enables the device that contains it to make calls or use the data service. I can drop it into a phone or a computer, although mostly if I want to use a computer while mobile and be online I use the bluetooth DUN profile on my Phone, because it's less effort than removing the SIM and doesn't prevent me from receiving calls. I've never come across a firmware update for any phone I've owned removing functionality either, but maybe that's because I don't buy phones from the service provider.

      --
      I am TheRaven on Soylent News
    9. Re:Cheaper costs by linj · · Score: 1

      Imagine if you could just eject your SIM card from your phone, plug it into your computer, and browse the net, take phone calls, etc., then eject it like it's a memory card, slap it back into your phone, and go off to school, work, wherever. Or using bluetooth so that as soon as you get home, it automagically resyncs all your e-mails, text messages, and more. There's so much the technology can do -- and the only reason it's not happening is because service providers want to charge for everything, rather than simply flat-rating everything on a per minute, day, or megabyte use.

      My Sidekick recently lost the ability to send files to my computer over bluetooth. Why? Because of an OTA update that disabled that. So now I can't just sit my phone near my laptop and transfer my pictures out of it, I have to open the back up, eject the little card, plug it into my system, copy the files, and then do the reverse. Very cumbersome when before it was 'click icon, drag files'.

      It's complete and utter bullshit that cell phones are as powerful now as desktops were ten years ago sitting in the palm of my hand, and yet they have less than a third of the capability.

      You can eject your SIM card from your phone and plug it into your computer. My father actually has two SIM cards from T-Mobile; one resides in a UMTS modem in his laptop (unlocked, bought in Singapore), and the other is in a Blackberry. I'm not sure if there's software to take phone calls, but you can definitely Skype off of it.

      I've got an HTC Touch Pro 2. It runs Windows Mobile 6.5 and it's now unlocked and can flash any firmware it wants (3rd party developers have even got Ubuntu and Android to run on it, although with less hardware support). However, even if it were locked, it can sync all my emails, texts, whatever over Bluetooth. With MyPhone (a pretty good Microsoft product), it syncs all that even into the cloud. MyPhone can sync documents, pictures, music, as well. I can pull pushmail off Gmail as well as calendar and contacts, so even if I flash a new 3rd party ROM, which is a really nice ability that isn't officially advertised, I can easily resync and be off again.

      That said, all this I first experienced overseas. When I came to the US for college, I suddenly realized how much the mobile companies cripple their consumers. Because I couldn't really live without these capabilities (and others couldn't either!), it's easy to find information online to help you achieve what you're imagining.

    10. Re:Cheaper costs by Anonymous Coward · · Score: 0

      AT&T, T-Mobile, Verizon, etc. are NOT manufacturers. This is what they sometimes want you to believe, but extremely far from the truth. They specify how they want the software to behave, and the only way for manufacturers to sell through them we have to agree to their terms. No one wants to pay the full up front cost so there's no alternative.

    11. Re:Cheaper costs by Anonymous Coward · · Score: 0

      hackability and compatibility with existing Linux platforms.

      Oh yea, man, hackability and compatibility with existing Linux platforms. Phone users want that by the shitload...

    12. Re:Cheaper costs by girlintraining · · Score: 1

      I've never come across a firmware update for any phone I've owned removing functionality either, but maybe that's because I don't buy phones from the service provider.

      You're european.

      --
      #fuckbeta #iamslashdot #dicemustdie
    13. Re:Cheaper costs by Anonymous Coward · · Score: 0

      ... the N[789]00 devices.

      You mean the N770/800/810/900 devices? I'm not sure how Nokia comes up with those numbers, but my present theory is that they have for some unknown reason decided that the product numbers should form a Golomb ruler.

    14. Re:Cheaper costs by upuv · · Score: 1

      "My Sidekick recently lost the ability to send files to my computer over bluetooth. Why? "

      You bought a phone controlled by the operator.

      ----
      "It's complete and utter bullshit that cell phones are as powerful now as desktops were ten years ago "

      Actually I dare say the phone is more powerful than the PC of 10 years ago. My phone can drive 720p straight to my TV. No way a PC I could afford could do that 10 years ago. My phone also communicates at very good broadband speed over 3 techs. bluetooth, 802.11g, & 3G. No way my P133 could communicate anything like that. As for Capacity I have a 32Gig microSD card in it. 32Gig was a pipe dream 10 years ago.

      Then there is touch screen, 5 meg camera, gps Web browsing etc.

      Just because you got roped into a bad contract and a bad phone combo it does not mean that the entire state of the industry is defined by your choices. I did my research I bought my phone separately from my contract things are better.

      Get off your butt and do some research make choices based on your requirements and hunt for the best deals. And accept responsibility for your choices. Cause some times we all make bad ones.

    15. Re:Cheaper costs by drsmithy · · Score: 4, Insightful

      Yeah, but who's heard of the Nokia N900, or even knows what that means, outside geek circles? On the other hand, billboards and TVs everywhere are blasting out "Droid does". For bringing a hackable system to the masses, Android has it beat.

      But "the masses" aren't interested in hacking it, thus making said hackability essentially irrelevant to anyone who isn't in "geek circles" anyway.

    16. Re:Cheaper costs by Anonymous Coward · · Score: 0

      find a better option in the US? Seriously. For the 98% consumer, find a better option. Go to any place that advertises cell phones, and find a better option.

    17. Re:Cheaper costs by LynnwoodRooster · · Score: 1

      Or maybe he has a phone that doesn't allow OTA updates like Windows Mobile? Never had a problem with OTA updates since I've had WinMo smartphones for the last 8 years... And I can load pretty much any program I'd like, independent of what the carrier desires.

      --
      Browsing at +1 - no ACs, I ignore their posts. So refreshing!
    18. Re:Cheaper costs by h4rr4r · · Score: 1

      Then why did you buy it?

      An Eris is $79 and can be rooted within 15 minutes of having it home. Heck, 2 minutes if you install the sdk and get the files you need before you go pickup the phone.

    19. Re:Cheaper costs by h4rr4r · · Score: 1

      The signals are not the issue, you talk to the cellular gear via ATT. This is the same method that PCs using usb cellular modems use.

    20. Re:Cheaper costs by h4rr4r · · Score: 1

      The real issue is the only carrier it works with has shit coverage. T-mobile has great plans and is even willing to let you pay off phones over 20 months at no interest, but their coverage sucks.

    21. Re:Cheaper costs by h4rr4r · · Score: 1

      Eris $79 and pay me $20 to root it or do it yourself.

    22. Re:Cheaper costs by girlintraining · · Score: 3, Insightful

      But "the masses" aren't interested in hacking it, thus making said hackability essentially irrelevant to anyone who isn't in "geek circles" anyway.

      They said the same thing about the internet, twenty years ago. And yet look what the hackers of the world built out of the refuse of wires and chips that the corporations of then said was useless and had no commercial value. Now they're fighting to tax it, control it, and some countries have declared it an inalienable human right to have it.

      Maybe it has no value to them, but that's because they don't know the value of it yet. It's our job to find it and tell them. You just haven't been around long enough to realize the purpose of your own learning yet. Your individuality, your knowledge and talents, are not for your own gratification. The purpose of the democratic process, which the internet comes closest in form and function, is not to create a great country, or great works, but to create great people.

      Hacking is therefore the highest form of the democratic process; Not because of what we do, but for what we share.

      --
      #fuckbeta #iamslashdot #dicemustdie
    23. Re:Cheaper costs by Anonymous Coward · · Score: 1, Interesting

      I would add a qualification to the statement that Android is the most hackable phone out there.

      Depending on the model you get, the phone might come pre-rooted and ready to flash custom images. Or you can get it into fastboot mode so you can flash something.

      Or a model might be harder to root and require a bug in the firmware signing, the OS, or something along those lines.

      Or some models just may not receive the installed base to attract the top notch developers that are willing to take the time and trouble to get root.

      And as time goes on, some carriers are demanding that the Android models be locked down. For example, the Backflip that doesn't allow sideloading of apps.

      And it only is going to get worse. We are going to see models which have no ADB access at all, and where the only way to flash them is either an update.zip or an OTA update. There are already apps like the Blizzard Authenticator out there which refuse to run if they see a file named /bin/su. And it is going to be a matter of time before we see a process killing background task that will auto-kill anything that isn't on a signed manifest, so if someone gets a root shell, it gets killed immediately. And of course, someone can make a process to detect rooted phones and disable them and the owner's Google account permanently.

      The moral: Only buy devices on providers who are root friendly, such as an Android Dev Phone (assuming they make an adp3 and higher with modern CPUs), a Nexus One, or most HTC devices. If possible, buy a popular model where Cyanogen or other modding deities will be putting out ROMS out on.

      Some providers have android phones, and they are the front line models. Verizon and T-Mobile come to mind. Other providers have Android phones, but definitely are there only as token phone, as they have their own smartphone they are championing like the iPhone.

      If people vote with their wallets with this issue, we might still have a modding community in the future.

    24. Re:Cheaper costs by c0d3g33k · · Score: 1
      Thanks, girlintraining, that was an awesome post.

      The purpose of the democratic process, which the internet comes closest in form and function, should not be to create a great country, or great works, but to create great people.

      Brilliant. (I fixed it a little for you. It reads a little better to me that way).

    25. Re:Cheaper costs by DryGrian · · Score: 1

      Where the hell can you get a HTC Eris for $79? Looks to me like they are in the $400+ range.

      --
      For optimal comment enjoyment, take red pill now.
    26. Re:Cheaper costs by Anonymous Coward · · Score: 0

      Get a Nokia N900. If you think Android is hackable, wait until you have an OS which is -just- regular, everyday, Linux.

    27. Re:Cheaper costs by Hurricane78 · · Score: 1

      Are you kidding? Maybe in the stone-age US. But here in Germany, I have yet to see a Droid in any shop on in any person’s hands. Motorola, Apple and Google are niche companies in our phone market. You barely ever see someone owning such a phone. Nokia and Samsung rule the market.

      Also what do you mean “outside geek circles”? We were talking about hackable phones. “Outside of geek circles” is off-topic.

      The N900 is the only phone I’d call hackable at all. Android phones are still not very open, and even more important: Not actually GNU/Linux anymore. The N900 basically is Debian with Qt (also made by Nokia). With root access from the start. And it includes a full keyboard. Which is even more important than open-source, geek-wise.
      Sorry, an Android phone can’t beat that.

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    28. Re:Cheaper costs by magus_melchior · · Score: 1

      Maybe they're not interested in "hackability" because they've never had the opportunity.

      --
      "We are Microsoft. You shall be assimilated. Competition is futile."
    29. Re:Cheaper costs by drsmithy · · Score: 1

      They said the same thing about the internet, twenty years ago. And yet look what the hackers of the world built out of the refuse of wires and chips that the corporations of then said was useless and had no commercial value. Now they're fighting to tax it, control it, and some countries have declared it an inalienable human right to have it.

      You seem to have a much different recollection of the internet 20 years ago than I do.

      Maybe it has no value to them, but that's because they don't know the value of it yet. It's our job to find it and tell them.

      No, it's their job to define what they want, and other people's jobs to deliver it. What you are proposing is akin to dictatorship, not democracy.

      You just haven't been around long enough to realize the purpose of your own learning yet. Your individuality, your knowledge and talents, are not for your own gratification. The purpose of the democratic process, which the internet comes closest in form and function, is not to create a great country, or great works, but to create great people.

      If you think the internet is creating "great people", you need to spend some time on 4chan and Facebook.

      Hacking is therefore the highest form of the democratic process; Not because of what we do, but for what we share.

      Please. Ease up on the mental masturbation just a bit. The people responsible for shaping the world as we know it today were sharing their knowledge and talents before "hacking" was even a word.

    30. Re:Cheaper costs by drsmithy · · Score: 1

      Maybe they're not interested in "hackability" because they've never had the opportunity.

      No, they're not interested in "hackability" for the same reason they're not interested in turning their own engines, lighting their fireplaces by rubbing two sticks together, or washing their clothes by beating them next to the local river.

    31. Re:Cheaper costs by rdnetto · · Score: 1

      Being hackable isn't only of benefit to the hackers - it also increases the value of the device to all other users when the hacker (or someone else benefiting from their work) puts a nice interface on it. Truly hackable systems can do things that seem magical to the average user, even if the user doesn't do any hacking themselves. *

      * This is supported by anecdotal evidence of how people react when they see what my N900 is capable of. e.g. remotely connecting to my home system (with a VPN) via RDP.

      --
      Most human behaviour can be explained in terms of identity.
    32. Re:Cheaper costs by jfanning · · Score: 1

      You're european.

      Is that an insult or a compliment?

  7. Would you rather have completely unsupported HW? by tepples · · Score: 3, Insightful

    If hardware makers can't include third-party code or processes that they aren't permitted to sublicense as free software, then perhaps they won't write a driver at all. Instead of proprietary drivers, you'll have completely unsupported hardware.

  8. Re:Would you rather have completely unsupported HW by cynyr · · Score: 3, Insightful

    yes, if it's enough of a market for them, they will make sure that they get support from upstream, if enough companies ask for linux support for subassembly Y then maybe it will change. If you really feel you need to keep it closed, do like nvidia, or handle it yourself.

    --
    All of the above was encrypted with a Quad ROT-13 method. Unauthorized decryption is in violation of the DMCA.
  9. Re:Would you rather have completely unsupported HW by Microlith · · Score: 3, Insightful

    What's your point, that we should encourage closed drivers by setting the APIs in stone for years on end? Allow the non-open to dictate the actions of the open?

    That's not -my- problem. It's theirs. They choose to stay closed, so when the APIs change no one else can fix it but them. They have no room to bitch about unstable APIs in an open kernel that is constantly changing, when they won't commit to being open themselves. Others do, and as a result don't have nearly the problems. It's a cost they must accept, or they can do as you suggest and stop.

  10. Re:Would you rather have completely unsupported HW by tepples · · Score: 2, Interesting

    So I, an end user, am inside a Best Buy store, and I don't have a cell phone with a data plan to check what is in stock against the distro's HCL. How do I find peripherals that are definitely compatible with a free OS?

  11. Re:Would you rather have completely unsupported HW by Anonymous Coward · · Score: 2, Interesting

    1. Class compatibility.

    Prefer to buy the object which says it implements a device class standard. AHCI is a good example. Classes rule so much that in a lot of cases all the non-class compatible products just went away - HID and ATAPI are good examples of that. In a few cases products don't advertise their class compliance but there's a well known sign that you can learn before you start looking. For example, if a webcam has the symbol that means it's designed to work with Vista, that means it'll work with a modern Linux too, because to get that symbol from Microsoft the webcam must be class compliant.

    Today class compatibility covers almost all: input devices, USB storage, onboard sound, internal drives including optical drives, Bluetooth, mid-range webcams.

    Class compatibility remains spotty for: add-on PCI sound cards, high-end cameras, graphics display (it's limited to VGA, blergh), printers

    Class compatibility is non-existent for: most networking, including WiFi, digital TV, fingerprint readers, scanners

    2. "No" drivers

    When class compatibility doesn't exist, and you have the choice between two products that make no mention of any OS except Windows, but one says it works without drivers, buy that one. Of course it needs drivers, but they must be built in to Windows, which means hardware of this type is common, and it existed at least long enough ago to include drivers for Windows, which means there's an excellent chance drivers for Linux exist or soon will.

    3. Look for the logo

    It's not everywhere, but in some categories you will see a penguin logo (or other Free OS logos) on products that offer some support. Now, this doesn't mean you're necessarily going to get a nice Free Software driver that works out the box. It may be an x86 Ubuntu only binary driver, or a patch that only works against Linux 2.6.4 or something equally useless. That's why I didn't list this as option 1. But it's usually a better sign than nothing at all.

  12. Re:Would you rather have completely unsupported HW by HeronBlademaster · · Score: 2, Insightful

    Step one would be: don't shop at Best Buy, as you're probably paying too much.

    Step two would be: shop at home, online, where you can compare both prices and compatibility with your OS.

    I think these steps are valid whether or not you're a clueless end-user. Clueless end-users are more than capable of comparison shopping online (and if the end-user really wants to buy from Best Buy, they can look at Best Buy's website without leaving home).

  13. Re:Would you rather have completely unsupported HW by Anonymous Coward · · Score: 0

    Easy: don't. Do the research online and order online from the comfort of your Linux grotto. Let Best Buy die along with the perversely churning product of the week shelf stock that depends on third-party drivers.

  14. Re:Would you rather have completely unsupported HW by Aldenissin · · Score: 1

    To respond to you signature, Valve had this idea, and people spurned it at the time. Of course that was before they actually had a bunch of games in their lineup. (At least more than three years ago they did a survey.) The idea was to pay $10-15 and get all the games for free. That idea wasn't bad considering the prices that are paid for games... And you get the kind of support that Steam can offer, such as cloud based services (configuration, saved games, etc.).

    --
    Like a city whose walls are broken down is a man who lacks self-control.
  15. Developer's first thought by Anonymous Coward · · Score: 0

    That is going to be one killer merge.

  16. Re:Would you rather have completely unsupported HW by h4rr4r · · Score: 1

    look for one with a tux sticker on it?

  17. Re:Would you rather have completely unsupported HW by grcumb · · Score: 1

    If hardware makers can't include third-party code or processes that they aren't permitted to sublicense as free software, then perhaps they won't write a driver at all. Instead of proprietary drivers, you'll have completely unsupported hardware.

    Releasing unsupported hardware because you don't like the alternative seems like a case of cutting off your nose to spite your face.

    Given the situation you describe, in which hardware makers sub-license proprietary code because it costs them less, it would seem to me that they should be promoting FOSS for all they're worth. No more upstream lock-in for the manufacturers, fewer overheads and almost certainly increased profits per unit sold because of reduced demand for royalties.

    I realise that it's extremely difficult to move to a FOSS culture from a predominantly proprietary one - especially when there are long-term licensing/royalty agreements to consider. But one would think that hardware manufacturers would see it as a strategic goal.

    --
    Crumb's Corollary: Never bring a knife to a bun fight.
  18. Re:Would you rather have completely unsupported HW by Grishnakh · · Score: 1

    I have to agree with the other responders: don't buy at Best Buy! You're just getting ripped off. Go home, and shop on Newegg.com (or zipzoomfly.com, or many others). The prices are much lower, there's customer reviews so you can see what other people say about the product or if there's common problems, and you probably won't have to pay sales tax which should make up for any shipping charges.

  19. Re:Would you rather have completely unsupported HW by h4rr4r · · Score: 1

    Fine by me. Better than encouraging closed drivers.

  20. I am against this. by FlyingGuy · · Score: 2, Insightful

    And here is why.

    Google has proven to be benevolent, but I am not sure I want their hooks in my Linux kernel. Google exists to make money and do things in their own self interest. The problem is if their fork gets merged that they will become the maintainers for this. I believe as long as it remains in their self interest they will maintain the code but as soon as it is no longer in their self interest it will be abandoned and where will that leave us should we all decide to begin uses that functionality?

    I think they should put the parts that are different out there, lets us all examine them and then let us decide if we want their frankencode or not.

    --
    Hey KID! Yeah you, get the fuck off my lawn!
    1. Re:I am against this. by Anonymous Coward · · Score: 0

      And here is why.

      Google has proven to be benevolent, but I am not sure I want their hooks in my Linux kernel. Google exists to make money and do things in their own self interest. The problem is if their fork gets merged that they will become the maintainers for this. I believe as long as it remains in their self interest they will maintain the code but as soon as it is no longer in their self interest it will be abandoned and where will that leave us should we all decide to begin uses that functionality?

      I think they should put the parts that are different out there, lets us all examine them and then let us decide if we want their frankencode or not.

      So, pretty much like almost everything else in the kernel then?

    2. Re:I am against this. by Luke+has+no+name · · Score: 1

      Because volunteers are consistently reliable maintainers.
      Because companies don't often contribute to the kernel.

      I get your concern, but don't think it's called for. Besides, doesn't code have to meet guidelines to get into mainline?

    3. Re:I am against this. by FlyingGuy · · Score: 1

      Well as long as the code meets Linus's guidelines yes.

      I do realize that Google provides time for employees to work on outside projects but this is a bit more then that. These are some fundamental changes to the kernel.

      --
      Hey KID! Yeah you, get the fuck off my lawn!
    4. Re:I am against this. by FlyingGuy · · Score: 1

      Not so much.

      Android is a fairly large paradigm shift and it remains to be seen just how it will fall out. It is already being morf'd by the carriers and tied up and tied down. There is no longer one consistent version of Android and they are now attempting to bring it back into one stream sort of like the kernel itself, but I doubt this will be successful given that all the carriers are using it in different ways and have wildly different attitudes when it comes to giving back.

      --
      Hey KID! Yeah you, get the fuck off my lawn!
  21. Return shipping and restocking fees by tepples · · Score: 1

    Step two would be: shop at home, online

    How much do return shipping and restocking fees cost if the product A. turns out to be an incompatible revision after they switched from, say, Atheros to Broadcom within the same model number, or B. is a laptop computer that turns out to be incompatible with my hands and/or eyes?

    1. Re:Return shipping and restocking fees by HeronBlademaster · · Score: 1

      Stores like Best Buy often charge restocking fees on open electronics. What's your point?

      At any rate, it's not hard to google the model number and see if people have had trouble getting it to work with your distro, see whether the manufacturer has changed chipsets under the hood, and so on and so forth. Isn't that part of what I said earlier, in step two?

      You can't complain that an alternative solution doesn't work if you ignore part of the instructions.

    2. Re:Return shipping and restocking fees by tepples · · Score: 1

      So what recourse do I have if I see good results on Google, but it doesn't work once I have bought it?

    3. Re:Return shipping and restocking fees by HeronBlademaster · · Score: 1

      If you buy from a reputable vendor, you have exactly the same recourse you'd have buying from Best Buy - return it.

      You're going to complain about cost of shipping or something, I'm sure. That's true. But if you pay less for the item in the first place, and most of the time you'll get the right thing (after all, you're talking about an edge case here), so you'll come out ahead even if once in a while you have to return something.

  22. Back use tax by tepples · · Score: 1

    The prices are much lower

    Because they charge return shipping plus a 15% restocking fee if you're among the first to buy something after the manufacturer has made an incompatible revision to the hardware.

    and you probably won't have to pay sales tax which should make up for any shipping charges.

    Until you get audited and billed for back use tax plus penalties for non-payment of tax.

    1. Re:Back use tax by Grishnakh · · Score: 1

      Because they charge return shipping plus a 15% restocking fee if you're among the first to buy something after the manufacturer has made an incompatible revision to the hardware.

      Best Buy has a very poor return policy too, in case you didn't know. It's not like Wal-Mart, where you can return anything, even with a damaged open box.

      Until you get audited and billed for back use tax plus penalties for non-payment of tax.

      Which NEVER happens. [citation needed]. It's not worth the state's tax department time to audit someone for $100 worth of unpaid use tax from mail-order purchases.

    2. Re:Back use tax by Grishnakh · · Score: 1

      Sorry for replying to your sig, but

      "Give away software and sell support." But how do you sell support contracts for a computer game?

      You don't. That model obviously doesn't work with games, it works for software used by businesses. For games, you just have to sell it outright. Or, you could give it away and sell access to a central server for multiplayer games (of course, you run the risk of someone reverse-engineering your protocol and making their own compatible multiplayer server).

      One of the selling features of open-source software is keeping access to your data and being able to maintain your business-critical software, in case the vendor goes belly-up. For a game, that's not exactly a problem.

  23. Cutting off your nose by tepples · · Score: 1

    Releasing unsupported hardware because you don't like the alternative seems like a case of cutting off your nose to spite your face.

    If the (supported) Mac OS X market is an order of magnitude bigger than the (unsupported) GNU/Linux market, and the (supported) Windows market is yet another order of magnitude bigger than that, then cutting off your nose to hide your lies becomes profitable.

  24. Where's the ROI? by tepples · · Score: 3, Insightful

    if it's enough of a market for them

    It isn't. Because GNU/Linux has roughly 1% of the desktop share, a lot of companies don't see the return on investment in getting support from upstream.

    1. Re:Where's the ROI? by yahwotqa · · Score: 1

      Right, hardware is only used on desktops. Servers run purely on love, goodwill and farts.

    2. Re:Where's the ROI? by Anonymous Coward · · Score: 0

      There is a large subset of devices that run almost exclusively on desktops. Not many servers use webcams.

    3. Re:Where's the ROI? by Anonymous Coward · · Score: 0

      we are not talking about the desktop. we are talking about mobile. its hard to find an embedded system that does not use linux. with windows mobile going all locked down, apple treating the Iphone OS like the ark of the covenant, and the old mobile phone OSs (BREW, J2ME, symbian) are too much of a pain to develop for. Vendors have already accepted that they are going to have to use Linux. And as long as they pay attention to what is going on in kernel land, there should be no problem.

      if they want to do proprietary drivers, the onus is on them to keep it updated. Nvidia doesn't seem to have a problem with it

    4. Re:Where's the ROI? by Hurricane78 · · Score: 1

      This is circular reasoning. And everybody knows it.

      The reason that the market share is so low, is that companies didn’t support it in the first place. Because they did not look at the long-term profits, or were just too greedy. It’s got nothing to do with market share. That is just a straw-man.

      But hey, I have yet to see hardware that I couldn’t use under Linux. So the whole driver problem is’t even there anymore.

      It’s big companies like Adobe, and game creators, with their short-term greed, that are really the ones responsible.

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
    5. Re:Where's the ROI? by Anonymous Coward · · Score: 0

      Linux has over 5% marketshare. Where is this based?

      Canonical estimated it has 12 million Ubuntu users. (What is less than what OpenSUSE, Debian, RedHat or Mandriva has estimated alone).

      Microsoft sold 90 million Windows 7 licenses and it got 10% marketshare with it.

      OLPC has alone 4,5 million sold units.

      Apple got in two weeks sold out a 500 000 units of iPad. It gave them a 0.03% marketshare.

      What are facts? Microsoft counted every student, family, MSDN etc licenses together. Companies usually buy a OEM license but then install own license over it. So MS has sold more licenses as they are use (when not counting piracy).

      If Apple got 0.03% marketshare with 500 000 iPad units and Linux has 1% marketshare. Then Linux has about how many computers there?

      And when compared to 9% marketshare what MS got with 90 million licenses, what you get?

      And there is no such OS as GNU/Linux. That is Linux OS + GNU development tools = Development platform. GNU has own OS, called HURD (what has a GNU Mach microkernel).

      There are two separated OS's. Linux and HURD. Linux has multiple prosents of marketshare. HURD has very small. Maybe about 0.01%.

  25. Towers are expensive for AT&T by tepples · · Score: 1

    The signals are not the issue, you talk to the cellular gear via ATT.

    With cable, DSL, or FTTH, the ISP just has to put another "refrigerator" on the corner to handle more signals. But with USB cellular modems, it costs a lot for AT&T to build more towers to handle more subscribers.

  26. Re:setting the APIs in stone for years on end? by Rob+Y. · · Score: 1

    Yes - as much as possible. I don't think API's should never be fixed or improved, but at some point Linux ought to be 'done' enough that driver API's don't need to be changed, and that backward compatibility isn't such a liability that it outweighs the advantages.

    C'mon folks. Linux is way past the experimental phase. It's the basis for many of the devices we use and love. If the API's aren't solid enough to freeze (or maintain backward compatibility) at this point, then it ought to be a priority to make them so. Just because dev's can rewrite open source drivers to handle API changes, doesn't mean it's not a lot of effort that would not be necessary if the API's didn't have to change.

    --
    Posted from my Android phone. Oh, I can change this? There, that's better...
  27. Surveillance webcams by tepples · · Score: 1

    Not many servers use webcams.

    My place of employment has a Windows server behind the firewall that manages eight surveillance cameras. Is that close enough?

  28. Re:Would you rather have completely unsupported HW by Rockoon · · Score: 1

    What's your point, that we should encourage closed drivers by setting the APIs in stone for years on end?

    I think the point is that the driver ABI doesnt need to change every cycle just to discourage closed drivers.

    ..and here is an idea.. an operating system can support more than one driver model and ABI. Pick one, call it BIN_DRV_1. Declare it to be supported for at least N > 5 years, and then continue to fuck around with the SRC_DRV one. After 5 or more years, when there seems to be a significant advantage if BIN_DRV_1 had the same features as SRC_DRV, you define BIN_DRV_2 and then support that one for a long time.

    Right now what you have is a catch-22 situation where vendors don't want to write drivers because of low market share, while market share remains low partly because vendors don't want to write drivers.

    --
    "His name was James Damore."
  29. Re:Would you rather have completely unsupported HW by peppepz · · Score: 1
    Why, if they can't release the source code, they will do what they've been doing for years: release a proprietary driver consisting of a binary-only blob, glued to the kernel with an open-source shim. There's no need for an ABI for manufacturers to support Linux. It's just one of the excuses adduced by the manufacturers who have no interest in supporting it.

    An ABI is not in the interest of Linux users. It's only in the interest of lazy manufacturers who want to push pieces of hardware which users will have to trash after the next operating system release. I've got plenty of hardware I can no longer use under Windows because its manufacturers only produced ONE release of the driver before shelving the product. All of it works with Linux.

  30. A scanner by tepples · · Score: 1

    But hey, I have yet to see hardware that I couldn't use under Linux.

    Then you haven't seen a Microtek ScanMaker 4850 flatbed scanner. It's still listed as unsupported in SANE, just like it was when I first checked back in the Mandrake 9.1 days.

  31. Re:Would you rather have completely unsupported HW by Deosyne · · Score: 1

    Amen to class compatibility. I still don't understand how there hasn't been a basic standard created for NICs similar to VGA, like being capable of establishing a 1 Mbps TCP/IP connection. It is the one peripheral in the entire system that I need to be working in order to get drivers everything else, and yet it is the one device that I spend more time having to get working than any other. Admittedly, I work with a lot of demo units so I am likely having this happen more often than the average bear, but it sure as hell doesn't seem like a weird expectation to have basic functionality from a product that is becoming even more common than a video interface and has been around for decades.

  32. Difference between glibc and uClibc distros by tepples · · Score: 1

    And there is no such OS as GNU/Linux.

    I use GNU/Linux to refer to Linux environments that use Bash, GNU Coreutils, and glibc, as opposed to embedded or "uClinux" environments that use BusyBox and either uClibc or Newlib. Do you have a better term for "Linux on desktops and servers" that distinguishes it from "Linux on embedded devices"?