Forgot your password?
typodupeerror
Programming IT Technology

What Happens To Code From Failed Projects? 225

Posted by Soulskill
from the great-compiler-in-the-sky dept.
Idzuna writes "With the somewhat recent announcement of Tabula Rasa shutting down, I have been thinking about what will happen to the Server/Client code. Does it get used as a guide for other projects? Does it get destroyed? Or does it just sit there on a hard drive somewhere in storage? The same question applies to many other failed creations. I know the likelihood of the code being distributed freely is next to nil, as most companies probably recycle code. If a vulnerability was found in old code, it could be applied to other products that the company has released. But wouldn't it help development of different projects if such a resource was available?"
This discussion has been archived. No new comments can be posted.

What Happens To Code From Failed Projects?

Comments Filter:
  • Code Heaven (Score:5, Funny)

    by Gerafix (1028986) on Saturday December 06, 2008 @11:25AM (#26013091)
    They go to the little /dev/null in the sky.
  • It's recycled (Score:4, Informative)

    by cbrocious (764766) on Saturday December 06, 2008 @11:26AM (#26013097) Homepage
    The code is used for other projects by the same company. Few companies release their old/failed code -- id being the only game company I know of that does so (GPLing their old code).
    • Re:It's recycled (Score:4, Interesting)

      by Lorens (597774) on Saturday December 06, 2008 @11:31AM (#26013139) Journal

      I know at least one other company that GPL'd a product that was nice but didn't excite enough monied clients : Solsoft GPL'd Net Security Master, an application-level proxy.

      http://www.hsc.fr/societe/produits/index.html.en [www.hsc.fr]

      I worked for Solsoft at the time :-)

      • by cbrocious (764766)
        Many application vendors have released their code GPL'd or otherwise open source, but it's very rare in the gaming world.
        • Re: (Score:3, Insightful)

          by hitmark (640295)

          most likely because modern 3D engines are flexible enough that they can be reused in multiple projects, and the game logic is mostly strapped onto that.

          • Re: (Score:3, Informative)

            Not just that they're flexible enough, but that they often monetize them by selling the engines to other companies. Those other companies won't have the rights to release the engine code, while the companies who created the engines don't want to stop the flow of money.
    • Re:It's recycled (Score:5, Insightful)

      by NewbieProgrammerMan (558327) on Saturday December 06, 2008 @02:04PM (#26014097)

      The code is used for other projects by the same company.

      No, that's just what some delusional PHB or sneaky coder tells the decision makers at the company. In reality it just sits on a CD or in a version control repository until it gets lost or deleted. (Or until somebody needs a new version for some lingering customer that is still using it and wants to pay for a fix).

      I'm sure many a coder has told management that they will "re-use that big pile of obfuscated spaghetti code written by the owner or long-gone suspender-wearing senior coder"[1] until management believed it and left them alone so they could build something much better from scratch.

      [1] - Please note that anything not written from scratch by the current set of coders falls into this category.

      • by cbrocious (764766)
        This is not true whatsoever of game code, which is the primary matter at hand. Rarely does a game company write a new engine from scratch, even when they want a very different version. E.g. Quake III is based on Quake II is based on Quake I, UT3 is based on UT2k4 is based on UT2k3 (can't remember the UTE version numbers).
    • Re:It's recycled (Score:4, Insightful)

      by thePowerOfGrayskull (905905) <marc DOT paradise AT gmail DOT com> on Saturday December 06, 2008 @05:20PM (#26015191) Homepage Journal

      The code is used for other projects by the same company. Few companies release their old/failed code -- id being the only game company I know of that does so (GPLing their old code).

      For games in particular, this is true. Sometimes it's just retired entirely. The code is often such a nest of intellectual property issues that publicly releasing the source is just not going to be an option for the development company.

  • by PolygamousRanchKid (1290638) on Saturday December 06, 2008 @11:27AM (#26013107)

    . . . it just fades away.

  • The developers (Score:3, Interesting)

    by thammoud (193905) on Saturday December 06, 2008 @11:28AM (#26013115)

    all have copies at home.

  • we do. (Score:5, Funny)

    by Samschnooks (1415697) on Saturday December 06, 2008 @11:28AM (#26013119)

    ...as most companies probably recycle code.

    We recycle code. We have to separate it ourselves though. There are code bins for C, Java, Javascript, Perl, and Python. It's pain though! Every semester some intern puts Javascript code in the Java bin and the other way around!

    But it beats having the code end up in a landfill!

    • Re: (Score:3, Interesting)

      by UltraAyla (828879)
      I realize you were being funny, but this rings completely true. In my job, my boss is the primary sisadmin and I'm the primary web developer, where we each have some crossover into the other's area. But he (the much more seasoned one) uses Javascript and Java interchangeably, no matter how many times I have explained it to him.
  • Depends (Score:5, Funny)

    by Rik Sweeney (471717) on Saturday December 06, 2008 @11:29AM (#26013125) Homepage

    That really depends, if it fails really badly then it gets buried [wikipedia.org].

  • by Anonymous Coward on Saturday December 06, 2008 @11:32AM (#26013145)

    Some have described a tunnel of bright light where the code executes in an infinite loop forever.

    Others theorize an ultimate review where code structure is judged. Good code may branch anywhere at anytime with an infinite clock speed and infinite memory space regardless of pointer size. It is said that in the code afterlife, even vista will run quickly. Bad code, say like MS BOB, will spend eternity in some embedded device like a clapper or firmware that controls a japanese toilet.
     

  • Re: (Score:4, Informative)

    by Neoaikon (1313119) on Saturday December 06, 2008 @11:34AM (#26013163)
    Where I work if a project gets shelved we separate any useful functions from the code and copy those for future use. and then the code gets archived and a document of its code printed out on paper for reference and as a hard backup. Basically its recycled, although we've had clients come up after 5 years wanting to restart the project, and are surprised that we still have it.
    • Re: (Score:5, Interesting)

      by Gorobei (127755) on Saturday December 06, 2008 @01:46PM (#26013997)

      I took the opposite approach at my current job. After computing the cost to maintain a line of code (around $10/year,) the logical solution was to delete all unused code. The payoff was great: no more worrying about breaking compatibility, smaller, cleaner codebase, etc.

      Another plus was that shelved code tends to be bad code: if it didn't suck, it would still be in use. Maybe it had some useful gems in it? Possible, but doubtful: usefully gems should have been in a common library, not a cesspool application.

      A final benefit was that it made paying the programmers much easier. The author of 10K lines of code that were being used got paid a lot more than the author of 20K lines of code that were deleted.

      • Re: (Score:3, Funny)

        So... 10K used lines gets paid more than 20K unused lines...

        return 0;

        Here we have one line that is used frequently! That'll be $4 million. I accept paypal.

        • by Gorobei (127755)

          Now make the other 9,999 lines of code per year look as easy and clean as that, and you'll have your $4M pretty soon.

      • by Ckwop (707653)
        I am intrigued as to how you came up with a figure of $10 per line of code? It's not that I don't believe you. I'm just interested in the manor in which you calculated this figure.
        • Re: (Score:4, Interesting)

          by Gorobei (127755) on Saturday December 06, 2008 @10:23PM (#26016893)

          I was lucky enough to have a 10+ MLOC codebase, plus version control history on 500+ developers going back 10 years. After writing a shredder/hasher to look for cut and paste programming, was pretty easy to divide commits into new development vs "maintenance." This gave rough $/line numbers.

          Then asked a number of developers to estimate their time spent checking/maintaining compatibility with existing code. Numbers mostly agreed with the version control numbers.

          Finally, went to some managers and asked how much they would pay to have 1K, 10K, 100K LOCs removed. Again, numbers matched reasonably well.

          I don't claim science here: estimates varied from $1 to $100 per line, but $10 was a number most people were comfortable with.

  • It just sits and waits for an approval, so it can be given a decent burial within the Yucca Mountains.
  • Recycled Code (Score:5, Insightful)

    by JWSmythe (446288) * <jwsmytheNO@SPAMjwsmythe.com> on Saturday December 06, 2008 @11:44AM (#26013231) Homepage Journal

        I've never worked on a project like this, but on other things I've done, I've used it as a learning experience. We always learn how to do things better over time, even if they're not the same type of project.

        Depending on the project, I've either kept a copy of my code somewhere safe, or I've just remembered "oh, it took this to do it well", and then do it again but better next time.

        I've known people who recycle their code directly. Unfortunately, that makes their errors follow them, and they reuse bloated libraries over (and over and over). On some, I've had to clean up, where I've found multiple things that do the same or almost the same things, and many things that were simply unused and had no application in the new project. Why should you have 10,000 lines of code, where only a couple hundred do the job. Sometimes the leftovers contained subtle but exploitable bugs. Is it worth saving a little time to leave a potentially dangerous bug in place?

       

    • Re: (Score:3, Insightful)

      by cbrocious (764766)
      When you're talking about game engines, however, recycling code isn't just an option, it's a necessity. You're not going to rewrite half a million lines of code if you don't have to -- it makes no sense. You update the engine, add new logic, and package it with new assets to release a new game. It's the only way that makes sense.
  • by Gothic_Walrus (692125) on Saturday December 06, 2008 @11:46AM (#26013245) Journal

    What happens to a code deferred?

    Is it ignored
    with no more patches to come?
    Or sit there, abandoned --
    and never run?
    Does it become obsolete
    Or turn into freeware --
    to become something sweet?

    Maybe it's reused
    To spawn newer code.

    OR DOES IT EXPLODE?

  • how do you think they got cloud computing off the ground?

    if its really bad code it goes to code hell

    most pieces of malware, for example, are zombie pieces of code stitched together from pieces of netscape and aol. the code devil himself is composed of the evit bit and the piece of code that confused imperial units and metric units and caused the mars climate orbiter to crash

  • Code is Cheap (Score:4, Insightful)

    by 14erCleaner (745600) <FourteenerCleaner@yahoo.com> on Saturday December 06, 2008 @11:56AM (#26013305) Homepage Journal
    More important than pieces of code, what matters in a software product are good integration and a good user interface. Neither of which is particularly reusable. In fact, the most important thing that gets reused from most failed projects is the (now more experienced) programmers.
    To paraphrase the old saw about decisions:

    Writing good software requires experience, and experience comes from writing bad software.

    • Re: (Score:2, Funny)

      by FrozenGeek (1219968)
      I sure have a lot of experience.
      • by SQLGuru (980662)

        I just learn the first time I make a mistake and don't make it again.....my code is some of the best in the company.....even compared to people with a lot more tenure and a lot more experience.

        • Re: (Score:3, Funny)

          by Raenex (947668)

          I make a mistake and don't make it again.....

          A sentence ends in a single period.

          my code is some of the best in the company

          I bet you're an excellent driver, too.

  • by xactuary (746078) on Saturday December 06, 2008 @12:03PM (#26013341)
    Doh! It gets patched every second Tuesday of the month.
  • It's how Quake III rose from the dead to become Star Trek: Elite Force.

  • by malloc (30902) on Saturday December 06, 2008 @12:06PM (#26013369)

    In my observation at a commercial software firm:

    1. Product is canceled / killed
    2. Developers that know anything about the project are axed or leave
    3. The source control repository sits untouched for year(s).
    4. SCM admins decide the project really is dead, and it can stop wasting prime reliable/backed-up-/offsite storage. Project is archived to offline media.
    5. Now the project is not online, people that worked on it are gone, and managers that worked with it don't want to remember. After another few years people barely even remember it existed.
    6. What's happened to the code? It literally is sitting on physical media gathering cobwebs.

    -Malloc

    • This jives with what I've seen. Although I'll add the additional, final step:

      7. Someone decides to clean out that closet full of accumulated crap, asks everyone if they know what the "FooBar_02" project was all about, and hearing nothing, throws it away.

      If it's stored on hard drives, tapes, or other reusable media, somebody might at this point grab them out of the trash for re-use at home, but if not they just go to the landfill with the rest of the garbage.

      Maybe at some point in the future, archaeologist

      • No doubt - which is tragic.
        My two favorite computer games (by far) are Fighters Anthology [wikipedia.org] (1997), and Star Trek: Armada [wikipedia.org] (2000). Just absolutely phenomenal games. :)
        But the first was abandoned when EA disbanded its military-simulation division ("Jane's"), and Armada was completely abandoned after a legal dispute between Activision and Paramount (one day, all the Armada-related materials on the website just disappeared).
        On second thought, that's probably why games like Armada couldn't be officially release
        • What do you mean Armada couldn't be officially released? It was the second-best-selling Star Trek game, and it had a sequel.

          • What do you mean Armada couldn't be officially released?

            Sorry - I meant if Activision wanted to release the source code for it now (or if anyone wanted them to) they wouldn't be able to work it out with Paramount. I imagine that most abandonware games die that way. You're right though - definitely was officially released, and highly popular. :) And then gone.

    • by ebuck (585470)

      If the company lives, the code stays on the shelf and eventually the media suffers literal bit rot.

      If the company dies, it is marked as being a valuable asset by the creditors, which then hoard it because the poor people that collect the remaining 1% of their investment don't understand the true value of code. They just want their money back.

      They'll overvalue the code as if the code is minimally worth the wages it took to produce it, if not much, much more. Really the code is worthless without people who

    • by D Ninja (825055)

      What's happened to the code? It literally is sitting on physical media gathering cobwebs.

      I think you need to look up the definition of literally.

      While it may be sitting (which, one could argue the term sitting, but I know what you mean) on physical media, it definitely is not "literally" gathering cobwebs.

      Ahhh...now I feel better that I've had my grammar fix for the day.

    • Re: (Score:2, Insightful)

      by Tikal (24706)

      Honestly, if you're lucky, several of the lead developers have kept copies of the source of their own (legally or otherwise), and have a decent idea about what is and isn't worth reusing. I've seen this in a few places, both very big and small.

      The brightest people I've seen (coders, managers, producers, etc) have "personal scrapbooks" of this sort.

      If they're still at the same company, or otherwise have rights to the code, they use or encourage use of the code directly; if they're not, they generally use th

  • I imagine that if you saw into the heart of your typical code developed entirely for internal use (i.e. not for distribution without being compiled first), you would find only rot, stink, and generally a very scary place. You don't want your clients seeing that stuff.

  • Corporate Asset (Score:5, Informative)

    by GrayNimic (1051532) on Saturday December 06, 2008 @12:23PM (#26013465)
    When EA shut down Earth & Beyond, there were the typical calls for the server software to be released. Amazingly enough, they actually did get a response: that the code for the backend of an MMO represents a huge investment by a company, and that they (EA) would not release the code for two basic reasons. One, access to the code (source, libraries, decompilable libraries, whatever) for a fully functional MMO would be a huge leg-up for competitors attempting to enter the field. Two, the code represents a base that can be used for other projects, and releasing a version of that base could be a liability to those future projects. For those two reasons, the chances of EA in any way supporting community-run servers would be nil.

    Not stellar news (nor surprising), but the one pseudo-official response I have ever actually seen. And it does make sense, to me at least.
    • Re:Corporate Asset (Score:4, Insightful)

      by dubl-u (51156) * <[ot.atop] [ta] [2107893252]> on Saturday December 06, 2008 @01:43PM (#26013977)

      One, access to the code (source, libraries, decompilable libraries, whatever) for a fully functional MMO would be a huge leg-up for competitors attempting to enter the field.

      Given some of the in-house code bases out there, it seems just as likely to me that releasing it could sink competitors as they spent months trying to turn a giant WTF-bomb into something that they could actually work on.

      My business rule of thumb is that application code bases generally have zero or negative cash value unless they come with the people who wrote them. I'm sure there are some exceptions. But over and over I've seen people take on code bases that had no continuity of personnel, and it seems like they always spend more time rummaging and fixing than it would have taken just to write things again from scratch.

      • I think this whole AskDot topic is pretty important.

        Lurking around your post and some of the others is the key to Web 3.0.

        If __ codebase "has negative value", then it might be a candidate for release to GPL after being "codecleaned".

        Some hobbyist may extract some random subroutine with a scalpel and then puff it into some entirely different little app.

        There's some weird brand of the contrapositive of opportunity cost going on here. Trench sniping over IP is the hot pastime of this decade and next. So it's "

      • by westlake (615356)
        My business rule of thumb is that application code bases generally have zero or negative cash value unless they come with the people who wrote them.

        How many experienced programmers are out there if you want to develop a massively multiplayer online game? The odds can't be much worse than 1 in 4 that you will be looking at people from EA.

    • by Blakey Rat (99501)

      EA responded with something other than just kicking you in the nuts? That's pretty impressive; those bastards are evil. I'm amazed they didn't just respond with, "we won't release the code, because we hate everybody, especially our customers."

  • ...other assets like models, graphics, animation, sound, maps, and data files? These are enormous, time-consuming and expensive assets that also face extinction with failed projects. Or what about assets for projects that are... older and discontinued?

    I often wonder how great it would be for new (or smaller, or hobbyist, or cash-starved, or early in SDLC, or whatever) developers if more companies open-sourced these assets.
    • > I often wonder how great it would be for new (or smaller, or hobbyist, or cash-starved,
      > or early in SDLC, or whatever) developers if more companies open-sourced these assets.

      And, as someone upthread explained, that is exactly why companies like EA do not release code.

  • Who cares? (Score:5, Interesting)

    by Stinking Pig (45860) on Saturday December 06, 2008 @12:34PM (#26013553) Homepage

    Code is easier and more fun to write than it is to read. The first hurdle in front of this magical "re-usable resource" is that no one even wants to take the time to read it and decide if it's any good; the natural inclination is to write your own.

    Secondly, programmers are just as crowd-driven as anyone else; re-using code from a failed project is swimming upstream, just like writing code in an unpopular language.

    Third strike -- potential legal encumbrance. On the off chance that your project is successful, who know who might come out of the woodwork with a potential claim against it? Look at the SCO Linux lawsuit; even if the claims against your project are totally bogus, they'll still suck years out of your life.

  • by vrmlguy (120854) <samwyse.gmail@com> on Saturday December 06, 2008 @12:41PM (#26013589) Homepage Journal
    1. Company builds an interesting product [stlcommercemagazine.com].
    2. The investors do everything they can [archive.org] to protect their IP.
    3. Things start to go horribly wrong [bizjournals.com].
    4. The firms assets are sold [sportsbusi...ournal.com].
    5. The backups of the original software get recycled. Welcome to silicon heaven!
  • Freespace 2 (Score:5, Interesting)

    by Xelios (822510) on Saturday December 06, 2008 @12:45PM (#26013611)
    I always thought it was really cool of Volition to release the source code to Freespace 2 after Interplay's demise. It's allowed a whole ton of custom mods and campaigns that I'm still playing today, 12 years after the game's release. Textures and effects were updated by the mod community and a lot of the new campaigns include new ships or weapons. Some of the best include:

    Beyond The Red Line [game-warden.com] (BSG conversion with Newtonian physics)
    Blue Planet [hard-light.net]
    The Procyon Insurgency [hard-light.net]
    The Babylon Project [hard-light.net] (Babylon 5 conversion)
  • by shess (31691) on Saturday December 06, 2008 @12:51PM (#26013657) Homepage

    People who don't write code seem to think that it's like a made thing, which, once made, has some level of intrinsic value. This is not true. Poor code can have actual negative value (it can even be destructive to a company). Even good code which solves the wrong problems can be a huge hindrance. Failed projects and companies seldom fail simply because they were technically excellent. [I'm not saying it doesn't happen, but I am saying that it doesn't happen all that often, and it's often impossible to divorce code from its context.]

    I still get requests to open-source a package I wrote 18 years ago for an OS which hasn't existed for 10 years. I wrote the original version of the package while I was a fulltime college student, in the two months before finals. I certainly went on to put another 3 or 6 months of fulltime work (spread over years) into improving it, so there's certainly some value I put into it. I don't think requesters really understand me when I suggest that if they were REALLY capable of using my code as a starting point, they would easily be capable of simply starting from scratch. There's maybe 10% of the code which really has value, but anyone talented enough to be able to pick that 10% out and repurpose it would probably have no desire to do so. I know that if I were tasked with solving the same problem, I'd just start over.

    • Re: (Score:2, Interesting)

      by Anonymous Coward

      I know that if I were tasked with solving the same problem, I'd just start over.

      Perhaps they only want a small change or two.

      I'm stuck with several packages which haven't been updated since the early/mid 90s which I depend on intrinsically, and the authors refuse to provide upgrades, sell or otherwise provide the source. And I have offered good money.

      In one frustrating case, an author agreed to GPL sources, spent a month or so conversing by email as he got the sources off his old computer, then went quiet. That was 9 years ago.

    • by ccguy (1116865) *

      I don't think requesters really understand me when I suggest that if they were REALLY capable of using my code as a starting point, they would easily be capable of simply starting from scratch.

      I think to fail to understand the point of asking for the source code of something :-)

    • by syousef (465911)

      I still get requests to open-source a package I wrote 18 years ago for an OS which hasn't existed for 10 years. I wrote the original version of the package while I was a fulltime college student, in the two months before finals. I certainly went on to put another 3 or 6 months of fulltime work (spread over years) into improving it, so there's certainly some value I put into it. I don't think requesters really understand me when I suggest that if they were REALLY capable of using my code as a starting point,

    • by LingNoi (1066278)

      The code in question, TR does have value. It's a whole MMO game which if released would allow people to play their MMO again. The only reason it's being canned is because of maintenance costs.

      Code DOES have value, it takes a long time to create a MMO or any game for that matter and most of that time is with the assets rather then the code.

  • "government warehouse!"
  • Borland has released code for several products. They stopped making C++ Builder a few years ago. I wish they would release that code to open source. Eclipse needs a visual editor for C++. They have one for Java, but not for C++. It could work with the QT libraries.
  • Remember the last scene from Raiders of the Lost Ark?
  • I suppose he or she thinks that it comes down to survival of the bittest?

    I'm here all week.

  • by saigon_from_europe (741782) on Saturday December 06, 2008 @02:52PM (#26014391)

    I used to work in four different companies. From my experience, the code will be forgotten for good.

    As a first, software products are typically poorly documented. Typically, some documentation is written *after* the project. If project has failed, the chances are that even post-mortem documentation would never be written. Without documentation, there are small chances that someone will be able to use the code.

    Technologically speaking, code reusability is generally very low. Except if it is some framework (which by default means that it is for reuse), sometimes even small changes in business logic may lead to significant changes in code (if it affects some assumptions that are made early in project). Different project would probably require too much change.

    Even if the same programmer needs to be swapped to the new project, very few code will be taken to it. But he will transfer his experience, which is not a small asset.

    I will give you one small example. I had to write a TCP stack simulator. I was contracted to write a TCP over ATM simulation. My plan was to give a code as GPL after the release (no legal problems there). Project started very well, with nice OOP architecture and everything. As project went further, I noticed some errors in design, but it was too late to change them. The closer we were to the deadline, there was more and more bad code inserted. Not that there were many bugs, but it was not that elegant as it was in the beginning. Finally, no matter that simulation worked quite ok, I was not that impressed by idea to give it to the public. Simply, code was in a need of a refactoring; documentation was almost non-existant; I had no time or motif to work on any more.

    That project was a success, but would there be any real benefit of giving that code to someone else to use it? Now imagine if that was a failed project - same thing but with bugs and without any results. Who would ever like to use that?

  • It becomes firefox.
  • Trapped in the amber of Entropy, existing in the continuum of usefulness between infinitely close but unreachable alternative choices more and less useful which define the code utility metaverse.

  • The Golgotha [wikipedia.org] source did get released when the company producing it closed down. It's not exactly a success story though since apparently nobody completed the game based on the released material.

  • ... it gets posted here [thedailywtf.com].
  • Over 20 years ago I would at a company called Business and Professional Software. They had a DOS presentation package called "Trumpet" (This was before Trumpet WinSock)

    Anyway, I ported the DOS version to Windows. Being a Windows 2.x beta tester and developer, I had access that BPS didn't have yet, so I had the expertise and the knowledge.

    I did some very cool stuff in real-mode Windows. When the program printed, I saved a new document that represented what was selected for print, and spawned a new copy of th

  • Nobody wants it -- why do you think the project failed?

  • There's far too much code out there to reuse it all. So we need some way to separate out the good reusable code from the the bad code. And one way is to let individual voluntary actions of developers and users operate to create an emergent order that will rank the code by desirability. In other words, a free market of ideas. Some good code will slip into obscurity and some bad code will get more promotion than it warrants, but overall the code that does get reused will be the good code.

    It's like that other

    • by LingNoi (1066278)

      Sounds good, what shall we call it?

      Well it's about source code so I guess the name source needs to be in there.. I guess the code would need to be open so that people can judge it.. how about "open source" sounds good to me, what do you think?

  • What should happen is the code gets released into the public domain as part of the deal that is "copyright".
  • by jlowery (47102) on Sunday December 07, 2008 @01:01AM (#26017739)

    http://www.oldsoftware.com/old_parts.html [oldsoftware.com]

    I don't know how one can run a business selling junk like this, but all those old CD's wind up at the bottom of the food chain.

    Of course, you may need to broaden the term 'failure' to include 'shipped, but failed to sell'.

Genius is ten percent inspiration and fifty percent capital gains.

Working...