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

From OpenHatch wiki
Content added Content deleted
imported>Shauna
No edit summary
imported>Shauna
No edit summary
Line 78: Line 78:


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

= 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:
* 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.
* Contact info: The #osm-dev IRC channel (on the OFTC network) includes many contributors. [http://wiki.openstreetmap.org/wiki/IRC Here's their page about IRC], including a webchat link you can use to connect to #osm-dev. The "Develop" page also links to a [http://lists.openstreetmap.org/listinfo/dev mailing list for developers].

Suggested tasks:

* '''Testing documentation''': OSM wants people to be able to easily use its freely-licensed data instead of using Google Maps data, so it has a website teaching people how to do this: [http://switch2osm.org/ Switch2OSM]. The author of the [http://switch2osm.org/loading-osm-data/ "Loading OSM data" article] (pnorman on IRC) would like feedback on this article! This article expects having access to an Ubuntu instance, and it is designed to be usable for anyone with basic Linux and PostGreSQL knowledge. You can write down comments about the article (and any difficulty you ran into while following it), such as in an Etherpad, and then send the link to pnorman in the #osm-dev IRC channel. If you don't already have convenient access to a computer or server running Ubuntu, you can try setting up a [http://aws.amazon.com/free/ free Amazon Web Services EC2 "microinstance"] to play with.
* '''Fixing frontend code''': [http://maproulette.org/ MapRoulette] is a fun tool that recommends map edits for you to make. The code is [https://github.com/osmlab/maproulette on GitHub here], with [https://github.com/osmlab/maproulette/issues issues listed here]. This issue looks like a good one to get started with fixing: [https://github.com/osmlab/maproulette/issues/224 "because we use element fadeouts quite a bit, we should probably disable buttons visually right when the user clicks them - right now there is no visual feedback when clicking a button, other than the dialog fading"].
* '''Verifying a reported frontend bug''': The [http://tasks.hotosm.org/ OSM Tasking Manager] also helps map editors find editing tasks to work on. The code is [https://github.com/hotosm/osm-tasking-manager on GitHub here], with [https://github.com/hotosm/osm-tasking-manager/issues?state=open issues listed here]. You could help the project by seeing if you can reproduce this reported bug: [https://github.com/hotosm/osm-tasking-manager/issues/195 "Seems when scrolling up or down with the mouse wheel within the embed map, it moves both the map scale and the webpage scrollbar"] - and then add more details to that bug in a comment.
* '''Changing frontend code''': The [http://davis.openhatch.org/ OpenHatch at UC Davis] page uses a Google Map - how about switching that to an OpenStreetMap instead? Here's some documentation for how to do this: [http://wiki.openstreetmap.org/wiki/Export#Embeddable_HTML "Embeddable HTML with an added Marker"]. The code is here: [https://github.com/oh-davis/oh-davis.github.io oh-davis.github.io].
* '''Writing user experience feedback''': Make an OpenStreetMap account and try making some map edits (such as correcting any incorrect streets or street names in your neighborhood), and write down notes on your thought process and any problems you encounter, especially parts of the interface you find confusing or frustrating. The default map editing tool is called [http://wiki.openstreetmap.org/wiki/ID iD], and you can [https://github.com/openstreetmap/iD/issues file bugs here]. If you don't know exactly what to report as a bug, you can also write about your experience on the OpenStreetMap website using the built-in [http://www.openstreetmap.org/diary "diary entry"] feature, and then other OpenStreetMap developers and users can read your feedback to help them figure out how to improve OpenStreetMap.

Revision as of 19:23, 17 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)

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. 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.
  • 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?

Harder tasks that may still be fun:

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.

  • 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.)
    • Skills you'll need (to have, or to learn): Reading CSS files; general understanding of web fonts.


Harder tasks:

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

Shauna added (integrated these when the above are checked):

  • 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?