First, Do No Harm - A Hippocratic Oath for Coders?
rhysweatherley asks: "With the increase in spyware, spam, etc, is it time for a Hippocratic Oath for Programmers? Should programmers be able to refuse to write code that harms the public more than it helps? Should they code defensively to prevent software and information being misused for unintended purposes? And how do we protect such programmers from being dismissed unfairly for standing on principle?"
they'd just fire you and hire someone else. If you are unwilling especialy now there will be 10 other people willing to do it and take your job if you aren't.
Help Brendan pay off his student loans
...coders can refuse to write such code, its called quitting. The real problem is that prospective employers are not all that keen people who quit their jobs for reasons of personal ethics.
blame the companies who tell the programmers what to do.
You have to remember that even if you have the money and values to stand up and refuse to code a application, there will be a person right behind you with no money and no values willing to take your place. All you are doing is delaying the process. I know its a bitter view, but its a truthful one.
A "oath" like this could lead to ommendoms with stuff like "I will follow the DMCA", and other digital rights management junk. I'd be cautious to the threats this could cause. And hey, there's plenty of spam software out already, merely stopping the production of more wouldn't stop spam.
"And we have seen and do testify that the Father sent the Son to be the Savior of the World"
1 John 4:14
In obvious ways when it comes to assisted suicide, but in many other eways.
For example, the oath requires you treat your teacher as your father, his children as your siblings.
It forbids surgery!
It forbids charging for medical education.
So it may not be the best model..
Has it been over a year since you last donated to the Electronic Frontier Foundation
This is the classic dilema with all technology, which can be used equally to promote good as well as well as evil. Encryption software enables privacy for bad guys as well as good, just like guns protect people indescriminately. While it's a good idea in a perfect world, it can't be done. Its a variant of the old 'guns don't kill, people do'.
The last thing I want to see is a Software Engineer Union or licensing of code writers.
If you think your employer is doing something you think is unethical, you can refuse. If they fire you, then you have the option of finding another software job or flipping burgers at McDonalds.
It is not the end of the world to lose your job, especially if you lost it because of your principles.
Coders are human, and therefore assholes. Exactly how much spamware do you think is written by enslaved hackers, bewailing the evil they're forced to write? And how much of it is written by people who don't give a shit?
An hippocratic oath is all very well, but it's not going to accomplish anything. Conscientious programmers will refuse to write stuff to which they object, other programmers won't. That'll always be the case, irrespective of any resolution.
I believe teh British Computer Society has a clause in its members' charter which is akin to this sort of thing; it says something along the lines of programmers having to bear in mind the social impact of their work, but I don't know whether they've every kicked any spamware programmers out. I kinda doubt it.
If you actually want to stop being made to do unethical coding projects, there's needs to be laws that ban those sort of things. Like a "no spyware bill" or something. This probably already falls under bills that attempt to protect people's privacy.
Personally I think if a company is intending on invading your privacy they should be forced to display a *short* *readable* warning (ie. not legalese) that tells the user what they are about to do. Hiding something in a 30 page privacy policy is no different than not mentioning it at all, even lawyers don't read those things!
Websurfing done right! StumbleUpon
Software Engineering Code of Ethics and Professional Practice
ACM/IEEE-CS Joint Task Force on Software Engineering Ethics and Professional Practices
Short Version
PREAMBLE
The short version of the code summarizes aspirations at a high level of the abstraction; the clauses that are included in the full version give examples and details of how these aspirations change the way we act as software engineering professionals. Without the aspirations, the details can become legalistic and tedious; without the details, the aspirations can become high sounding but empty; together, the aspirations and the details form a cohesive code.
Software engineers shall commit themselves to making the analysis, specification, design, development, testing and maintenance of software a beneficial and respected profession. In accordance with their commitment to the health, safety and welfare of the public, software engineers shall adhere to the following Eight Principles:
1. PUBLIC - Software engineers shall act consistently with the public interest.
2. CLIENT AND EMPLOYER - Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest.
3. PRODUCT - Software engineers shall ensure that their products and related modifications meet the highest professional standards possible.
4. JUDGMENT - Software engineers shall maintain integrity and independence in their professional judgment.
5. MANAGEMENT - Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.
6. PROFESSION - Software engineers shall advance the integrity and reputation of the profession consistent with the public interest.
7. COLLEAGUES - Software engineers shall be fair to and supportive of their colleagues.
8. SELF - Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.
1. GENERAL MORAL IMPERATIVES.
...continuing through 1.8.
1.1 Contribute to society and human well-being.
1.2 Avoid harm to others.
The concept of a hippocratic oath is important when you consider that surgery is one human life "playing god", or in a strong position of power over another. How can be there be such a relationship in programming?
There are two ways to look at thist:
a. There are commercial software applications that are going to be used in life threatening applications. Medical software is a growing industry. As soon as someone dies as a result of your medical software, or even when a doctor was using it, expect a lawsuit. The standard threats of legality and fear of punishment are the motivators when writing software for that kind of industry. Therefore, in the commercial world, it is (in the most part, and especially in code with a more serious use than KaZaA) self regulating.
b. Software, being the way that it is, is very easy to modify -- sometimes for better, sometimes for worse. Any kid can take an open source program, hack in their own viral segment, and then release it. While forking isn't that bad a problem in the OSS community, and in some cases is a very good thing, if Windows ever got publically open-sourced I know that hundreds of kids would go through and change every occurence of "Microsoft Windows" to "my l33t h4x0r cl0n3 0s" in the source code. Hell, I hex-edited command.com back in the day for a laugh. But I didn't know enough to do anything but change strings.
That's the clincher - only people that know what they are doing can become a registered medical practitioner, as opposed to any 12 year old who can be a "software programmmer." I propose a simple return to the Internet of a few years back, where you had to be relatively smart, but not a rocket scientist, to get online. There were no "Compile, link and run this downloaded code" buttons in flash IDEs. I hope that the development of Internet2, or whatever it turns out to be, means that we can return to a bit more geek-academic-centric network, instead of an advertising and pr0n festival.
If it wasn't for the kids hacking code that started through a vanity desire, we wouldn't have half the cool technologies OSS has today. You have to put up with the good and the bad, and filter through it. For every Brilliant Digital there will be a Lavasoft protecting us, eventually.
The world is a dangerous place. You can't account for every possibility.
Beyond that, the military-industrial complex relies far too heavily on computer programmers. If they swore to first do no harm, they wouldn't be able to use computers to design and control weapons systems. There'd go the economy. We need to kill kill kill in order to remain rich rich rich.
You see? You see? Your stupid minds! Stupid! Stupid!
I thought that coders worked for the boss?
Seriously. How would your boss like it if he found out that you wouldn't add a feature like banner ads on an ICQ window because you took some kind of oath? I realize that the question asked in the submission, probably doesn't include things like this, but still.
Don't get me wrong, we shouldn't be supporting companies that like to sneak porn into children's software and other extreme similar companies, but for the most part we shouldn't need an oath.
testing out my trending skills
Are there already Malpractice suits for coding? I wouldn't imagine so, considering the you're-screwed-if-we-mess-up-attitude of the EULAs you have to accept when installing software. If there were a hippocratic oath, though, do you think that would change it so they ARE responsible? Then there'd probably be LOTS of "malpractice" type lawsuits from anyone who manages to make the software cause some sort of harm to their computer. I bet there would be a lot of people TRYING to make it do that..
I understand that life's not fair, just why is it never unfair in my favor?
Programming isn't a life-threatening occupation such as many medical occupations. In programming, if people don't have ethics enough not to program evil applications, then they are going to do it anyways no matter how many oaths you make them take. And if the majority of people DO take this oath, and abide by it, then all it would do is artifically inflate the wages of people that ARE willing to do the "unethical" work. It's a lose-lose situation for everyone. Human nature is flawed; deal with it.
How can you even QUESTION for a moment commiting to the oath? I can't believe you all. "If I don't do evil, somebody else will."
What the hell kind of justification is that? Are you a machine or a person?
I quit my job when I was told to change the privacy policy statement on our web page. Were we going to notify people? Yeah, eventually they did- opt out policy, of course.
Check this out- they decided they wanted to sell as much personal information as possible. But they had to get peoples "consent". So they sent out two test 'notification' messages, one allowing people to opt-in, and one allowing people to opt-out, 5,000 people each. In both cases, they got only 5% response, either from people saying "yes, it's okay" or "no, it's not okay (FUCK YOU WE HATE YOU NOW)". I remember the Customer Service ladies joking about the hate mail we got back, as if these people were loonies for not wanting us to do this. (Oh yes, btw- we were truste approved..) When they found what everyone already knew- that people didn't respond either way, they said, "Oh, well, we'll just do opt-out", and sent out the notification. We got a lot of angry email after that, but it changed nothing.
I argued with my PM, who relayed my "concern" to our CTO. The CTO is an aristocrat and sees the wealthy as the custodians of society. It's right for him to do this, because the money will be used towards "proper" ends.
I left the company.
I shun all those who remained.
I shun all of the PMs who sat back and made up justifications for their transgressions. I shun the CTO's and investors who view themselves as the managers of the world.
Always have a back-up store of money, so that you aren't tempted to do evil in order to live.
Pussies who say that capitalism is good, but then violate the Golden Rule ("They're slackers anyways; They should read the contracts more carefully") drive me up the wall. Coworkers that claim that "If I don't, someone else will" drive me up the wall. The folks making the decisions saw it as their duty to guide the human race; They were manipulating people for their own good, and the sake of progress.
Fucking bastards.
Bee Ay eS Tee Ay aRe Dee eSs.
BASTARDS!
Shame on you!
Yes, why would someone design something with the explicit purpose to kill someone?
..
:) (well actualy not since I couldn't make a rocket fly PCB or not, but the general idea still holds, heh.)
:)
Because Somebody(sub1) does not like Somebody(sub2)
Duh.
If I want to kill your ass but not endanger MY ass and I just happen to have some rockets, a workable propellent, and some high explosives laying around, not to mention a suitable PCB and some nice componets that can be integrated easily enough. .
Your fucked.
I think that embedded systems designed to HELP IMPROVE CONTROL OF physical manifestations should be exempt from these (hypothetical) rules, but that for instance any weapon that could NOT be controlled to the point of any sort of usability without a computer WOULD fall under these rulings.
Thus no uber death lasers, but ICBMs are OK.
Need help treating your acne? Come here!
Aren't we famous as a group for not maintaining independence in our professional judgement, or does this exclude the historical jihads such as:
VI or Emacs
Emacs or Xemacs
IDE or Basic Editor (Hmm, a trend)
Command Line or GUI
BSD or GPL
Windows or bend over (which would you prefer?)
Thus far, tons of the responses seems to be "If you refuse, they'll just fire you and hire someone else - there are 10 other people who want your job".
It's exactly this reason that Unions came into existance - when a worker can be replaced because easily, the boss can do whatever he wants.
Capitalism only works when both sides are equal in the partnership. I'm sick to death of the libertarian bullshit that infests this place - "just let the market take care of it". When the marketplace is fair, it's worth considering. But the only way to make it fair is to increase the power of the workers so that they have something to bargain with.
Most everything that makes our country great - the 40 hour work week, minimum (hopefully living in more and more places) wage, sick leave - where do you think it all came from? Generosity of employers? Hell no - it came from workers standing up for their rights.
Many, many people have been killed (read any good history book) just for trying to organize. Remember that the next time you say "we don't want a union".
Some of us DO plan on going the full 8 years for a PhD in a computer field though.
.
:)
Yah some of the self made genius's tend not to need this, but other people like having a wide range of knowledge and not having to reinvent the wheel all over again.
Besides, sure a book can teach you how to PROGRAM, but it cannot teach you WHAT to program. Learning the various gazzilion ways to make AIs, or do computerized visual recognition, or hell just the latest theory on how to design networks (no not neccisarily LAN/WAN networks, but just network theory in general).
Then there is the mathmatics aspect of it. . .
Yah sure SOME people can teach themselves the mathmatics of quanterns, but for the REST of us it is helpful to have somebody who knows WTF they are talking about explain it all to ya.
Need help treating your acne? Come here!
"I swear by Apollo the Physician and by Asclepius and by Health and Panacea and by all the gods as well as goddesses, making them judges..."
How would the Geek Oath start?
"I swear by Boole, and Babbage, and Turing, and Knuth..."
"Hardly used" will not fetch you a better price for your brain.
That you will lead your lives and practice your art in uprightness and honor.
That into whatsoever web site you shall enter, it shall be for the good of opt-out mailing lists to the utmost of your mouse, your holding yourselves far aloof from privacy, from the GPL, from the tempting of others to intellectual property theft.
That you will exercise your art solely for the commercial squatting of patents, and will give no bandwidth, perform no division by zero, for a mad MP3 collection, even if solicited, far less suggest it.
That whatsoever you shall see or hear of the promise of open source software which is not fitting to be spoken, you will keep inviolably secret.
These things do you swear. Let each bow the head in sign of acquiescence.
And now, if you will be true to this, your oath, may prosperity and worthless stock options be yours; the opposite, if you shall prove yourselves forsworn.
To all companies:
If any of you programmers turns down work on principle, please send it to me. Since I'm a whor^H^H^H^Hconsultant, I'm in business to make money. And I'm willing to write whatever you ask for without giving a single thought to youthful idealism.
Sincerely,
infinite9
Disconnect your television. Do your own research. Draw your own conclusions. They're probably lying. Don't be a sheep.
I agree 100%.
I see local Unions (IBEW 46 & 77, Teamsters) out in the streets doing great things for people very frequently. They let other groups use their space, and are a great source of social and economic justice activism.
Unions go far in helping people build spines that they otherwise don't develop when they believe that their life is tied to a cruel system.
Review: Code of Ethics for Programmers?
I apologize in advance, as it's by Jon Katz.
Sig: What Happened To The Censorware Project (censorware.org)
I work at the College of Medicine of the University of Illinois at Chicago, which is the largest one in terms of MDs graduated annually in the US (about 400 per year).
Like many other US Medical Colleges, the oath that graduates take is the 1948 Declaration of Geneva version of the Oath of Hippocrates, which reads:
Now being admitted to the profession of medicine, I solemnly pledge to consecrate my life to the service of humanity. I will give respect and gratitude to my deserving teachers. I will practice medicine with conscience and dignity. The health and life of my patient will be my first consideration. I will hold in confidence all that my patient confides in me. I will maintain the honor and the noble traditions of my medical profession, My colleagues will be as my family. I will not permit consideration of race, religion, nationality, party politics, or social standing to intervene between my duty and my patient. I will maintain the utmost respect for human life. Even under threat I will not use my knowledge contrary to the laws of humanity. These promises I make freely and upon my honor.
As you can see, even medicine changes with the times, while trying to maintain the important features of the Oath of Hippocrates.
I used to work at an ISP. Was with the company for approximately 3 years. The company forked off an internet promotions subsidiary. My role was to be the guy who gets the technology in order to make it happen.
If you're new to this, lets be clear, internet promotion is spamming. Fuck that. I'm not going to use my (frankly, awesome) skillset to stuff junkmail in people's inboxes. How could I live with myself? So I quit. There were some other reasons as well, but this managed to be the clincher.
I run my own business now, where no one is going to pressure me to sacrifice my morals for the almighty buck. That's all the hippocratic oath I need.
"I am hired because I know what I am doing, not because I will do whatever I am told is a good idea. This might cost me bonuses, raises, promotions, and may even label me as "undesirable" by places I don't want to work at anyway, but I don't care. I will not compromise my own principles and judgement without putting up a fight. Of course, I won't always win, and I will sometimes be forced to do things I don't agree with, but if I am my objections will be known, and if I am shown to be right and problems later develop, I will shout "I told you so!" repeatedly, laugh hysterically, and do a small dance or jig as appropriate to my heritage."
-- Abigail, as reworked by Mike Sphar
However, Physicians are centrally licensed by the American Medical Association in order to prevent the widespread public harm by quacks. The same goes for Psychiatrists, Architects, Lawyers, etc. All of these groups are able to enforce their own oaths because you can be disbarred, de-licensed, etc. for violating them. Once that has happened it is a crime to practice your profession and many countries will send you to jail (for fraud if nothing else) for trying.
Similarly most patients, plaintiffs, etc. are not in a position to go over national (or even state) borders to find a cheaper (unlicensed) practitioner. Nor are many in a position of being their own legal counsel or physician (although many are forced to economically). As a result the oaths and their violations have teeth.
There is no central body controlling software developers or engineers in this way, nor do I think that there should be, per se. I believe that ethics in engineering is a valid thing (see works by Samuel C. Florman for more discussion.)
Yet, I do not think that the field can be so easily regulated. Physicians say "Do no Harm" that means "Do not kill people" Lawyers say "Do not lie" (and they mean it whatever common wisdom holds). But what does that mean for software developers?
"Do not help the wrong people get information?" Who are the "wrong people" many people (myself excluded) feel that "the government" should have any and all information it can on people as "Innocent People have nothing to hide" (John Ashcroft). Many others do not.
Similarly many people (myself included) feel that the RIAA is overstepping its bounds on trying to control users and should not be allowed to mandate national copyright control. Many others disagree, not because they are greedy bastards but because they support strong copyright.
The same questions could be made about developing weapons, Blue Boxes, and working for the DEA, etc. Because such ideas are not so clear-cut I don't think that you could easily put together a national consensus (or even a local consensus) on just what is and is not "harm." As endless language debates have shown "Clean code" is a debatable point.
That having been said, I think that ethics are a good thing, and that we as geeks should enforce them in our peers and ourselves as much as possible. This may include returning to the age-old custom of shunning sinners. At the very least we can work to see that what we do in our professional and personal development is good, and ensure that, when we have a say, no-one gets hired to our companies who doesn't measure up.
You might see also:
Computer Professionals for Social Responsibility
The Association for Computing Machinery
and their working group on Computers in Society
My $0.02.
Irvu.
This isn't some legislatively requried oath. It's a code of ethics. Sure it's within the realm of physical possibility that someone will require that you stamp 666 on your forehead in order to be a professional coder, but its highly unlikely.
Man, if the parent isn't an example of a slippery slope I don't know what is.
Seriously, I've had some heated debates with my manager in the past couple weeks and apart from coming away from these encounters with the feeling "I do the impossible for the unbelieving and ungrateful, why bother." To managers, have some faith in your programmers / analysts. If we fuck-up, think of tactful ways to handle it, but have some faith.
A feeling of having made the same mistake before: Deja Foobar
I suspect he means addendum.
What makes you think it would work for programmers? Just because they make (far) less money? :)
Spoken like someone who's gained the benefit and didn't even know it. Ever hear of the 40-hour work week? How about the Triangle Shirtwaist Factory fire? Unions were -- and, I believe, remain -- a crucial part of establishing the dignity of labor in the industrialized West. Like most organizations that grow powerful, a lot of decay has set in, but that doesn't negate their positive impact. If anything, the heartbreak of modern unions is how much they've forgotten their roots and their achievements.
The Mongrel Dogs Who Teach
I think you would have to narrowly define "public". What about folks who write software to launch and deliver an ICMB - since destruction and killing is sort of the idea.
True enough, so let's get to the real meat of the issue.
<P>
Doctors take this oath, and follow other rules, as part of being a <b>certified</b> profession. To be a certified profession means there is a governing body, and often the government, which defines whether you are a doctor or not, and defines whether you can practice medicine.
<P>
Certification makes sense in a very limited set of professions where the practicioner will be doing something life-critical like cutting you open, or defending your freedom in court, or designing a bridge for you -- and just as importantly, in cases where you have a consulting relationship with the professional rather than an employment one.
<P>
If you're going to trust somebody you barely know with your life for a short-term contract, you bet you want some external means of certifying that they are capable of the job.
<P>
But with a very few exceptions, programming and sysadmin are not like this. THere are of course many consultants, but most are actually employees. Instead of the government defining who is a programmer, the employer decides who they want to hire.
<P>
What would an oath for programmers mean? Would there be a certifying body checking things? Would it get to define who was a programmer? Would somebody not be allowed to be a programmer if they didn't take the oath?
<P>
That's not what we want.
Has it been over a year since you last donated to the Electronic Frontier Foundation
The Geek Oath would be even worse off when it comes to gray areas. For example:
I used to work at a (now defunct, like the rest of 'em) dot-com. Our software was, by most definitions, spyware: If you downloaded and installed our software, it would keep track of what you listened to (via pretty much any media player -- we had the top twelve or so covered by the end) and send that info to our servers, which would respond with a wealth of information -- current news, tour dates in your area if you so chose, new releases, etc. The longer you listened, the more information you would get -- "Oh, I realize you're not listening to Radiohead right now, but by the way they've got an album coming out..."
Now: a) We never attempted to sneak onto someone's system; b) We made the uninstall as painless and obvious as possible; c) We never hid the fact that we were sending back listening statistics. But still, we *were* monitoring what you were listening to.
So would I have been in violation of this theoretical Geek Oath?
(Save your flames and your "I'd never!"s -- fact is, a lot of people did, myself included. It just Didn't Work Out, but our management handled the end -- once it was obvious that it was inevitable -- very well.)
First of all - please read the Modern Hippocratic oath to get a feel of the sheer gravity that the oath actually represents. Then imagine the programmers oath
"Wherever I can, I will code many hidden easter eggs without the project managers consent or knowledge to provide the end users something to do. Also, I shall endeaver to ingest large quantities of mountain dew."
I mean, I can think of a few professions above programmers I want to take an oath (How about the short order cook that spit in your food last week huh?)
Second of all - How can you even compare the concept of upholding the ability to save and improve physically the life of an indivdual without corruption to a programmer? How is coding spam similar to endangering a life for unethical pursuits?
Third of all - WHO CARES? Oaths are meaningless in a captalistic society such as ours. Want proof? Lets take a quick tour down career avenue and look at the professions that take oaths - Lawyers (hmm, they seem to be a respectable bunch), Elected Officials (don't get me started), Judiciaries (Not too bad in his arena) and Public Safety officals (Rodney King, Malice Green, etc. etc.) Not to open a can of worms but the ORIGINAL Hippocratic Oath actually had a section condeming a doctor to perform an abortion so theoretically doctors that perform abortion break their oaths (I agree to the modern version expressed above and my political viewpoints on abortion are hopefully not reflected!)
To compare the importance of upholding the importance of ethics in the medical profession to a coder writing spam, spyware or other such "annoyances" is ABSURD.
Jesse Wolfe Sr. Manager Systems Integration
You're right, I'll qualify my previous statement: it's not spyware that's the problem, it's misrepresentation of the software. So the unethical part of the coding might be as simple as having a misleading splash screen or terms & conditions page. (or packaging spyware along with another unrelated product without alerting the user)
I agree that just coding or distributing spyware without the intention of using it unethically should not be regulated in any way.
Hippopocrates wrote the oath because the physicians of his time abused their knowledge, became vindictive, capricious and arbitrary.
Say, you don't think a sys-admin would ever do that, do you?
=brian
This isnt a troll, just point out some truth.
If you want to be any concern to a company, you need to be able to effect their profits. 1 Coder or a group of programmers will not make a difference. Unless its ALL the programmers in the company. You need to be able to effect productivity with walk outs, slow downs, or a strike.
The old saying "The man who owns the gold makes the rules.." is true. Effect his gold and you can change his direction.
But hey, its nice to talk openly about what we would "Like to do..." But if you want change, Start the movement, get political power, start a union, get people together, get some power. Or be the Rosa Parks of ethics, and lose your job.
To that end, I volunteer to put together the first annual Who's Who in Computer Programming. This book will chronicle the most important, ethical people in the industry and will be invaluable to prospective employers who are looking for the creme de la creme of morally introspective code artisans.
If you feel you should be in this book, please send me your name, e-mail address, and the most complicated typedef or template instantiation you have ever written or even tried to read. Only the top programmers will be selected for publication but for $35 I can see to it that you are given priority consideration, your own half-page, a leather-bound edition of the 2003 Who's Who as well as a certificate (suitable for framing) with your name in large-point gothic letters.
Oceania has always been at war with Eastasia.
To go back to the example of doctors, it both amuses me and disturbs me that a family can direct their vet to show more 'humane' treatment to a terminally ill dog, then they can direct their doctor to so treat a human relative.
Vintage computer games and RPG books available. Email me if you're interested.
Let's be realistic here. We're not some super special group in society. We're (most of us, anyway), are employees for companies, and to maintain that employment, we do the job we're given. If we disagree with it in principle, we have the option of pursuing other work.
What would an "oath" do anyway? Would it keep sleazy programmers from working for sleazy companies? Would it get the guy who writes a virus to not write a virus?
Doctors are a different story. Many of them deal with life and death on a regular basis. We programmers, generally, do not.
And to what should this theoretical oath extend? What about a programmer who works on a guidance system for a cruise missile? Some may find that unethical, others may not.
I think the motive is good, but I just don't think that it could amount to anything of importance, unfortunately. I think we ought to teach more about computer ethics in schools. A computer is like any other tool. It can be used for good or it can be used for bad. We need to find a way to stop young people from indulging their tendencies to destroy things (a.k.a. writing a virus or hacking into systems to deface web pages or do real damage), and we ought to be teaching it early on. This, I think, would have a more direct effect.
Of course. In the USA and most western countries, nobody is required to engage in conduct they believe is illegal, unethical, unsafe, or unpleasant -- with the exception of certain positions in the military, who are required to follow the chain of command in most circumstances.
Of course, there are economic pressures: if the only living-wage job in your community for which you are qualified is to work in a coal mine, or in a prison, or writing virus code, then you must make an economic decision: Balancing.
Nobody has to write bad code. If you believe that your shop should never release code unless it includes sixteen types of "defensive code" (resisting viruses and privacy-invading applets and so on), then you tell your employer those terms, and your employer will decide which action to pursue: ending your employment, or changing its practices.
We have all had those "moments" in our lives where we had to make a decision about Right and Wrong. If I do this, is it Right or is it Wrong? If I do this, can I accept the consequences? If I do this, will I be able to respect myself as a person? If I do this, how can I explain myself later to my child?
Sometimes, the decisions are easy: your employer assigns you to load toxic waste into drums and to pour it into a river. Sometimes, the decisions are really hard: your team has spent 1,000 hours testing your code and you are pretty sure that it's good, but you really wish that you had more time for testing, or a different regimen for testing, and now your team leader announces that he's going to release the code -- it certainly makes a difference if the code we are talking about is Doom III or the operating program for a nuclear reactor.
Everybody has a different benchmark. I've heard lots of stories, all of them quite respectable:
- I can't do this because if I ever run for public office, this would ruin my chances
- My religion prohibits this
- This violates the "golden rule" (do unto others...)
- My professional ethics prohibit this
- I cannot do this and still be a role model for my child
- This violates my personal beliefs
- This is just, plain wrong, and I won't do it.
In my opinion, you should use whatever test makes you pause and refuse as often as possible. When someone suggests that the problem is that "we might get caught," I lose all respect for that person: that statement already accepts that the action is wrong (nobody ever says "I'd love to help you rescue that child from the burning building, but I'm afraid I might get caught").Sure, there are things we do that we wouldn't want to discuss with our kids -- not because they are "wrong" but because they are personal or unpleasant or simply not appropriate to discuss with a child.
Life is full of hard choices. I think that 99% of the time, we know what is the "right" thing to do. We often recognize that we are doing something 'wrong' and we have lots of excuses, and some of them feel quite tolerable (I need this job, my kids need health insurance, little harm will come, or harm is quite unlikely).
A long time ago, I found that when I was in certain kinds of situations, I found it "necessary" to do certain things. It was my job, it was legal, it was appropriate -- but it was unpleasant and people disliked me because of it. I had to decide whether I wanted to be the kind of person who did those things. I decided that I did not want to be that kind of person, and I recognized that I could not do my job competently without being that kind of person. I quit my job and changed my profession.
And now, to the question at hand:
> "Should [programmers] code defensively to prevent software and information being misused for unintended purposes? And how do we protect such programmers from being dismissed unfairly for standing on principle?"
Okay, now we are looking at something much less clear. What kind of application are we talking about, and what kind of abuse or misuse are we worried about?
There are various issues to balance, including potential legal liability, potential adverse publicity and adverse market response, and of course potential harm to the public.
Legal liability is a good starting point. If I am writing the code for a new version of a Microsoft operating system, and I already know that there are 1,000 viruses that attack Windows systems, I probably would be legally liable for releasing a product that is vulnerable to one of those existing viruses, if I could easily and inexpensively block them. An internet-ready operating system with no protection against known viruses, would be a defective product, and I'd probably be legally responsible for the damages, at least to consumers. Even if legal liability were avoided (for example, through enforceable contracts), the adverse publicity and of course the complete failure of the operating system to work, would result in complete market failure: people would not buy this product or my other products.
Now, let's look to the harder case. Suppose I am responsible for the coding for Doom III, a complex computer game that (I assume) includes internet-play. I know there are viruses out there, and I know that there are malicious people out there. I also suspect that someone could write a virus that would target my widely software, attaching itself and perhaps even trying to propegate to other users or distribute private data or system-access information by modifying the code that allows internet play. Must I write code to resist that potential virus? No matter what I do, a clever cracker will find a way to circumvent my efforts -- but what must I do? How much time, what portion of my budget, should be spent to fighting crime?
Basically, it's a balancing act.
Try another example: your employer asks you to write a database or accounting program. You know that it is quite likely that your program will be purchased and used by drug traffickers to track their shipments and profits. What duty do you have to prevent such uses, or to detect such uses and report them to law enforcement?
Try another example: your employer asks you to write a Napster-like computer program that will allow people to share files. You know that some people will misuse the program (sharing copyrighted materials), but you also know that many people will use the program lawfully.
Now, suppose you work for one of these latter two companies, and you decide that your employer is not doing enough to prevent misuse, and you refuse to write certain code, but you also refuse to resign. Maybe your employer's attorneys present you with a "severance agreement" that includes a generous cash severance and a confidentiality clause. Or maybe you already signed a confidentiality agreement, and your employer fires you with no severance.
Damn, I have to side with the employer. There's nothing illegal going on, and you aren't being asked to do something unsafe or improper -- you simply have chosen a set of personal ethical standards that conflict with your employer. So I'd probably agree that your employer could fire you, but I might be uncomfortable enforcing the confidentiality agreement, at least insofar as it might seek to prevent you from talking to appropriate law-enforcement agencies.
-- http://www.MarkWelch.com/ Pleasanton California
Got this Saturday off? Thank the unions.
The basic idea behind the ACM code of ethics, which was first developed in the 1960's (but has been amended many times since) is to avoid being specific or definitive in any way. There are good reasons for this that were published in an ACM paper titled "Rules for Ethics in Information Processing", by Donn B. Parker in the ACM journal for March, 1968, describing the reasons that the code of ethics was designed how it is.
If you look at the code of ethics carefully, there are virtually no declarations in the entire thing that state "thou shalt not" or "thou shalt". If there's anything that says that, it puts the judgement of what it means on the member themselves.
When it comes down to it, the code of ethics is more of a requirement that ACM members use their common sense and do what they truly believe is right and ethical in a way that is within reason acceptable to society. Every single person has their own idea of what is ethical, and the boundaries are very fuzzy. As soon as you start drawing lines, you create as many problems as you solve.
It has been used in the past to kick people out of the organisation. I think one of the first times it was used was to dismiss a member who'd put workarounds in some banking software so that his own account had certain financial advantages over everyone else's... or something similar. He was put before a committee representing ACM, he couldn't ethicly justify what he'd done in a way that satisfied the committee, and so he was thrown out.
The ACM paper above is a good read about why it isn't a good idea to have a strict code of ethics. Personally I think the ACM approach is a good way to do it.
No. Actually, there is huge unemployment in the software industry.
Here in SEATTLE, the progammers job fairs are devoid of employers, but full of would-be employees. The last one featured only two employers, one of which was Microsoft, and they just showed up to maintain a presence, not because there were actually any openings.
I've been programming since I was 7, and have 4 years of professional programming experience. All but 5 people, 3 of which were programmers (if I recall correctly) were laid off at the company I used to work for. There were 25-30 employees there, 15-20 of which were programmers.
Please don't mod this up--I'm capped, and some dickless coward will no doubt come after with an "Overrated"--please feel free to mod it down, though.
CEE5210S The signal SIGHUP was received.
"I took an oath to do no harm through code!"
"How fascinating... you're fired!"
But what am I thinking... don't the MBAs take a similar oath?
Comment removed based on user account deletion
Why don't you put your money where your mouth is and try doing a search on monster or dice. When I last did a search to see what was out there, it showed 24 jobs in my area.(Atlanta, GA population 4 million). This was for any job with C, C++ or COM in the description. Most of these jobs were looking for sennior engineers or those with a very specific skillset. It's not much better for other langauges such as java, PERL, etc. I think you need to get a clue, even in 1999, when the economy was strong, employers were very picky about who they hired. There was and never has been an IT labor shortage. That was just some crap drummed up to allow the importation of H1B Visas, in order to further drive down the salaries of engineers.
You forgot the keychains and other "Award Items" you can buy ONLY if you are one of those lucky enough to be included!
Tim
Omnia vestra castrorum habetur nobis.
Oath or not, there is always going to be someone willing to do something, specially when money is involved. And given the current so called 'Slump' in the industry, there will be a lot more programmers willing to 'go there' and write code to their employer's spec's, even if it is to obtain information, legally or not, from an unsuspecting user.
But even without a low in employment numbers, there is no sort of test of virtues to be a coder.
======
Talk sense to a fool and he calls you foolish. - Euripides
There are far too many people who will do just about anything for money. Hell, under the right circumstances, I would write spamming software, even though the very idea makes me sick. I am a family man. I have a wife and daughter to take care of. My first responsibility is to them. "Social responsibility" doesn't even come close. If I had to choose between buying food and paying rent for my family or being socially responsible - fuck society.
-- Will program for bandwidth
Are you really claiming that lawyers act ethically?
For the most part, I would say yes. I usually find lawyer behavior more annoying than unethical.
--
Benjamin Coates
There are several rules of Software Engineering.
1) There's For Dummy's and in 30 Days books about every language ever written. Because of this, every person with a GED thinks that they can write software better than you, the person with multiple CS degrees/certifications/so forth, because they can program their VCR.
2) The client will not trust you, you are a software engineer. That stack you wrote, they don't understand it. In your documentation, rewrite all of your notes from your Intro to Data Structures course. When the client doesn't understand (after all, they don't have the prereqs), or doesn't bother to read it, they will mistrust you. Again, there will be a problem.
3) Your client will now give you THEIR idea of how the software should be written. Because of all of these tools that SHOULD be useful, they're sure that they have written you a design better than anything that you gave them, because it has circles and arrows. Most of them make little sense. Many of them are dangerously redundant. At any rate, the client will check you to make sure that EVERYTHING that they put on that sheet is in the code, and that nothing else is.
4) Forced by Corporate pressure, you will write this. As a result, your software will not work. Perhaps you should have read "Software Engineering for Dummy's" It all makes sense in there.
Granted South Dakota is not the best place to be looking for a job in the IT sector, but it's where I am, that by no means that anywhere else is any better, I am also looking in LA and Phoenix and still have had no luck. Here is a rather long thought that I wrote up today while extremely frustrated with my job hunt...
It occurs to me, that in this time of economic trouble while people struggle to find gainful employment with which to support themselves and even expand upon their knowledge base and experiences, the business world shies away from hiring inexperienced employees and instead attempt to hire only those with years of experience under their belt. This in theory makes perfect sense, employers wish only to hire the most qualified persons they can for their money. Sadly this method is ultimately self-defeating.
We live in a market economy. There are producers and consumers. Most companies are both, producing goods or services while consuming resources with which to provide those goods and services. What happens when the resources dry up? With out adequate resources any business will cease to be. For instance a shortage of rubber would help to shut down tire manufactures, do you think car manufactures could exist with out an adequate supply of tires? What about all of the employees? All suffering companies would both have to lay off vast amount of employees to keep from going under right away. These new members of the unemployment line become consumers who have no method of production with which to adequately support themselves with. Suddenly, a large number of consumers no longer can afford to buy as they once did. A shortage in buying will help to destabilize the entire market where producers would not be able produce as much because they cannot sell as much of their products.
A farmer who wants to succeed in farming does not do so by salting his fields, a schoolteacher does not help the school system succeed by burning her school to the ground. Why does business think that by eliminating one of their vital methods of production do they still expect to stay in business?
When businesses refuse to hire those with out large amounts of relevant industry experience they do nothing but hurt their ability to hire qualified people down the line. If job experienced is measured in steps of a ladder, how can a business expect to hire persons who are near the middle or top of the ladder when they prevent anyone from ever setting foot on their lowest rung? Either they hope that someone else will permit that first step or worse... they are not paying attention to what will happen in the future when they shoot themselves in the foot.
Both are equally evil and both are going on as we speak. Isn't it time to allow that first step to occur so that that climber can be brought into the upper levels? The expectation that others will create these quality employees for you is ludicrous. As the old line says "God helps those who help themselves." In no way do I mean that God or anyone else will swoop down and save those who make reasonable attempts towards progress and advancement, I mean that unless one is willing to take steps towards improvement and investment are never going to get anywhere while sitting still will simply cease to be. Those who stand still deserve to perish; with out allowing the first step all there will be is stagnation and an end to all we know and cherish.
Are you ready to allow it?
Help Brendan pay off his student loans
They went ahead and did it without me, the spam yielded no profit at all, and I'm still working for them, but considering other job offers.
I explained politely as I could how spamming is not a good business practice, and even though I have many years in the software business, I was ignored. It's sad when companies trust their upshot marketing people over the more qualified seasoned employees.
http://www.codewolf.com - Just good stuff to waste time
I've done this several times.
They weren't terrible things, but parts of my company have wanted to do a few things over the years that would be bad for our customers. I've refused to work on them, but always with clearly-presented objections. They've not gone ahead, or have been killed around deployment time.
It actually works better to delay refusal and start with the objections. Those early phases of design will drag out as you work to build consensus on your objection. If you refuse immediately, you lose your involvement, you lose your voice on the matter. Also, you don't want people to start disrespecting and ignoring you for seemingly arbitrary obstructions.
I always start with the explanation of long-term damage to the company, as this is the best way to counter the typical motivation. Someone says that this will increase long-term profits, and you need to point to the way that this is actually an illusion. This approach is valid for the very large fraction of destructive projects that are really trading off long-term success for short-term success.
However, there will be times when the company will actually make greater profits from a questionable practice, or else ignores the arguments in the first bit. This is where the hard personal decisions and possible sacrifice would come in. Yes, if you don't want to work on it, you will have to continue to refuse or else quit. I have not had to escalate to this point. However, if I were to get that far, I expect I would prefer quitting to being fired, and would make it very clear to the other programmers and to senior management why I was leaving.
The keys to any of this working are that you are correct, the management is willing to listen to you, is sensible, and has their own motivation to be reasonable above and beyond the profit motive. If they didn't fit that description, I'd start looking for alternate employment. Finally, I don't find these situations to be a bad sign; only if the company doesn't respond well is the company unhealthy.
This works. Very few structures fall down in the developed world because of engineering errors.
One way would be to require that programs whose malfunction can cause nontrivial harm be signed and sealed by a registered professional engineer, the way building plans are signed. To give this teeth, certificates for code-signing would be issued only through registered professional engineers.
Someday, programming may grow up and go this route.
In my profession (SQA Engineer) the opposite happened during this recession. Companies no longer wanted experience but tried to cut financial corners by only hiring junior engineers. I went six months without a job, but started one today with a sharp company. Keep your eyes peeled, and good luck.
I know, I know, digital signatures are posed as the magic-wand solution to every problem...
But if a software ethics organization were to act as a CA, and issue certificates to programmers with which to sign their code (source or binary), along with some descriptive fields declaring what this code does or does not do (uninstall totally, expire after some interval, transmit information without your express consent, install hooks into other applications to gather information, display paid advertisements, use your spare cycles/bandwith, whatever), end-users could see in plain language what the program will do if they use it.
If a program's behavior was inconsistent with its signature, a complaint could be brought by end-users to the overseeing organization, and whoever signed the code would have to answer the complaints or face sanctions (including revoking their code-signing certificate for existing and future use).
If the system became popular enough, users would think twice about using software without a valid signature.
This would put pressure on programmers to think beyond their next paycheck and consider how what they are doing will affect their professional reputation; It's easier to say "I'm not going to do this because it will get my licence suspended" than "I'm not going to do this because I think it's wrong" (no matter how valid the latter may be)
By being linked to individual programmers instead of software companies, it would also create an effective "credits" system for the programming profession, you could point out your past work on a CV, and prove it with the embedded signature.
--
Benjamin Coates
Understood, but our company had layoffs two and a half months ago, and as far as I know, one of the guys laid-off who is a class away from a BSEE and has a BS in CS has not been able to find a job. Networking, yeah, that's great, but it's easier said than done when you work in hard-core scientific programming. Very few of us ever have a chance to talk to customers. I am not a consultant, but a software engineer, and turnover at the company I work at is very low. So, if I did manage to get laid off, who would I network with? Sure, I have a few buddies I went to school with, but that gives me maybe 5, at most 10 people that I can call, and then I'm SOL. And I've been working 60-80 hours a week since the beginning of the year, so how am I supposed to find time to network(last weekend was the first weekend I had off since the end of Feb.)
I think a better (and more realistic) alternative to some sort of oath would be to treat software professionals like the engineers they are. In every state (AFAIK), you cannot lawfully claim to be an engineer without a license.
However, the tests that exist in most states are completely inappropriate to software engineering. Dynamics and statics are all very nice, but they have nothing to do with most software systems. What is needed is a test and license for software engineering. Licensed professionals could (assuming an appropriate test) command higher salaries than mere code monkies, and employers would know that they can expect a certain degree of quality from professionals.
This scheme also has the potential to improve the general quality of software. Just like a civil engineer signs and stamps building plans, declaring them sound, a software engineer could be employed to audit a software system's design and implementation, certifying it as secure and robust (to a point). As any experienced developer will tell you, code and design reviews are extremely important, and often neglected.
vi is my shepard, I shall not font.
can someone mod this down or delete it(the preferable soltution) - it was posted by someone else using my PC which had my account logged in - i was to late to stop them hitting submit -this does NOT reflect my views - thank you.
Apologies for any offence this may cause
I refuse to argue with Anonymous Cowards - if you want a discussion get an account....
OK.. I'm gonna rant now.
Coders.. your not holy men.. your not preachers.. you write code.. you a job like anyone else does a job.. why should you need or take a an oath? thats just plain dumb and silly.. if someone doesn't take this oath would that mean they can't get access to development tools? Would'nt that go against the very spirit of open source and the GNU license and the whole spirit of sharing..
sure most people hate adware and spyware stuff as much as i do(a ton). but fact of the matter is thats the current support(MONEY) system for some "free" software out there.. perhaps if people paid for the software there would'nt be all that crap added on..
Its up to you to use that software or ad laden website.. free choice.. stop whining about extras on free software.. its free for a reason, especially the companies that aren't in it for a "greater good" they're in it for making money.. we live in a capitalist society.. get used to it.
end rant
http://courses.cs.vt.edu/~cs3604/lib/WorldCodes/Wo rldCodes.html
That said, a well written poetic work catching the proper spirit, and conducive to memorization is probably worthwhile
"It is a greater offense to steal men's labor, than their clothes"
"And how do we protect such programmers from being dismissed unfairly for standing on principle?"
a tion (or a squirrelly spyware dev house) if you plan to turn down projects because they are "morally offensive". It's up to YOU to exercise your pie-in-the-sky youthful idealism and don't take the friggin' job to begin with.
This topic is asinine, and this question comes frighteningly close to proposing some kind of workplace legislation. (I can't see what else it could refer to.)
Can't anyone see the total, complete hypocrisy in this? Everyone here always screams "keep your laws off my code," when we're talking about the DMCA and other legislation. But when we start talking about stuff that no one likes (spyware, spam programs), there's some kind of moral bandwagon to propose intrusive workplace legislation to "protect programmers from being dismissed".
To solve this problem, people have to stop installing this crap on their computers. Period. There will always be programmers out there who are willing to write this dreck -- and they should be able to, because the bottom line is that programming should be constitutionally protected speech . I thought we were all in agreement on that issue?
If your employer hires you to write spyware, and then you refuse on moral grounds, then you should get fired. It's that simple. The employer should have the right to do that. Don't take a job at Penthouse Magazine if you don't like nudity. Don't get a job working for Howard Stern if you can't handle drunken midgets vomiting in the hallway. And don't take a job at a mega-ultra-multinational-conglomerate-supercorpor
There can be NO good legislative solution to this problem. The idea of some kind of "code of ethics" is fine, but I think the best way to handle it is the creation of a new alliance, an industry standard, some kind of brand or label which identifies companies and products which follow that code of ethics. (I guess kind of like TrustE, except not sucking.)
I don't know what kind of programmer you're refering to. It took me five years to get my degree in Computer Engineering, plus a lot more time of ongoing education since I graduated in 1990. That was an extra five years after getting my associate degree.
I actually have very little respect for doctors' attitude that 'we save lives'. So do I when I design control systems running heavy machinery, or avionics, or run an industrial plant, or whatever. Like any other profession, medicine is full of people who aren't as capable as others. The problem I see with doctors is that they all want us to believe that they're 'hollier than thou'. I don't accept that. If a doctor fucks up, a patient dies. If an avionics software engineer fucks up, a couple of hundred people die.
If the state of the medical profession, HMOs, drug manufacturers, and other health services in the United States is any indication, I'd much rather be an unlicensed software engineer than an "ethical" doctor. Why is it that medicines and medical attention cost as much as ten times as what they cost in other countries?
As for the cool technologies OSS has today, keep in mind that a great majority of them are re-implementations of software developed privately or under a university grant. Somebody did the research and h4x0rs re-implemented it. I support OSS (and not GPL'd, by the way; other licences like BSD are more to my liking but that's me), so don't go flaming me for this comment. A h4x0r != software engineer, though often a software engineer is also a h4x0r. People forget (even on /.) that coding is only the smallest part of the profession. System design, knowing how to analyze and apply the correct algorithms, understanding the OS (or how to build one), the compilers (or how to build them), and so on are as valuable as coding. I met many h4x0rs, even employed software "professionals" who don't have a clue of how to code something as simple as a Quick Sort.
Last time I checked, there are all kinds of charlatans developing 'miracle cures' and diets and what have you that, in the end, try to pass for members of the health industry. Turn midnight TV on and see for yourself.
Cheers!
Ehttp://eugeneciurana.com | http://ciurana.eu
http://www.globalideasbank.org/BOV/BV-381.HTML
Hippocratic oath for Scientists, Engineers, and Executives
I vow to practise my profession with conscience and dignity;
I will strive to apply my skills only with the utmost respect for the well-being of all humanity, the earth, and all its species.
I will not permit considerations of nationality, politics, prejudice, or material advancement to intervene between my work and the duty to future generations;
I make this Oath solemnly, freely, and upon my honour
"It is a greater offense to steal men's labor, than their clothes"
I completely agree with the parent -- after all, your principles obviously don't mean a whole lot if you only stand by them when you don't have anything to lose.
How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
If programmers had to refuse to write software that did no good for users, surely all of Microsoft's programmers would be out of a job?
mogorific carpentry experiments
Here's something a union accomplished last month.
The real reason a programmer's union wouldn't work is that libertarians seem to think unions = communism. And most union advocates seem to think libertarian = conservative who smokes weed.
Coders are human, and therefore assholes. I do not share this pessimistic view of mankind. But i d share the idea that program's are concepts/ideas. They are in a form that is very well reproducable.
If someone want's to kill 1000's of people in a game, he can create such a game.
If someone has an idea how to communicate with 1000's of real people he will do it. Even if he/she only want to tell how to get a bigger penis.
If someone want too proof he a a c001 d0d3 and he can Hax0R your Box he will.
If you want to sell stable believable software you will dress in gray and make software that work.
If all these people come together they will not agree. So neither will their programs.
No one should hire this this bastard! Since he is a programmer and obviously out to make money as he says he'll of course create programs that he'll need to be called back for later to fix! he'll pull you into his net with constant updates and every fix imaginable you'll require!!
:)
hehe well.. i find it funny
Consumers need to learn to be more discerning. Doctors, lawyers, politicians, bankers, and such, don't deserve so much trust. Trusting in an oath is nothing but blind trust [please don't take this to extremes].
However I am in favour of people writing out their goals for their own personal use.
testing out my trending skills
I've read a lot of the posts here and the main idea is that this Oath is "Youthful Idealism". The concept of Open Source is also "Youthful Idealism", yet it came to be. I'm not saying this will take off as open source did, but to say the concept of open source is an OK concept and a standard of excellence and virtue is not OK makes no sense. The implementation of the GPL (and variants) proves idealistic concepts can materialize if you have numbers and the best/brightest behind it.
This is just my $0.02. Who knows... some day I will have a nickel.
Sidenote: I am not for nor against an Oath.
This is the Internet. You can say "fuck" here. - AC
Ok, here's my serious point: A coder, as every engineer / developer / inventor / insert-likewise-profession-here can not foresee the consequences of his work. There may be numerous GPLed database applications misused for the purpose of serving child pr0n. Are the DBMSs bad? No, it's their usage that aches our morale.
IBM never foresaw the rise of PCs, the telefax was sold out from its original inventors (they believed the market was too small), and the inventors of the internet certainly didn't think of sth. like /.
In most cases you cannot foresee the consequence of your work, good nor bad. However, systems that do bad things need an admin, too...so isn't this more a question of "hacker ethics" that "coder ethics"?
Btw. I would not want to code for a system designed for military purposes. They tend to be really annoyed by bugs ;)
helped prevent World War III, brought down the Soviet Union
If it "helped prevent World War III" it certainly couldn't "bring down Soviet Union" at the same time -- those things are mutually exclusive because the only way to bring down Soviet Union using military force was World War III, that, obviously, didn't happen. In fact, none of those things happened because USSR was far beyond empire-building phase of development in 60's-80's and had no incentive to start WWIII, or any military conflict except minor ones along its borders.
Of course, you are probably one of those sheepish Americans that believe propaganda lines that Soviet Union was brought down "economically" because it couldn't pay Lockheed's and Boeing's prices for its weapons developed and built in its government-owned weapon manufacturers, an idea that is ridiculous, considering how lean was USSR military budget compared to its GNP, and how it avoided any wasteful but pointless projects such as SDI even though it had at the time better chances to put something fear-inspiring into space.
USSR was brought down by political stupidity of its rulers, with some help of American propaganda of "freedom" in libertarians' sense of word, a kind of ideology that US government keeps for "export only" and wisely avoids domestically.
All your work did was allowing US government to threaten small countries easier, and possibly killing some, most likely innocent, people.
Contrary to the popular belief, there indeed is no God.
No. Thanks for asking.
I have artritis in my joints. Killing me now, while I am in my 30's, could save me years, perhaps even decades of pain. Doing me that favor is not up to you, or any doctor. If I really can't stand living, it's up to me to kill myself.
My current "living will" says simply this: "Never pull the plug. Use any and all extreme means to keep me alive, no matter how severe my suffering. I can take it. I fully intend to stay hooked up to radical life support systems until either I die anyway, or future scientists invent a new robot body I can live in, even if it takes hundreds of years. If anybody pulls the plug on me, I request that my surviving friends and relatives avenge my death with immediate and violent action. Thank you in advance for respecting my wishes."
Information wants to be anthropomorphized.
No, I'm not going to do PHP on that porn site I was working on earlier because damnit, I think the women who are being paid money for it don't know what they're doing to themselves.
If I take a stand against The MAN, and do it for the sake of the women, perhaps I can be the voice that changes the opinions of a generation of men. I can help those women get REAL hard-working jobs, like at the McDonald's across the street.
I'm going to do it, because I care for all of you. Because in my heart, you are all my brothers, and sisters, and I know that if I do my part to be good to society, eventually it will be good in return to me.
Ooops, where was I? Oh yes...
$sql = "select * from PictureTable where Catagory1 = \"Double-D\" AND Catagory2 = \"sex\""
$query = mysql_query($sql);
while ($row = mysql_fetch_row($query))
{ echo "<img src = \"".$row[1]."\">
";}
Eh, nevermind what I said before... Screw you guys... :)
/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i
Hmm yes I was about to point that out as well :-).
The problem with guideliens such as this, however, is that they are perhaps not applicable to a wide-enough range of people and they can't be strictly enforced. A practicing professional in the UK (who is probably a member of the BCS) is certainly obliged to comply with the guidelines (or risks "expulsion" from the professional community) but such a person (or company) is unlikely to deliberately write harmful software such as viruses etc. anyway. And to people that do write virues, the BCS is unlikely to represent an authority.
In general, breaking BCS guidelines also means breaking the law - whether that is (or can be) enforced to a sufficient extent, is a different matter.
It is to say the society/subculture/union is aspirational, it is not just directly for the groups own good, there are ethics which make the groups presence felt, that having the grouping is of use. Its a vision/mission statement thing. Money is not everything, [but no money is nothing].
So what your basically saying is that in the name of the "groups own good" you will impose your morals and ethics on others? And when this case is the group=coders that can litteraly mean anyone who can do: println "Hello World"
do see you what i'm saying here? Your absolutely right money is not everything! But the ability to code what you like or speak what you like is, theoretically maybe DeCSS would be banned out by your "code of ethics" would u agree with that?
think about it...
In summary, I'd say the safety of such devices today has more to do with market economics, i.e., if a bug causes 1k deaths no one will buy us and we'll go out of business, and the procedures established by the FDA and so on. The tort system is too arbitrary and random to have any meaningful effect; in fact, it does a tremendous amount of harm to the industry: look up silicon implants sometime or Dow chemical.
In no time flat, there won't be any Trolls, there won't be any "bad" posters mucking things up, and we can play in the fields of Malda (a.k.a. Slashdot) in our underwear while listening to heavy metal (but not Metallica, because they'll all have been executed).
Seriously, nice diversion from the real issue with the spectre of eeeevil government. Government regulation is exactly what's needed here--and is what happens when one mere individual posts spyware--it's labeled a trojan, and he goes to jail if caught. All I want is parity for our corporate masters.
But in the Bush-Enron republic, how likely is that?
CEE5210S The signal SIGHUP was received.
Add to this HR doesn't want to get fired, in my last company they were emailing *themselves* to make them look busy. HR puts out fake ads, does some interviews and then rejects everyone, just to make themselves look busy. They don't want to lose their jobs either.
A caveman dreams of being us, the incalculable power and riches. We dream of being Q, then what?
I'm not surprised that your company took the dive. Coding shops are either not hiring and letting attrition do the dirty work, firing a few select to thin the herd, or are closing shop. Now is NOT a good time to be in a business that only serves other businesses, as these businesses are always the first to get hit by any economic bump and the last to recover.
As an aside, only a coding shop would take someone who has done NOTHING but coding. I'm not saying that this is you(although it seems the case, given your point of pride regarding "programming since I was 7") but frankly, if you can't help business get done, you are done in the business world. Yeah, harsh. But real.
What was he running, Abacus XP?
e.g.
d
http://www.bcs.org.uk/
Then you need professional ethics...
e.g.
http://www1.bcs.org/docs/01100/1193/Coc.htm
an
http://www1.bcs.org/docs/01100/1194/Cop.htm
Deleted
Consider this. There is no Hippocratic Oath sort of thing for physicists, and yet physics has brought us the bomb. It really takes individual people reasoning about the consequences of their actions to affect change.
I'm currently an EIT (Engineer in Training) just about ready to get my PEng status (Professional Engineer) in BC, Canada. BC and Ontario are currently the only two professional engineering associations in Canada that have Software Engineering as a recognized stream of engineering. What does that mean? Well, a couple things:
While this sounds all well and good, I've found there's a couple of unique features of software engineering that make it an odd fit into the traditional model of the engineering profession:
So what's the benefit to you, the code slinger? Well, first off there's the potential for legal protection. A previous poster pointed out you can't enforce ethics. That's not entirely true. In fact, that's the whole point of having a profession in the first place. If you're a professional engineer and you warn against taking a certain action and your company ignores your warnings, your obligation to protect the public usually overrides your obligation to your employer. If you allow the company to proceed with its plans, then you're liable. If you stop the company, they'll have a hard time firing you.
In traditional engineering, you could stop the company from proceeding with its plan by simply refusing to sign off on the design/action. But again, unlike traditional engineering, software engineers don't have quite as much power as traditional engineers. In traditional engineering, such as civil, there's all sorts of laws that require designs be signed off by a professional engineers (building codes, etc). In software engineering, there are no such laws.
For 99% of the software out there the concept of protecting the "public health and welfare" is fuzzy, and therein lies the problem. If the Clippy assistant in Word is buggy, crashes my machine and causes me to lose my work worth $1,000 is the software engineer liable? I suppose so. But did failing thoroughly test to ensure Clippy didn't crash a user's machine place the public health and welfare in jeopardy? Maybe. Economically perhaps, but certainly not "life and limb" jeopardy. In many ways, software engineering is raising the question of an engineer's responsibility to protect society in the context of modern technology.
Overall, I think moving towards a software engineering profession is the "right" thing to do, but it's probably going to take a long time to establish it on equal footing with the other engineering fields.
Very effective of course, since all you do with the current boxes around here is that you look out for them and slow down just in front and speed up afterwards.
The problem is that you can obviously use this to control the movements of a lot of people, so the availability of these data are rather frightening.
Well, my friend was ask if his company could develop this system.
They said "yes, it is possible, but we find it highly unethical so we're not going to do it".
Well, we all know this isn't hard, and while it has been brought up several times since then, it has not yet been implemented, at least not here.
That's an example where a code of ethics at least delayed a morally dubious system from being implemented at least ten years.
Also, recall that it may have been ethical considerations within a group of German scientists that prevented Germany from acquiring The Bomb in WWII. That's speculation, but it is possible.
Employee of Inrupt, Project Release Manager and Community Manager for Solid
In India after the Bhopal disaster, were new enforced laws brought into existence that would prevent a repeat? No. That BP/Amoco gas pipe that everyone in Nigeria was told NOT TO GO NEAR. What happened? Boom and lots of people died. Quoting,
Did I miss something, or have the scenes from Mad Max with the fuel shortages become reality? To give a more measurable indication of this, third world driving is world famous, neither the right nor the left side is reserved for cars driving in a particular direction. Instead vehicles are just grateful that a road exists at all and drive in a haphazard way. If you watch Lonely Planet on the Discovery Travel & Leisure channel you will see that head-on collisions occur far more than any other in all countries except developed ones. Here are some statistics (scroll down to automobiles). From this same source, I quote,
There is a basic lack of awareness and a fundamental difference in culture. Many Americans look upon the Chinese eating dogs and horses as disgusting and thus nobody on this planet can approach this subject with a truly open mind, except God. Is it so difficult to believe that Indian programmers can have different primal objectives than American coders? After all American cars are (or at least were) constructed for luxury, Japanese cars have a fundamental shift in construction methodologies and objectives towards reliability and modular construction.Like in the US, if you picked up a dog and ripped his heart out in the mall everyone would be like "Oh my God!" but if you do it in a market in China/India it's, well, it's like pointing out that the sky is blue. This lack of respect for animal life and human life (road crash statistics) is indicative of the peoples' thinking. Anyone says, "but eberybody is different" is wrong to some degree. There's always some level of conformity. Even a staunch anarchist in the US can drive, he doesn't "disobey" red lights all the time and "ignore" stop signs all the time. A true anarchist would sit at the roadside and throw roadkill at passing vehicles, would piss in the middle of the freeway stopping all the cars, would attack a drive-thru bank with a sledgehammer, would walk in the street with a long knife in his hand, would throw a lit cigarrete on the floor at the gas station so he doesn't have to pay for his gas, etc.
I could fill this post with my personal experiences whilst visiting India e.g. electrician "If it catchs fire, then I give you half your money back and I fix it". Suffice it to say that look at my website to see the conditions your Indian software is written under. Notice the walls inside the houses - no wallpaper, shredded paint. But that's normal and natural, npbody notices it, it doesn't occur to them, just as making dangerous shortcuts whilst designing & coding don't occur to them. Same as that lost puppy look that you get when you tell a newbie that his PC has been fried because he opened an email with an attachment. He then says "What's an attachment" the thought never occurs, same as nobody *demands* to look at a company's balance sheet in the middle of a job interview. Read this to find out what these countries are actually like. No marketing trash. News like this happens all the time. I mean skyscrapers collapse by themselves all the time - they don't need Osama binLaden.
A caveman dreams of being us, the incalculable power and riches. We dream of being Q, then what?
And why do we feel this way?
Frankly, it's because "we" are stupid. "We" are stuck in slave morality, in the camel phase of development (as Nietzsche put it). This kind of "I have to do this because my family is my first priority" is not an effective way to acquire lots of money. It is, however, an effective way to become a wage slave at the mercy of one's employer.
In India and other countries traffic rules in general don't exist, or are placed in the same cateory as the "don't download mp3s" or pr0n rule. The children learn this, together with the more subtle "primal objectives" values of "get the job done no matter what, use string to tie the engine to the aircraft if you have to, just get it flying, worry about the consequences later". After all if your next meal isn't guaranteed, that's a pretty strong disincentive from thinking too far ahead. A bit like working while someone has a gun to your head - you're gonna cut corners.
Only a well-travelled man can have the insight to say what you've said <<Parent>>
True, although American managers and MBAs try to force software people to override these instincts of making software robust. Same as the architects of WTC overrided Empire-State building robust construction methodologies in favour of cheaper, more profit-maximising WTC central-core-outer-shell construction methodologies.If you're talking about the best of the best, this is true. Of course both America and India are full of IT people that don't know their Redhat from their Windows. The elite-class coders brought up in India do inherently cut more corners than their American counterparts. And American managers force them to cut corners more aggressively (as they are taught to speed up American programmers, Indian programmers on the other hand need slowing down).A caveman dreams of being us, the incalculable power and riches. We dream of being Q, then what?
Do you have some evidence, or is this just anti-union propaganda, ever popular with the employing class? (You can actually find books out there for employers, telling how to provide said propaganda to employees.)
No, there's no astroturfing. Here's what happened.
There's no astro-turfing going on here. It's called waking up.
If unions serve no purpose other than extracting money from the common worker, than why are unions so hated by the employing class? If unions serve no purpose other than extracting money from the common worker, than why do the most repressive countries have strict anti-union laws? Why is being a union organizer lethal in anarcho-capitalist Colombia? Why do I see the unions at all of the idealistic marches that I go to? Why do many (but unfortunately, not all) unions have a much more democratic structure and power distribution than government agencies and companies?
Let's ask it the other way around: Why do programmers have no spines? Why do companies put the burden of education on the programmers? (In the IBEW, your education is free, both classes and apprenticeship, while you make a great wage. And if you want to study something outside of Electrician work, you are Free & free to do so; You can take carpentry classes for all they care.) Think about it: Why are employers so reluctant to train employees? Because they fear that they might go elsewhere. The unions have overcome this problem. You could take classes in all the latest programming languages, paradigms, tools, etc., etc.,. Your employer is never going to pay for it, unless you unionize.
The idea that there would be more Electricians, better paid, if there were no unions, is completely laughable, and is nothing more than anti-union propaganda.
For me, it has a lot more to do with how I'm writing the software rather than who gets to use the software first. I'm trying to be prudent in the sense that anything I write for them could feasibly be used elsewhere.
I see my work essentially as building up a library of scripts and tools. The more I code, and the more things I do, the faster I'll be able to do a given job based on what I have already.
But I guess one could argue that the Nazis had a great way of organizing records thanks to the holocaust. I probably should start taking that into account before I code for any Neo Nazi movement :)
I've never really had any sort of moral objection with pornography though. I suppose this is where the difference of opinion really stems... But I'll put my reasoning into it later.
It's kind of ironic trying to justify morality in an economic system that is blind to it. I'm glad we both agree on the idea of choice. It's the weight of making that decision that I see differently.
For instance, most of my friends that I've known throughout high school and college experimented with drugs. It was never anything really secretive. Most of my friends usually offered me some as a polite gesture. I was never really offended or anything like that. And I never did take them up on their offer.
I've found that I prefer all those "bad options" and "bad paths" to be there along the good ones in life. Because at least that way, I don't have to keep wondering what I would have done if the option was there.
I keep getting offers to do porn videos, but I don't really think it's my thing. Heh.
Well, not really. To be honest, that's what the whole model of western society is built upon. The notion of capitalism, at least in a pure sense, involves profiting by dominating and control environments.I used to be an intern at a defense company a couple years ago. Even though I was pretty much useless there for the few months that I was there, there were people next to me doing things such as missle guidance systems. I suppose I used my uselessness at that work environment (since I was spending most of my time messing around with DBI and perl without actually doing anything productive) as my way of funnelling money out of their cause...
I promised myself that when I got out of school, that I would NEVER take a job in the defense industry. But still, talking to people there made me wonder. What happens if there is a hippocratic oath for programmers? What happens to the thousands of programmers who create missiles to kill people?
But getting back on topic, I don't really feel sorry for them. I can't. Because out of the times that I've visited this studio, and met any porn star, they're usually quite outgoing and happy. I guess that's the image I always see with them, and not any of the humiliation videos or mock-rape, or anything like that.
Maybe I should think about that. And maybe I should try and get inside their heads a little bit more and see if they're really happy with what they're doing.
I think that I'm a little bit too obsessed with helping myself, and making sure I make the right choices. One of these days (the next time I go in there and see a pornstar there), I'd really like to ask him/her the question, "Why?"The strangest thing about having any sort of affiliation with them is that my outlook on women went exactly the opposite way I thought it would go. I thought I would start seeing women entirely as objects and nothing else.
But there comes a point where you see so much of it that there's no stimulus to it anymore. Porn has never particularly appealed to me. But seeing so much of it pretty much killed off all the things that it's supposed to trigger.
I don't stand speechless and stare at any voluptuous woman that enters the room. I don't envision just sex anymore, it doesn't really do. There has to be someone behind the fantasy, or else it doesn't work. They're just another "picture on the monitor", even if I'm standing right before them, if I don't know anything about them.
I wish it worked that way for everyone who gets an overdose of it. You start learning that sex isn't the goal of everything. That there are better things to talk about, and better things to pursue.
You also learn that the last thing a beautiful woman wishes to be called is beautiful :). Try complimenting her personality instead. *laughs*
I've never really seen pornography as that evil, though. It's not so much the act of having sex that I see as bad, but the way that people use what they see.
But then again, I've never really gotten any enjoyment out of it.... So I seriously don't know.. I think it's something to think about over the next few days...
P.S: don't worry about flamewars or anything. Now that I think about it, it's kind of cool getting long responses for things ;)
/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i