Bruce Schneier in his article linked to register site. In the article, the author talks about a virtual scenario where you want to ensure trust in all parts of the processes. By showing the true, but ridiculous things you would have to do for controlling things from start to end.
To quote a relevant extract:
The truly paranoid would worry about backdoors being built into the app. The solution to that is independent audits. A requirement for those audits is that the auditors come from different jurisdictions, making it impossible to claim that all the auditors could have been ordered – or coerced - by any one entity to overlook such critical flaws.
Updates should be delivered via a pull (rather than push) mechanism, the updates posted to the site and the server software going out to grab them. There should be no means by which the centralised service could directly interact with the deployed base of servers. These updates could be similarly scrutinised to ensure that they do not introduce any back doors into the system.
I could go on, but I believe the point is made. We are heading into a world of cloud computing where trust is going to be a huge issue. It is no longer simply a matter of trusting that the software you buy works as advertised
Then, there is a small section about trust as a design. Basically, no one has the time and the money to invest in it.
As a conclusion, I will cite the introduction of the article:
Avoiding insanity requires trusting those who designed, developed and manufactured the instruments of our daily existence.
In brief, you can't trust the people who developed the tools you are using, but you have to if you want to move on and do something. From some point or another, if you want trust, you have to make a leap of faith. This can be done a every level: developer, compilers, hardware manufacturers etc.