Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. Legacy Projects

Legacy Projects

Scheduled Pinned Locked Moved The Lounge
45 Posts 23 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Marc Clifton

    Pisses me off when (in this case, my own project that is being resurrected from 6 years ago) uses third party dependencies from DevExpress and Divelements, and now, trying to install the exact DevExpress version from then, my registration key is no longer valid. And Divelements keeled over in 2013, and of course their online registration doesn't work either. Not to mention that even their DLL, when installing it as "evaluation", does with Invalid pointer compiler error. Then there's the usual nightmare of .NET version. This code was built with .NET 2.0 and 3.5, neither of which I have installed (I only have 4.5 - 4.6.1), so got to fix all the framework references in a bunch of projects. I suppose there's a utility to do that, maybe even VS2015 has a function for that, but I didn't bother looking. So far, I've got 2 of the 4 applications running - the server app and the schema designer. The form designer is a b*tch because of the DevExpress and Divelements references, I'm keeping my fingers crossed that upgrading the DX references to their latest works, but I'm a pessimist. The Divelements Sandock thing will be a PITA, I'll probably have to replace it with the open source WeifenLuo docking manager, or, IIRC, .NET exposes their docking system now. And of course I get a bunch of deprecation warnings on the Oracle .NET references, but the stuff still works. Though figuring out the tnsnames.ora was a blast to the past, NOT! Word to the wise - when you archive a project, create a VM and put everything there, and make sure it all compiles and builds in the VM. I did that, creating a VM, and the VM still worked, but I appear to never have tried compiling the code. :doh: :sigh: :mad: at myself. Marc

    Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny

    Sander RosselS Offline
    Sander RosselS Offline
    Sander Rossel
    wrote on last edited by
    #11

    .NET 2.0? You lucky bastard! :D I've had VB6 legacy projects that worked with libraries that are long gone, and third party tools that have advanced by 10 (non-compatible) versions, written for hardware that can't be bought anymore, not to mention the 80's database (forgot the name)... Luckily I had a coworker who worked with this sort of stuff almost daily... And liked it (I don't think he learned anything new after 1999 or something, his .NET code was horrible) :wtf: What do you mean this isn't a competition? :D

    Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.

    Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

    Regards, Sander

    D J J 3 Replies Last reply
    0
    • K kmoorevs

      Wow! Good to know that I'm not the only one in this boat! :laugh: I've finally got the mix to where I'm working in .NET more than VB6 IDE. But there's still two large (330K loc) projects and around 6 dozen modules and utilities that need to be rebuilt... :sigh:

      "Go forth into the source" - Neal Morse

      L Offline
      L Offline
      Lost User
      wrote on last edited by
      #12

      You are very welcome. Maybe we can have a talk therapy ;) It is really really is a cruelty to be responsible for legacy apps. Bruno

      1 Reply Last reply
      0
      • M Marc Clifton

        Pisses me off when (in this case, my own project that is being resurrected from 6 years ago) uses third party dependencies from DevExpress and Divelements, and now, trying to install the exact DevExpress version from then, my registration key is no longer valid. And Divelements keeled over in 2013, and of course their online registration doesn't work either. Not to mention that even their DLL, when installing it as "evaluation", does with Invalid pointer compiler error. Then there's the usual nightmare of .NET version. This code was built with .NET 2.0 and 3.5, neither of which I have installed (I only have 4.5 - 4.6.1), so got to fix all the framework references in a bunch of projects. I suppose there's a utility to do that, maybe even VS2015 has a function for that, but I didn't bother looking. So far, I've got 2 of the 4 applications running - the server app and the schema designer. The form designer is a b*tch because of the DevExpress and Divelements references, I'm keeping my fingers crossed that upgrading the DX references to their latest works, but I'm a pessimist. The Divelements Sandock thing will be a PITA, I'll probably have to replace it with the open source WeifenLuo docking manager, or, IIRC, .NET exposes their docking system now. And of course I get a bunch of deprecation warnings on the Oracle .NET references, but the stuff still works. Though figuring out the tnsnames.ora was a blast to the past, NOT! Word to the wise - when you archive a project, create a VM and put everything there, and make sure it all compiles and builds in the VM. I did that, creating a VM, and the VM still worked, but I appear to never have tried compiling the code. :doh: :sigh: :mad: at myself. Marc

        Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny

        L Offline
        L Offline
        Lost User
        wrote on last edited by
        #13

        The question what other Options do we have? I think we do not have an other Option. Develope each and everting by ourselves... it takes to much time. I think we have to live with some dependecies, like we depend on MS, Borland and in worst case (from my Point of view) on some open source source. Bruno

        M 1 Reply Last reply
        0
        • Sander RosselS Sander Rossel

          .NET 2.0? You lucky bastard! :D I've had VB6 legacy projects that worked with libraries that are long gone, and third party tools that have advanced by 10 (non-compatible) versions, written for hardware that can't be bought anymore, not to mention the 80's database (forgot the name)... Luckily I had a coworker who worked with this sort of stuff almost daily... And liked it (I don't think he learned anything new after 1999 or something, his .NET code was horrible) :wtf: What do you mean this isn't a competition? :D

          Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.

          Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

          Regards, Sander

          D Offline
          D Offline
          Dan Neely
          wrote on last edited by
          #14

          Last fall I was handed an MFC project from the late 90's originally created - by a company that long since went poof (hence why we got the work)- by porting from an even older C/*Nix (probably Solaris) application. One of it's dependencies was for something called the Black Ice Imaging SDK[^]. Once we replaced the include block for all the 15yo headers with an include block for the headers in their newest version (at some point they shuffled where what was exposed); everything just worked. :cool:

          Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt

          Sander RosselS 1 Reply Last reply
          0
          • M Marc Clifton

            Pisses me off when (in this case, my own project that is being resurrected from 6 years ago) uses third party dependencies from DevExpress and Divelements, and now, trying to install the exact DevExpress version from then, my registration key is no longer valid. And Divelements keeled over in 2013, and of course their online registration doesn't work either. Not to mention that even their DLL, when installing it as "evaluation", does with Invalid pointer compiler error. Then there's the usual nightmare of .NET version. This code was built with .NET 2.0 and 3.5, neither of which I have installed (I only have 4.5 - 4.6.1), so got to fix all the framework references in a bunch of projects. I suppose there's a utility to do that, maybe even VS2015 has a function for that, but I didn't bother looking. So far, I've got 2 of the 4 applications running - the server app and the schema designer. The form designer is a b*tch because of the DevExpress and Divelements references, I'm keeping my fingers crossed that upgrading the DX references to their latest works, but I'm a pessimist. The Divelements Sandock thing will be a PITA, I'll probably have to replace it with the open source WeifenLuo docking manager, or, IIRC, .NET exposes their docking system now. And of course I get a bunch of deprecation warnings on the Oracle .NET references, but the stuff still works. Though figuring out the tnsnames.ora was a blast to the past, NOT! Word to the wise - when you archive a project, create a VM and put everything there, and make sure it all compiles and builds in the VM. I did that, creating a VM, and the VM still worked, but I appear to never have tried compiling the code. :doh: :sigh: :mad: at myself. Marc

            Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny

            J Offline
            J Offline
            Joe Woodbury
            wrote on last edited by
            #15

            At my second professional development job, my boss said that if we can't get the source and compile it, we don't use it. Since then, I've warned colleagues and companies about this. Most agreed. Some didn't and are now in the same situation.

            S 1 Reply Last reply
            0
            • D Dan Neely

              Last fall I was handed an MFC project from the late 90's originally created - by a company that long since went poof (hence why we got the work)- by porting from an even older C/*Nix (probably Solaris) application. One of it's dependencies was for something called the Black Ice Imaging SDK[^]. Once we replaced the include block for all the 15yo headers with an include block for the headers in their newest version (at some point they shuffled where what was exposed); everything just worked. :cool:

              Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt

              Sander RosselS Offline
              Sander RosselS Offline
              Sander Rossel
              wrote on last edited by
              #16

              Dan Neely wrote:

              everything just worked

              You're not supposed to say that. This is a legacy-complain thread ;p

              Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.

              Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

              Regards, Sander

              D 1 Reply Last reply
              0
              • Sander RosselS Sander Rossel

                Dan Neely wrote:

                everything just worked

                You're not supposed to say that. This is a legacy-complain thread ;p

                Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.

                Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                Regards, Sander

                D Offline
                D Offline
                Dan Neely
                wrote on last edited by
                #17

                What do you think the part where I mentioned MFC was. X|

                Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt

                Sander RosselS 1 Reply Last reply
                0
                • D Dan Neely

                  What do you think the part where I mentioned MFC was. X|

                  Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt

                  Sander RosselS Offline
                  Sander RosselS Offline
                  Sander Rossel
                  wrote on last edited by
                  #18

                  I was feeling sorry for you, until you said "everything just worked" (that's where the envy kicked in) ;p

                  Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.

                  Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                  Regards, Sander

                  D 1 Reply Last reply
                  0
                  • L Lost User

                    The question what other Options do we have? I think we do not have an other Option. Develope each and everting by ourselves... it takes to much time. I think we have to live with some dependecies, like we depend on MS, Borland and in worst case (from my Point of view) on some open source source. Bruno

                    M Offline
                    M Offline
                    Marc Clifton
                    wrote on last edited by
                    #19

                    0x01AA wrote:

                    I think we do not have an other Option.

                    Agreed. I wish I all the pieces properly working in my VM! Marc

                    Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny

                    1 Reply Last reply
                    0
                    • M Marc Clifton

                      Eddy Vluggen wrote:

                      Simpeler; don't use DevExpress, and try to eliminate any other dependency.

                      Indeed - the whole app should have been coded with Excel macros! :) Marc

                      Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny

                      S Offline
                      S Offline
                      Stefan_Lang
                      wrote on last edited by
                      #20

                      Sure. Just make sure the version and localization of all Excel installation matches: it's a pain to fix macros that don't work because the commands in the macros themselves are localized ... X|

                      GOTOs are a bit like wire coat hangers: they tend to breed in the darkness, such that where there once were few, eventually there are many, and the program's architecture collapses beneath them. (Fran Poretto)

                      D 1 Reply Last reply
                      0
                      • S Stefan_Lang

                        Sure. Just make sure the version and localization of all Excel installation matches: it's a pain to fix macros that don't work because the commands in the macros themselves are localized ... X|

                        GOTOs are a bit like wire coat hangers: they tend to breed in the darkness, such that where there once were few, eventually there are many, and the program's architecture collapses beneath them. (Fran Poretto)

                        D Offline
                        D Offline
                        den2k88
                        wrote on last edited by
                        #21

                        That's the most absurd design choice I ever saw in all my life. It's a special stupid kind of stupid, the epitome of what could be wrong.

                        GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- ++>+++ y+++*      Weapons extension: ma- k++ F+2 X If you think 'goto' is evil, try writing an Assembly program without JMP. -- TNCaver When I was six, there were no ones and zeroes - only zeroes. And not all of them worked. -- Ravi Bhavnani

                        1 Reply Last reply
                        0
                        • L Lost User

                          My only comment: You are a lucky man to handle "only" 6 year old legacy Projects. I Need to handle 14 years old legacy Projects. Please a can of mercy with me :laugh: Bruno

                          J Offline
                          J Offline
                          Jorg Plate
                          wrote on last edited by
                          #22

                          I've seen ``COPYRIGHT 1966-2015``... That particular program was born on an ``S/360`` and is still alive (not ``GLaDOS`` though :) )

                          1 Reply Last reply
                          0
                          • J Joe Woodbury

                            At my second professional development job, my boss said that if we can't get the source and compile it, we don't use it. Since then, I've warned colleagues and companies about this. Most agreed. Some didn't and are now in the same situation.

                            S Offline
                            S Offline
                            Stefan_Lang
                            wrote on last edited by
                            #23

                            Very reasonable. We do just that, but in some cases (specifically the expensive libs, think 5 or 6 digit price tags) we go a slightly different route: we set up a contract that would guarantee us the right to access their source code in the case the third party devs are no longer available, able or willing to maintain their lib. We don't expect this to happen anytime soon, but our application is already 25+ years old, and it might last for another 10+ years easily. So better be safe than sorry. Of course for versioning it's also a challenge to make sure each version is checked in in such a way that it uses the correct versions of the third party libraries. For those with source code it's easy, for those without, we have a mixed approach of either versioning the binaries (for those that change a lot) or keeping all versions available in separate paths (for those that are mostly stable).

                            GOTOs are a bit like wire coat hangers: they tend to breed in the darkness, such that where there once were few, eventually there are many, and the program's architecture collapses beneath them. (Fran Poretto)

                            D 1 Reply Last reply
                            0
                            • M Marc Clifton

                              Pisses me off when (in this case, my own project that is being resurrected from 6 years ago) uses third party dependencies from DevExpress and Divelements, and now, trying to install the exact DevExpress version from then, my registration key is no longer valid. And Divelements keeled over in 2013, and of course their online registration doesn't work either. Not to mention that even their DLL, when installing it as "evaluation", does with Invalid pointer compiler error. Then there's the usual nightmare of .NET version. This code was built with .NET 2.0 and 3.5, neither of which I have installed (I only have 4.5 - 4.6.1), so got to fix all the framework references in a bunch of projects. I suppose there's a utility to do that, maybe even VS2015 has a function for that, but I didn't bother looking. So far, I've got 2 of the 4 applications running - the server app and the schema designer. The form designer is a b*tch because of the DevExpress and Divelements references, I'm keeping my fingers crossed that upgrading the DX references to their latest works, but I'm a pessimist. The Divelements Sandock thing will be a PITA, I'll probably have to replace it with the open source WeifenLuo docking manager, or, IIRC, .NET exposes their docking system now. And of course I get a bunch of deprecation warnings on the Oracle .NET references, but the stuff still works. Though figuring out the tnsnames.ora was a blast to the past, NOT! Word to the wise - when you archive a project, create a VM and put everything there, and make sure it all compiles and builds in the VM. I did that, creating a VM, and the VM still worked, but I appear to never have tried compiling the code. :doh: :sigh: :mad: at myself. Marc

                              Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny

                              G Offline
                              G Offline
                              George Tourtsinakis
                              wrote on last edited by
                              #24

                              You remembered me back old days when a .NET version changed and I was getting so many assembly errors in Visual Studio that was really annoying. I love Microsoft and backwards compatibility in all their products. :) :) :)

                              D 1 Reply Last reply
                              0
                              • C CHill60

                                You have my empathy and sympathy!

                                H Offline
                                H Offline
                                Herbie Mountjoy
                                wrote on last edited by
                                #25

                                I feel your pain... We're philosophical about power outages here. A.C. come, A.C. go.

                                1 Reply Last reply
                                0
                                • Sander RosselS Sander Rossel

                                  I was feeling sorry for you, until you said "everything just worked" (that's where the envy kicked in) ;p

                                  Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.

                                  Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                                  Regards, Sander

                                  D Offline
                                  D Offline
                                  Dan Neely
                                  wrote on last edited by
                                  #26

                                  The codebase as a whole was lots of 'fun' ("our training will make sure the user never tries doing any steps out of order or stop a procedure halfway through in favor of something else", "I fixed all the graphics glitches by stuffing some extra calls to repaint the control, it's all good now") in ways that kept me and a coworker busy fixing stuff for a while; it was just the library upgrade that went smoothly.

                                  Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt

                                  1 Reply Last reply
                                  0
                                  • S Stefan_Lang

                                    Very reasonable. We do just that, but in some cases (specifically the expensive libs, think 5 or 6 digit price tags) we go a slightly different route: we set up a contract that would guarantee us the right to access their source code in the case the third party devs are no longer available, able or willing to maintain their lib. We don't expect this to happen anytime soon, but our application is already 25+ years old, and it might last for another 10+ years easily. So better be safe than sorry. Of course for versioning it's also a challenge to make sure each version is checked in in such a way that it uses the correct versions of the third party libraries. For those with source code it's easy, for those without, we have a mixed approach of either versioning the binaries (for those that change a lot) or keeping all versions available in separate paths (for those that are mostly stable).

                                    GOTOs are a bit like wire coat hangers: they tend to breed in the darkness, such that where there once were few, eventually there are many, and the program's architecture collapses beneath them. (Fran Poretto)

                                    D Offline
                                    D Offline
                                    Dan Neely
                                    wrote on last edited by
                                    #27

                                    How much effort do you put into monitoring the vendors to make sure if they go under that that provision of the contract is actually executed? I could easily see a scenario where: 0) several years pass from when you sign the contract with that extra provision and everyone involved in it leaves the vendor. 1) the vendor goes out of business. 2) the liquidator can't find anyone willing to buy ownership of the library and just formats the source control server obliterating the code. 3) a few more years pass. 4) you have a problem, try to contact the vendor, and discover you're elephanted.

                                    Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt

                                    S 1 Reply Last reply
                                    0
                                    • M Marc Clifton

                                      Pisses me off when (in this case, my own project that is being resurrected from 6 years ago) uses third party dependencies from DevExpress and Divelements, and now, trying to install the exact DevExpress version from then, my registration key is no longer valid. And Divelements keeled over in 2013, and of course their online registration doesn't work either. Not to mention that even their DLL, when installing it as "evaluation", does with Invalid pointer compiler error. Then there's the usual nightmare of .NET version. This code was built with .NET 2.0 and 3.5, neither of which I have installed (I only have 4.5 - 4.6.1), so got to fix all the framework references in a bunch of projects. I suppose there's a utility to do that, maybe even VS2015 has a function for that, but I didn't bother looking. So far, I've got 2 of the 4 applications running - the server app and the schema designer. The form designer is a b*tch because of the DevExpress and Divelements references, I'm keeping my fingers crossed that upgrading the DX references to their latest works, but I'm a pessimist. The Divelements Sandock thing will be a PITA, I'll probably have to replace it with the open source WeifenLuo docking manager, or, IIRC, .NET exposes their docking system now. And of course I get a bunch of deprecation warnings on the Oracle .NET references, but the stuff still works. Though figuring out the tnsnames.ora was a blast to the past, NOT! Word to the wise - when you archive a project, create a VM and put everything there, and make sure it all compiles and builds in the VM. I did that, creating a VM, and the VM still worked, but I appear to never have tried compiling the code. :doh: :sigh: :mad: at myself. Marc

                                      Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny

                                      K Offline
                                      K Offline
                                      Kirk 10389821
                                      wrote on last edited by
                                      #28

                                      The one mistake you made was not actually working from the VM you built! Nowadays, we do all of our development from our VMs. We save copies of them in folders dated to the major releases, by customer, and clean them up after a final release. Plus SVN/Git for the source. We USUALLY buy source with 3rd party components. I wish you luck!

                                      S M 2 Replies Last reply
                                      0
                                      • D Dan Neely

                                        How much effort do you put into monitoring the vendors to make sure if they go under that that provision of the contract is actually executed? I could easily see a scenario where: 0) several years pass from when you sign the contract with that extra provision and everyone involved in it leaves the vendor. 1) the vendor goes out of business. 2) the liquidator can't find anyone willing to buy ownership of the library and just formats the source control server obliterating the code. 3) a few more years pass. 4) you have a problem, try to contact the vendor, and discover you're elephanted.

                                        Did you ever see history portrayed as an old man with a wise brow and pulseless heart, waging all things in the balance of reason? Is not rather the genius of history like an eternal, imploring maiden, full of fire, with a burning heart and flaming soul, humanly warm and humanly beautiful? --Zachris Topelius Training a telescope on one’s own belly button will only reveal lint. You like that? You go right on staring at it. I prefer looking at galaxies. -- Sarah Hoyt

                                        S Offline
                                        S Offline
                                        Stefan_Lang
                                        wrote on last edited by
                                        #29

                                        In our most recent contract that's been taken care of by an escrow who will make sure we get the code when push comes to shove. Sell-outs and liquidation won't change that - whoever buys the company or their assets will have to accept that we will get the code no matter what. (and probably most of the other clients as well).

                                        GOTOs are a bit like wire coat hangers: they tend to breed in the darkness, such that where there once were few, eventually there are many, and the program's architecture collapses beneath them. (Fran Poretto)

                                        1 Reply Last reply
                                        0
                                        • Sander RosselS Sander Rossel

                                          .NET 2.0? You lucky bastard! :D I've had VB6 legacy projects that worked with libraries that are long gone, and third party tools that have advanced by 10 (non-compatible) versions, written for hardware that can't be bought anymore, not to mention the 80's database (forgot the name)... Luckily I had a coworker who worked with this sort of stuff almost daily... And liked it (I don't think he learned anything new after 1999 or something, his .NET code was horrible) :wtf: What do you mean this isn't a competition? :D

                                          Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.

                                          Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                                          Regards, Sander

                                          J Offline
                                          J Offline
                                          johnsmith03
                                          wrote on last edited by
                                          #30

                                          The legacy project I am working on right now is in Core PHP/jquery. No Framework, Just Core PHP.

                                          Sander RosselS 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups