Need way for limited distribution of user-created programs

Originator:kusterer
Number:rdar://15841015 Date Originated:17-Jan-2014 01:33 AM
Status:Open Resolved:
Product:iOS SDK Product Version:7.0.1
Classification:Feature (New) Reproducible:Not Applicable
 
I have a programming environment for teaching purposes. I would like students to write programs and exchange them in a limited fashion among their friends. The programs are not just text, they might contain user-created images, sounds, and page layouts, so can't easily be e-mailed and pasted back in. Currently, the app store guidelines prohibit this. I would like Apple to provide a means that lets me implement it in a way that is acceptable for Apple.

As I understand it, the clauses against downloading and exchanging interpreted code between iOS devices are here for two reasons:

1) Avoid circumvention of the app store (and Apple's 30% cut) by providing an interpreter in the app store, then selling programs out-of-store that run on this interpreter.

2) Avoid that someone submits an app for approval, then later downloads additional code, changing the app's behaviour from what was approved, possibly with malicious intent.

To avoid this, a good solution would thus limit the number of people scripts can be distributed to, thus making it unattractive for both of these uses. In particular, one would want to limit the group of people one can distribute scripts to, to trusted parties.

One way to achieve that would be to require the recipient to enter their Apple ID to export a script, thus requiring them to be physically present or give out their Apple ID and password. Both are things that are usually only done with trusted friends. The script would be encrypted so only this one recipient can decrypt the script to open it, limiting distribution.

So, as a concrete solution to my problem, I would like Apple to provide API that performs some encryption somehow based on the Apple ID, and decryption (e.g. by using the Apple ID and password as the private encryption key and performing asymmetric key encryption), and write into the app store guidelines that sharing interpreted code created by users is fine, as long as it is (and remains) thus encrypted and is only decrypted for execution, and is not permitted to be exported again to give to another user.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!