The Ethical Dilemmas Today's Programmers Face 183
snydeq (1272828) writes "As software takes over more of our lives, the ethical ramifications of decisions made by programmers only become greater. Unfortunately, the tech world has always been long on power and short on thinking about the long-reaching effects of this power. More troubling: While ethics courses have become a staple of physical-world engineering degrees, they remain a begrudging anomaly in computer science pedagogy. Now that our code is in refrigerators, thermostats, smoke alarms, and more, the wrong moves, a lack of foresight, or downright dubious decision-making can haunt humanity everywhere it goes. Peter Wayner offers a look at just a few of the ethical quandaries confronting developers every day. 'Consider this less of a guidebook for making your decisions and more of a starting point for the kind of ethical contemplation we should be doing as a daily part of our jobs.'"
I've grappled with the ethics of CS for 20 years.. (Score:5, Insightful)
And every employer I've developed code for has told me the same thing: shut up and get back to work.
Ultimately, in order to address the ethical considerations of programming, we would need a work culture that supports it. Otherwise it simply becomes another "know which side your bread is buttered on" lesson.
Re:I've grappled with the ethics of CS for 20 year (Score:5, Informative)
I've been in a situation where I pretty much had to lie or lose my job. This was just after the dot-com crash in California and new gigs were hard to find and I had a family to support. If I were single, I'd tell them to shove it and find a gig in the north east, which still had "legacy" openings at the time. But that wasn't a real option.
I had knots in my stomach over that conundrum; it's not pleasant. I could relate a little bit with the dude in Les Miserables who had to choose between theft or starvation.
Even now I have to often live with foolish choices by PHB's simply because they are the boss. It may not be "unethical", but often it's bone-headed unprofessionalism. I try to CYA as much as possible, but sometimes you just have to shut up and play the game if you want the rewards of the game. The work world is messy Dilbertism in most orgs.
Re:I've grappled with the ethics of CS for 20 year (Score:4, Insightful)
...but sometimes you just have to shut up and play the game if you want the rewards of the game.
Basically, you chose to shut up and do unethical things, to keep getting your hands on those $$$$ greasy paychecks. So quit rationalizing.
You had and have options.
Re:I've grappled with the ethics of CS for 20 year (Score:5, Insightful)
Those options don't scale. Honest people will receive less resources and have less influence and perhaps have less children, leaving the world full of slimebags and enablers of slimebags.
It's probably why so many slimebags exist today. If you want to solve the issue on a large scale, you need to find a way to change the system(s) to not reward slimebags, not rely on futile individual volunteerism.
Re: (Score:3)
Honest people becoming dishonest doesn't scale either.
Re: (Score:2)
I don't know, it seems to be scaling remarkably well, unfortunately.
Re: (Score:3)
Indeed. Going over to the dark side is easy. Coming back from it is hard or impossible.
Re: (Score:2)
You may be, but not everybody is scum.
Not new, not news. (Score:3)
Making a sword or shield? What if it breaks in battle? Making a wagon wheel? What if it breaks down in the middle of nowhere? Making a horse harness? What if it fails pulling a carriage uphill? Making a chair? What if it fails when some person sits on it? Making a steak? What if it has a sharp bone sliver in it? Writing a control system? What if you miss something? THEN YOU FIX IT, that's all. Be as careful as you can of those things you can think of; ask for help so you have a chance to get more than a nar
Re: (Score:2)
That's convenient, isn't it? Because in your worldview individuals are exempt from making moral choices - they need just point out some other person or entity which has a lot of influence.
Re: (Score:2)
Making moral choices is not an absolute business. In the real world, you have to balance different, often contradictory things, take into account how big your influence actually is, etc. Those that require absolute morality from everybody (such as you do) are just authoritarian morons. They are likely lying to themselves on a daily basis, because nobody can sustain absolute morality. Also, quite a few of these assholes are something even worse: They do require absolute morality from _others_ but do not even
Re: (Score:2)
Indeed. It is actually pretty problematic putting children into this world, when you think about it. Things are grim (not that they have been any better before...).
Re: (Score:3, Interesting)
You are putting words into my mouth. Basically I'm saying that IF you want to change behavior on a large scale, you need to find a way to change the reward system(s) on a large scale.
Nagging people to "be good" and accept the down-sides of honesty for altruistic reasons alone will not work well in the longer run. I'm not saying whether asking them to do such is good or bad, I am only saying it won't work on a large scale. I'm trying to explain it in terms of cause and effect rather than give it a good/bad v
Re: (Score:3)
Oh those with simple models of the world and simple minds....
You do realize that you are part of the problem, right?
Re: (Score:2)
That is why it is difficult and each case is different. If you starve yourself or your family with that $10k job, the decision is entirely different from the one you face if you can life reasonably off that $10K job. The point is that an ethical person will look very careful at all aspects of the choice, where an unethical one will ignore all aspects that are inconvenient.
But this situation is a simple example and pretty unrealistic. A more typical situation arises when there is no clear choice, and that is
Re: (Score:2)
There is no proper model, that's why it isn't simple.
Re: (Score:2)
This is Engineering. This dilemma has been faced before by other Engineers, and its time for software engineers to step up to the mark and earn the title.
Basically, professionalize. Join an industry body like IEEE, create and get standards like C.Eng, lobby for critical software to be signed off by Licensed Engineers. Wrestle control from the PHBs.
Re: (Score:2)
You think that's bad? I sent spam for N'SYNC.
Re: (Score:2)
I don't want to go into details, but basically it was we actually used component brand X to build an application with when the customer wanted brand Y. I never learned why they were picky about such, for as far as I could tell it didn't matter much. Either way, there was not enough time to recode it and rather than tell the customer, my boss & owner wanted me to lie with them.
Re:I've grappled with the ethics of CS for 20 year (Score:4, Insightful)
Re: (Score:3)
It's worse because while YOUR post actually reflects an ethical/moral issue, TFA does not.
Here's their #1 item:
90%+ or whatever of the programmers out there are working on in-house code for in-house projects us
Re: (Score:2)
20GB of logs? Stop logging routine, all the time, stuff.
Tell IT about the logs. Throw the responsibility over the wall. Under no circumstances, remote log a customer. IT eventually has to support your system. Build it so they can. Logging levels etc. Every coder should do a year or two doing, at least, part time IT, just so you understand how much the job sucks and how easy it is to not fuck them over while coding. They'll complain anyhow.
You don't want to still be supporting the POS yourself do you? I
Re:I've grappled with the ethics of CS for 20 year (Score:5, Insightful)
Re: (Score:2)
Furthermore, they completely forgot the obvious ethical dilemma of an InfoWorld web site programmer tasked with implementing multi-paged articles.
Slashdotted. Problem solved.
Re: (Score:2)
Re: (Score:2)
90%+ or whatever of the programmers out there are working on in-house code for in-house projects used by in-house people. Stuff that will never ship. So it does not matter how much stuff is logged.
It still matters, if the data being manipulated is about customers. And it almost always is.
Re:I've grappled with the ethics of CS for 20 year (Score:4, Insightful)
Right, ethics classes won't help. I left a good career at a major medical center when I was told that we were going with the technology that would likely create medication errors because the correct software was too expensive and it would be cheaper to settle the lawsuits.
Nobody needs an ethics class to know that that's wrong behavior, and taking an ethics class would not have changed that behavior. And it certainly wasn't the programming staff that needed ethical correction.
Re: (Score:2)
I hope you reported this to somebody after leaving the job. Besides it being the right thing to do, whistleblowers can actually get good money in some cases...
Re: (Score:2)
Did you tell anyone? Like the local newspaper, perhaps anonymously? In cases where it can be shown that the defendant knew what they were doing was dangerous and likely to result in disaster the award in any lawsuit tends to be higher, which in turn makes lawsuits a less attractive alternative to doing the right thing.
Re: (Score:2)
Re: (Score:2)
In my experience, anyone calling a person a communist nowadays, is just trying hard to deflect the light exposing the fact that they themselves are hypocritical, greedy, amoral scumbags, who have no redeeming qualities.
Moral Design (Score:2)
http://fadeyev.net/moral-desig... [fadeyev.net]
Professional Liability (Score:3)
Re: (Score:2)
Lots of engineers in railroads too.
Real engineers (PE or not) have responsibility and authority in proportion. PHBs can't deal with that, but that's a cultural problem with most cube farms.
Re: (Score:2)
Indeed. "No right to decide" comes with "no responsibility". It is time that coders, designers and architects of software are empowered to make technical decisions and at the same time are liable for what they decide. That will cut down on all the semi-competent (at best) amateurs plowing the field today.
Re: (Score:2)
Software engineers are engineers (or should be). They are dealing with machinery that is potentially dangerous and hence have some professional decision powers (or should have) that management cannot override (or should not be able to). In engineering, if the engineer makes an unprofessional technical decision (no matter how much pressure from management) and the machinery ends up killing somebody, the engineer is liable. That is as it should be.
The only way out the engineer has is to get his/her opposition
Re: (Score:2)
It's always seemed weird to me that there's so little limitation on who can call themselves an engineer. Doctors have medical school and board exams, lawyers have the bar exam, heck, even cosmetologists have to be board certified.
In my own profession - p&c actuary - I have to pass a series of 11 exams plus continuing education courses just to become fully credentialed. And when I (someday, please God) get done with that, I will be personally liable for every actuarial statement that I ever produce. I
Re: (Score:2)
everything else being equal, being liable for your work is not a good thing. unless it came with some other benefit (like a large pay increase), no thanks.
Re: (Score:2)
The only way that works in any engineering-like profession is if you are liable for your work. Of course that means you get to decide how to do it and it also means you get to be paid accordingly. Liability is limited by some things of course: If you followed sound engineering practices (honest mistakes are fine too), criminal liability is off the table and civil liability will be taken by your insurance and they claim the money back from you. Of course, they can raise their fee within reasonable limits. If
Re: (Score:2)
Re: (Score:2)
It does not, in fact. The liability is here of course with the engineer that elected to use that FOSS software. If he/she was reasonably thorough in assuring its quality, then only liability for gross negligence applies unless more was specified contractually.
This really is a straw-man: Today many companies that might be liable in case of software errors use FOSS software. The thing that most people do not understand is that a commercial software vendor is just as non-liable for their products as a FOSS dev
Re: (Score:2)
Liability insurance will have just the same issues covering the use of any MS product or any other commercial product, all of which come basically with "no warranty", just usually camouflaged in some legalese.
What liability insurance needs to cover is the selection choice, not the software itself.
Re: (Score:2)
I am all for that. Then the hiring of semi-competent personnel to design and implement software would maybe decline.
Ridiculous stuff (Score:2)
We'll probably see the items used under a different heading ('Professionalism
End User License Agreement and Ethical Dilemmas .. (Score:2)
Re: (Score:2)
Doesn't really matter, as the EULA can't effectively waive legal responsibility/requirements. A company can try to use an EULA to overtly say or infer that you don't have a particular right, but it can never absolve itself of observing that right.
Automation (Score:2, Interesting)
One I have personally grappled with, a script I'm writing will automate 5 peoples jobs away. Chalk it up as inevitable even I know people will lose their low skilled jobs as a direct result? I know it has to happen but that doesn't make me feel good about it. To not write it as best I can would of course be theft from my employer of course though.
Re: (Score:2)
That is a difficult one, indeed. Sometimes all you can do is think hard about it and find that there is no good solution or no good one within the spectrum of what you can do. Still far, far better to have tried to find a solution that just have gone with the flow. It makes you an ethical being.
On the other hand, increased automation is a current major change in how humans are doing things and the problem (if any) is with that, not with your contribution to it. And if you look a little deeper, the problem i
Content protection (Score:4, Informative)
I've seen many requests for objectional software in the years I've been working, but some of the worst have been in the guise of 'content protection'. One of the most heinous was DTCP for automotive use, with intent to lock everyone completely out of the sensor network and on-board electronics. My standard response for this one eventually became:
1) I will quit before I allow myself to work on DTCP;
2) I will not support any engineer in the company who works on DTCP projects;
3) I will not support any project or library that a DTCP project depends on, or makes use of;
4) I would rather see the company close due to lack of work than have it pursue projects of this sort.
I've never been told to shut up and go back to work; granted, I had a long history with the company and was worth substantially more to them as an employee than a few paltry one-shot crypto projects.
I recognize that most people don't feel like they have the job security to make demands of this sort; however, I do, and I fully intend to make use of my tiny bully pulpit when situations arise that demand it.
Re:Content protection (Score:4, Insightful)
This is the solution in my case as well. Make yourself so valuable that your (occasional) moral judgements are valued more than the immoral or amoral corporate decision. (But don't abuse it.) Some artful negotiation may be required.
Re: (Score:3)
Heh, thanks. Artful negotiation is very important, and not given nearly enough face time in situations like this. You have to show that you're objecting not to be a jerk, that it's not because you want to cause problems for someone else in the company; you have to show that this is just something you won't be a part of, and that there's a cost to the company in proceeding with it. It's nothing personal - that's just the way it is, and you want to make sure everyone understands that before a final decisio
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
The alternative would be to code in backdoors in the solution.
However most of the content protection actions are often futile, there will always be a hacker somewhere that cracks the lock one way or another.
P.Eng (Score:2)
Ethics can't be taught or certified (Score:3)
No Ethically Trained Programmer ... (Score:2, Funny)
quote:
It should be noted that no ethically-trained software engineer would ever consent to write a DestroyBaghdad procedure. Basic professional ethics would instead require him to write a DestroyCity procedure, to which Baghdad could be given as a parameter.
http://en.wikiquote.org/wiki/Nathaniel_Borenstein
There are already codes of ethics (Score:2)
See IEEE Code of Ethics [ieee.org] (a simple, yet succinct and to-the-point code), and ACM's Software Engineering Code of Ethics and Professional Practice [acm.org]. Even reading section 1 of the ACM code, it is abundantly clear it is not being legally enforced. In particular 1.03 & 1.06 jump out at me.
Problem is, professional ethics codes are generally not legally binding unless you are professionally licensed in a discipline by the state, and the licensing indicates the code of ethics that must be followed. Additionally
Can't just quit every time (Score:2)
Guess what, I was a junior engineer with no pull on a project that was do or die for the business. I finished and quit as soon as possible. Not everyone can do that. This isn't a software engineer's
This will blow your mind really... (Score:2)
A programmer is instructed to develop a software which generates a random sales tax registration number. This software will be used for random raids.
The officer in charge gives him a small slip with few numbers, and verbally instructs that these numbers should never be generated.
So how do you deal with corruption like this
1. Option 1 - Blow the whistle - No proof. They may come after your family
2. Option 2 - Comply
3. Option 3 - Make software so that first 3 months the numbers never come, but after 3 months
Re: (Score:2)
Or those numbers were for deep cover operations that shouldn't be disrupted by being raided randomly by other govt agencies.
Thanks evil ethical developer, you just risked federal agents lives.
Re: (Score:2)
Was the mechanism to prevent a number from coming up part of the official requirements, with a list of blocked numbers that is subject to audit and a trail including which officer gave the order to put a particular block in? If so, "deep cover" is plausible. If it's just something on the quiet though, it smells far worse.
What computer science? There is no CS here. (Score:2)
they remain a begrudging anomaly in computer science pedagogy
Here we go yet again. We have an OP that can't seem to grasp what computer science is and what it isn't, yet it doesn't stop them from waving the term around like a flag. And we have post after post after post of obviously extremely intelligent and likely capable programmers that, perhaps even once studied computer science, and still insist on ignorantly equating "programming" or software development with "computer science."
What the Hell is wrong with you people? And don't think my animosity towards you r
Wrong target (Score:2)
Although the article seems to have mixed up morals and ethics (internal vs external code), ultimately it should be the company's management that determines the answers to these questions, not the individual programmer. One way or another, the questions and others like them need to be answered. If management abdicates that responsibility, the lawyers will end up making the decisions. So the real questions is "Who do you want to decide these issues, the company or the courts?"
NCAA schools? (Score:2)
Having those kinds of colleges teach ethics seems about as useful as Dick Cheney or Bernie Madoff teaching ethics
Re: (Score:3)
Other way around, actually. 'Morals' -> 'mores', which is about customs and expected public behaviors; 'ethics' -> 'ethos', which is about internal guiding principles.
Re: (Score:2)
It's not a fallacy, because we use words and correlations between words to convey nuance. Otherwise things get so slippery that you can claim you meant anything.
Re: (Score:2)
Re: (Score:2)
That begs the question, "what is an etymological fallacy"
Re: (Score:2)
Re:Not a programmer's problem, a managerial one (Score:4, Insightful)
To a computer programmer, ethics is dead code, and I mean that in a good way. It takes effort to do wrong, and money to add the ethically problematic features -- and the only person who makes that happen is your boss.
Not necessarily - imagine software that controls a physical device, which has safety concerns. There's a simple and elegant check that can be performed that catches 90% of the dangerous use-cases, or there's a really hideously complex set of layered checks that will catch 99% of them. You have two days to ship or you're fired. Which do you include?
Re:Not a programmer's problem, a managerial one (Score:4, Interesting)
The fact that this comes up as a question at all is the reason CS needs to follow the footsteps of engineering, medicine, and other "professions". If everyone was registered, bound by a code of ethics and legally required to do so to perform their work employers wouldn't be so quick to think they can replace you with someone willing to follow orders. If the industry had a professional association (I won't call it a union but at times they perform similar functions) to out the employer attempting to force someone to go against a required code of ethics, then this question shouldn't actually come up.
Re:Not a programmer's problem, a managerial one (Score:4, Interesting)
How quickly do you think those jobs would be shipped oversees to people who aren't bound by such associations?
That is the computer programmers' problem.
Re: (Score:2)
Not every problem is exportable, even in computer science.
Re: (Score:2)
Re: (Score:2)
Only up front, and if that were a likely option chances are you wouldn't have a job anyway. Outsourcing a project near completion at the last minute to meet a deadline is the stuff of managers attempting to ruin a company on purpose. If that's the kind of madness you're dealing with I wouldn't count on job security to begin with.
Re: (Score:2)
Re: (Score:2)
So it comes down to: we don't want to form a professional, union-like organization that has standards and ethics, because we're afraid we won't have jobs.
God this country sucks.
Re: (Score:3)
Re: (Score:2, Insightful)
IEEE has a code of ethics. They talk about the implications and the best strategy for establishing what they call ethical dissent:
http://www.onlineethics.org/Resources/ethcodes/EnglishCodes/IEEEguidelines.aspx
What you believe is unethical, may not be unethical to others.
Having said that, they also have noted that being a whistleblower is not a good career move.
http://spectrum.ieee.org/at-work/tech-careers/the-whistleblowers-dilemma
In the US, in particular, there is very little to protect a whistleblower. Th
Re: (Score:2)
And become moribund as a result?
We really don't need a bunch of largely-self-appointed old guys sitting around in a committee making choices for the entire field in the form of a "code of ethics", which the rest of us will then be bound by now and forevermore. It won't make anything better and it will make a lot of things worse.
Re: (Score:2)
I thought the comment may get push back, but there are plenty of examples of where the solution works rather well. The fields I mentioned especially deal with rapidly changing technology, and deal with the lives of people. Law would be one which deals with rapidly changing rules too. None of these professions I would describe moribund.
Yeah there's a bunch of largely self appointed "fellows" who guide the disciplines of engineering, but you know what, they pretty much have zero impact on my work. Yes they wr
Re: (Score:3)
If this actually happened, you would have rules like this:
"You can't write X without including Y DRM because otherwise OMG PIRACY!!111!!!"
Fix the morons who would write that into the code of ethics. Then, maybe we'll talk.
"It's been 3 minutes since you last sucessfully posted a comment."
Yes, it has, and I have "Excellent" karma and have been a member for so many years I can't remember, and I currently have mod points. Maybe give me the benefit of the doubt?
Just for that:
http://soylentnews.org/ [soylentnews.org]
FUCK BETA
Re: (Score:2)
"It's been 3 minutes since you last sucessfully posted a comment."
This is location specific for me. In some places I can post freely, in others I have to wait 5 minutes between posts.
Re: (Score:2)
Fix the morons who would write that into the code of ethics.
In what world would you elect management types to oversee professional registration of your field? It's such a typical comment. "This won't work because of [insert something I think is someone else's fault]." Guess what, this is up to *YOU*. These associations are formed by members of the discipline and staffed and lead by people of those disciplines. A manager can't become an Engineering Fellow and can't be elected to a board, so why would you let some media cronies run your life? This isn't a US governmen
Re: (Score:2)
No, not me. Those members of the profession who are good at schmoozing and politicking. They may have written code once; they're probably managers or worse n
Re: (Score:2)
You are strething the interpretation of the code of ethics to quite epic proprtions in an attempt to save your point that you think everyone is corrupt. Let's look at that code in more detail:
1.5 Honor property rights including copyrights and patent.
Violation of copyrights, patents, trade secrets and the terms of license agreements is prohibited by law in most circumstances. Even when software is not so protected, such violations are contrary to professional behavior. Copies of software should be made only with proper authorization. Unauthorized duplication of materials must not be condoned.
So the code of ethics said, don't break the law and steal other's code. There's nothing in there about forcing you to implement a DRM scheme. Actually there's nothing in there saying your code can't be open and free to use for whoever you want, just that when you take code from others you should respect copyright law a
Re: (Score:2)
There are societies that have this sort of thing as their purpose, for example the IITP [iitp.org.nz], though not so strong. I don't think there's any need for a requirement that software development become a regulated profession overall, however I think there some cases where it might be a good thing: in particular, things where failures could cause injury or loss of life (which doesn't apply to most jobs.)
To use the example of the medical field, it's not regulated to take someone's temperature to see if they might have
Re: (Score:2)
They key part in that is the ability to make a decision.
Anyone can take your temperature. Anyone can give you Panadol. It is illegal however to recommend Panadol as a solution to said fever. That would be giving medical advice (not that anyone follows this extreme example).
But in engineering fields there is quite the same thing. Just because you're not a registered engineer doesn't mean you can't engineer. It just mean that before your work turns into something real it needs to be signed off by someone who
Re: (Score:3)
The 90% case and updated instructions for the user. Even if you have to call him/her personally. Aware people work around dangerous conditions every day.
Re: (Score:3)
And when you know for a fact that those instructions will be handled by a department that is not interested in communicating honestly with the customer, especially if doing so might convey a sense that the product is dangerous?
Re: (Score:3)
You declare that you'll start working on it immediately and will put in overtime, but even so it won't be ready by the ship date. State that you won't sign off on it or release it until you feel it's ready, because if someone gets hurt, you could be responsible. Shrug your shoulders and wait for a response.
- If you're ordered to do it anyway, state that you can't be paid enough to cover the legal liability and you won't be party to it.
- If they take you off the project, say OK and walk out. You can effec
Re: (Score:2)
The 90% case, and write a letter (keeping a copy for yourself) to your boss explaining the problem and that you have made him aware of it. Maybe complain to his boss that the deadline is unreasonable. There must be a reason why it exists, presumably due to someone else screwing up.
The kind of situation you describe doesn't exist. There is always more to the story than just you and your boss making random demands.
Re: (Score:3)
While that is a nice idea, it unfortunately is not so simple. For example, giving defective code to a customer that depends on it working seems to fail your test.
Re: (Score:2)
And every building built on this planet contains defects. Every bridge built on this planet contains defects. It is impossible to build a building or bridge without there being a defect. Almost all the the defects are insignificant. The difference between Software and Civil Engineering that small defects don't usually bring the whole construction down whereas the smallest defect in a piece of software often have catastrophic effects.
Re: (Score:2)
And every building built on this planet contains defects. Every bridge built on this planet contains defects. It is impossible to build a building or bridge without there being a defect. Almost all the the defects are insignificant. The difference between Software and Civil Engineering that small defects don't usually bring the whole construction down whereas the smallest defect in a piece of software often have catastrophic effects.
Additionally while every physical construct has faults very few have people actively trying to exploit them trying to blow everything up, compare that to something like openssl with its resent major exploit. There are hundreds of millions of identical copies and thousands of people looking to exploit them and once exploited all are vulnerable. If every bridge had thousands of people trying to blow it up everyday we would not hold the architect/engineer responsible for someone managing to destroy it eventual
Re: (Score:2)
Another difference is that traditionally licensed Professional Engineers have to accept personal liability for designs they sign off on. Companies may accept the liability, but at the end of the day, a licensed engineer has to sign their individual name to a building or bridge design (at least of a certain significant scale). There may be a number of engineers involved, but if a structure fails or a building catches fire due to an engineering defect, you will most assuredly be able to find the engineer(s)
Re: (Score:2)
Indeed. Well said.
To make matters worse, it is not that black and white either: For example, working on SELinux for the NSA is not ethically problematic.
Re: (Score:2)
I stay single so I can always do the ethical thing and never need money.
Odd choice. One of the many benefits of being not single is the potential for two salaries. My partner can cover costs for both of us if I'm out of work. I can do likewise.
Re: (Score:2)
Not everyone thinks that defense or the military is in itself evil. And no ethics code enforced by any governmental board of regulators will ever say so.