Slashdot Mirror


Dish Network Dishes Source Code for DVR

An anonymous reader writes "According to Dish Network they are accommodating 'requests for the portions of the DISH 921 DVR source code that are subject to the GNU Public License, or GPL. In compliance with the terms of the GPL, we are making this source code available to the public to download. Please note that the DISH 921 DVR software also includes some proprietary elements that are not subject to the GPL. You cannot create a working DISH 921 DVR software build without the additional proprietary code. Do not replace or add any software to the DISH 921 DVR with items compiled from these source trees. Doing so will void all warranties and cause the unit to fail.'"

29 of 337 comments (clear)

  1. GPL != GNU Public License by gimpboy · · Score: 5, Informative

    Actually, GPL is the General Public License.

    --
    -- john
    1. Re:GPL != GNU Public License by uss_valiant · · Score: 3, Funny
      Actually, GPL is the General Public License.
      Well, actually GPL is a recursive acronym for "GPL's a Public License".
    2. Re:GPL != GNU Public License by gimpboy · · Score: 3, Informative

      What does "GPL" stand for?
      "GPL" stands for "General Public License". The most widespread such license is the GNU General Public License, or GNU GPL for short. This can be further shortened to "GPL", when it is understood that the GNU GPL is the one intended.

      So GPL can stand for "General Public License" _or_ GNU General Public License. Neither of these include the "GNU Public License".
      --
      -- john
  2. Odd caveat by Shaper_pmp · · Score: 4, Interesting

    "Do not replace or add any software to the DISH 921 DVR with items compiled from these source trees. Doing so will void all warranties and cause the unit to fail.'""

    Is this the normal "no user-serviceable parts inside" caveat, or does it suggest that they, in fact, haven't released all the modifications to GPLed code in their product?

    --
    Everything in moderation, including moderation itself
    1. Re:Odd caveat by lachlan76 · · Score: 3, Insightful

      Probably that they have included proprietary drivers.

    2. Re:Odd caveat by Anonymous Coward · · Score: 4, Interesting

      It's the latter. The 921/721 kernel does checksumming on various binaries upon mounting the root partition to make sure they haven't been modified, and that part of the code is MIA.

    3. Re:Odd caveat by resiak · · Score: 5, Informative

      No, that's not true. If you're calling a function like that, you have linked the GPLed code to your homebrew code, and so the GPL's "viral" nature kicks in --- if you release the binaries to the world, you must release your own code under the GPL to anyone to whom you supply binaries.

      The example you were looking for is something like the following:

      #!/usr/bin/perl
      # This file is covered by the GPL, blah blah.

      sub frobnitzigate {
      #return "No frobbing possible!";
      return `a-binary-we-dont-want-to-gpl`; # Added by Evil Company(TM)
      }

      # blah

      Now you don't have to release the source to a-binary-we-dont-want-to-gpl --- this is what the GPL calls "mere aggregation", and is (probably) what has happened with the DVR stuffs.

    4. Re:Odd caveat by po8 · · Score: 3, Informative

      Nope. Read your GPL carefully. If func_mine_all_mine() is part of a GPL-ed program, you'll have to release its source anytime you release the binary to that program.

      Now there's some controversy about what counts as "part of a GPL-ed program." Shared libraries? Kernel modules? Driver scripts? RMS and the FSF legal team, Linus Torvalds, and others have all released opinions on this, but so far I'm not aware of any court cases that have defined these limits legally. It may be that DN's lawyers think that they have a legal case for keeping some code out.

    5. Re:Odd caveat by Faw · · Score: 3, Informative

      I have checked DishLinux for a while (I wanted to add software of my own to the 721) but unfortunately it seems every executable is encrypted with PGP. The loader decrypts it and runs it.

      Also there is a file in the root partition that seems to be a list of files on the disk, also PGP signed. When the system boots it checks and if there is any differences between the list and the disk and if there are any it does a full reinstall.

      If anyone wants to know more go here and here . These are 2 threads on SatelliteGuys detailing what I found out while replacing the hard drive.

  3. Sounds like reverse psychology by DrugCheese · · Score: 4, Insightful

    Don't try and make some code that'll fit in place of our proprietary code - YOU CAN'T DO IT!

    --
    *DrugCheese rants*
  4. Dragged kicking and screaming into the light... by pieterh · · Score: 5, Insightful

    Some of the ways companies try to avoid complying with the spirit of the GPL, even if they comply with its letter:

    1. The "Vogon" strategy... the source code is available on the web site but you have to go down the stairs, look in the bottom shelf of a filing cabinet behind a locked door with a sign "beware of the leopard" on it.

    2. The "Proprietary pieces" strategy... the source code is released, oh yes, but with significant pieces missing.

    3. The "Under development" strategy... coming soon folks, as soon as we get it ready.

    All these are quite hard to sustain.

    But what really amazes me is how slow companies like Dish are to understand the benefits that the GPL brings them. They are building on top of commodity software. They have access to hundreds of skilled engineers at little or no cost. These people ask nothing better than to act as a volunteer R&D department, in exchange for appropriate credit and possibly some long term kudos.

    But no... instead we get these "compliance" releases, basically useless.

    The key is this: if you are selling a device and your software is GPLd, you have created a platform and you can potentially sell 10, 100 times more if you provide a decent product at a reasonable cost.

    Not only does it make excellent business sense to re-release improvements to GPL'd software as cleanly and transparently as possibly, but it makes sense to release proprietary software exactly the same way.

    1. Re:Dragged kicking and screaming into the light... by Bloater · · Score: 3, Insightful

      The problem is they are building on top of commodity hardware, with the only advantage being the software. A competitive market has no room for openness. In such a market, every dollar you grow is a dollar that your competition shrinks. You don't want that to happen the other way around. For everything you do that helps your competitor, your competitor grows a little faster. That means you grow a little slower or shrink.

      Embedded consumer entertainment appliances are a very, very competitive market. That's why prices are so low, and there are so many small players. All those niche's have converged to one market leaving it over-crowded and over-supplied. Nobody can be expected to give up their share of that market without at least a fight.

    2. Re:Dragged kicking and screaming into the light... by technothrasher · · Score: 3, Insightful
      he problem is they are building on top of commodity hardware, with the only advantage being the software. A competitive market has no room for openness.

      Exactly. The thing I've always wondered about is why all these companies aren't using *BSD for their OS. There's lots of support for embedded BSD and it makes this whole GPL problem go away.

  5. They call this compliance? by McGregorMortis · · Score: 4, Interesting

    "Do not replace or add any software to the DISH 921 DVR with items compiled from these source trees. Doing so will void all warranties and cause the unit to fail."

    The whole point of the GPL is that users can make modify the code. If the deriviative code they have released cannot be loaded without rendering the unit unusable, then they have clearly violated the spirit of the GPL. Maybe they've found some kind of loophole, I don't know.

    If the device will not work without linking in proprietary code, well, then they gots themselves a problem. But it's their problem, not the GPL's. Either the proprietary code goes, or the GPL code goes.

    1. Re:They call this compliance? by theonlyholle · · Score: 3, Insightful

      Pretty much depends on your definition of "linking in proprietary code". If the devices boots into Linux, but there are no applications to start (because they are proprietary and so you didn't have the source to compile them), so it doesn't do anything, that's not against the GPL - neither letter nor spirit of the GPL. You still get the source for the parts based on the GPL - but you'd have to write your own application software to run on top of it.

  6. Nice to see by Anonymous Coward · · Score: 4, Interesting

    This is a little off topic, but it's nice to see Dish with a little honesty for a change. When I started EFT service after being with them for 2 years. They turned my service off for non-payment twice after the EFT had started withdrawing funds. Like clockwork, every 2 months it was turned off. When I called them, they turned it back on, but then I got charged a reconnect and late fees.

    Second time I told them not to turn it back on and I was cancelling service. I turned around and got DTV that day and canelled any EFT from dish.

    Long story short, 6 months later I got a collection letter for $400. Turns out they turned the service back on and charged me for 2 months of service I didn't use plus the receiver I sent back to them. The collections still there with a note saying that it's invalid. After numerous conversations, they still swear that I owe them 2 months of service and a receiver even though I've sent them records of the receiver sent back to them via UPS and the start date of my DTV service.

    I've spoken with 9 different Dish customers that have had similar cases but kept service. I also had a friend that took a job with them. They even lied to him about working around his school. He ended up having to quit because they wouldn't schedule him around his classes.

    Anyone paying Dish for service deserves the screwing they're getting.

  7. Doing so will void all warranties by a_greer2005 · · Score: 3, Funny

    warranties? warranties???? This is slashdot! WE DONT NEEDNO STINKING WARRENTIES!!!

  8. Re:GPL is viral no? by Ed+Bugg · · Score: 4, Insightful

    I didn't think that you could mix proprietry and gpl code? How are they releasing parts of a source code tree - I thought it was all or nothing if you include GPL in your source?

    Well kinda... What you do is write an abstraction layer, kinda of a hook into your proprietry software. You'll need to release the abstraction layer (The functions and routines that call GPL routines and use the variables from the GPL modules) but not the proprietry stuff.
    That is perfectly legal (not neccaryly ethical) and many companies do it.
    It would look something like this (assume code sprinkled in different source files
    gpl_code() {
    do stuff here;
    abstract_api1();
    }

    abstract_api1() {
    proprietry_func();
    }

    abstract_api2() {
    do other stuff here;
    }

    proprietry_func() {
    abstract_api2();
    }
    --
    -- Ed Bugg --You have freedom of choice, but not of consequences.--
  9. Happy Fun Ball by flood6 · · Score: 4, Funny

    You cannot create a working DISH 921 DVR software build without the additional proprietary code. Do not replace or add any software to the DISH 921 DVR with items compiled from these source trees.

    Do not stare at DISH 921 DVR, do not taunt DISH 921 DVR, if DISH 921 DVR begins to smoke, seek shelter and cover head.

  10. But, it is not a violation. by beldraen · · Score: 4, Insightful

    They used GPL code. Anything they modified, I presume, is re-released. The fact that they call external code that you cannot have access to is your problem.

    If you give people a free hammer to use any way they wish, you cannot be justified when they make a building that you are not allowed to enter. GPL gives people the freedom to use it as the people see fit as long as they do not try keep the source code to themselves. Apple has not.

    What you are really mad about is that you want anything the GPL code to which it is linked to be free as well. If this is what your idea of GPL means, then I can understand why Gates calls GPL viral. Your idea is viral and Apple's proprietary code is not yours to have. KDE's team was naive to expect they would get a free lunch in return for handing out free lunches. The GPL's purpose is to keep the code free, not its use.

    --
    Bel, the mostly sane.. "Of course I can't see anything! I'm standing on the shoulders of idiots." -- Me
    1. Re:But, it is not a violation. by Phroggy · · Score: 3, Insightful

      KDE's team was naive to expect they would get a free lunch in return for handing out free lunches.

      Correction: KDE's users were naïve to expect that they would get a free lunch in return for KDE developers handing out free lunches.

      The KDE developers understood the license, and its ramifications, when they chose to release their code under it. They have acknowledged that Apple is playing fair, and is completely within their rights. However, Apple has not gone as far above and beyond the requirements of the LGPL as some Konqueror users expected, and THOSE people are upset. The developers are a bit disappointed, but they're not upset at Apple.

      --
      $x='S24;r)>63/* h@<5+oZ)32"5cz';$me='phroggy'x$];
      $x=~y+ -xz+\0-Tx+;print$_^chop$me for split'',$x;
  11. While you're fuming... by Kjella · · Score: 4, Insightful

    A "preamble" or "spirit" is not a legal obligation.

    a) Apple is under no requirement to release individual patches, nor any big patch at all. Only the complete source.
    b) Apple is under no obligation to give anything at all to the KHTML team (only to those who got their browser as part of a Mac).
    c) The source files as they stand are obviously the "perferred form" of editing the source code internally in Apple. The GPL does not cover any other form of material, such as structural documents, documentation, bug database or any other material required to understand the source. If anything, it is an oversight of the GPL, not Apple.

    In short, you are asking for kindness above and beyond their obligations. They have forked the project, and I don't see why they should have to maintain someone else's code tree. Are the *BSDs required to make compatible patches, because they came from the same source? No. I assume Apple has released everything they are required to under the GPL, and so your allegations of closing the source like a BSD license is groundless, as are your allegations of a GPL violation. If I had mod points I would mod you as -1, Troll, UID not withstanding.

    Kjella

    --
    Live today, because you never know what tomorrow brings
  12. Re:Nice to see (Helpful, but way off topic) by Anonymous Coward · · Score: 5, Interesting

    Under the Fair Credit Reporting Act it is up to them to prove that you didn't cancel service and not the other way around. In a court case with your shipping information you have the preponderence of evidence. Send them a certified letter telling Dish they have 30-days to send you their evidence or they must cease all collection efforts. Be sure to reference the Reporting act and be sure to detail the damages you have suffered due to the lower credit score and higher interest rates they have caused. The Act specifies that recovery of damages is permissible. If they do not comply, talk to an attorney as you have a case. They count on people not knowing the rules....

  13. Longer lasting = added value by Alwin+Henseler · · Score: 3, Insightful
    But what really amazes me is how slow companies like Dish are to understand the benefits that the GPL brings them. (..) Not only does it make excellent business sense to re-release improvements to GPL'd software as cleanly and transparently as possibly, but it makes sense to release proprietary software exactly the same way.

    I think most businesses still underestimate the added value it gives to customers, if products can be extended/upgraded in 'unintended' ways. I suppose the thinking may be something like "this year, we sell you something with a fixed set of functions, so if you want something extra that we come up with next year, then you'll have to buy again". If customers can upgrade and extend functionality themselves, the product may last a lot longer, and businesses may feel they lose out on sales of newer products. And maybe business feel that added value for customers != added value for the company. Note this is a lot of speculation on my part.

    What they fail to realize, is that a longer lasting product is one that is a) more appreciated, and b) is worth more (=could be sold at a higher price). It's no different from the pricing difference between a cheap model car, and say... a <insert your favourite top-of-the-line car maker here>. The latter is a lot more expensive, but still very much worth its money. Not only because of the name, but by including quality parts, more attention to detail, better service, and so forth. Both cars will get you from A to B, but the expensive model may even be cheaper... in the long run, when you drive enough miles in it. And by breaking down less often, and give you more time before you need a new car.

    The 'quality' part gives a product a higher profit margin, and the 'customer satisfaction' keeps customers coming back. So that added customer value does equal added value for the company.

    It just shows that few companies understand this, or prefer to go for the quick buck as opposed to keeping their customers happy for a long time.

  14. i.e. non-compliant by Dwonis · · Score: 4, Informative
    You cannot create a working DISH 921 DVR software build without the additional proprietary code.

    That doesn't sound like GPL-compliance to me. From the GPL:

    The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable.
  15. Wouldn't have this problem if... by telemonster · · Score: 4, Funny

    they developed on BSD.

    --
    Southeastern Virginia REPRESENT!
  16. Re:No by |<amikaze · · Score: 3, Insightful

    Everyone seems ok with that.

    Not really. There's a quite vocal minority that is really choked that that's happening.

    Even Linus is pretty sketchy about the closed-source binary drivers. http://kerneltrap.org/node/1758

  17. Re:cool by Arker · · Score: 3, Informative

    They're ok legally if they aren't linking the code - just communicating through socket calls, etc. No different than running, say WordPerfect or Oracle on Linux - as long as the proprietary stuff is stand-alone and not linked it's not a legal problem.

    However, if they are correct that installing binaries compiled from this code release will cause their PVR to stop functioning, that sounds to me like they aren't actually in compliance. If the proprietary stuff really isn't linked, and the code they released really is the code for the free software in the system, then binaries compiled from it (assuming the same compiler and settings) would be byte for byte identical with what's already on the PVR.

    So, it seems to me they're lying about one thing or the other.

    --
    =-=-=-=-=-=-=-=-=-=-=-=-=-=-
    Friends don't let friends enable ecmascript.
  18. Re:Mere aggregation by NickFortune · · Score: 3, Insightful
    I'm not really sure whether your example, including proprietary code by calling the shell, is exactly the thing that can be called "mere aggregation".

    Oh, really? If the backtick operator doesn't qualify as a mechanism of mere aggregation, then it's hard to imagine what could qualify.

    The backtick operator can execute any executable on the system, to say nothing of arbitary shell scripts and sequences of shell commands. If backticks can "infect" code, so can bash. I don't think even the most fanatical free software zealot has ever pushed for that interpretation.

    It seems to me that it's all a question of interfaces. If someone designs GPL software with a well defined interface, then you're free to write non GPL software that uses that interface. If there is no interface and you're changing the files in the original software, then the GPL applies.

    Kernel modules are far more intimately connected to GPL software than an arbitatry executable is to Perl. And the Linux kernel development community seems count a healthy contingent of Free Software devotees amongst its number. Yet few if any people seem to consider that proprietory kernel modules are "tainted" by their association with the kernel. Quite the reverse in fact.

    Nor does the compilation issue change matters. If I can write a compiler and use it to compile code that you have copyrighted. However there is no licence in existence under which that process of compilation grants me the the copyright to your code.

    --
    Don't let THEM immanentize the Eschaton!