Complexities and contradictions
Who needs to hear this truth? To answer that question, let me take a slight diversion that will actually set up the context for an answer.
In preparing for some lectures in London, I studied several of Alan Turing's papers and some biographies of him. Turing was a complex man—I suppose that all pioneers are complex in their own way—and full of contradictions, an enigma, as his biographer Andrew Hodges put it. Perhaps the ultimate contradiction of his life was that although his cryptanalysis work helped defeat Adoph Hitler's oppressive forces, the society he helped preserve oppressed him in his personal life (as a homosexual, in an era when society fiercely condemned such behavior).
This contradiction led me to realize that, despite all the promise that software brings, its presence carries its own set of contradictions. For example, the Internet changes the way individuals communicate and businesses collaborate, but it also gives terrorists and other criminal enterprises an environment to operate in with little fear of detection. The Web provides unprecedented mechanisms for social networking; it also makes it easier for criminals to exploit children as well as defraud and steal from individuals and organizations. Software-intensive systems permit real-time and distributed information access, but they can erode personal privacy and other basic human rights. Email and other software-intensive mechanisms increase the velocity of communication; yet email and the aging of digital archives threaten the preservation of history. Software-intensive systems create new forms of artistic expression, whereas piracy disrupts the economic underpinnings of traditional media companies and can dilute artists' intellectual property. Such systems enable and accelerate scientific research, but they're also at the center of a new generation of offensive and defensive weapons. Software is part of the very fabric of civilization, living in its interstitial spaces. It continues to grow more complex, affecting its users as well as the stakeholders who develop, deploy, operate, and evolve it.