Intro Project Identification Activity
|Title||Intro Project Identification Activity|
|Overview||Learners will gain an understanding of the resources available for identifying possible FOSS project to which to contribute as well as some of the key success factors that characterize projects that more easily support student participation.|
|Learning Objectives||Ability to: 1) Locate a FOSS project on SourceForge and Ohloh, 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.|
Much of the software students work on is quite small. FOSS projects provide an opportunity to start to develop some skills at approaching a larger project, starting to find your way around it, and starting to assess it. There is 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). The list of most commonly used forges includes:
- Sourceforge.net - Web platform that supports the storage and development of over 324,000 FOSS projects.
- Launchpad.net - Web platform that supports the storage and development of over 31,541 FOSS projects. Based on the bazaar version control system.
- GitHub.com Online project hosting using Git. Includes source-code browser, in-line editing, wikis, and ticketing.
- Gitorious.org Offers a project hosting solution and an open source graphical interface for git repositories.
In addition to these forges, Ohloh.net provides information on a variety of FOSS projects:
- Ohloh.net - Public directory of FOSS projects. Keeps track of statistics about projects such as programming languages, LOC, commits over time, etc.
For this assignment, you will go look at a particular FOSS project and gather some facts about it. The goal isn’t for you to understand the project in detail, but rather for you to get some feel for the scale of the project, and a bit of understanding about how the project operates from a developers perspective. To make things interesting, you'll look at two projects so that you have some point of comparison. The two we'll use are VUFind and Mifos
Start by investigating either Mifos or VUFind. Try to approach the project as someone interested in helping with the project (as a developer, documenter, tester, etc). See what you can learn from that perspective. In particular, try to answer the questions below:
- How many people are working on the project?
- How active is the project?
- How big is the user base for the project?
- Who are the main managers of the project? The committers?
- How mature is the project?
- What are the languages used in the project?
- What is the size of the code base? How well commented is it?
- What is the pattern of commits over the past 3, 6, 9 and 12 months?
- Are there clear starting points for someone interested in helping with the project?
- Are there usable technical documents that describe the project (e.g., functional requirements, design documents, installation documentation, etc.)?
- How are bugs and feature requests tracked? Are there a lot of open items? Are they being worked on? Are issues being addressed?
- What’s the business model? How is all this happening as “free and open source”?
- Are there instructions to support easy download and install of this product?
- How do the developers communicate with each other? What channels or tools are available within the project?
If you have time, investigate the second project and compare it to the first.
Wiki posting describing your explorations of forges and Ohloh
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?
|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 - https://www.acm.org/education/CS2013-final-report.pdf|
|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||Assessing a Project|
|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