wsheldah@lexmark.com writes:
> I agree with Jason that you can't really prevent them from getting
> to the schema, unless you become an Application Service Provider and
> host the application on your own hardware at your business, and they
> connect over a network to it. Of course, then you would want to
> charge them a subscription for continued use of the service, and be
> prepared to assume responsibility for backups, uptime, etc.
Yes, it is much better to market this sort of thing as a service. A
competent Systems Administrator would rather be poked in the eye than
be responsible for a system that they can't back up.
If you want to keep your customers data out of their hands, then the
least you can do is be resposible for the backups.
> One thing you could do just to "tag" it would be to add a prefix or
> suffix to all the tables. Say you work for "A Better Company, Inc.",
> then you might name all your tables things like abc_customer and
> abc_order, etc. The only thing that would help with is if you find
> someone else running a copy, it may be easier to prove that it's
> your schema. Of course they could change the names, but they would
> run the risk of breaking functionality if they don't do it right,
> plus you can hardcode the names in your front-end application. If
> you can compile the front-end such that you only provide them with a
> binary executable, it will be that much harder to change the
> names. And you may have better luck using other copy-protection
> mechanisms with the front end.
If you are going to get mean. Why not simply write your application
so that it calls home every once in a while. It can then check your
database to see if its secret serial number is valid, and if it isn't,
or if there is a duplicate it shuts itself down.
Good luck signing customers up for that sort of a deal.
> I wish you well,
I don't. I hate applications that won't share data. I especially
hate applications that require some sort of secret handshake to backup
properly.
As a developer I believe that developers should get paid, but as a
former systems administrator I also believe that applications that
make it hard for an admin to do his or her job are evil. There has
*got* to be a better way to get your customers to pay you.
Jason