Skip to content

jsdevel/open-source-etiquette

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 

Repository files navigation

open-source-etiquette

A README with rules to live by in the open source world. These are completely based on values currently held by the author. In no way does the author claim to have mastered any of this; rather, the author views this document as a guide and as fuel to avoid hypocrosy. Stating your beliefs openly puts grater pressure on an individual to live by them. It is in this spirit that this document is maintained :)

Maxims

  • "Be your own worst critic" - I can't count how many ideas I've had that initially seemed so grand and glorious. Only later after receiving much criticism from others did I realize that I was wrapped up in my own false glory.
  • "Embrace ignorance" - In society, we generally try to avoid looking dumb. In IT it's even worse. Academia can compound this to unbelievable heights. I've learned more from others than I ever could on my own. That only comes if we're willing to accept that we don't always have the answer.
  • "Embrace failure" - Thomas J. Watson said: "If you want to increase your success rate, double your failure rate.". Often starting and later reflecting helps us come closer to the best solution. Experience is a great teacher.
  • "Be encouraging" - I've tended to be somewhat of a harsh critic. It's better to encourage others and let them come to conclusions on their own. The time will come when a decision has to be made. Likely it happens a week before you launch. It's better to be in front of a bunch of different options, than behind a dusty wall of ideas that never saw the light of day.
  • "Give praise and recognize anyone involved" - This holds true for everyone. Read it like the words "my" and "I" are you and you'll get it: "Time is important, and [my] time is more important than yours. Praising [me] for helping out makes [me] feel like [I] did something right and useful, and it will encourage [me] to do more for you."
  • "Do what makes sense" - Many times we're governed by what others have done before us. This can either add to our wisdom and prevent mistakes, or it can prevent innovation. All ideas stem from a need. Do what makes sense to fulfill it now, change it later if that doesn't work out. Hopefully you've studied it out enough to know, or not know what the right decision is to make.
  • "Bring people together when advancing an idea" - There are 2 approaches that I've observed related to this:
    1. Ram the idea through - With this option, you risk the development of the following in your audience: contempt, devensiveness, and frustration. Those who don't care, or those who would prefer to look good will rally behind you. Those who agree with you will rally behind you as well. If you're in a good position politically, then you can afford this approach. If you're new, or haven't been understood by others, it's highly unlikely that your idea will be accepted. I've tried this option many times, both as a new employee and as an old one. Life is short, and I've since realized that it's better to go through life with fewer enemies and more friends. At the end of the day, the code we write isn't as important as our overall satisfaction. Nobody stays at a job that makes them less happy.
    2. Boil Stone Soup (see http://en.wikipedia.org/wiki/Stone_Soup) - with this option, you risk your idea not being accepted. Politically, nobody will view you as a threat, so you avoid the downfalls of option 1. If you succeed and others become curious enough to participate, then you make others feel part of the process. This option has the best overall outcome if successful. The idea is advanced, everyone feels a part of it, therefore everyone wants and is willing to contribute to it. Further advancement in ways you couldn't foresee are brought in as well through the ideas of others.

Publishing Work

  • The best outcome in any endeavor is one where we've learned a TON! Don't care so much about having others use what you build. In the end, people want what's useful. Rarely do we write something that meets every need.
  • Small works are easier to swallow, much like food.

Amazing Quotes (categorized)

Leadership

  • "A leader is best when people barely know he exists, when his work is done, his aim fulfilled, they will say: we did it ourselves." Lao Tzu
  • "Leadership is solving problems. The day soldiers stop bringing you their problems is the day you have stopped leading them. They have either lost confidence that you can help or concluded you do not care. Either case is a failure of leadership." Colin Powell

Being a team player

  • "When you are content to be simply yourself and don't compare or compete, everybody will respect you." Lao Tzu

About

A README with rules to live by in the open source world.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages