FOSS Field Trip Activity V1

From Foss2Serve
Jump to: navigation, search


Title

Browsing a Forge & Community Census

Overview

Students will either (a) find a project on Sourceforge or Open HUB or (b) use an open source project that you have already found, and examine the "demographics" and structure of that project to better understand it.

Prerequisites

None.

Learning Objectives After successfully completing this activity, the learner should be able 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.
  3. Compare two similar FOSS projects based on same criteria.
  4. Demonstrate understanding of breadth of open source universe by either:
    1. naming at least 3 programming languages used in open source projects or (
    2. naming at least 3 different types of open source projects.
Process Skills Practiced


Background

Though open source pre-dates the Web, 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). These online directories of open source projects often provide not only the source, but also statistics about the project, such as number of contributors.

If your class is embedded with an open source project, you'll probably know all the answers to these questions already; however, you should ask the community if there is a single "map" of the community available online and, if not, would they like the one your class produces? (And if so, in what format?)

Directions

Part 1 - SourceForge

Perhaps best known of these FOSS 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: http://sourceforge.net/
  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 kinds of projects are there?
  5. How many different programming languages are used to write software in this category?
  6. List the top four programming languages used to write programs in this category.
  7. How many of the projects in this category are written in the programming language of your choice?
  8. 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
  9. Compare two projects in this category that have two different statuses. Describe the differences between the statuses.
  10. Which projects are the most used? How do you know?
  11. 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?
  12. Look for projects that have a humanitarian purpose. That is, projects for which the primary purpose is to provide some social benefit such as economic development, disaster relief, health care, ecology. Examples include Mifos, Sahana and OpenMRS.
  13. Find several additional examples of humanitarian FOSS projects.
  14. Pick one humanitarian FOSS and look at the data available about it.
  15. How would you decide whether it was worth using?
  16. How would you decide whether it was worth contributing to as an IT professional?


Part 2 - Open HUB

Comparison of Epiphany, Firefox and K-Meleon using Open HUB In this activity, you’ll explore some of the development characteristics of web browsers including the number of developers and the programming languages used in each.

Explore Epiphany:

  1. Go to: https://www.openhub.net/
  2. In the upper-most search space, enter: Epiphany
  3. Click on the Epiphany logo.
  4. What is the main programming language used in Epiphany?
  5. How many lines of code does Epiphany 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 Epiphany page. Click on the "Languages" link. What other languages is Epiphany written in?
  8. What language has the second highest number of lines of code?
  9. Of the programming languages used in Epiphany, which language is the most highly commented?
  10. Click on the “Contributors” link under "SCM Data" menu.
  11. How long have the top three contributors been involved in the project?


Explore Firefox:

  1. Go back to the Open HUB main page: https://www.openhub.net
  2. In the upper-most search space, enter: Firefox
  3. Click on the Firefox logo.
  4. What is the main programming language used in Firefox?
  5. How many lines of code does Firefox 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 Firefox page. Click on the "Languages" link. What other languages is Firefox written in?
  8. What language has the second highest number of lines of code?
  9. Of the programming languages used in Firefox, which language is the most highly commented?
  10. Click on the “Contributors” link under "SCM Data" menu.
  11. How long have the top three contributors been involved in the project?


Comparison of Epiphany, Firefox and K-Meleon

  1. Go back to the Open HUB main page: https://www.openhub.net
  2. Click on the “Compare Projects” link under the "Tools" menu at the top of the page.
  3. Enter Epiphany in the first column and select Epiphany browser.
  4. Once the information of Epiphany is displayed, enter Firefox in the second column.
  5. Repeat using K-Meleon in the third column.
  6. Which project has more developers?
  7. Which project is older?
  8. Which project has the largest number of developers in the past 12 months?
  9. Which project has the larger number of lines of code?

Deliverables

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

Wiki posting describing your explorations of forges and Openn HUB.


Assessment

Students should have answers to each of the questions posed above.

Comments

If your class is embedded with an open source project: Due to the uncontrolled nature of open source, it’s possible that your students will discover something your community didn’t know! For example, the community may have an official IRC channel (which they’ve listed on our project page), but your student may discover an unofficial or adhoc channel that’s used for community talk. This is not only OK, it’s really neat, and it’s a good opportunity for your students to start the process of giving back to the community by sharing the information they’ve found.

ACM Body of Knowledge
Area & Unit(s)
ACM Topic(s)
Level of Difficulty
Estimated Completion Time

30-60 minutes

Environment / Materials

Web browser, internet access.

Author(s)
Source

http://www.xcitegroup.org/softhum/doku.php?id=f:assignment_ossfieldtrip1detail

License

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

CC license.png


Suggestions for the Open Source Project

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

Things to think about / have answers for

  • What will your response be if the students discover something you didn’t know about?
  • Does your community already have a well-documented landscape (where things are), online?
  • If not, would it be helpful to you for the class to produce a “map” of what they have found? What format would make sense for that map?
Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox