Slashdot Mirror


What Happens To Code From Failed Projects?

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?"

6 of 225 comments (clear)

  1. Recycled Code by JWSmythe · · Score: 4, Insightful

        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?

       

    --
    Serious? Seriousness is well above my pay grade.
  2. Code is Cheap by 14erCleaner · · Score: 3, Insightful
    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.

    --
    Have you read my blog lately?
  3. It is deservedly buried? by shess · · Score: 4, Insightful

    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.

  4. Re:Corporate Asset by dubl-u · · Score: 3, Insightful

    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.

  5. Re:It's recycled by NewbieProgrammerMan · · Score: 4, Insightful

    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.

    --
    [b.belong('us') for b in bases if b.owner() == 'you']
  6. Re:It's recycled by thePowerOfGrayskull · · Score: 3, Insightful

    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.