FOSS Field Trip (Activity)

(Difference between revisions)
Jump to: navigation, search
m (hide table of contents)
m (Added category)
Line 134: Line 134:
[[Category: Learning_Activity]]
[[Category: Learning_Activity]]
[[Category: CS Principles]]
[[Category: CS1]]

Revision as of 19:15, 7 August 2016

Title FOSS Field Trip Activity - 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.
Prerequisite Knowledge None.
Learning Objectives Ability to: 1) Locate a FOSS project on SourceForge and OpenHub, 2) Describe basic features of the project including start date, programming language, code size, and recent activity


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


Please keep notes on your answers to the following questions. You will use them as part of the Project Selection Activity and Blogging Activity which you will work on next.

Part 1 - SourceForge

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

Do the following:

  1. Go to:
  2. Use the Search feature in the center of the screen 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. How many different programming languages are used to write software in this category?
  5. List the top four programming languages used to write programs in this category.
  6. Identify the meaning of each of the statuses below:
    1. Inactive
    2. Mature
    3. Production/Stable
    4. Beta
    5. Alpha
    6. Pre-Alpha
    7. Planning
  7. Compare two projects in this category that have two different statuses. Describe the differences between the statuses.
  8. Which projects are the most used? How do you know?
  9. Pick a project in your category. 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?

Part 2 - OpenHub

In this activity, you will use OpenHub to gather information about a Humanitarian Free and Open Source project named OpenMRS.

Explore OpenMRS:

  1. Go to:
  2. In the upper-most search space, enter: OpenMRS
  3. Click on the OpenMRS logo or link.
  4. What is the main programming language used in OpenMRS?
  5. How many lines of code does OpenMRS have?
  6. Click on "User & Contributor Locations" (lower right side of screen). List some of the locations of the developers.
  7. Go back to the main OpenMRS page. Click on the "Languages" link. How many languages is OpenMRS written in?
  8. What language has the second highest number of lines of code?
  9. Of the programming languages used in OpenMRS , which language the has the highest comment ratio?
  10. Click on the “Contributors” link under "SCM Data" menu.
  11. What is the average number of contributors in the last 12 months?
  12. Scroll down to the Top Contributors section. How long have the top three contributors been involved in the project?
  13. 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".


Wiki posting describing your explorations of forges and OpenHub


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


What should the instructor know before using this activity?

What are some likely difficulties that an instructor may encounter using this activity?

Additional Information:

ACM Knowledge Area/Knowledge Unit What ACM Computing Curricula 2013 knowledge area and units does this activity cover? ACM_Body_of_Knowledge
ACM Topic What specific topics are addressed? The Computing Curriucula 2013 provides a list of topics -
Level of Difficulty Is this activity easy, medium or challenging?
Estimated Time to Completion 30-60 minutes
Materials/Environment Access to Internet/Web and web browser.
Author Who wrote this activity?
Source Detailed FOSS Field Trip
License Licensed CC BY-SA

Suggestions for Open Source Community:

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

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

CC license.png

Personal tools
Learning Resources
HFOSS Projects