FOSS Field Trip (Activity)

(Difference between revisions)
Jump to: navigation, search
Line 3: Line 3:
 
{{Learning Activity Overview
 
{{Learning Activity Overview
 
|title=
 
|title=
FOSS Field Trip - Browsing a Forge
+
FOSS Field Trip - Browsing for FOSS Projects
 
|overview=  
 
|overview=  
 
Learners will explore the breadth of available FOSS projects as well as differences between GitHub and OpenHub.
 
Learners will explore the breadth of available FOSS projects as well as differences between GitHub and OpenHub.
Line 20: Line 20:
 
FOSS predates the web, but the web is now essential for most FOSS projects.
 
FOSS predates the web, but the web is now essential for most FOSS projects.
 
People locate and access FOSS projects on the web, and FOSS communities collaborate on the web.
 
People locate and access FOSS projects on the web, and FOSS communities collaborate on the web.
Most FOSS projects use web-based collaborative tools to develop and share code and documentation,  
+
A FOSS project has a set of files (including source code, documentation, etc), usually organized into folders.
 +
Most FOSS projects keep the complete history of every file, to know what changes were made, by who, and when.
 +
The set of files and their history is called a '''repository''', or a '''repo''' for short.
 +
Most FOSS projects also use web-based collaborative tools to develop and share code and documentation,  
 
track who does what, and discuss questions, problems, and suggestions.
 
track who does what, and discuss questions, problems, and suggestions.
 
A software platform with these tools is called a '''forge'''.
 
A software platform with these tools is called a '''forge'''.
Line 26: Line 29:
 
and other forges host ''many'' independent FOSS projects.
 
and other forges host ''many'' independent FOSS projects.
 
Well known forges include [https://github.com GitHub], [https://sourceforge.net SourceForge], and [https://bitbucket.org Bitbucket].
 
Well known forges include [https://github.com GitHub], [https://sourceforge.net SourceForge], and [https://bitbucket.org Bitbucket].
Note that '''forge''' can also refer to the software used by such sites;
+
Note that '''forge''' also refers to the software used by such sites;
 
for example, [https://gitlab.com GitLab], [https://redmine.org RedMine], and [https://trac.edgewall.org Trac]
 
for example, [https://gitlab.com GitLab], [https://redmine.org RedMine], and [https://trac.edgewall.org Trac]
 
are FOSS forges that anyone can install and modify, unlike [https://github.com GitHub].
 
are FOSS forges that anyone can install and modify, unlike [https://github.com GitHub].
 +
  
 
=== Directions ===
 
=== Directions ===
Line 38: Line 42:
 
In Part 1 you will search '''GitHub''' for projects. Do the following:
 
In Part 1 you will search '''GitHub''' for projects. Do the following:
 
# Go to: https://github.com
 
# Go to: https://github.com
# Search for ''education'' projects. To do this, find the search box near the top of the page, type "education", and press enter or click on Search.
+
# Search for ''education'' projects. To do this, find the search box near the top of the page, type "education", and press enter or click on the search icon.
## How many repositories are found? {{Answer|25,000 (as of 2019-01)}}
+
## How many ''repositories'' are found? {{Answer|~25,000 (as of 2019-01)}}
## Click on the first project to see its overview page. Click on ''Graphs'' (''Insights''), then ''Commits''. What information is shown? {{Answer|A bargraph showing the number of commits each week for the last year.}}
+
## How many of these repos use the JavaScript language? (Hint: Look for a summary table.) {{Answer|~3000 (as of 2019-01)}}
 +
## In the first page of results, which repo was updated ''most'' recently? Which was updated ''least'' recently? {{Answer|Answers will vary, and may range from a few hours ago to several years ago.}}
 +
# Many repos are small and inactive. To see the most active repos, find the ''Sort'' menu and sort by ''most stars''.
 +
## Which ''education'' project has the most stars? How many stars? {{Answer|freeCodeCamp with ~300k (as of 2019-01)}}
 +
# Click on this repo to see its overview page. Scroll down past the list of files to see a description.
 +
# In GitHub, each reported problem or suggestion is an '''issue''', and the code and documentation to fix an issue is a '''pull request'''. Each issue and pull request is either ''open'' (in progress) or ''closed'' (done). (You will learn more about this later.)
 +
## At the top of the overview page, click on the ''Issues'' tab to see a list. How many issues are ''open''? How many are ''closed''? {{Answer|~350 and ~13k for freeCodeCamp (as of 2019-01)}}
 +
## Click on the ''Pull requests'' tab to see a list. How many pull requests are ''open''? How many are ''closed''? {{Answer|~5000 and ~16k for freeCodeCamp (as of 2019-01)}}
 +
## Click on the ''Insights'' tab. What information is shown? {{Answer|Bargraphs of issues, pull requests, and commits this week.}}
 +
## Within ''Insights'', go to the left menu and click on ''Commits''. What information is shown? {{Answer|A bargraph showing the number of commits each week for the last year.}}
 
# Go back to the main GitHub page and search for ''humanitarian'' projects.
 
# Go back to the main GitHub page and search for ''humanitarian'' projects.
## How many repositories are found?
+
## How many repos are found?
## Locate the HTBox/crisischeckin project. When was the last update?
+
## Find ''HTBox/crisischeckin''. When was the last update?
 
# Search for ''disaster management'' projects.
 
# Search for ''disaster management'' projects.
 
## How many repositories are found?
 
## How many repositories are found?

Revision as of 17:32, 20 January 2019


Title

FOSS Field Trip - Browsing for FOSS Projects

Overview

Learners will explore the breadth of available FOSS projects as well as differences between GitHub and OpenHub.

Prerequisites

None.

Learning
Objectives
After successfully completing this activity, the learner should be able to:
  1. Search for FOSS projects on both GitHub and OpenHub.
  2. Use and describe different features of GitHub and OpenHub.
Process Skills
Practiced
  1. Critical Thinking
  2. Information Processing


Background

FOSS predates the web, but the web is now essential for most FOSS projects. People locate and access FOSS projects on the web, and FOSS communities collaborate on the web. A FOSS project has a set of files (including source code, documentation, etc), usually organized into folders. Most FOSS projects keep the complete history of every file, to know what changes were made, by who, and when. The set of files and their history is called a repository, or a repo for short. Most FOSS projects also use web-based collaborative tools to develop and share code and documentation, track who does what, and discuss questions, problems, and suggestions. A software platform with these tools is called a forge. Some forges support one FOSS project (usually a large project), and other forges host many independent FOSS projects. Well known forges include GitHub, SourceForge, and Bitbucket. Note that forge also refers to the software used by such sites; for example, GitLab, RedMine, and Trac are FOSS forges that anyone can install and modify, unlike GitHub.


Directions

POSSE Attendees: Please post your answers to the following questions on your foss2serve wiki.

Part 1 - GitHub

In Part 1 you will search GitHub for projects. Do the following:

  1. Go to: https://github.com
  2. Search for education projects. To do this, find the search box near the top of the page, type "education", and press enter or click on the search icon.
    1. How many repositories are found?
    2. How many of these repos use the JavaScript language? (Hint: Look for a summary table.)
    3. In the first page of results, which repo was updated most recently? Which was updated least recently?
  3. Many repos are small and inactive. To see the most active repos, find the Sort menu and sort by most stars.
    1. Which education project has the most stars? How many stars?
  4. Click on this repo to see its overview page. Scroll down past the list of files to see a description.
  5. In GitHub, each reported problem or suggestion is an issue, and the code and documentation to fix an issue is a pull request. Each issue and pull request is either open (in progress) or closed (done). (You will learn more about this later.)
    1. At the top of the overview page, click on the Issues tab to see a list. How many issues are open? How many are closed?
    2. Click on the Pull requests tab to see a list. How many pull requests are open? How many are closed?
    3. Click on the Insights tab. What information is shown?
    4. Within Insights, go to the left menu and click on Commits. What information is shown?
  6. Go back to the main GitHub page and search for humanitarian projects.
    1. How many repos are found?
    2. Find HTBox/crisischeckin. When was the last update?
  7. Search for disaster management projects.
    1. How many repositories are found?

Keep this browser tab open while you move on to Part 2.

Part 2 - OpenHub

In Part 2, you will search OpenHub for projects. Do the following:

  1. Go to: https://www.openhub.net
  2. In the search box, type "education".
    1. The listing shows the number of pages, not the number of projects. By default, each page shows 10 projects. How many projects were found?
    2. Click on KDE Education (near the top of the list), and then click on Code Locations (on the right side of KDE Education).
    3. The listing shows repository locations. Are any of them on GitHub?
    4. Go back to KDE Education, and click on Similar Projects (below Code Locations). How many similar projects are listed?
    5. Scroll down. What info does OpenHub provide about each similar project?
  3. Search for both "humanitarian" and "disaster management".
    1. How many projects did each search return?
    2. Some projects show 'Activity Not Available'. Click on the pyramid icon and read the info provided. Why do so many projects show 'activity not available'?
  4. Click on Organizations (near the top of the page).
    1. What info is shown?
  5. Search for "OpenMRS".
    1. When was the last commit for OpenMRS Core?
  6. Go back to GitHub and search for OpenMRS Core.
    1. When was the last commit?
    2. Why do you think these sites have different info?
  7. What are some benefits & drawbacks of searching for a project in both GitHub & OpenHub?

Deliverables

POSSE: Please post the answers to these questions on your foss2serve user wiki page.

Students: Wiki posting describing your explorations of GitHub 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