Sign in to follow this  

The Programmer's Oath

This topic is 3938 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

This isn't actually a question, but it didn't seem to fit into the lounge forum, since it's definitely programming related. This is something I wrote recently to put into words what I think of as my responsibility as a coder. It's based on the Hippocratic oath, of course.
I swear by Hephaestus, as god of artisans, and Athena, as goddess of wisdom and weaving, to keep according to my ability and my judgment, the following Oath. I will not give malicious code or software to others, nor will I make suggestions to this effect. Similarly I will not create malicious code or advise others in this pursuit. I will never intentionally create software which installs without permission, or which protects itself unduly against removal. I will not alter vital code which I don't understand, but will instead seek help from experts who might know better than I. I will never claim another's work as my own, nor will I derive from another's work and claim the result as solely my own. I will respect the inexperienced based on what they are willing to learn, not insult them for the mistakes they make. I will acknowledge my own current limits and will not deny my mistakes. Whatever systems I may access, I will work for the benefit of the users and owners, remaining free of all intentional disruption, of all malicious behavior, and in particular will avoid the invasion of privacies of any and all files or directories stored therein. What I may see or hear in the course of my work or during the pursuit of my hobbies in regard to the information of others, which could be considered personal or private, I will keep secret and never reveal.
Original deviantart posting This work is released under the Creative Commons license.

Share this post


Link to post
Share on other sites
It sounded corny and naive at first, but by the time I finished reading it I thought it was pretty cool.

This line though: "I will not give malicious code or software to others, nor will I make suggestions to this effect. Similarly I will not create malicious code or advise others in this pursuit. I will never intentionally create software which installs without permission, or which protects itself unduly against removal."

I know this is meant in terms of malicious intent, however, in terms of software security, sometimes you have to share malicious information in order to protect against it. And also think of new possible exploits in order to guard against them.

[Edit: I think this would have been more appropriate in the lounge.]

Share this post


Link to post
Share on other sites
Quote:
Original post by deathtrap
It sounded corny and naive at first, but by the time I finished reading it I thought it was pretty cool.


I gotta admit, the first paragraph is kinda corny, but I wanted to match the original.

Quote:
Original post by deathtrap
I know this is meant in terms of malicious intent, however, in terms of software security, sometimes you have to share malicious information in order to protect against it. And also think of new possible exploits in order to guard against them.


I figured it was better to keep it from getting too wordy, rather than specifically mention the exception about using malicious code for non malicious purposes. After all, doctors keep samples of various diseases around for vaccines and research, and nobody worries about that violating the hippocratic oath.

In other words, malicious code without malicious intent isn't malicious at all.

Share this post


Link to post
Share on other sites
I like the idea, however why limit it to programming?

In all honesty, we could easily lump all these Oaths together and create a "Human Being Oath" as following:

I pledge not to be a jerk.


Of course, that sounds silly. Nobody who's a jerk is going to take a pledge to not be a jerk. The same thing applies here. People who crack, hack, and whatever else people call it these days are not going to take an oath to not do so. Furthermore, it is unlikely they would have the ethics to follow it even if they did.

Also, unlike doctor's Hippocratic Oath, it takes no formal education to become a programmer. There is nothing to encourage your general unprofessional programmer to take the oath.

But, it's still a nice idea.

Share this post


Link to post
Share on other sites
Quote:
Original post by SticksandStones
In all honesty, we could easily lump all these Oaths together and create a "Human Being Oath" as following:

I pledge not to be a jerk.


Of course, that sounds silly. Nobody who's a jerk is going to take a pledge to not be a jerk.


As a jerk, I pledge to not be a jerk, just to be a jerk and let you all down by being a jerk.




With a minor altercation, I already conduct myself to the best of my abilities along it's guidelines:

Quote:

I will respect the inexperienced based on what they are willing to learn, not insult them for the mistakes they learn from. I will acknowledge my own current limits and will not deny my mistakes.


I will not hesitate to make clear in no uncertain terms when I feel the time of myself, the time of my peers, or the time of the inexperienced in question is being wasted, in the most expedient (by which I mean blunt) manner possible, however. It would be unethical to do otherwise, in my opinion -- time is precious.

Share this post


Link to post
Share on other sites
Quote:
Original post by SticksandStones
Nobody who's a jerk is going to take a pledge to not be a jerk. The same thing applies here. People who crack, hack, and whatever else people call it these days are not going to take an oath to not do so. Furthermore, it is unlikely they would have the ethics to follow it even if they did.


Oaths are like locks. They keep honest people honest, they can't prevent jerks from doing what comes naturally to them. Oaths also give everyone a touchpoint to agree upon, and something easy to quote ("Do no harm" comes to mind).


Quote:
Original post by SticksandStones
Also, unlike doctor's Hippocratic Oath, it takes no formal education to become a programmer. There is nothing to encourage your general unprofessional programmer to take the oath.


Well, not yet anyways.

Quote:
Original post by SticksandStones
Quote:

I will respect the inexperienced based on what they are willing to learn, not insult them for the mistakes they learn from. I will acknowledge my own current limits and will not deny my mistakes.


I will not hesitate to make clear in no uncertain terms when I feel the time of myself, the time of my peers, or the time of the inexperienced in question is being wasted, in the most expedient (by which I mean blunt) manner possible, however. It would be unethical to do otherwise, in my opinion -- time is precious.


That's a good change, for all the reasons you mentioned.

Share this post


Link to post
Share on other sites
Oaths are left over from a time when people still valued their honor. To swear an oath then break it would be dishonorable. Nowadays nobody cares... Ok, MOST people don't care. I care.


Oooops! I didn't mean that none of you cared. I just mean that... nevermind.


I know your watching, Prgrmr@Wrk!

Share this post


Link to post
Share on other sites
It takes no formal education to engage in medicine.

Many nations consider it illegal to practice medicine without a licence, if that is what you are talking about.

Share this post


Link to post
Share on other sites
Quote:
Original post by Prgrmr@wrk
This isn't actually a question, but it didn't seem to fit into the lounge forum, since it's definitely programming related. This is something I wrote recently to put into words what I think of as my responsibility as a coder. It's based on the Hippocratic oath, of course.


I swear by Hephaestus, as god of artisans, and Athena, as goddess of wisdom and weaving, to keep according to my ability and my judgment, the following Oath.

I will not give malicious code or software to others, nor will I make suggestions to this effect. Similarly I will not create malicious code or advise others in this pursuit. I will never intentionally create software which installs without permission, or which protects itself unduly against removal.

I will not alter vital code which I don't understand, but will instead seek help from experts who might know better than I. I will never claim another's work as my own, nor will I derive from another's work and claim the result as solely my own.

I will respect the inexperienced based on what they are willing to learn, not insult them for the mistakes they make. I will acknowledge my own current limits and will not deny my mistakes.

Whatever systems I may access, I will work for the benefit of the users and owners, remaining free of all intentional disruption, of all malicious behavior, and in particular will avoid the invasion of privacies of any and all files or directories stored therein.

What I may see or hear in the course of my work or during the pursuit of my hobbies in regard to the information of others, which could be considered personal or private, I will keep secret and never reveal.



Original deviantart posting

This work is released under the Creative Commons license.




Is missing something saying that you will not tolerate the various wrong behaviors in others....

Is missing something about generating product (code/design/etc..) of quality and utility and make the attempt to dissuade others (including bosses) from turning out rubbish when greed makes it desireable.


Share this post


Link to post
Share on other sites
Quote:
Original post by wodinoneeye
Is missing something saying that you will not tolerate the various wrong behaviors in others....

Is missing something about generating product (code/design/etc..) of quality and utility and make the attempt to dissuade others (including bosses) from turning out rubbish when greed makes it desireable.


I think it's a bad idea in the long run to take an oath that makes me enforce how others behave. Historically, that never leads to good situations.

And while you're right about it being good to produce quality code, it's not the job of an oath like this to guarantee skill and ability. The best I can come up with is "I promise to always produce the best code I can in the time I have available", and that's so vague as to be pointless. Maybe "I will set realistic deadlines, based on what the problem requires, above all else". I would also like to add something about documenting all current bugs, so that they don't grow worse from neglect.

Share this post


Link to post
Share on other sites

This topic is 3938 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this