Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

Create Account  |  Retrieve Password

What Happens To Code From Failed Projects?

Posted by Soulskill on Sat Dec 06, 2008 11:21 AM
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?"
+ -
story

Related Stories

[+] Games: Tabula Rasa To Shut Down 244 comments
NCSoft announced today that it will be closing down Tabula Rasa on February 28th. The sci-fi shooter-flavored MMO struggled for quite some time, despite recent attempts to draw in new players by announcements of new features, price reductions, and using Richard Garriott's trip into space as a promotion. We discussed Garriott's departure from NCSoft a couple weeks ago. This is NCSoft's second failed MMO, and apparently layoffs are in the works. They seem to be making an effort to make the game's last few months as fun as they can for their remaining players, though. "Before we end the service, we'll make Tabula Rasa servers free to play starting on January 10, 2009. We can assure you that through the next couple of months we'll be doing some really fun things in Tabula Rasa, and we plan to make staying on a little longer worth your while."
This discussion has been archived. No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
 Full
 Abbreviated
 Hidden
More
Loading... please wait.
  • 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)

      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 :-)

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

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

      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.

  • 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:we do. (Score:4, Funny)

        by biocute (936687) on Saturday December 06 2008, @11:54AM (#26013295) Homepage

        Well they both have the word "Java" on it, probably easy to get confused.

        Tell me about it. I've seen C# codes in C++ folder, probably because they all start with a C and # is just two pluses overlapping.

        I'm only grateful the culprit didn't rename the C++ folder to C# thinking it was a typo.

  • 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.
     

      • by torstenvl (769732) on Saturday December 06 2008, @12:08PM (#26013385)

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

        As opposed to an infinite loop which doesn't last forever? :-)


        int main(void) {
            int i = 0;
            while (1) {
                if (i<10) {
                    doSomethingTenTimesInAnInfiniteLoopButNotForever();
                    i++;
                }
                doSomethingForever();
            }
            return 0; /* purely academic */
        }

  • 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.

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

       

  • 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.

  • by xactuary (746078) on Saturday December 06 2008, @12:03PM (#26013341)
    Doh! It gets patched every second Tuesday of the month.
  • 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

  • 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) * <2523987012@pota.REDHATto minus distro> 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.

  • 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.

  • 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.