First Tasks: Difference between revisions

From OpenHatch wiki
Content added Content deleted
imported>Paulproteus
imported>Shauna
 
(30 intermediate revisions by 3 users not shown)
Line 14: Line 14:
You can see past first tasks, which have been successfully resolved, [[First_Tasks/Resolved | here]].
You can see past first tasks, which have been successfully resolved, [[First_Tasks/Resolved | here]].


'''This page was last curated 5/10/2014.''' Tasks on this page may have been resolved since then, so check their status in their respective issue trackers.
'''This page was last curated Nov 15, 2014.''' Tasks on this page may have been resolved since then, so check their status in their respective issue trackers.

''Before you start working on any of these tasks, say hello in the list IRC channel so that mentors can help you pick issues (and avoid issues others have already picked).''


__toc__
__toc__
Line 23: Line 25:


Resources:
Resources:
* temporary IRC channel: #openhatch-mainline
* [http://openhatch.readthedocs.org/en/latest/getting_started/project_overview.html Project Overview]
* [http://openhatch.readthedocs.org/en/latest/getting_started/project_overview.html Project Overview]
* [http://openhatch.readthedocs.org/en/latest/getting_started/installation.html Setting up the development environment]
* [http://openhatch.readthedocs.org/en/latest/getting_started/installation.html Setting up the development environment]
Line 33: Line 36:
Each of these is a bug that you should fix on your computer, and when you are satisfied with the fix, create a pull request for. These are supposed to be sorted from easiest to hardest, though your mileage may vary.
Each of these is a bug that you should fix on your computer, and when you are satisfied with the fix, create a pull request for. These are supposed to be sorted from easiest to hardest, though your mileage may vary.


* Update some documentation to indicate that it has broken links <https://github.com/openhatch/oh-mainline/issues/1427>
* Suggest a new design for http://openhatch.org/people/?q=python&center= <https://github.com/openhatch/oh-mainline/issues/1244>
** Why it matters: This page is one of the most-accessed pages on the site -- it's a way to see all the people working on any given project. But the interface is a little ugly.
** Why it matters: The OpenHatch project's documentation is out of date, which means that newcomers will be misled!
** Skills you will learn and/or apply: Editing Python documentation using Sphinx & rST, which are common on the open source Python world.
** Skills you will learn and/or apply: Editing templates, or making "mock-ups" to indicate how you think a web page should look.


* Add a navigation link within a part of the site, so users don't get lost: https://github.com/openhatch/oh-mainline/issues/1385
* Add a navigation link within a part of the site, so users don't get lost: https://github.com/openhatch/oh-mainline/issues/1385
Line 41: Line 44:
** Skills you will learn and/or apply: Django templates, general understanding of how web apps work.
** Skills you will learn and/or apply: Django templates, general understanding of how web apps work.
** Other links: https://hashman.ca/gsoc/ is the blog posts by the author of this part of the site, which is the best documentation available for it.
** Other links: https://hashman.ca/gsoc/ is the blog posts by the author of this part of the site, which is the best documentation available for it.

* Add a resource link to the Basic Testing documentation <https://github.com/openhatch/oh-mainline/issues/1480>
** Why it matters: The OpenHatch project's documentation helps new users learn about testing through our docs as well as other resources.
** Skills you will learn and/or apply: Editing Python documentation using Sphinx & rST, which are common on the open source Python world.

* Add a new section to the Basic Testing Documentation (Test Output detail) <https://github.com/openhatch/oh-mainline/issues/1479>
** Why it matters: The OpenHatch project's documentation helps new users learn about testing and this is a useful developer option not yet documented.
** Skills you will learn and/or apply: Editing Python documentation using Sphinx & rST, which are common on the open source Python world. Testing basics.

* Verify installation instructions on Mac OS X Yosemite 10.10 <https://github.com/openhatch/oh-mainline/issues/1481>
** Why it matters: The OpenHatch project's documentation helps new users and it is useful to check if installation instructions work on new operating system releases.
** Skills you will learn and/or apply: Editing Python documentation using Sphinx & rST, which are common on the open source Python world. Installation basics.



Harder tasks:
Harder tasks:
Line 52: Line 68:
** Skills you will learn and/or apply: Reading documentation for third-party services; general understanding of HTML; editing Django templates.
** Skills you will learn and/or apply: Reading documentation for third-party services; general understanding of HTML; editing Django templates.


= Open Source Comes to Campus=
* https://github.com/openhatch/oh-mainline/issues/1367 -- Right now, when you interact with some parts of the OpenHatch site, it incorrectly triggers a notification on the front of the site.
** Why it matters: The site mistakenly tells people some content is newer than it is.
** Skills you will learn and/or apply: Django and Python, aka "backend web programming".


Resources:
= Open Source Comes to Campus website =


* Main maintainer: Shauna (shauna on Freenode)
Shauna added (integrated these when the above are checked):
* Main website: [http://campus.openhatch.org/]
* Repository: [https://github.com/openhatch/open-source-comes-to-campus]
* temporary IRC channel: #openhatch-campus


Tasks:


* [https://github.com/openhatch/open-source-comes-to-campus/issues/95 Help us find an open source event calendar] Open Source Comes to Campus needs one, but we'd like help picking the right one. If you're interested in learning more about open source event calendar apps, this is the right task for you!
* Go through the laptop setup pages and add screenshots where you think they would be helpful. The issues say to add images to the issue, but you can upload them directly to the wiki if you like (though you may have to get permissions).

** [https://github.com/openhatch/open-source-comes-to-campus/issues/51 issue for linux screenshots]
** [https://github.com/openhatch/open-source-comes-to-campus/issues/50 issue for mac screenshots]
* [https://github.com/openhatch/open-source-comes-to-campus/issues/90 Add link to website] Our website is missing a link!

** [https://github.com/openhatch/open-source-comes-to-campus/issues/49 issue for windows screenshots]
* [https://github.com/openhatch/open-source-comes-to-campus/issues/51 Go through the laptop setup pages and add screenshots where you think they would be helpful.] The issues say to add images to the issue, but you can upload them directly to the wiki if you like (though you may have to get permissions).


* [https://github.com/openhatch/open-source-comes-to-campus/issues/35 Reproduce documentation issue] A student reported an issue with the documentation for XChat. We've now switched to HexChat. Does the documentation still need to be fixed?
* [https://github.com/openhatch/open-source-comes-to-campus/issues/35 Reproduce documentation issue] A student reported an issue with the documentation for XChat. We've now switched to HexChat. Does the documentation still need to be fixed?

* [https://github.com/openhatch/open-source-comes-to-campus/issues/8 Help us research Linux installation and/or virtual machines] Great for someone with an interested in installing operating systems and/or virtual machines. Research what might be practical for an in person workshop, and report back what you've learned!


= Mozilla Firefox =
= Mozilla Firefox =


Mozilla, the non-profit makers of Firefox, creates products designed to help people take control and explore the full potential of their lives online.
Mozilla, the non-profit makers of Firefox, creates products designed to help people take control and explore the full potential of their lives online.

Resources:
* temporary IRC channel: #openhatch-mozilla
* you can also check out the Mozilla server on IRC, as well as its channels #firefox, #webmaker, #sciencelab, #mobile and more


Good first tasks:
Good first tasks:
Line 81: Line 106:
** '''Why this matters''': Many websites use videos and ads created to run in Adobe Flash, a plugin that Firefox can't distribute. Shumway is Mozilla's implementation of Flash in HTML and Javascript. Once Shumway works reliably, Mozilla will be able to make Shumway the default Flash player for all Firefox users.
** '''Why this matters''': Many websites use videos and ads created to run in Adobe Flash, a plugin that Firefox can't distribute. Shumway is Mozilla's implementation of Flash in HTML and Javascript. Once Shumway works reliably, Mozilla will be able to make Shumway the default Flash player for all Firefox users.
** https://oneanddone.mozilla.org/en-US/tasks/24/
** https://oneanddone.mozilla.org/en-US/tasks/24/

= Merge Stories =

MENTOR: shauna or shauna_ on Freenode

Temporary IRC channel for this event: #openhatch-mergestories

Description: Merge stories are stories about all kinds of contributions that people have made to free and open source projects. They give details about the process: how people pick issues to work on, the common obstacles they run into, the resources they use to solve problems, and more. We hope that by sharing these stories, we can give newcomers a better sense of what contributing is like.

Resources:
* [http://mergestories.com/ The Site!]
* [https://github.com/openhatch/oh-contribution-stories The Repository]
* [https://github.com/openhatch/oh-contribution-stories/issues Issue tracker]
* [https://github.com/openhatch/oh-contribution-stories/blob/master/README.md Project overview/getting started]

Suggested Tasks:
* [https://github.com/openhatch/oh-contribution-stories/issues/42 Increase line-height via CSS to improve readability]: Make a minor change in the CSS to improve visibility/readability.
* [https://github.com/openhatch/oh-contribution-stories/issues/47 Remove relics from google forms]: Our submission form used to be a google form, and still has some unnecessary google-related CSS. Can you help us out by removing it?
* [https://github.com/openhatch/oh-contribution-stories/issues/37 Add a field to the submission form]: Story submittors should be able to link to their websites from their stories. Add an optional field to the submission form so they can do so.
* [https://github.com/openhatch/oh-contribution-stories/issues/33 Add a favicon]: Add a tiny icon to our url bar!
* [https://github.com/openhatch/oh-contribution-stories/issues/31 Add a 'read more' link to featured stories]
* [https://github.com/openhatch/oh-contribution-stories/issues/34 Create way for readers to share stories on social media]: There's a pre-made plugin that you can install. A great task if you want to learn more about how Pelican (the python-based static page generator this site is based on) works, and is also useful for seeing how to link between repositories in git.

'''Special bonus task''': Did you do one of the above tasks? Contribute to the project by submitting your own merge story!


= WelcomeBot =
= WelcomeBot =
Line 93: Line 142:


Tasks:
Tasks:

* [https://github.com/shaunagm/oh-irc-bot/issues/1 Add rules to catch unidentified nicks] - When users who have registered their nicknames join IRC without identifying, different IRC clients will change their nickname in different ways. The bot currently only accounts for one of those ways, which means people are greeted unnecessarily.
* [https://github.com/shaunagm/WelcomeBot/issues/40 Make all function arguments keyword arguments]. In Python, arguments can be passed into a function with or without keywords. Without keywords, assignment of argument to variable is based on order. This is a messy way to live! Functions can also be called using keyword arguments of the form "keyword = value". Can you change the code so that all the arguments have keywords? Feel free to ask in IRC if you're not sure what the keyword should be - or guess. :)
* [https://github.com/shaunagm/oh-irc-bot/issues/12 Bot does not recognize fast name change] - When users join the channel and change their name, the bot uses their original name to greet them. A fix for this would likely involve:

* [https://github.com/shaunagm/WelcomeBot/issues/20 Test setup instruction] Can you try to get the bot running indefinitely and let us know if our instructions for how to do so need improvement? Great task for someone who wants to learn a new command line skill!

* [https://github.com/shaunagm/WelcomeBot/issues/47 Broken url when using webchat] When queried, WelcomeBot will tell you the url of the source repository. That url is bracketed by < and > because this helps the url work in most clients. However, this breaks the url in [http://webchat.freenode.net/ webchat]. Implement the proposed solution and test it in webchat!


Harder tasks that may still be fun:
Harder tasks that may still be fun:

* [https://github.com/shaunagm/oh-irc-bot/issues/10 Bot goes offline silently] - Every couple of weeks, the bot experiences a bug and turns off silently. Investigate tools like cronjob, monit, nagios, etc so that we can get a notification if it goes offline.
* [https://github.com/shaunagm/oh-irc-bot/issues/10 Bot goes offline silently] - Every couple of weeks, the bot experiences a bug and turns off silently. Investigate tools like cronjob, monit, nagios, etc so that we can get a notification if it goes offline.

* [https://github.com/shaunagm/oh-irc-bot/issues/17 Make test suite] - If you like testing, this is the task for you! A good first step would be to read through the script and identify what needs to be tested. Alternatively, if you could read through some of the resources listed in the issue and report back what you've learned about doing tests in python, that would be super helpful too. This project's maintainer has never developed tests before from scratch, so we are all in it together. :)
* [https://github.com/shaunagm/oh-irc-bot/issues/18 bug causing bot to go offline] - This may be a tricky bug to fix, since it's not clear what input is causing the crash and it may be difficult to reproduce (the bot currently crashes on this bug approximately every two weeks). But you may be able to figure out what's going on from the information given!
* [https://github.com/shaunagm/WelcomeBot/pull/25 Help refactor this pull request so we can merge it] - Another contributor made a pull request that let WelcomeBot reply in private message when pinged in private message. Unfortunately, this was done right in the middle of a big refactoring of code. Can you help out by taking this person's code and making a new pull request out of it?


= OpenStreetMap =
= OpenStreetMap =
Line 106: Line 160:


Resources:
Resources:
* temporary IRC channel: #openhatch-openstreetmap
* OpenStreetMap also has a community IRC channel here: http://wiki.openstreetmap.org/wiki/IRC
* you can also check out the Mozilla server on IRC, as well as its channels #firefox, #webmaker, #sciencelab, #mobile and more
* Overview: [http://www.openstreetmap.org/ OpenStreetMap website] - explore the map! Here's [http://www.openstreetmap.org/about a summary of the project], and [https://en.wikipedia.org/wiki/OpenStreetMap here's the Wikipedia article].
* Overview: [http://www.openstreetmap.org/ OpenStreetMap website] - explore the map! Here's [http://www.openstreetmap.org/about a summary of the project], and [https://en.wikipedia.org/wiki/OpenStreetMap here's the Wikipedia article].
* Development information: [http://wiki.openstreetmap.org/wiki/Develop The "Develop" page] explains the main components of OpenStreetMap and how they fit together, linking to the code and issue trackers for those individual components. There are also lots of smaller OSM-related open source tools that aren't listed on that page, like the [http://tasks.hotosm.org/ OSM Tasking Manager] and [http://maproulette.org/ MapRoulette] projects mentioned below.
* Development information: [http://wiki.openstreetmap.org/wiki/Develop The "Develop" page] explains the main components of OpenStreetMap and how they fit together, linking to the code and issue trackers for those individual components. There are also lots of smaller OSM-related open source tools that aren't listed on that page, like the [http://tasks.hotosm.org/ OSM Tasking Manager] and [http://maproulette.org/ MapRoulette] projects mentioned below.

Latest revision as of 23:26, 21 November 2014

This page exists to provide you with good, small tasks as you get started contributing to open source projects.

Every project on this page has:

  • Clear instructions for how to contribute to their project, including setting up a development environment, contributing changes, and how to contact them.
  • At least one hand-picked task that (hopefully!) can be completed within an hour or two.
  • At least one maintainer/contributor who's really excited about welcoming you to their project.

If you don't find any tasks you'd like here, try these additional sources:

  • This page has curated tasks from previous events, but there are no maintainers for these projects at the event. That said, other mentors will probably be able to help you.
  • Search 700+ open source projects at once
  • Find a project that fits your interests using this guide.

You can see past first tasks, which have been successfully resolved, here.

This page was last curated Nov 15, 2014. Tasks on this page may have been resolved since then, so check their status in their respective issue trackers.

Before you start working on any of these tasks, say hello in the list IRC channel so that mentors can help you pick issues (and avoid issues others have already picked).

OpenHatch

Description: OpenHatch.org sees itself as "free software's welcoming committee." We make web tools and run events to help people join open source projects, primarily in Python and Django with some Javascript, CSS, and HTML. We're always looking for enthusiastic new people willing to file bugs, submit patches, ask questions, write documentation, and review code. To help you imagine the site, the volunteer opportunity finder helps people find "easy" bugs to work on in projects all over the web, and supporting code to download that data through API use and scraping; the profile tool helps people write about their experience contributing to open source; and the training missions are interactive, plot-based teaching tools to help people learn skills required in open source in a friendly setting.

Resources:

Tasks:

Each of these is a bug that you should fix on your computer, and when you are satisfied with the fix, create a pull request for. These are supposed to be sorted from easiest to hardest, though your mileage may vary.

  • Add a navigation link within a part of the site, so users don't get lost: https://github.com/openhatch/oh-mainline/issues/1385
    • Why it matters: This part of the web app is easy for people to get lost in.
    • Skills you will learn and/or apply: Django templates, general understanding of how web apps work.
    • Other links: https://hashman.ca/gsoc/ is the blog posts by the author of this part of the site, which is the best documentation available for it.
  • Add a resource link to the Basic Testing documentation <https://github.com/openhatch/oh-mainline/issues/1480>
    • Why it matters: The OpenHatch project's documentation helps new users learn about testing through our docs as well as other resources.
    • Skills you will learn and/or apply: Editing Python documentation using Sphinx & rST, which are common on the open source Python world.
  • Add a new section to the Basic Testing Documentation (Test Output detail) <https://github.com/openhatch/oh-mainline/issues/1479>
    • Why it matters: The OpenHatch project's documentation helps new users learn about testing and this is a useful developer option not yet documented.
    • Skills you will learn and/or apply: Editing Python documentation using Sphinx & rST, which are common on the open source Python world. Testing basics.
  • Verify installation instructions on Mac OS X Yosemite 10.10 <https://github.com/openhatch/oh-mainline/issues/1481>
    • Why it matters: The OpenHatch project's documentation helps new users and it is useful to check if installation instructions work on new operating system releases.
    • Skills you will learn and/or apply: Editing Python documentation using Sphinx & rST, which are common on the open source Python world. Installation basics.


Harder tasks:

  • https://openhatch.org/bugs/issue898 -- Sign up for an account on AppVeyor and configure their site to automatically periodically test if oh-mainline runs properly on Windows.
    • Skills you will learn and/or apply: Automation (like scripting), using Windows.
  • http://openhatch.org/bugs/issue71 -- add support to the site for Gravatars. Very open ended at the moment. I would prefer to leave the task of actually downloading the Gravatar to be done in the user's web browser, but that might seem kind of like an odd implementation strategy.
    • Skills you will learn and/or apply: Reading documentation for third-party services; general understanding of HTML; editing Django templates.

Open Source Comes to Campus

Resources:

  • Main maintainer: Shauna (shauna on Freenode)
  • Main website: [1]
  • Repository: [2]
  • temporary IRC channel: #openhatch-campus

Tasks:

  • Help us find an open source event calendar Open Source Comes to Campus needs one, but we'd like help picking the right one. If you're interested in learning more about open source event calendar apps, this is the right task for you!
  • Reproduce documentation issue A student reported an issue with the documentation for XChat. We've now switched to HexChat. Does the documentation still need to be fixed?

Mozilla Firefox

Mozilla, the non-profit makers of Firefox, creates products designed to help people take control and explore the full potential of their lives online.

Resources:

  • temporary IRC channel: #openhatch-mozilla
  • you can also check out the Mozilla server on IRC, as well as its channels #firefox, #webmaker, #sciencelab, #mobile and more

Good first tasks:

  • Triage bugs in Firefox for Android: Improve the quality of bugs reported for Firefox on Android
    • Why this matters: Bugzilla is Mozilla's bug tracking system. This is where bugs are reported and where every change for a bug is stored and tracked. Bugs can stay unnoticed in Bugzilla for a long period of time. They are either not moved to the right component or are missing vital information to get them in developers’ hands. Help us reduce the number of UNCOnfirmed bugs in the Bugzilla database, and to improve the quality of the bugs reported.
    • https://oneanddone.mozilla.org/en-US/tasks/20/
  • Test the new Flash player for Firefox, called Shumway, by watching Flash videos and looking for differences.
    • Why this matters: Many websites use videos and ads created to run in Adobe Flash, a plugin that Firefox can't distribute. Shumway is Mozilla's implementation of Flash in HTML and Javascript. Once Shumway works reliably, Mozilla will be able to make Shumway the default Flash player for all Firefox users.
    • https://oneanddone.mozilla.org/en-US/tasks/24/

Merge Stories

MENTOR: shauna or shauna_ on Freenode

Temporary IRC channel for this event: #openhatch-mergestories

Description: Merge stories are stories about all kinds of contributions that people have made to free and open source projects. They give details about the process: how people pick issues to work on, the common obstacles they run into, the resources they use to solve problems, and more. We hope that by sharing these stories, we can give newcomers a better sense of what contributing is like.

Resources:

Suggested Tasks:

Special bonus task: Did you do one of the above tasks? Contribute to the project by submitting your own merge story!

WelcomeBot

Description: WelcomeBot is an IRC bot designed to welcome people into the #openhatch IRC channel (although it can be easily adapted for use in other channels). It is written in python, and features the socket module.

Resources:

  • Source
  • Overview and installation/contributing guides: can be found in the repository's readme.
  • Main contact: Shauna (shauna on Freenode; shaunagm at gmail dot com)
  • Updates/problems/ideas: Please use the issue tracker! (As well as asking shauna about them on IRC.)

Tasks:

  • Make all function arguments keyword arguments. In Python, arguments can be passed into a function with or without keywords. Without keywords, assignment of argument to variable is based on order. This is a messy way to live! Functions can also be called using keyword arguments of the form "keyword = value". Can you change the code so that all the arguments have keywords? Feel free to ask in IRC if you're not sure what the keyword should be - or guess.  :)
  • Test setup instruction Can you try to get the bot running indefinitely and let us know if our instructions for how to do so need improvement? Great task for someone who wants to learn a new command line skill!
  • Broken url when using webchat When queried, WelcomeBot will tell you the url of the source repository. That url is bracketed by < and > because this helps the url work in most clients. However, this breaks the url in webchat. Implement the proposed solution and test it in webchat!

Harder tasks that may still be fun:

  • Bot goes offline silently - Every couple of weeks, the bot experiences a bug and turns off silently. Investigate tools like cronjob, monit, nagios, etc so that we can get a notification if it goes offline.
  • Help refactor this pull request so we can merge it - Another contributor made a pull request that let WelcomeBot reply in private message when pinged in private message. Unfortunately, this was done right in the middle of a big refactoring of code. Can you help out by taking this person's code and making a new pull request out of it?

OpenStreetMap

OpenStreetMap is collaboratively building a free map of the world, editable by anyone. Imagine the collaborative editing of Wikipedia, but making a map like Google Maps instead of an encyclopedia. The project has many components and tools using many languages and technologies, both backend and frontend - if you like Ruby on Rails, PostgreSQL, Java, Javascript, C++, C, Python, or other languages, you can find components to contribute to.

Resources:

Suggested tasks:

TEMPLATE: NAME

Description: Please describe your project here. Make sure to mention the overall goal of your project as well as mentioning the main technologies it uses. People using this page may be doing searches for keywords such as topics, types of software, or language names, so make sure they can find your project!

Resources:

  • Project Overview
  • Setting up the development environment
  • Contributing changes
  • Contact info

Tasks: