1. A method comprising: receiving software; determining an intermediate reputation of the software based on: community voting comprising comments about the software; statistics pertaining to the software; and a reputation of other software, wherein execution of the software results in interaction with the other software; determining a reputation of the software by forming a weighted aggregation of the intermediate reputation with at least one other reputation; determining a trustworthiness of at least one of: a publisher of the software; or an author of the software; determining that the software is acceptable when: the reputation is acceptable; and at least one of the publisher or the author is trusted.