Open Source Comes to Campus/Tasks for Oct 18th: Difference between revisions

From OpenHatch wiki
Content added Content deleted
imported>Shauna
imported>Shauna
 
(27 intermediate revisions by 2 users not shown)
Line 25: Line 25:


MENTOR: Shauna (shauna or shauna_ on Freenode)
MENTOR: Shauna (shauna or shauna_ on Freenode)

Temporary IRC channel for this event: #openhatch-bots


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 [http://docs.python.org/2/library/socket.html socket module].
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 [http://docs.python.org/2/library/socket.html socket module].
Line 34: Line 36:


Tasks:
Tasks:
* [https://github.com/shaunagm/oh-irc-bot/issues/1 Add rules to catch unidentified nicks]: When you join an IRC network, you pick a nickname or nick. If you want to keep the same nick forever, you can register it the network and set a password. Then, each time you join, you "identify" to the network by telling them the password. Simple, right? If you don't identify, your IRC client may automatically change your nick slightly, for instance by adding a trailing underscore. We want WelcomeBot to understand that user and user_ and user__ are all the same person. Unfortunately every client does something different to unidentified nicks, and we've only set rules for some of them, which means people are greeted unnecessarily.
* [https://github.com/shaunagm/oh-irc-bot/issues/1 Add rules to catch unidentified nicks]: When you join an IRC network, you pick a nickname or nick. If you want to keep the same nick forever, you can register it the network and set a password. Then, each time you join, you "identify" to the network by telling them the password. Simple, right? If you don't identify, your IRC client may automatically change your nick slightly, for instance by adding a trailing underscore. We want WelcomeBot to understand that user and user_ and user__ are all the same person. We've found some of the rules, but not all of them. Can you add another rule?
* [https://github.com/shaunagm/WelcomeBot/issues/35 Fix docs to specify what version of Python you need]: Our docs currently do not specify that the bot does not work with Python 3. Can you update our docs to fix this? A good, simple task to practice using git.
* [https://github.com/shaunagm/WelcomeBot/issues/35 Fix docs to specify what version of Python you need]: Our docs currently do not specify that the bot does not work with Python 3. Can you update our docs to fix this? A good, simple task to practice using git.
* [https://github.com/shaunagm/WelcomeBot/issues/22 WelcomeBot replies to PMs in #openhatch always]: When someone private messages the bot, it responds in the channel. Can you fix this so that the bot responds on the channel when it's messaged on the channel and privately when it's messaged privately? There's [https://github.com/shaunagm/WelcomeBot/pull/25/files a pull request already with a fix] but it was written before WelcomeBot was refactored. You can use the PR as inspiration to make this fix.
* [https://github.com/shaunagm/WelcomeBot/issues/22 WelcomeBot replies to PMs in #openhatch always]: When someone private messages the bot, it responds in the channel. Can you fix this so that the bot responds on the channel when it's messaged on the channel and privately when it's messaged privately? There's [https://github.com/shaunagm/WelcomeBot/pull/25/files a pull request already with a fix] but it was written before WelcomeBot was refactored. You can use the PR as inspiration to make this fix.
Line 40: Line 42:
* [https://github.com/shaunagm/WelcomeBot/issues/39 Unnecessary file in the repository]: Can you get rid of this unneeded file? A good, simple task for folks looking to practice with git/github.
* [https://github.com/shaunagm/WelcomeBot/issues/39 Unnecessary file in the repository]: Can you get rid of this unneeded file? A good, simple task for folks looking to practice with git/github.
* [https://github.com/shaunagm/WelcomeBot/issues/20 Test our docs]: Our documentation currently includes instructions for setting up the bot to run indefinitely. Can you try to follow the docs and see if they're missing information?
* [https://github.com/shaunagm/WelcomeBot/issues/20 Test our docs]: Our documentation currently includes instructions for setting up the bot to run indefinitely. Can you try to follow the docs and see if they're missing information?
* [https://github.com/shaunagm/WelcomeBot/issues/40 Make function arguments keyword arguments]: Helps improve readability. A good task to do while reading through the code and trying to figure out how it works.


Harder tasks that may still be fun:
Harder tasks that may still be fun:
Line 49: Line 52:


MENTOR: Shauna (shauna or shauna_ on Freenode)
MENTOR: Shauna (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.
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:
Resources:
* [http://mergestories.com/ The Site!]
* [https://github.com/openhatch/oh-contribution-stories The Repository]
* [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/issues Issue tracker]
Line 58: Line 64:


Suggested Tasks:
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/43 Increase padding between stories on front page]: We've gotten some design feedback that our front page could use some adjusting to look more pleasant and readable. Should be a straightforward CSS fix.
*
* [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!


= OpenHatch =
= OpenHatch =


MENTOR: Asheesh (paulproteus on Freenode)
MENTOR: Asheesh (paulproteus on #openhatch on Freenode), and probably others on #openhatch on Freenode.

Temporary IRC channel for this event: #openhatch-main


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.
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.
Line 79: Line 92:
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.



* http://openhatch.org/bugs/issue926 -- on Windows, our use of the Tuffy font is very ugly. If you have Windows, you can help us out by looking into how we reference the Tuffy font, and see if you can find a version of Tuffy that renders more nicely on Windows. We'd love a pull request that lets us keep using this font that also makes it work on Windows! (If you try multiple things, and they all results in the same jagged-ness, then please also say so on the bug.)
* https://github.com/openhatch/oh-mainline/issues/731 -- this requires looking at the bug, and seeing you also experience the bug, and then posting a note on the bug indicating if you do or don't experience the bug. If we're all lucky, the bug has gone away, and you can leave a note indicating that it can be closed! If not, then you can help us prioritize it by indicating that the problem remains.
** Skills you'll need (to have, or to learn): Reading CSS files; general understanding of web fonts.
** Skills you'll need (to have, or to learn): Using websites; leaving a comment on GitHub.

* https://github.com/openhatch/oh-mainline/issues/1447 -- Two template files have confusing filenames. We would like someone to rename them!
** Skills you'll need (to have, or to learn): Using git; reading Python code.


* https://github.com/openhatch/oh-mainline/issues/1427 -- Adjust a link in our documentation, so that it no longer points people at a URL that does not load properly.
** Skills you'll need (to have, or to learn): Reading rST (marked up text) files.


* https://github.com/openhatch/oh-mainline/issues/1446 -- Some of the images on website need ALT text added. The bug covers this and one other accessibility-related issue.
** Skills you'll need (to have, or to learn): Understanding the purpose of ALT text in images; understanding the notion of accessibility. Finding and editing the templates that power the OpenHatch website.


* https://github.com/openhatch/oh-mainline/issues/991 -- Find some text in a template, and make it more easily understandable.
** Skills you'll need (to have, or to learn): Finding an editing the templates that power the OpenHatch wbs


* https://github.com/openhatch/oh-mainline/issues/1443 -- Change some Python code to fix our ''robots.txt'' file, which recently removed the OpenHatch website from search indexes!
** Skills you'll need (to have, or to learn): General understanding of the notions of web robots & robots.txt rules. Tracing through a urls.py file to find the right file to edit; writing Python/Django code. Preferably, writing a test for Django code.


* https://github.com/openhatch/oh-mainline/issues/1448 -- fix some Python code to request a URL with the right User-Agent header, so that the site does not block our request.
** Skills you'll need (to have, or to learn): Reading Python code. Understanding the idea of a User-Agent header. Modifying Python code.


* https://github.com/openhatch/oh-mainline/issues/1369 -- Fix a CSS alignment issue, where some boxes are about 20 pixels mis-aligned with other boxes, on the homepage.
** Skills you'll need (to have, or to learn): Visually identifying layout problems. Finding and modifying CSS files.


* https://github.com/openhatch/oh-mainline/issues/1437 -- For pages that do not have content that fills them entirely, the footer does not stick to the bottom of the page. It could be fixed with a bit of CSS.
** Skills you'll need (to have, or to learn): Visually identifying layout problems. Finding and modifying CSS files.


* https://github.com/openhatch/oh-mainline/issues/1332 -- Fix a data validation problem, where we try to convert a string to an integer and crash when we do not succeed.
** Skills you'll need (to have, or to learn): Reading & writing Python code; general understanding of data types (string, int, etc.). Writing a test for Django code.




Harder tasks:
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.
* 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'll need (to have, or to learn): General familiarity with Windows and git.


* 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.


* http://openhatch.org/bugs/issue71 -- add support to the site for Gravatars.
Shauna added (integrated these when the above are checked):
** Skills you'll need (to have, or to learn): Sizeable understanding of Django, user profile photos, and the (free of cost) Gravatar online service.


Other tasks:

The following issues are not bugs in the openhatch.org website; they're issues in the openhatch.org ''wiki'', our collaborative documentation area. Note that they're on a separate GitHub project called ''open-source-comes-to-campus'', which happens to be related to the event you are at!

Skills required for this:
* Following instructions on a wiki page; taking screenshots on your own computer. Optional: requesting admin access to the wiki, in order to be able to upload files.


* 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).
* 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).
Line 96: Line 155:


* [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?

= MediaWiki =

MENTOR: Mark (marktraceur on Freenode)

Temporary IRC channel for this event: #openhatch-mediawiki

Description: MediaWiki is a free software open source wiki package written in PHP, originally for use on Wikipedia. It is now also used by several other projects of the non-profit Wikimedia Foundation and by many other wikis, including this website, the home of MediaWiki.

Resources:
* [https://www.mediawiki.org/wiki/How_to_become_a_MediaWiki_hacker Getting started guide]

Tasks:
* [http://etherpad.wikimedia.org/p/osctc-depaul-2014-10-18 Tasks that Mark can help with are here]
* [http://www.mediawiki.org/wiki/How_to_contribute A greater variety of tasks, and the Wikimedia contributor portal, are here].

Latest revision as of 15:30, 18 October 2014

Hi! You've reached the "contributions workshop" part of the event - congratulations!

This page exists to provide you with some small tasks to get you 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.

Make sure you contact that maintainer before getting started! They will be listed under "mentor" and will be available either in-person at your event or via IRC.

If you don't want to work on these particular projects, that's okay. There's a few other things you can try:

Newcomer tasks are kinds of tasks that are relatively easy for newcomers to perform, since they don't require a ton of experience either with the project or with FOSS at large. Despite this, these tasks are all really useful for most projects! And you can do them for any project. These tasks are:

Recommended projects: These are projects with great communities that have good getting started instructions. They're not affiliated with this event, but they're likely to welcome you with open arms.

Finding a Project: If you want to find your own projects and your own tasks, try going through this exercise.

WelcomeBot

MENTOR: Shauna (shauna or shauna_ on Freenode)

Temporary IRC channel for this event: #openhatch-bots

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:

Tasks:

  • Add rules to catch unidentified nicks: When you join an IRC network, you pick a nickname or nick. If you want to keep the same nick forever, you can register it the network and set a password. Then, each time you join, you "identify" to the network by telling them the password. Simple, right? If you don't identify, your IRC client may automatically change your nick slightly, for instance by adding a trailing underscore. We want WelcomeBot to understand that user and user_ and user__ are all the same person. We've found some of the rules, but not all of them. Can you add another rule?
  • Fix docs to specify what version of Python you need: Our docs currently do not specify that the bot does not work with Python 3. Can you update our docs to fix this? A good, simple task to practice using git.
  • WelcomeBot replies to PMs in #openhatch always: When someone private messages the bot, it responds in the channel. Can you fix this so that the bot responds on the channel when it's messaged on the channel and privately when it's messaged privately? There's a pull request already with a fix but it was written before WelcomeBot was refactored. You can use the PR as inspiration to make this fix.
  • Bug when running WelcomeBot on the Mozilla server: Can you reproduce this bug by trying to run WelcomeBot on the Mozilla network (as opposed to Freenode)?
  • Unnecessary file in the repository: Can you get rid of this unneeded file? A good, simple task for folks looking to practice with git/github.
  • Test our docs: Our documentation currently includes instructions for setting up the bot to run indefinitely. Can you try to follow the docs and see if they're missing information?
  • Make function arguments keyword arguments: Helps improve readability. A good task to do while reading through the code and trying to figure out how it works.

Harder tasks that may still be fun:

Merge Stories

MENTOR: Shauna (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!

OpenHatch

MENTOR: Asheesh (paulproteus on #openhatch on Freenode), and probably others on #openhatch on Freenode.

Temporary IRC channel for this event: #openhatch-main

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.


  • https://github.com/openhatch/oh-mainline/issues/731 -- this requires looking at the bug, and seeing you also experience the bug, and then posting a note on the bug indicating if you do or don't experience the bug. If we're all lucky, the bug has gone away, and you can leave a note indicating that it can be closed! If not, then you can help us prioritize it by indicating that the problem remains.
    • Skills you'll need (to have, or to learn): Using websites; leaving a comment on GitHub.



  • https://github.com/openhatch/oh-mainline/issues/1446 -- Some of the images on website need ALT text added. The bug covers this and one other accessibility-related issue.
    • Skills you'll need (to have, or to learn): Understanding the purpose of ALT text in images; understanding the notion of accessibility. Finding and editing the templates that power the OpenHatch website.



  • https://github.com/openhatch/oh-mainline/issues/1443 -- Change some Python code to fix our robots.txt file, which recently removed the OpenHatch website from search indexes!
    • Skills you'll need (to have, or to learn): General understanding of the notions of web robots & robots.txt rules. Tracing through a urls.py file to find the right file to edit; writing Python/Django code. Preferably, writing a test for Django code.


  • https://github.com/openhatch/oh-mainline/issues/1448 -- fix some Python code to request a URL with the right User-Agent header, so that the site does not block our request.
    • Skills you'll need (to have, or to learn): Reading Python code. Understanding the idea of a User-Agent header. Modifying Python code.


  • https://github.com/openhatch/oh-mainline/issues/1369 -- Fix a CSS alignment issue, where some boxes are about 20 pixels mis-aligned with other boxes, on the homepage.
    • Skills you'll need (to have, or to learn): Visually identifying layout problems. Finding and modifying CSS files.


  • https://github.com/openhatch/oh-mainline/issues/1437 -- For pages that do not have content that fills them entirely, the footer does not stick to the bottom of the page. It could be fixed with a bit of CSS.
    • Skills you'll need (to have, or to learn): Visually identifying layout problems. Finding and modifying CSS files.


  • https://github.com/openhatch/oh-mainline/issues/1332 -- Fix a data validation problem, where we try to convert a string to an integer and crash when we do not succeed.
    • Skills you'll need (to have, or to learn): Reading & writing Python code; general understanding of data types (string, int, etc.). Writing a test for Django code.


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'll need (to have, or to learn): General familiarity with Windows and git.


  • http://openhatch.org/bugs/issue71 -- add support to the site for Gravatars.
    • Skills you'll need (to have, or to learn): Sizeable understanding of Django, user profile photos, and the (free of cost) Gravatar online service.


Other tasks:

The following issues are not bugs in the openhatch.org website; they're issues in the openhatch.org wiki, our collaborative documentation area. Note that they're on a separate GitHub project called open-source-comes-to-campus, which happens to be related to the event you are at!

Skills required for this:

  • Following instructions on a wiki page; taking screenshots on your own computer. Optional: requesting admin access to the wiki, in order to be able to upload files.
  • 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?

MediaWiki

MENTOR: Mark (marktraceur on Freenode)

Temporary IRC channel for this event: #openhatch-mediawiki

Description: MediaWiki is a free software open source wiki package written in PHP, originally for use on Wikipedia. It is now also used by several other projects of the non-profit Wikimedia Foundation and by many other wikis, including this website, the home of MediaWiki.

Resources:

Tasks: