Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Software that "Phones Home"; good? bad? Evil? What notice does one give? How to? [closed]

Tags:

architecture

PHONE HOME

Everybody wants to now and then. ...What about software when it grows up and becomes a mature product? Shouldn't it be an adult and live in its new home quietly? Or, should it show some affection from whence it came?...

I've heard some say they'd rip out from the platters any bits that try and communicate without their say so. I've also noticed a large number of products that now routinely ask for permission to send statistical use information. And there are many levels in between.

I'm sitting on the fence.

There’s a long paragraphs explanation of how this question came to me, but for all our sakes, I wrote then deleted it. Suffice to say, I’m Chief Scientist, an officer of the company and head of our development efforts; this is a really big deal and I’m looking for insight from the programming community as I'm not getting any useful feedback here...

The biggest argument for PHONE HOME is that some involved fear there is likely to be serious attempts to cheat the contract(s) and if the software occasionally phoned home it would help detect cheating (for which there are penalties).

Other pro arguments are that it can provide usage statistics and perhaps detect when updates are appropriate.

The biggest argument against is that it’s offensive.

I also haven’t a clue how I would architect this. Clearly, everything calling home all the time is not going to fly. There are a half dozen major products and some will run 24 X 7 X 365.24 and some will be up and down like a frigen yo-yo, yet some data on all of them would be nice - Local repository?

Then there’s connection strategy – a mail message, while convenient, may be a bad call because it can be more obtrusive (perhaps). Then, a simple TCP ssh call may not be so great, either.

So, how about it? If you’re pro, please tell me why. If you’re against, why also. Examples of "doing it right?" Contractual text you like somewhere - or hate?

Next, IF we decide to do it, how should we do it – how would YOU do it? Why?

Frankly, I’m profoundly torn. I hate such things in general, but as an officer of the company, I have to acknowledge above my own feelings, there’s potentially a lot of money on the table here, and being offended may not be a good argument.

Thanks for your thoughts.

like image 239
Richard T Avatar asked Oct 25 '08 04:10

Richard T


3 Answers

Informed consent, where informed means that the type, frequency and content of the information you'll be sending is told to the client is truly the only reasonable option, else you start closely resembling a malware author. People will find out and will dislike you a lot if you tried to pull it off sneakily. You probably can and should present it as a means to improve the service though, everybody likes software that reports bugs by itself.

This means you cannot rely on this to be your cheat detection mechanism, but, given that there's a lot of money on the table, you may be able to contractually put some random inspections. For instance you could register locally the data you'd otherwise send and go look at it in the inspections. I don't think you are forced to declare you'll be locally registering usage information (IANAL, YMMV, WTF, BBQ)

like image 81
Vinko Vrsalovic Avatar answered Nov 10 '22 03:11

Vinko Vrsalovic


I would tend to use this in moderation. Any informational activity should be opt-in rather than opt-out (i.e. crash reports, statistics, etc).

For protection of your assets, I think it's fine. Many will tell you that it won't stop cheating, because people can fool it, but it can help. Just don't collect any information in doing so that could be (realistically) deemed an invasion of privacy, and I don't see any problem with it. Also make sure that whatever is being done is honed and tested well enough that it's not going to adversely affect the user experience. i.e. if it fails to connect when trying to phone home, and the software no longer works as a result, that could be a big problem.

like image 6
Gerald Avatar answered Nov 10 '22 04:11

Gerald


You mentioned in your comments to someone else that the chief concern is with sub-vendors who want to create their own licenses. If that is the case I would focus any software solution around making them honest. The most important benefit I would see from this solution is that you're not affecting end-users this way, only a reseller in the middle. And if the arrangement is profitable for them, it will be worth to do whatever is necessary to ensure that their activities are above-board.

For example, you create the key generation software and distribute to the resellers. This software could automatically communicate back to your company what licenses were generated and any other related data. If the software can't communicate home, then the keys don't get generated.

like image 4
Noah Goodrich Avatar answered Nov 10 '22 04:11

Noah Goodrich