Open Source Comes to Campus/Curriculum/Finding a Project: Difference between revisions

imported>Shauna
No edit summary
imported>Paulproteus
 
(9 intermediate revisions by 3 users not shown)
Line 1:
= Short link to this page: '''bit.ly/finding-a-project''' =
 
So you want to contribute to an open source project. With tens of thousands of options to choose from, how do you find one that's right for you? This activity is meant to help you narrow down your options to a few different projects you can pursue.
 
To get ready, all you need to do is take out a piece of paper, open up a text editor, or start an etherpad, for taking notes as you follow these steps. YouAn caneasy way to take notes could be to use the template we've madeprovided in [https://etherpad.mozilla.org/finding-a-project this etherpad] - you can copy and paste that text into your text editor and then fill out answers as you go along. (If that's accidentally been edited, try [https://etherpad.mozilla.org/ep/pad/view/finding-a-project/rev.659 here].)
 
Optional: find a friend or groups of friend to go through the activity with. They can help with each step. Maybe you'll even pick a project to contribute to together!
Line 18 ⟶ 20:
 
* Curated lists (more useful):
** OpenHatch's recommended projects page
** [https://www.google-melange.com/gsoc/org/list/public/google/gsoc2014 Google Summer of Code mentoring projects]
 
Line 30 ⟶ 31:
== Step 2: Researching Projects ==
 
Once you've got at least 31 projectsproject on your list, it's time to start researching them. (It's great to have more than 1 -- you might find that the first project you pick isn't a good fit for you.) For each of them, you need key information, including:
 
* website url
Line 39 ⟶ 40:
* installation guide
 
Write this information down as well. There's a section for this in the template etherpad. Every project will not have every item, but you should look for all of them. Sometimes the url will be the same for multiple items - for instance, the contributor guide and installation guide may be part of the same document. You can write down any other relevant information or links you find as well. (If you want an example, look at the template Etherpad document, but a bulleted list is fine.)
 
Some advice: The simplest way to find the project's main website is to google it. A well maintained project will have links from the website to their source code repository, issue tracker, mailing lists and IRC channel. Sometimes this information will all be bundled together in a “developer guide”. Larger projects may have multiple mailing lists for different people (developers, users, translators, etc) and for different parts of the project. Some code hosting services, such as Github, provide issue trackers as well. You can usually find a link to the issue tracker in the code repository and vice versa. Popular services include Github, Google Code, Bitbucket, SourceForge and Gitorious. Popular issue tracker services include Bugzilla, Github, and Google Code.
Line 58 ⟶ 59:
 
Every project is made up of individuals, and this means that each project has a different atmosphere or culture. You can read through their mailing list archives, or lurk on their IRC channel (or read their channel logs, if available) to see how newcomers are treated. When people have questions, are they answered patiently or ignored? Are the community members friendly with each other, and talk about things other than the project? If that's a dynamic you like, you can search for it. One thing to look for are codes of conduct. A lot of smaller projects don't think to have them, but many larger projects do, and you can get a sense of the kind of community a project has by seeing what kind of behavior they tolerate and what they discourage.
 
=== Is the project the right size for me? ===
 
Projects vary greatly in the size of the community and in the size of the project itself. Ask yourself what size project you are looking for. Each has its advantages. For instance, a larger project will likely have more and better documentation, while a smaller project will have fewer elements to learn about. A larger project may have more people who can help you, but it may be easier to get lost in the crowd.
 
== Step 4: Contacting Projects ==
Line 70 ⟶ 75:
 
* What do they like about the project? How long have they been involved with it?
* If you have an issue you'd like to work on (see X[[Open_Source_Comes_to_Campus/Curriculum/Finding_a_Project#Find_an_issue_you_might_want_to_tackle | below]]): is anyone familiar with the issue? Otherwise: Are there any issues that people are especially keen to see being worked on?
* Is there anything particularly complicated or difficult that might be an obstacle to contributing? How would they suggest dealing with that?
* What do people like to do when they're not contributing to the channel's project?
Line 90 ⟶ 95:
That's it! You're done with the activity.
 
A quick note: you might wonder why we asked you to find at least threemultiple projects. The truth is that finding a good open source project is a lot like dating or finding a job. It often doesn't work out on the first try. That doesn't mean you're a bad contributor or that the project is a bad project - it may just be a bad fit, or bad timing. So keep an open mind, and keep trying projects until you find one that you really enjoy contributing to.
 
One more thing: we'd love to see your worksheet for this activity! We want to see how people are using it so we can improve it. You can send it to us (anonymously or not) at hello@openhatch.org.
Anonymous user