The Programmer's Oath

Started by
9 comments, last by Prgrmr@wrk 17 years, 1 month ago
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.
I know enough about OpenGL and game programming in general to be good at it, but not enough to always be very helpful, so I apoligize if I suggest something stupid.
Advertisement
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.]
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.
I know enough about OpenGL and game programming in general to be good at it, but not enough to always be very helpful, so I apoligize if I suggest something stupid.
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.
hippopotomonstrosesquippedaliophobia- the fear of big words
I say slap it on the For Beginners FAQ.

Beginner in Game Development?  Read here. And read here.

 

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.
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.
I know enough about OpenGL and game programming in general to be good at it, but not enough to always be very helpful, so I apoligize if I suggest something stupid.
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!
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.
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.


--------------------------------------------[size="1"]Ratings are Opinion, not Fact

This topic is closed to new replies.

Advertisement