In lieu of the recently uncovered scandals involving the German (US, British etc) secret services - and the respective government officials, I reflected upon my (consulting) engagements:
* I deeply mistrust government organizations that keep too many things hidden from their own government. The current „review boards“ (German: Untersuchungsausschuss) are systematically boycotted by the „agencies“ and will surely not lead to any significant result or changed behavior. Documents are destroyed or blackened - officials show no interest whatsoever to uncover wrongdoing.
* Spying on their own citizens without specific warrant violates our constitution, I support appropriate initiatives (reference in German).
* Helping other nations’ intelligence agencies to spy on our own citizens and companies is a serious crime and should be prosecuted.
* In light of recent and not-so-recent eventy, including everything around heroic whistleblower Ed Snowdon, supporting these organizations is morally doubtful or debatable.
* Investigating or preventing violent crime is required police work, but must under no circumstances be unconditionally extended to the private sphere of all (!) individuals and organizations of a country.
I believe that consultants/architects and developers like myself should start to stand up for morality and *real* compliance to our constitution - and refuse all kind of support for the „secret organizations“ and those parts of our government that is related to them (e.g. the German Kanzleramt).
For myself I therefore decided to refrain from doing ANY WORK for the „secret organizations“, until all of the currently open issues have been clarified (but I doubt that will ever happen, as long as we have to endure political puppets that act as cohorts to foreign governments).
The only exception that I regards morally acceptable would be support for changing-these-organizations-for-the-better, e.g. creating transparency, investigate and uncover previous crimes or supporting reviews.
(I re-used the term from the inspiring Martin-Fowler keynote from OOP-Conference 2014)