
Ask HN: Ever worked on maintaining software of which source code has been lost? - wkoszek
I heard many horror stories about production environment being based on stuff which nobody knows about..
======
BjoernKW
I haven't really maintained this software (as in doing on-going support) but
I've added a few minor features like image and layout changes to an ancient VB
5 Windows application mostly by using a hex editor, changing the right assets
and doing some rather interesting work-arounds in the underlying Access
database.

It was both fun and scary. The software was a custom-built CRM / ERP system
that must have cost a small fortune to develop. The company that developed the
software has gone bankrupt quite some ago. I asked the former developers about
the source code but they've simply lost it in all those years since 1997 or so
when the application was originally developed.

So, here we have a company that's paid a large amount of money for a software
- which admittedly is working quite well till this day - they now can't easily
change anymore. Even something as simple as changing their postal address or
adding additional branch offices takes considerable effort.

This should serve as a cautionary tale to always require some sort of source
code access (preferably open source but some sort of escrow for the case the
original creator goes under might work as well) to software that's pivotal to
your business.

~~~
Trickanix
It's quite easy to decompile VB isn't it?

~~~
BjoernKW
Not exactly.

There are some commercial decompilers for VB6 (and I'm quite sure the source
code those generate isn't exactly easy to read either) but none that I know of
for VB5.

Besides, they're quite expensive (because they're usually part of some larger
IDE) and most of them aren't even available anywhere anymore. Even Microsoft
has long since (2008) stopped supporting VB6 and below.

So, yes it's possible but far from easy. In fact as decompiling languages goes
I'd say VB6 and VB5 are among the more difficult ones in practical terms.

