As Kermit the infuriating frog puppet once said "It's not easy bein' green" - especially as a software developer. OK you can do all things that everyone else does - buy a Toyota Prius hybrid or even cycle to work (as long as you avoid Lycra and silly helmets). You can scribble notes on recycled paper with a pencil (made of wood from managed forests) and turn your machine off standby. You can even diligently recycle your printer ink cartridges and offset your energy consumption by planting a few trees.
But none of this has anything specifically to do with making software or the effects it has on the wider world. Unlike hardware builders, software developers can't build greener products by using alternative materials. Which raises the question - can you write green software?
Certainly Microsoft thinks it can. Back in May it joined forces with the Clinton Foundation to build software tools which can help government track emissions. If Microsoft delivers them on time, they will be available by the end of the year free of charge.
All very worthy and quite green. The problem is that, at the same time, Microsoft came in for a pile of criticism from the Green Party for the lack of green credentials in its Vista operating system - although Microsoft disputes the claim.
Actually, Microsoft doesn't do too badly in the general 'greenness' stakes. According to research by Climate Counts, it is, at least, well ahead of Apple and eBay, despite the criticism from the green lobby.
Steve Charlton, recycling manager at Comm-Tech, says big companies like Microsoft have to toe the line on green issues because they are in the public eye. But he is sceptical about the impact of some of their business practices: "They are under a lot of scrutiny so they have to be seen as green. But a lot of what these large corporations do has a negative impact."
Comm-Tech advocates recycling at every level in IT and has recently turned its attention to networking and software issues. It sees low resource software as an important way of improving the IT industry's green credentials: "The problem with a lot of software is that is total bloatware. But there are plenty of alternatives in open source software like Linux and other approaches which give people access to computing," Charlton says.
Some software developers do, of course, take the green cause very seriously. UK-based document management software developer Version One has been so successful at being green that it has won awards for it. Grahame Holden, software development manager at Version One, takes a pragmatic approach - and not only for purely green motives:
"My team no longer refers to hard copy reference manuals. A few years’ ago, I’d get lost amongst all the manuals in the development area. In fact, one day I was speaking with a colleague for about five minutes before realising he wasn’t at his desk. All the manuals piled-up between us had obscured my vision! All manuals have now been recycled and replaced with CDs and online sources. As well as being better for the environment, I can now keep a closer key on my team!"
Developers can also make a positive contribution by building appropriate software, he says. "Where we can make a difference is by developing software that helps end-users to reduce their negative environmental impact. Version One’s development team authors document management software, enabling end-users to significantly cut-down on their paper-use. This software has clear environmental benefits and we are constantly looking at ways to further enhance these end-user benefits at the development stage."
Two topical trends in software development could also make software production greener. One is open source software, now widely supported by the green lobby. Open source tends to use less resources and - because of the collaborative development process - to be more efficient.
More efficient, 'greener' coding strategies could, ironically, also come from developments in high performance computing. The requirement to devise smarter software to exploit parallel, multiprocessor architectures will inevitably mean more efficient use of hardware resources and better coding techniques all round. It could even mark a return to the obsessions of an earlier age of software development when resources were scarce - when, indeed, hardware was big, energy inefficient and expensive. ®