Dyalog: Escrow
dyalog.com
dyalog.com
My favorite memory was a comment I found buried in an exception handling section of code: /* We would like to think that this would work well */
All in all, the escrow process was worth it for us as it was a critical piece of functionality that would have been difficult to replace otherwise.
Source code escrow is a very good idea for a startup selling proprietary software.
In practice though, code escrows are kind of fraught with issues -- deposited source code that doesn't compile, out of date, etc. It's up to vendors to deposit working materials, as there isn't usually any kind of audit process. I can't imagine the costs and time it would take to pick up a vendor's source code, staff some maintainers, and get them efficient. Enterprise customers are usually shopping by requirements, not underlying tech, so they are likely not even aware of the tech they would need to hire for.
I guess I'm asking what happens when you "connect" "a computer" to "the disk".
On another point:
> in the unlikely event that we become unable to continue to service our customers
Maybe there's a second condition I'm missing here, but becoming unable to continue to service your customers is an incredibly likely event. The only alternatives are losing every single customer or existing as a business until the end of time. I'd put the probability of losing every customer as < 1/100 and of continuing until the end of time at 0. So 99% that this is the outcome. Again, maybe some alternative I'm missing.
On the one hand it was a pain to work towards, as the requirements had little immediate value (new features needed lengthy documentation, lots of features had to be stripped out, long (manual) test checklists, etc) but on the other hand, it got you thinking about how to build software that would need to last longer than the company you're in. Made me realise that feature creep/bloat was what was holding the product back, not the Next Big Thing(tm).
There is so much software rot in this ecosystem that in a several months it will be practically useless.
I think the use-case for this is when the customer has not or is unwilling to upgrade from a "working version".
Having the ability to take ownership of that "working version" for their business continuity reasons can be invaluable.
Not sure how reliable this statistic[1] is, but a quick search yielded jQuery still has 11% of the market share. Interestingly, "websites added" > "websites dropped"!!!
[1] https://www.slintel.com/tech/programming-framework/jquery-ma...
PS: I have nothing but praise for jQuery and it's positive impact in the web world. However, given its age, seemed like a good example to illustrate the point.
Which is why in the contract you have with the software company you include having them put the code in escrow with a third party.
The third party is necessary
This is why the third party 'pasc1878 suggests isn't enough - changes to standard practice, and likely to IP laws themselves, are needed too, which are unlikely to happen without regulatory pressure.
Source: just worked with them