Situated Software
Situated software is software that is written by and for a particular community of people. It can be a force for good because it encourages and emphasises building community and small scale computing.
Clay Shirky's writing on the subject describes situated software and provides some examples of it in the wild.