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

From OpenHatch wiki
Content added Content deleted
imported>Shauna
imported>Shauna
No edit summary
Line 32: Line 32:
Once you've got at least 3 projects on your list, it's time to start researching them. For each of them, you need key information, including:
Once you've got at least 3 projects on your list, it's time to start researching them. For each of them, you need key information, including:


* website url
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.
* source repository url
* mailing list
* IRC channel
* contributor guide
* 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.
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.

<blockquote>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.</blockquote>

<blockquote>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. </blockquote>


Project Name
Source Code
Mailing List
IRC Channel
Issue Tracker


== Evaluating Projects ==
== Evaluating Projects ==
Line 47: Line 51:




== Going Forward ==


* Why at least 3 projects? (Projects are like dating.)


* Send us your worksheets! Feedback is great.
What open source software do you use? For instance, if you use Firefox, are you interested in helping improve it? You can also consider related projects, in this case Firefox add-ons, or programs/libraries that Firefox uses to function.

Is there a project whose goals you find compelling? For instance, you might want to look at humanitarian projects like Sahana, or projects relating to a hobby of yours like music, videogames, or reading. If you're studying science or engineering, you might look for projects that are used by people in your field.

Are there any people you know who work on open source projects? Professors, classmates, friends? Getting to work with someone you like is a great reason to join a project!

To find projects related to some topic, you can google “[topic] open source” or “[topic] free software” and see what turns up. You can also try the links listed here: https://openhatch.org/wiki/Project_sources

Finding the project & its tools

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.

Evaluating the project

Is the community active?

When was the last commit? When was the last bug report? When was the last mailing list post? Is there anyone in the IRC channel? When was the project website last updated?

Is the community welcoming?

How do they treat contributors? Read through their mailing list – are new contributors welcomed and supported? Look through the bug tracker – do non-maintainers submit patches, and do maintainers work with them to get patches into acceptable form?

To what extent do they care about users? Does their project explain clearly what it does? Is there good help documentation and/or FAQ? Do they have large user group communities? A community that treats users well is more likely to treat new contributors well.

Is the project used by its target audience?

You probably want to work on a project that provides value to people, whether that's a small, niche group or a user base of hundreds of thousands. To figure out if a project is actually providing utility, you can ask: is it packaged in Debian, Homebrew, Ubuntu or Fedora? If so, it means at least one person on the project cares about getting the software to users. You can also look for “use case” or “testimonials” on the project website to see how the project has been used. For scientific projects, you can ask people in the field or see if the software is cited in articles.




Activity: Find a project for your partner

1) Spend a few minutes thinking about yourself and what kind of projects you'd like. At the end of those minutes, share what you've figured out with your partner., and they'll share what they've figured out with you. You can write some keywords about their interests here:

2) Find 3 projects using the strategies outlined above. For each, find the source code repository, the main developer mailing list, the IRC channel, and their issue tracker:

Project Name
Source Code
Mailing List
IRC Channel
Issue Tracker


For each of the 3 projects, evaluate if the project is active, welcoming, and used?

Project Name
Is it active?
Is it welcoming?
Is it used?


BONUS: For each project, try to find out the story behind why it was started, and/or why contributors are getting involved today.

Revision as of 16:01, 21 April 2014

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. You can use the template we've made in this etherpad.

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!

Step 1: Brainstorming Projects

Read through the following questions and think about what projects your answers suggest. Write those projects down on the etherpad:

What open source software do you use? For instance, if you use Firefox, are you interested in helping improve it? You can also consider related projects, in this case Firefox add-ons, or programs/libraries that Firefox uses to function. If you're not sure which of the software you use is open source, make a list of what you use and do a search to find out if they're open source.

Is there a project whose goals you find compelling? For instance, you might want to look at humanitarian projects like Sahana, or projects relating to a hobby of yours like music, videogames, or reading. If you're studying science or engineering, you might look for projects that are used by people in your field.

Are there any people you know who work on open source projects? Professors, classmates, friends? Getting to work with someone you like is a great reason to join a project!

You can also search through lists of projects and write down any projects that catch your eye. Here are some resources that list open source projects:

Step 2: Researching Projects

Once you've got at least 3 projects on your list, it's time to start researching them. For each of them, you need key information, including:

  • website url
  • source repository url
  • mailing list
  • IRC channel
  • contributor guide
  • 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.

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.


Evaluating Projects

Contacting Projects

Going Forward

  • Why at least 3 projects? (Projects are like dating.)
  • Send us your worksheets! Feedback is great.