Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Programming IT Technology

What Happens To Code From Failed Projects? 225

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:
  • by PolygamousRanchKid ( 1290638 ) on Saturday December 06, 2008 @11:27AM (#26013107)

    . . . it just fades away.

  • Recycled Code (Score:5, Insightful)

    by JWSmythe ( 446288 ) * <jwsmythe@nospam.jwsmythe.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?

       

  • 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:Recycled Code (Score:3, Insightful)

    by cbrocious ( 764766 ) on Saturday December 06, 2008 @12:04PM (#26013349) Homepage
    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.
  • Re:It's recycled (Score:3, Insightful)

    by hitmark ( 640295 ) on Saturday December 06, 2008 @12:05PM (#26013357) Journal

    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.

  • 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:Corporate Asset (Score:4, Insightful)

    by dubl-u ( 51156 ) * <2523987012&pota,to> 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.

  • 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 Anonymous Coward on Saturday December 06, 2008 @02:41PM (#26014323)

    I'm not sure if you're flame or what, but you should probably take another look.

    If that's really your understanding of the code, I hope you never touch a production system, anywhere, ever.

  • by Anonymous Coward on Saturday December 06, 2008 @02:51PM (#26014385)

    Wrong. The increment is inside the check for i 10.

  • by Anonymous Coward on Saturday December 06, 2008 @04:39PM (#26014975)

    No. 'i' is only incremented to 10, as the increment is within the condition. Parent's code is correct.

  • Re:It's recycled (Score:4, Insightful)

    by thePowerOfGrayskull ( 905905 ) <marc...paradise@@@gmail...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 Tikal ( 24706 ) on Sunday December 07, 2008 @01:21AM (#26017845)

    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 the practices and ideas to implement it again. New implementations on the same ideas can be even better than old ones.

    If you work someplace with some examples of great code or ideas, it's worth prodding the authors until you understand the hows and whys. Often, if you get the reason behind _why_ something was done the way it was done, (re)building it becomes much easier. People generally enjoy explaining if you take an interest at an opportune time. This kind of information can be even more valuable -- and yet less legally/morally questionable -- than taking the code with you.

    Better yet, if *you* have coded or helped with a great system, share it. If you can't share the code, share the ideas: lecture at an industry conference, talk to students, write a blog, submit magazine articles, publish a book, or whatever you can get away with; even company-internal workshops. You'll get far more information than you give, almost guaranteed. It's rewarding on several levels.

    All that having been said, some of these things really do work out for the best; some of the code that was lost deserves to undergo a death/rebirth (it would stagnate and never improve otherwise), and some rare pieces should be utterly forgotten (too complex or useless to even present an effective antipattern -- the stuff of nightmares).

Remember to say hello to your bank teller.

Working...