4 ms·
A number of reasons come to mind: 1. They might not have the source any more. There's a depressingly large amount of software that was created, that no-one has
by jbri 13y ago
A number of reasons come to mind:
1. They might not have the source any more. There's a depressingly large amount of software that was created, that no-one has the source code to. It might have been lost in a server crash, it might have been stored on a medium which is now unreadable, or people might have just not cared about it after the product was shipped and who knows where it is now?
2. There might be legal reasons preventing them from releasing it. For example, be a software patent covering part of the code which they licensed for their commercial use, but which prevents them from releasing it as open-source. An example here would be Doom 3's shadow volume code - the open-source release didn't actually include the code that shipped with the game, instead it included a slower (yet not patent-encumbered) algorithm. Unless you built absolutely everything in-house and licensed nothing from anyone else, it can be tricky to work out whether you're actually allowed to release the source to your product.
3. It might reveal other things that should be private to the company. Often source code has overly-tight integration with things like your in-house version control, or your build system, or other things of that nature. Perhaps your debug build automatically uploads crash logs to your bug tracker, and includes credentials for doing that which were stripped out of the release build? In order to do an open-source release, you need to look through your entire code to figure out if there is anything sensitive there, and remove it (in a way that doesn't stop the product working).
And finally...
4. What benefit does it get them? Gathering up, scrubbing, testing, and releasing an open-source product takes a substantial amount of effort, and hence a substantial amount of money. And you'd be hard-pressed to see a return on that investment in anything except vague, largely-meaningless "community good will".
- pestaa 13y agoI would be seriously shocked if #1 was a valid reason. Products for which the source is completely lost after they are shipped? Can it happen before the release? Why there were no backups?
- jiggy2011 13y agoMaybe it got backed up onto magnetic tape and then archived whoknowswhere along with the equipment necessary to read it. Maybe they thought it was being backed up but the backup script started failing silently 2 years ago.
- cdavid 13y agoit is surprisingly common in my experience.
- fredsanford 13y agoI worked at 2 places in the '90s where this happened and it involved 3 products and 1 lawsuit. Never mind that it was no longer possible to buy the tools that were used to build the products...
- CodeCube 13y agoHappens all the time dude. I worked for a financial institution a couple of years ago and was involved in a data center move. The IT guys took care of moving/replicating the servers and data, and it was my job to move the applications and services. You have no idea how many console apps and windows services I had to decompile in order to change the connection strings (they were hardcoded previously ... well before I started working there). Thankfully, they were written in .NET, so decompiling changing and recompiling was trivial ... But, this kind of thing is par for the course in some large and old organizations.
- flomo 13y agoLet's say you find the backups. They're likely in some obsolete tape format, and you would have to reconstruct an ancient Novell/NT/Unix environment to recover them. That's assuming you even know the source code is on a tape labeled something like "Server03".
- to3m 13y agoThis has happened to a product I worked on. There were 2 companies working on it, and when we were done there were 2 backups that I made after we'd finished it. Backup #1 (USB HD, kept by development company A) was lost in a flood. Of course, this sort of thing is why you have 2+ backups... Backup #2 (USB HD, kept by development company B, the one I worked for) was lent to the client after they wanted to take a copy of it themselves. Then fast forward 6 months, and: US: Please would you return our backup drive of product XYZ? THEM: [paraphrased] Who are you? This product was a one-off, and not key to company B, so nobody chased this up (not that they could do much anyway because the backup drive was presumed lost forever). We only found out about the loss of backup #1 when company A asked us for our backup, because they needed the code for a project they were thinking of doing...
- gaius 13y agoIt doesn't have to be "completely" lost. If it doesn't build on the current version of the compiler, and the compiler that was originally used to build only runs on an OS version for which you can't buy the hardware any more, then it might as well be lost, even if you have it right there in front of you. I have stuff on my Mac right now (I keep migrating my home directory forwards from machine to machine) that I keep basically as a souvenir, I know perfectly well that while it built on a NeXT in 1998 it won't have a chance in hell of compiling now.
- bstpierre 13y agoI worked for a company in the 90s where the source repository was wiped because the idiot admin tried to run a backup in the wrong place at the wrong time and nuked the repo. Or something like that -- I never really understood his excuse for what had happened. We lost all the history, but (after they escorted the guy from the building) we were able to restart with source trees pulled off dev workstations. No surprise that I got an email from one of the VPs of the nearly-defunct company a few years later asking if I might know the master password to the source control database. So yeah, they had a backup, but it was useless because of course it had been encrypted to prevent theft but nobody thought of recording the password somewhere secure.