Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

md to html

  • Loading branch information...
commit a4a1b47f331483cca46523748d6d7b73f8436520 1 parent 5983483
Alok Menghrajani authored
Showing with 66 additions and 73 deletions.
  1. +66 −73 getting_your_first_commit.md
139 getting_your_first_commit.md
View
@@ -1,93 +1,86 @@
-Getting your first commit in an open source project
-===================================================
+<article itemprop="mainContentOfPage" class="markdown-body entry-content"><h1>
+<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>
-Here is a note I'm hoping will help you understand the importance of
+<p>Here is a note I'm hoping will help you understand the importance of
contributing to open source projects and how to get your first commit.
I recently realized that github's inline editing capabilities has
greatly simplified this process and made it easier for non technical
-people to have an impact.
+people to have an impact.</p>
-1. Why contribute to open source?
----------------------------------
+<h2>
+<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>
-There are lots of reasons to contribute to open source projects. Here are three
-reasons which motivate people I know:
+<p>There are lots of reasons to contribute to open source projects. Here are three
+reasons which motivate people I know:</p>
-Reason 1: you believe in the philosophy behind open source
+<p>Reason 1: you believe in the philosophy behind open source </p>
-Open source allows people to build on top of other people's work. Almost
+<p>Open source allows people to build on top of other people's work. Almost
everything running on the internet (Google, Wikipedia, Facebook, etc.) depends
to some extend on one or more pieces of open source software. If you believe in
this philosophy, contributing to open source projects will give you tremendous
satisfaction, especially when your contributions will be used by millions of
-people around the world!
+people around the world! </p>
-
+<p>Reason 2: it's a way to meet and work with bright people </p>
-Reason 2: it's a way to meet and work with bright people
-
-Most successful open source projects are driven by a core team of very talented
+<p>Most successful open source projects are driven by a core team of very talented
people. Your first contribution might be very minor and will not involve a lot
of interaction, but as your contributions increase, you will eventually get to
-really work with team. You might even get to meet them in person!
-
-
+really work with team. You might even get to meet them in person! </p>
-Reason 3: it's a great way to improve yours skills and resume
+<p>Reason 3: it's a great way to improve yours skills and resume </p>
-Contributing to open source projects will require you to learn something or solve
+<p>Contributing to open source projects will require you to learn something or solve
a challenging problem. It also looks good on a resume. A potential employer can
-go and actually see what were your contributions.
-
-
-
-2. How does it work?
---------------------
-
-Open source projects are hosted on various platforms. For the sake of simplicity,
-let's assume you are going to use github.com. The process is very simple:
-
-1. create a github.com account and find a project you would like to contribute to.
-2. fork the project. This means you now have a "copy" of the project.
-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.
-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.
-5. Congratulations, you got your first commit.
-
-
-3. Finding a project to contribute to
--------------------------------------
-
-Here are a few suggestions on how to find a project:
-
-* 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.
-* 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.
-* 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.
-* There are websites like http://openhatch.org/ that can help you find a project based on your skills and interests.
-
-4. Finding something to fix
----------------------------
-
-Once you have figured out a project you like, you should join the mailing list
+go and actually see what were your contributions. </p>
+
+<h2>
+<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>
+
+<p>Open source projects are hosted on various platforms. For the sake of simplicity,
+let's assume you are going to use github.com. The process is very simple:</p>
+
+<ol>
+<li>create a github.com account and find a project you would like to contribute to.</li>
+<li>fork the project. This means you now have a "copy" of the project.</li>
+<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>
+<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>
+<li><p>Congratulations, you got your first commit.</p></li>
+</ol><h2>
+<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>
+
+<p>Here are a few suggestions on how to find a project:</p>
+
+<ul>
+<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>
+<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>
+<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>
+<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>
+</ul><h2>
+<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>
+
+<p>Once you have figured out a project you like, you should join the mailing list
and go over the archives. Try to help people on the mailing list and don't feel
-shy to ask questions.
-
-Some projects have properly organized ToDo lists, which can help you get an idea on how you can help.
-
-Here is a short list of things that nearly every project can benefit from:
-
-* 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.
-* 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.
-* 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.
-* Testing the next release.
-* 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.
-* 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.
-* If you don't have technical skills you can help organize events around the project, answer questions users might have, etc.
-
-5. A few things to keep in mind
--------------------------------
-
-* Never contribute something you didn't write yourself!
-* 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.
-* 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).
-
-
+shy to ask questions.</p>
+
+<p>Some projects have properly organized ToDo lists, which can help you get an idea on how you can help.</p>
+
+<p>Here is a short list of things that nearly every project can benefit from:</p>
+
+<ul>
+<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>
+<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>
+<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>
+<li>Testing the next release.</li>
+<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>
+<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>
+<li>If you don't have technical skills you can help organize events around the project, answer questions users might have, etc.</li>
+</ul><h2>
+<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>
+
+<ul>
+<li>Never contribute something you didn't write yourself!</li>
+<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>
+<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>
+</ul></article>
Please sign in to comment.
Something went wrong with that request. Please try again.