FOSS Field Trip (Activity)

From Foss2Serve
Revision as of 19:18, 11 February 2017 by Lori.postner (Talk | contribs)
Jump to: navigation, search


Title

FOSS Field Trip - Browsing a Forge

Overview

Learners will gain an understanding of the breadth of available FOSS projects. Learners will also gain an understanding of the identifying characteristics of FOSS projects including pattern of contributions, patterns of commits, programming languages used, and more.

Prerequisites

None.

Learning
Objectives
After successfully completing this activity, the learner should be able to:
  1. Locate a FOSS project on GitHub and OpenHub,
  2. Describe basic features of the project including programming language, code size, and recent activity.
Process Skills
Practiced
  1. Critical Thinking
  2. Information Processing


Background

Open source pre-dates the Web, but the Web and Internet connectivity have been essential for the blossoming of FOSS in recent years. FOSS projects need to be available on the Web to ever gain much attention. There are a growing number of sites (often called “forges”) that provide a home and visibility to FOSS projects (although many of the biggest projects live on their own sites).

Directions

POSSE Attendees: Please keep notes on your answers to the following questions. You will use them as part of Evaluate a Project (Activity) which you will work on next.

Part 1 - GitHub

One of the best known of these FOSS project hosting sites is GitHub. In this activity you will explore projects in GitHub to gain an understanding of the key characteristics of a FOSS project.

Do the following:

  1. Go to: https://github.com/
  2. Use the Search feature on the top right next to the Log In button to view applications in an area of interest to you (e.g., gaming, sports, music, computing, etc.).
  3. How many projects are there in this category?
  4. List the top four programming languages used to write programs in this category.
  5. Pick a project in your category by clicking on the repository. Answer the questions below:
    1. What does it do?
    2. What programming language is the project written in?
    3. Who is likely to use the project? How do you know this?
    4. When was the most recent change made to the project?
    5. How active is the project? How can you tell?
    6. How many committers does the project have?
    7. Would you use the project? Why or why not?
  6. Create a new search for humanitarian. Answer the questions below:
    1. What is the name of the top project?
    2. When was it last updated?
    3. How many forks has it had?

Keep this browser window open while you move onto Part 2.


Part 2 - OpenHub

In this activity, you will use OpenHub to search for humanitarian projects.

Searching OpenHub:

  1. Go to: https://www.openhub.net/
  2. In the upper-most search space, enter: humanitarian
  3. Notice that for many of the projects it says that the Activity is not Available while others are listed as Inactive or New Projects. Locate the Shelter Database project and click on it.
  4. How many contributors does it have?
  5. When was the most recent commit?
  6. Where is the code located?
  7. Open the Homepage for the project in another browser window.
  8. Click on the link to download the code. How does the information on this page compare to what you saw on OpenHub?
  1. For the OpenMRS Core project, identify when the data in OpenHub was last analyzed and the last commit date. How much difference is there?
  2. What is the main programming language used in OpenMRS Core?
  3. How many lines of code does OpenMRS Core have?
  4. Click on the OpenMRS Core logo or link in upper left. (Be careful not to click on the OpenMRS link associated with the "claimed by" as this brings you to the larger OpenMRS project page.)
  5. Click on "User & Contributor Locations" (lower right side of screen). List some of the locations of the developers.
  6. Go back to the main OpenMRS page. Click on the "Languages" link. How many languages is OpenMRS written in?
  7. What language has the second highest number of lines of code?
  8. Of the programming languages used in OpenMRS , which language the has the highest comment ratio?
  9. Click on the “Contributors” link under "SCM Data" menu.
  10. What is the average number of contributors in the last 12 months?
  11. Scroll down to the Top Contributors section. How long have the top three contributors been involved in the project?
  12. Use the information on the project summary page to compute the 12-month average of commits. What is the average number of commits over the past 12 months?.
  • If you would like to see a project that has had recent student activity, repeat the above with "MouseTrap".

Part 3: Comparing a Project on GitHub and OpenHub

Deliverables

POSSE: Please post this on your foss2serve user wiki page.

Students: Wiki posting describing your explorations of forges and OpenHub

Notes for Instructors

The remaining sections of this document are intended for the instructor. They are not part of the learning activity that would be given to students.

Assessment

  • How will the activity be graded?
  • How will learning will be measured?
  • Include sample assessment questions/rubrics.
Criteria Level 1 (fail) Level 2 (pass) Level 3 (good) Level 4 (exceptional)
The purpose of the project
Why the project is open source

Comments

  • What should the instructor know before using this activity?
  • What are some likely difficulties that an instructor may encounter using this activity?

Variants and Adaptations:

POGIL-style combined FOSS Field Trip and Project Evaluation used by Chris Murphy in his FOSS Course, UPenn, Murphy.

ACM BoK
Area & Unit(s)
ACM BoK
Topic(s)
Difficulty
Estimated Time
to Complete

30-60 minutes

Environment /
Materials

Access to Internet/Web and web browser.

Author(s)
Source

Detailed FOSS Field Trip

License

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

CC license.png


Suggestions for Open Source Community

Suggestions for an open source community member who is working in conjunction with the instructor.

Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox