Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

md to html

  • Loading branch information...
commit a4a1b47f331483cca46523748d6d7b73f8436520 1 parent 5983483
Alok Menghrajani authored

Showing 1 changed file with 66 additions and 73 deletions. Show diff stats Hide diff stats

  1. +66 73 getting_your_first_commit.md
139 getting_your_first_commit.md
Source Rendered
... ... @@ -1,93 +1,86 @@
1   -Getting your first commit in an open source project
2   -===================================================
  1 +<article itemprop="mainContentOfPage" class="markdown-body entry-content"><h1>
  2 +<a href="#getting-your-first-commit-in-an-open-source-project" class="anchor" name="getting-your-first-commit-in-an-open-source-project"><span class="mini-icon link"></span></a>Getting your first commit in an open source project</h1>
3 3
4   -Here is a note I'm hoping will help you understand the importance of
  4 +<p>Here is a note I'm hoping will help you understand the importance of
5 5 contributing to open source projects and how to get your first commit.
6 6 I recently realized that github's inline editing capabilities has
7 7 greatly simplified this process and made it easier for non technical
8   -people to have an impact.
  8 +people to have an impact.</p>
9 9
10   -1. Why contribute to open source?
11   ----------------------------------
  10 +<h2>
  11 +<a href="#1-why-contribute-to-open-source" class="anchor" name="1-why-contribute-to-open-source"><span class="mini-icon link"></span></a>1. Why contribute to open source?</h2>
12 12
13   -There are lots of reasons to contribute to open source projects. Here are three
14   -reasons which motivate people I know:
  13 +<p>There are lots of reasons to contribute to open source projects. Here are three
  14 +reasons which motivate people I know:</p>
15 15
16   -Reason 1: you believe in the philosophy behind open source
  16 +<p>Reason 1: you believe in the philosophy behind open source </p>
17 17
18   -Open source allows people to build on top of other people's work. Almost
  18 +<p>Open source allows people to build on top of other people's work. Almost
19 19 everything running on the internet (Google, Wikipedia, Facebook, etc.) depends
20 20 to some extend on one or more pieces of open source software. If you believe in
21 21 this philosophy, contributing to open source projects will give you tremendous
22 22 satisfaction, especially when your contributions will be used by millions of
23   -people around the world!
  23 +people around the world! </p>
24 24
25   -
  25 +<p>Reason 2: it's a way to meet and work with bright people </p>
26 26
27   -Reason 2: it's a way to meet and work with bright people
28   -
29   -Most successful open source projects are driven by a core team of very talented
  27 +<p>Most successful open source projects are driven by a core team of very talented
30 28 people. Your first contribution might be very minor and will not involve a lot
31 29 of interaction, but as your contributions increase, you will eventually get to
32   -really work with team. You might even get to meet them in person!
33   -
34   -
  30 +really work with team. You might even get to meet them in person! </p>
35 31
36   -Reason 3: it's a great way to improve yours skills and resume
  32 +<p>Reason 3: it's a great way to improve yours skills and resume </p>
37 33
38   -Contributing to open source projects will require you to learn something or solve
  34 +<p>Contributing to open source projects will require you to learn something or solve
39 35 a challenging problem. It also looks good on a resume. A potential employer can
40   -go and actually see what were your contributions.
41   -
42   -
43   -
44   -2. How does it work?
45   ---------------------
46   -
47   -Open source projects are hosted on various platforms. For the sake of simplicity,
48   -let's assume you are going to use github.com. The process is very simple:
49   -
50   -1. create a github.com account and find a project you would like to contribute to.
51   -2. fork the project. This means you now have a "copy" of the project.
52   -3. make one or more changes (Github lets you directly makes changes using your browser, which is great to get started). At this point, your changes are "suggestions" and only exist in your copy.
53   -4. send a "pull request". This will notify the project maintainers about your change. If they disagree with the change, they will tell you why and you can go back to step 3. If they agree on the change, they will "merge" the change into their copy.
54   -5. Congratulations, you got your first commit.
55   -
56   -
57   -3. Finding a project to contribute to
58   --------------------------------------
59   -
60   -Here are a few suggestions on how to find a project:
61   -
62   -* Work on something you use and like. This way you will already be familiar with some aspects of the projects and you will have an idea for what works and what doesn't. You will be able to use your improvements for yourself.
63   -* It's easier to contribute to a small project than a larger one. Larger projects are usually more complex and require understanding more code. If a smaller project has less people involved with it, it will be easier for you to get to know everyone and for everyone to get to know you.
64   -* It's also easier to contribute to newer projects. Older projects usually have strict guidelines that can take a while to get used to. They often have internal politics that come into play. Finally newer projects have a lot of "low hanging fruits", simple things that anybody can fix.
65   -* There are websites like http://openhatch.org/ that can help you find a project based on your skills and interests.
66   -
67   -4. Finding something to fix
68   ----------------------------
69   -
70   -Once you have figured out a project you like, you should join the mailing list
  36 +go and actually see what were your contributions. </p>
  37 +
  38 +<h2>
  39 +<a href="#2-how-does-it-work" class="anchor" name="2-how-does-it-work"><span class="mini-icon link"></span></a>2. How does it work?</h2>
  40 +
  41 +<p>Open source projects are hosted on various platforms. For the sake of simplicity,
  42 +let's assume you are going to use github.com. The process is very simple:</p>
  43 +
  44 +<ol>
  45 +<li>create a github.com account and find a project you would like to contribute to.</li>
  46 +<li>fork the project. This means you now have a "copy" of the project.</li>
  47 +<li>make one or more changes (Github lets you directly makes changes using your browser, which is great to get started). At this point, your changes are "suggestions" and only exist in your copy.</li>
  48 +<li>send a "pull request". This will notify the project maintainers about your change. If they disagree with the change, they will tell you why and you can go back to step 3. If they agree on the change, they will "merge" the change into their copy.</li>
  49 +<li><p>Congratulations, you got your first commit.</p></li>
  50 +</ol><h2>
  51 +<a href="#3-finding-a-project-to-contribute-to" class="anchor" name="3-finding-a-project-to-contribute-to"><span class="mini-icon link"></span></a>3. Finding a project to contribute to</h2>
  52 +
  53 +<p>Here are a few suggestions on how to find a project:</p>
  54 +
  55 +<ul>
  56 +<li> Work on something you use and like. This way you will already be familiar with some aspects of the projects and you will have an idea for what works and what doesn't. You will be able to use your improvements for yourself.</li>
  57 +<li> It's easier to contribute to a small project than a larger one. Larger projects are usually more complex and require understanding more code. If a smaller project has less people involved with it, it will be easier for you to get to know everyone and for everyone to get to know you.</li>
  58 +<li> It's also easier to contribute to newer projects. Older projects usually have strict guidelines that can take a while to get used to. They often have internal politics that come into play. Finally newer projects have a lot of "low hanging fruits", simple things that anybody can fix.</li>
  59 +<li> There are websites like <a href="http://openhatch.org/">http://openhatch.org/</a> that can help you find a project based on your skills and interests.</li>
  60 +</ul><h2>
  61 +<a href="#4-finding-something-to-fix" class="anchor" name="4-finding-something-to-fix"><span class="mini-icon link"></span></a>4. Finding something to fix</h2>
  62 +
  63 +<p>Once you have figured out a project you like, you should join the mailing list
71 64 and go over the archives. Try to help people on the mailing list and don't feel
72   -shy to ask questions.
73   -
74   -Some projects have properly organized ToDo lists, which can help you get an idea on how you can help.
75   -
76   -Here is a short list of things that nearly every project can benefit from:
77   -
78   -* Improving the way things are organized. E.g. creating a task list if there isn't any or making sure the task list is up-to-date.
79   -* Improving the documentation. Make sure the project is clearly documented. Think of the documentation for the end user as well as documentation for peer developers. If you find spelling or grammatical mistakes: send a fix. If you are reading through source code, and you find that something is hard to understand: document it.
80   -* Helping out with translation efforts. Some projects need help with translations (the application and/or the documentation). This requires you to be fluent in more than one language though.
81   -* Testing the next release.
82   -* Writing test cases. Most projects are usually under-tested. Contributing test cases is usually easy (but requires some technical skills though) and will prevent regressions as the code evolves.
83   -* Start fixing minor bugs. Make sure your test your changes. As you familiarize yourself with the code and the process, you will be able to fix larger bugs and even implement new features.
84   -* If you don't have technical skills you can help organize events around the project, answer questions users might have, etc.
85   -
86   -5. A few things to keep in mind
87   --------------------------------
88   -
89   -* Never contribute something you didn't write yourself!
90   -* Don't just put some garbage code on github to pretend you are an open source contributor. While it's ok to start off with simple things, you should seek to build something others will use.
91   -* You can get your first commit in a few hours. After that you will not have to spare more time than you can. However, if you want to become a serious contributor, you are going to typically commit to ~1 day a week (think of it as an annual ski or theater pass).
92   -
93   -
  65 +shy to ask questions.</p>
  66 +
  67 +<p>Some projects have properly organized ToDo lists, which can help you get an idea on how you can help.</p>
  68 +
  69 +<p>Here is a short list of things that nearly every project can benefit from:</p>
  70 +
  71 +<ul>
  72 +<li>Improving the way things are organized. E.g. creating a task list if there isn't any or making sure the task list is up-to-date.</li>
  73 +<li>Improving the documentation. Make sure the project is clearly documented. Think of the documentation for the end user as well as documentation for peer developers. If you find spelling or grammatical mistakes: send a fix. If you are reading through source code, and you find that something is hard to understand: document it.</li>
  74 +<li>Helping out with translation efforts. Some projects need help with translations (the application and/or the documentation). This requires you to be fluent in more than one language though.</li>
  75 +<li>Testing the next release.</li>
  76 +<li>Writing test cases. Most projects are usually under-tested. Contributing test cases is usually easy (but requires some technical skills though) and will prevent regressions as the code evolves.</li>
  77 +<li>Start fixing minor bugs. Make sure your test your changes. As you familiarize yourself with the code and the process, you will be able to fix larger bugs and even implement new features.</li>
  78 +<li>If you don't have technical skills you can help organize events around the project, answer questions users might have, etc.</li>
  79 +</ul><h2>
  80 +<a href="#5-a-few-things-to-keep-in-mind" class="anchor" name="5-a-few-things-to-keep-in-mind"><span class="mini-icon link"></span></a>5. A few things to keep in mind</h2>
  81 +
  82 +<ul>
  83 +<li>Never contribute something you didn't write yourself!</li>
  84 +<li>Don't just put some garbage code on github to pretend you are an open source contributor. While it's ok to start off with simple things, you should seek to build something others will use.</li>
  85 +<li>You can get your first commit in a few hours. After that you will not have to spare more time than you can. However, if you want to become a serious contributor, you are going to typically commit to ~1 day a week (think of it as an annual ski or theater pass).</li>
  86 +</ul></article>

0 comments on commit a4a1b47

Please sign in to comment.
Something went wrong with that request. Please try again.