Not everything is black and white, not even when it comes to software programming. Way back around April 24th I asked the following question on Q&A for coders site Stack Overflow:
I had written some code for a macro framework to automate actions in an up and coming MMORPG (something I enjoy), and I wanted to see if the community could contribute any constructive purpose for it, or if it was strictly evil™. Unfortunately I had my question worded "Is it" rather than "Can it be" when 99% of the answers struck, taking several answers quite awry. Still the input on commercialization was thorough, and the overall consensus on releasing a program of this nature? Bad thing.
In fact given the newness of the MMORPG I could only conceive of one scenario that could be morally defensible: A preemptive strike, a free, public release to preclude a worse one down the road.
Of course then you realize that this has all the ethical implication of pulling the trigger yourself. You may believe with certainty that an uneven playing field is inevitable, but can that itself justify action?
It may be very prudent to operate within a system of belief to affect change. Gentle nudges, progress at the pace of prevalent perception (I'm a fan of alliteration). Nuclear disarmament before cessation. Fight to end fighting!
It's a fairly rational approach, and I wasn't sure if there could be any other, until I encountered this:
We but mirror the world. All the tendencies present in the outer world are to be found in the world of our body. If we could change ourselves, the tendencies in the world would also change. As a man changes his own nature, so does the attitude of the world change towards him. This is the divine mystery supreme. A wonderful thing it is and the source of our happiness. We need not wait to see what others do. — Mahatma Gandhi, 1913
Now there's an interesting concept. Being the change, I would not harm another in any circumstance—and quite obviously if everyone shared this conviction there would be no violence. Yet everyone does not, and more than a few people would reject my idealism, respond with belligerence to my priorities. It's understandable.
Still I find this latter approach the most resonant personally, and observing history, it appears to have great strength. I'm not yet sure what to do with my code, but I chose not to release it preemptively, I chose to be the change I wished to see in the world.