[snips]
Er, most closed source software has mechanisms through which you can
complain about problems. If everthing else fails, you can always
actively stop buying, or using, the product in question.
Not necessarily.
There's a local company who is still using an old DOS app. They hate it,
but they use it. Why?
The company who made it either closed up shop or dropped the product,
don't recall which. In either case, no new versions, no support - and no
sources. Also no file format descriptions.
They're stuck using it because they have, literally, tens of thousands of
documents stored in its opaque file format, which they cannot convert to
another app's format except manually - a process they expect will cost at
_least_ five million, probably closer to ten.
Thanks to their use of closed source, they are *screwed*. They can't use
newer OSen with the app. If/when DOS becomes non-viable on newer
machines (as new hardware designs move to the point DOS can't cope with),
they won't be able to replace the machines it runs on as they wear out.
They can't get bug fixes. They can't get new features.
The app is sufficiently large and complex that reverse engineering it is
likely not a viable option, even to determining file structures from the
process: while a DOS app, it is a very extensive DOS app. Think a cross
between AutoCAD and a mapping application.
They only have one option in the end: use a different app and pay the
costs of migrating the data. Will the new app also leave them stranded?
If it's another typical CSS app, quite possibly.
Nor is this a unique situation by any means. Any piece of software which
uses both undocumented formats and closed source runs this sort of risk
for the user.
Nor is this the only threat. Sure, that's a case where the software is
no longer viable, but what if the software *is* still viable - but the
developer won't make the mods you need *and* won't offer a means to
migrate away from their app?
After all, it's not exactly in the vendor's best interests to help you go
use someone else's app. If they keep the formats closed, the sources
closed, the methods for extracting the data opaque, they are effectively
holding the user hostage: keep paying us, or all your data is rendered
useless, unless you want to face a painful and expensive migration cost.
It's cheaper, generally, to just keep paying for the app, but that
doesn't mean you're doing so by choice; you're doing so because the
vendor effectively controls your data. You simply can't afford to switch.
As another aspect, consider one of the apps I'm using. I'm probably
legally prevented from naming it, specifically, but it's a commonly used
tool in many areas - including being bundled into several major
applications, at least two of which our business relies upon.
We bought a developer edition of the software, only to find that the
documentation is broken beyond repair. Worse, they freely admit the
documentation _assumes_ you already know how to use the product, meaning
if you're new to using it, as I am, you *cannot* use the documentation to
learn how to use the software; there's insufficient information included
to figure out how to do even basic things.
If it were just me, I'd say scrap it, we'll use something else.
Unfortunately, it's not just me. It's me, the others in the company who
use packages which bundle and require the tool. I'm quite certain I
could come up with a replacement package, but I doubt I'm going to get
the vendors of the other apps we use to switch, either just for us or for
their entire customer base.
We are, in short, stuck using something I *really* don't want to use,
because the cost of migrating all the apps we use which include it, plus
the retraining costs involved, are prohibitive. We're again held hostage
to a piece of software, to a vendor and their policies.
As a business, we are moving steadily towards an OSS operating
environment. This isn't a matter of costs - sure, we save some using OSS
as a rule, but not enough to be a compelling case for switching - but
simply because with OSS, the control is in our hands, we are never
beholden to a piece of software or a vendor. We have the source, we can
modify it as we need, to suit our needs and - if necessary - we can
fairly easily migrate to a different application.
Putting your data in a situation where it is effectively under the
control of some third party just doesn't strike me as a good idea. Yeah,
maybe they'll expose the formats. Maybe they'll add the features you
need. Maybe they'll keep supporting the app forever. Maybe they'll
still be in business 20 years from now. And maybe they won't. Just how
much are *you* willing to pay if the assumption they'll always be there,
doing what you need, the way you need it and when you need it, turns out
to be false?