Difference between pages "FOSS Field Trip (Activity)" and "Evaluate a Project (Activity)"

From TeachingOpenSource
(Difference between pages)
m (77 revisions imported)
 
 
Line 1: Line 1:
__NOTOC__
== Project Evaluation ==


{{Learning Activity Overview
=== Preparation: ===
|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.
|objectives=
# Search for FOSS projects on both GitHub and OpenHub.
# Use and describe different features of GitHub and OpenHub.
|process skills=
# Critical Thinking
# Information Processing
}}


=== Background ===
{| border="1"
|-
|'''Description''' || 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. 
|-
|'''Source''' ||
|-
|'''Prerequisite Knowledge''' || Completion of Browsing a Forge Activity or understanding of SourceForge and OpenHub; Understanding of the course in which students will be participating in an HFOSS project.
|-
|'''Estimated Time to Completion''' || 60-90 minutes
|-
|'''Learning Objectives''' ||Ability to utilize the rubric to identify likely HFOSS projects.
|-
|'''Materials/Environment''' || Access to Internet/Web and web browser, [http://xcitegroup.org/softhum/lib/exe/fetch.php?media=g:evalfossprojects.doc SIGCSE paper on evaluating FOSS projects],  [http://www.foss2serve.org/images/foss2serve/0/0c/Blank_Evaluation_Template.xlsx Blank evaluation template]
|-
|'''Additional Information''' || [http://www.foss2serve.org/index.php/HFOSS_Projects List of HFOSS projects]
|-
|'''Rights''' || Licensed CC BY-SA
|-
|'''Turn In''' || Wiki posting of evaluation of a project from the [http://www.foss2serve.org/index.php/HFOSS_Communities list of HFOSS projects]
|}
 
=== Background: ===
This activity is intended to give you an overview of what to consider when evaluating an HFOSS project for student participation and for you to gain experience using the rubric.


FOSS predates the web, but the web is now essential for most FOSS projects.
=== Directions: ===
People locate and access FOSS projects on the web, and FOSS communities collaborate on the web.
====Part 1-Learn about the rubric====
A FOSS project has a set of files (including source code, documentation, etc), usually organized into folders.
#[http://youtu.be/MAGet2D5o2c Watch the video describing mission critical criteria]
Most FOSS projects keep the complete history of every file, to know what changes were made, by who, and when.
#[http://youtu.be/e4lnIXjqczU Watch the video describing secondary criteria]
The set of files and their history is a '''repository''', or a '''repo''' for short.


Most FOSS projects also use web-based collaborative tools to develop and share code and documentation,
====Part 2-Walk through of an evaluation of the OpenMRS project - Use the [http://www.foss2serve.org/images/foss2serve/0/0c/Blank_Evaluation_Template.xlsx blank evaluation template] to record your results and the rationale for your scoring. ====
track who does what, and discuss questions, problems, and suggestions.
:'''Mission Critical criteria-Viability''' Recall that each component is given a score from 1 to 3, where 3 is the best.
A software platform with these tools is a '''forge'''.
Some forges support ''one'' FOSS project (usually a ''large'' project),
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].
Note that the software used by such sites is also called a '''forge''';
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].


This activity also uses '''OpenHub''' (formerly '''Ohloh'''),  
#Size/Scale/Complexity - An ideal project should be neither overly simple nor overly complex.  One heuristic to use is the number of contributors as an indicator of project complexity.
which is ''not'' a forge, but mines data from forges to analyze project activity.
##Go to the OpenMRS web page (http://openmrs.org/), scroll to the bottom and choose ''OpenMRS Wiki'' (under ''Other OpenMRS sites''). From the menu on the left expand the ''Developer Guide'' and the ''Getting Started as a Developer'' options and then choose ''Technical Overview''. From examination of the technology stack, the architecture looks modular and further search shows it is documented elsewhere on the site. 
##Based upon the results from OpenHub (gathered in the FOSS Field Trip activity) and the information from the OpenMRS Technical Overview page, what would you score this project for size/scale/complexity?
#Activity - To support student participation a project should be reasonably active.  Number of commits can be used as an indicator of activity. 
##Based upon the number of commits (gathered in the FOSS Field Trip activity) how would you rate the activity of the project?
#Community - A suitable project has an active user community.  While it is difficult to quantitatively evaluate the activity of a user community, some indicators include a regular history of project downloads and documentation updates over time, current activity on user mailing lists, and testimonials on the project web site.
##Examine download activity
###Go to [http://sourceforge.net/ sourceforge.net] and enter OpenMRS into the search box. 
###Choose OpenMRS from the search results.
###Click on the number of downloads that is listed on the project page.
###Change the date range to give a graph of downloads over the last year. 
##OpenMRS has begun migrating legacy mailing list activity to OpenMRS Talk. Examine [https://talk.openmrs.org/ discussion] activity
##Examine the [https://botbot.me/freenode/openmrs/ IRC logs]
##Based upon the download history, discussion activity, and IRC activity, what score would you give this project for community?


=== Directions ===


* ''POSSE Attendees'': Post your answers on your foss2serve wiki page.
:'''Mission Critical criteria-Approachability'''
* ''Students'': Ask your instructor how to report your answers.


==== Part 1 - GitHub ====
:Here you are evaluating a project's on-ramp to contribution, scoring as follows:


In Part 1 you will search '''GitHub''' for projects. Do the following:
::1-Insufficient-Few or no pointers on how to become involved.
# Open a new browser tab and go to: https://github.com
# 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 for "education"? {{Answer|~25,000 (as of 2019-01)}}
## How many of these repos use the JavaScript language? (Hint: Find 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 ''Sort'' and pick ''most stars''.
## Which ''education'' repo has the most stars? How many? {{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 project description.
# In GitHub, each reported problem or suggestion is an '''issue''', the code and documentation to fix an issue is a '''pull request''', and a pull request that is accepted and added to a repo is a '''commit'''. Each issue and pull request is either ''open'' (in progress) or ''closed'' (done). (You will learn more about all of this later.)
## At the top of the overview page, click on the ''Issues'' tab. You should see a list. How many issues are ''open''? ''closed''? {{Answer|~350 and ~13k for freeCodeCamp (as of 2019-01)}}
## Click on the ''Pull requests'' tab. You should see a list. How many pull requests are ''open''? ''closed''? {{Answer|~5000 and ~16k for freeCodeCamp (as of 2019-01)}}
## Click on the ''Insights'' tab. What do you see? {{Answer|Bargraphs of issues, pull requests, and commits this week.}}
## Within ''Insights'', go to the left menu and click on ''Commits''. What do you see? {{Answer|A bargraph showing the number of commits each week for the last year.}}
# Go back to the main GitHub page.
## Search for "humanitarian" projects. How many repos are found? {{Answer|~350 (as of 2019-01)}}
## Find ''HTBox/crisischeckin''. How many stars does it have? What language(s) does it use? When was the last update? {{Answer|~200 stars, C#, date will vary (as of 2019-01)}}
## Search for "disaster management", or terms that interest you. How many repos are found? {{Answer|Varies}}


Keep the GitHub browser tab open as you move on to Part 2.
::2-Sufficient-Suggestions about how to get involved other than contributing money with accompanying high-level instructions.


==== Part 2 - OpenHub ====
::3-Ideal-Obvious link to get started, list of suggestions for things to do and detailed instructions.


In Part 2, you will search '''OpenHub''' for projects. Do the following:
#Examine project on-ramp.
# Open a new browser tab and go to: https://www.openhub.net
##Link to getting started - The website has a [http://openmrs.org/help/ Get Involved page] with links to ways you can contribute and share your ideas.
# In the search box, type "education".
##Each of the links (Develop, Test, Document, Translate) contain more detailed information about what and how you can contribute.  
## The listing shows the number of ''pages'', not the number of ''projects''. By default, each page shows 10 projects. How many ''projects'' were found? {{Answer|~230 pages -> ~2300 projects (as of 2019-01)}}
##The [https://wiki.openmrs.org/display/docs/Getting+Started+as+a+Developer Getting Started as a Developer] page contains a detailed list of how to get started including a list of introductory issues.
# Many projects are small and inactive. To see the most active projects, find ''Sort by'' and pick ''Activity Level''.
##Detailed instructions - The ]https://wiki.openmrs.org/display/docs/Developer+Guide Developer Guide] contains instructions and information in many areas including process, architecture, tools, and developer documentation.
## Which (if any) of the most active projects do you recognize? {{Answer|Varies, maybe Moodle, Sakai, DSpace.}}
##Based upon the resources you looked at, how would you rate the approachability of the OpenMRS project?  
# In the ''Sort by'' text box pick ''Relevance''. If necessary, go to the bottom of the screen and advance to pages 2, 3, ... in the listing until you find ''KDE Education'', and click on it.
## From the ''KDE Education'' page, click on ''Code Locations'' (on the right side). Are any of the repo locations on GitHub? {{Answer|No, all are on kde.org (as of 2019-01)}}
## Go back to ''KDE Education'', and click on ''Similar Projects'' (below ''Code Locations''). How many similar projects are listed? {{Answer|~10 (as of 2019-01)}}
## This page contains general information for the similar projects. What info is shown for each? {{Answer|name, activity level, language, license (as of 2019-01)}}
# Repeat your OpenHub search for both "humanitarian" and "disaster management", or terms that interest you.
## How many projects did each search return? {{Answer|Varies. ~30 for humanitarian, ~30 for disaster mgmt (as of 2019-01)}}
# Some projects show "Activity Not Available". Click on the pyramid icon and read the page shown. Why is "activity not available"? {{Answer|OpenHub could not access or analysis project data.}}
# Click on ''Organizations'' (near the top of the main OpenHub page).
## What info is shown? {{Answer|Most active orgs, newest orgs, stats by sector, etc (as of 2019-01)}}
# From ''Organizations'', search for "OpenMRS".
## Do the search results show projects or organizations? {{Answer|Organizations}}
## Find the project "OpenMRS Core". When was the last commit? {{Answer|Varies. 11 months ago (as of 2019-01)}}
# Go back to '''GitHub''' and search for the project "OpenMRS Core".  When was the last commit? {{Answer|Varies. 4 days ago (as of 2019-01)}}
## Why do you think these sites have different info? {{Answer|OpenHub might be looking in the wrong place, or misreading data.}}
# What are some benefits & drawbacks of searching for a project in both GitHub & OpenHub? {{Answer|???}}


=== Deliverables ===


* ''POSSE Attendees'': Please post the answers to these questions on your foss2serve user wiki page.
:'''Mission Critical criteria-Suitability'''
* ''Students'': Wiki posting describing your explorations of GitHub and OpenHub.
#Appropriate Artifacts - Since evaluation is dependent on class objectives, in this example we'll assume the objective is to learn the process of working in an authentic development environment by contributing bug fixes to OpenMRS.
##Opportunities to contribute bug fixes - Examine the issues found at the bottom of the [https://wiki.openmrs.org/display/docs/Getting+Started+as+a+Developer getting started as a developer page].  Note that there are two categories of introductory issues. How many are listed in each category?
##Documentation on how to contribute bug fixes - On the [https://wiki.openmrs.org/display/docs/Tickets Tickets page] there is information on how to create and work on an issue, including links to coding standards and the code submission process. Review this information.
##Based upon the number of bugs suitable for students to tackle and information on the process of how to submit bug fixes, how would you rate OpenMRS?
#Contributor Support - Does the project have a high volume of guidance to help students as they learn?
##Communication Tools - Communication tools are directly available from any of the Wiki Spaces (Documentation, Projects, Resources). The [https://wiki.openmrs.org/display/RES/Home Resources page] contains links to OpenMRS Talk and IRC Chat, as well as links to group meetings (under Events), and training opportunities. 
##Web Presence - Examine the [https://botbot.me/freenode/openmrs/ IRC logs]. Has there been activity during the last week? 
##Operating Processes - Links to information about coding standards, the code submission process, and commit privileges can be found on the [https://wiki.openmrs.org/display/docs/How-To+Submit+Code How-To Submit Code page].  The process for making feature requests is available on the [https://wiki.openmrs.org/display/docs/Tickets Tickets page]. Are these processes well documented?
##Response to Questions - Review a few of the posts on the OpenMRS [https://talk.openmrs.org/ discussion platform]. Do posts to this forum receive timely and supportive responses?
##How would you rate the support that newcomers to OpenMRS receive?


= Notes for Instructors =


The remaining sections of this document are intended for the instructor.
:'''The evaluation template should be uploaded to your blog -- while working on your blog post position the cursor on the page where you would like the link to appear and click 'Add Media'.
They are not part of the learning activity that would be given to students.


=== Assessment ===


* How will the activity be graded?
:'''Overall evaluation for Mission Critical criteria''' - If no mission-critical criteria were scored lower than a 2 the project should be then evaluated on secondary criteria.  Otherwise, the project would have been considered not suitable for student participation.
* How will learning will be measured?
* Include sample assessment questions/rubrics.


{| class="wikitable"
! Criteria
! Level 1 (fail)
! Level 2 (pass)
! Level 3 (good)
! Level 4 (exceptional)
|-
| '''The purpose of the project'''
|
|
|
|


|-
:'''Secondary criteria-Viability - Secondary criteria sections are OPTIONAL for the POSSE workshop assignment'''
| '''Why the project is open source'''
#Domain
|
##Does this project require domain knowledge that may be difficult for students to learn? - OpenMRS is a medical records system. Students should be able to grasp it well enough to contribute a bug fix, which is the learning objective assumed in this example.
|
##How would you rate the viability of OpenMRS?
|
#Maturity
|
##To have the organization to support student learning, the project should have at least one stable production release - The [https://wiki.openmrs.org/display/RES/Platform+Release+Notes Platform Release Notes page] lists releases.
##Does OpenMRS have enough of a stable base to support student learning?  How would you rate it?
#User Support
##The project should have clear instructions for downloading, installing, and using the project - As noted previously, the [https://wiki.openmrs.org/display/docs/Getting+Started+as+a+Developer Getting Started as a Developer page] provides detailed information about setting up and using the required tools, in addition there are detailed instructions related to installation, configuration, system requirements, and troubleshooting, including videos.
##Rate the documentation for OpenMRS.
#Roadmap
##Student learning is best supported by projects that have a roadmap that includes new feature development, a method for users to submit new feature requests and a process for identifying how new features are prioritized - Feature requests are made through JIRA, the OpenMRS issue tracker. Road map planning and the process for prioritizing feature requests is available on the [https://wiki.openmrs.org/display/docs/Technical+Road+Map+Planning Technical Roadmap Planning page].  Here you will find information about the planning process and how to participate in the planning process. The [https://wiki.openmrs.org/display/docs/Technical+Road+Map Technical Road Map page] identifies features, their current status, and a point of contact, in addition to expected dates of completion.
##Based upon the roadmap provided, how would you rate OpenMRS?
 


|}
:'''Secondary criteria-Approachability - Secondary criteria sections are OPTIONAL for the POSSE workshop assignment'''
#Contribution Types
##Does the project contain opportunities for multiple types of contribution and of the type that fits the class? - There are multiple projects for testers, tech writers, and developers.  These can be seen on the [http://openmrs.org/help/ Get Involved page].
##Result - May be a 1, 2 or 3 depending on whether the number of bugs is suitable for students is enough given the class size.
#Openness to Contributions
##Acceptance of a student contribution to a project provides valuable affirmation to student learning.  Determine whether the project accepts student patches. - The process for contribution is documented on the [https://wiki.openmrs.org/display/docs/Tickets Tickets page].
##Result - Score a 3 because the contribution process is documented.
#Student Friendliness
## Do community members moderate the tone of communication?  Review the discussion platform and IRC to gauge tone - Review of [https://talk.openmrs.org/ discussion platform] and [https://botbot.me/freenode/openmrs/ IRC logs] during evaluation of contributor support showed a positive tone during communication.
##Result - Score a 3, no inappropriate or demeaning messages. 


=== Comments ===


* What should the instructor know before using this activity?
:'''Secondary criteria-Suitability - Secondary criteria sections are OPTIONAL for the POSSE workshop assignment'''
* What are some likely difficulties that an instructor might encounter using this activity?
#Project Description
##Students must be able to understand the purpose of the project.  Does the project clearly describe the product? Can students understand the intended uses of the product? - The [http://openmrs.org/about/ About page] provides an overview of who, where, and what OpenMRS is, including a downloadable PDF file and a video. These describe the purpose of the project and how it is used around the world to efficiently manage medical records.
##Result - Score a 3, how the product is used and the vision for it is well documented and should be understandable by students. 
#Platform
##What software and hardware platform does the FOSS project run on? - Development environment can be built on Windows, Linux or Mac OS X completely with FOSS software.  (Project development information found [https://wiki.openmrs.org/display/docs/Step+by+Step+Installation+for+Developers here])
##Are there resources to support these platforms? - In this example, yes.
##Are students familiar with the platforms? - In this example, yes.
##Result - Score a 2, assumption in this example is students all have newer personal computers and given the ability to set up a development environment on different operating systems that makes the availability of student resources greater.  However, there is some risk because machine requirements for setting up developer environment are not provided and some documentation may be out of date. 
#Development Features - Is the class dependent on specific development features?  (Project development information found [https://wiki.openmrs.org/display/docs/Step+by+Step+Installation+for+Developers here])
##Programming language - Is primarily Java.
##Development environment - Can be built on Windows, Linux or Mac OS X completely with FOSS software. 
##Supporting technologies - Suggested IDE is Eclipse, requires mySQL, Maven and Jetty are optional.
##Result - Need to gauge this on knowledge of students and requirements of class.  Assumption here is students know Java and are familiar with mySQL.  While students are not familiar with Maven and Jetty this may not be necessary for intro bug fix plus the community is very supportive so assistance can be found there.  Given there is some risk, score a 2.


=== Variants and Adaptations: ===


[https://github.com/ChrisMurphyOnline/open-source-software-development-course/blob/master/activities/foss-evaluation-activity.txt POGIL-style combined FOSS Field Trip and Project Evaluation] used by [[User:Cmurphy|Chris Murphy]] in his [[FOSS Course, UPenn, Murphy]].
:'''Overall evaluation for secondary criteria''' - Add up your scores to determine the overall score. If the total score for criteria is over 20, the project passes.  However, criteria scoring below 1 and criteria for which there was some risk noted should be reexamined to see if steps can be taken to mitigate risk.


{{Learning Activity Info
--------------------
|acm unit=
This work is licensed under a
|acm topic=
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]
|difficulty=
|time=
30-60 minutes
|environment=
Access to Internet/Web and web browser.
|author=
|source=
[http://www.xcitegroup.org/softhum/doku.php?id=f:assignment_ossfieldtrip1detail Detailed FOSS Field Trip]
|license=
{{License CC BY SA}}
}}


=== Suggestions for Open Source Community ===
[[File:CC_license.png]]


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


[[Category:Instructor Activities]]
[[Category: Learning_Activity]]
[[Category:Learning Activity]]
[[Category:Use_and_Evaluate]]
[[Category:Introduction]]
[[Category:CS Principles]]
[[Category:CS1]]
[[Category: Good Draft]]

Revision as of 22:53, 14 July 2015

Project Evaluation

Preparation:

Description 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.
Source
Prerequisite Knowledge Completion of Browsing a Forge Activity or understanding of SourceForge and OpenHub; Understanding of the course in which students will be participating in an HFOSS project.
Estimated Time to Completion 60-90 minutes
Learning Objectives Ability to utilize the rubric to identify likely HFOSS projects.
Materials/Environment Access to Internet/Web and web browser, SIGCSE paper on evaluating FOSS projects, Blank evaluation template
Additional Information List of HFOSS projects
Rights Licensed CC BY-SA
Turn In Wiki posting of evaluation of a project from the list of HFOSS projects

Background:

This activity is intended to give you an overview of what to consider when evaluating an HFOSS project for student participation and for you to gain experience using the rubric.

Directions:

Part 1-Learn about the rubric

  1. Watch the video describing mission critical criteria
  2. Watch the video describing secondary criteria

Part 2-Walk through of an evaluation of the OpenMRS project - Use the blank evaluation template to record your results and the rationale for your scoring.

Mission Critical criteria-Viability Recall that each component is given a score from 1 to 3, where 3 is the best.
  1. Size/Scale/Complexity - An ideal project should be neither overly simple nor overly complex. One heuristic to use is the number of contributors as an indicator of project complexity.
    1. Go to the OpenMRS web page (http://openmrs.org/), scroll to the bottom and choose OpenMRS Wiki (under Other OpenMRS sites). From the menu on the left expand the Developer Guide and the Getting Started as a Developer options and then choose Technical Overview. From examination of the technology stack, the architecture looks modular and further search shows it is documented elsewhere on the site.
    2. Based upon the results from OpenHub (gathered in the FOSS Field Trip activity) and the information from the OpenMRS Technical Overview page, what would you score this project for size/scale/complexity?
  2. Activity - To support student participation a project should be reasonably active. Number of commits can be used as an indicator of activity.
    1. Based upon the number of commits (gathered in the FOSS Field Trip activity) how would you rate the activity of the project?
  3. Community - A suitable project has an active user community. While it is difficult to quantitatively evaluate the activity of a user community, some indicators include a regular history of project downloads and documentation updates over time, current activity on user mailing lists, and testimonials on the project web site.
    1. Examine download activity
      1. Go to sourceforge.net and enter OpenMRS into the search box.
      2. Choose OpenMRS from the search results.
      3. Click on the number of downloads that is listed on the project page.
      4. Change the date range to give a graph of downloads over the last year.
    2. OpenMRS has begun migrating legacy mailing list activity to OpenMRS Talk. Examine discussion activity
    3. Examine the IRC logs
    4. Based upon the download history, discussion activity, and IRC activity, what score would you give this project for community?


Mission Critical criteria-Approachability
Here you are evaluating a project's on-ramp to contribution, scoring as follows:
1-Insufficient-Few or no pointers on how to become involved.
2-Sufficient-Suggestions about how to get involved other than contributing money with accompanying high-level instructions.
3-Ideal-Obvious link to get started, list of suggestions for things to do and detailed instructions.
  1. Examine project on-ramp.
    1. Link to getting started - The website has a Get Involved page with links to ways you can contribute and share your ideas.
    2. Each of the links (Develop, Test, Document, Translate) contain more detailed information about what and how you can contribute.
    3. The Getting Started as a Developer page contains a detailed list of how to get started including a list of introductory issues.
    4. Detailed instructions - The ]https://wiki.openmrs.org/display/docs/Developer+Guide Developer Guide] contains instructions and information in many areas including process, architecture, tools, and developer documentation.
    5. Based upon the resources you looked at, how would you rate the approachability of the OpenMRS project?


Mission Critical criteria-Suitability
  1. Appropriate Artifacts - Since evaluation is dependent on class objectives, in this example we'll assume the objective is to learn the process of working in an authentic development environment by contributing bug fixes to OpenMRS.
    1. Opportunities to contribute bug fixes - Examine the issues found at the bottom of the getting started as a developer page. Note that there are two categories of introductory issues. How many are listed in each category?
    2. Documentation on how to contribute bug fixes - On the Tickets page there is information on how to create and work on an issue, including links to coding standards and the code submission process. Review this information.
    3. Based upon the number of bugs suitable for students to tackle and information on the process of how to submit bug fixes, how would you rate OpenMRS?
  2. Contributor Support - Does the project have a high volume of guidance to help students as they learn?
    1. Communication Tools - Communication tools are directly available from any of the Wiki Spaces (Documentation, Projects, Resources). The Resources page contains links to OpenMRS Talk and IRC Chat, as well as links to group meetings (under Events), and training opportunities.
    2. Web Presence - Examine the IRC logs. Has there been activity during the last week?
    3. Operating Processes - Links to information about coding standards, the code submission process, and commit privileges can be found on the How-To Submit Code page. The process for making feature requests is available on the Tickets page. Are these processes well documented?
    4. Response to Questions - Review a few of the posts on the OpenMRS discussion platform. Do posts to this forum receive timely and supportive responses?
    5. How would you rate the support that newcomers to OpenMRS receive?


The evaluation template should be uploaded to your blog -- while working on your blog post position the cursor on the page where you would like the link to appear and click 'Add Media'.


Overall evaluation for Mission Critical criteria - If no mission-critical criteria were scored lower than a 2 the project should be then evaluated on secondary criteria. Otherwise, the project would have been considered not suitable for student participation.


Secondary criteria-Viability - Secondary criteria sections are OPTIONAL for the POSSE workshop assignment
  1. Domain
    1. Does this project require domain knowledge that may be difficult for students to learn? - OpenMRS is a medical records system. Students should be able to grasp it well enough to contribute a bug fix, which is the learning objective assumed in this example.
    2. How would you rate the viability of OpenMRS?
  2. Maturity
    1. To have the organization to support student learning, the project should have at least one stable production release - The Platform Release Notes page lists releases.
    2. Does OpenMRS have enough of a stable base to support student learning? How would you rate it?
  3. User Support
    1. The project should have clear instructions for downloading, installing, and using the project - As noted previously, the Getting Started as a Developer page provides detailed information about setting up and using the required tools, in addition there are detailed instructions related to installation, configuration, system requirements, and troubleshooting, including videos.
    2. Rate the documentation for OpenMRS.
  4. Roadmap
    1. Student learning is best supported by projects that have a roadmap that includes new feature development, a method for users to submit new feature requests and a process for identifying how new features are prioritized - Feature requests are made through JIRA, the OpenMRS issue tracker. Road map planning and the process for prioritizing feature requests is available on the Technical Roadmap Planning page. Here you will find information about the planning process and how to participate in the planning process. The Technical Road Map page identifies features, their current status, and a point of contact, in addition to expected dates of completion.
    2. Based upon the roadmap provided, how would you rate OpenMRS?


Secondary criteria-Approachability - Secondary criteria sections are OPTIONAL for the POSSE workshop assignment
  1. Contribution Types
    1. Does the project contain opportunities for multiple types of contribution and of the type that fits the class? - There are multiple projects for testers, tech writers, and developers. These can be seen on the Get Involved page.
    2. Result - May be a 1, 2 or 3 depending on whether the number of bugs is suitable for students is enough given the class size.
  2. Openness to Contributions
    1. Acceptance of a student contribution to a project provides valuable affirmation to student learning. Determine whether the project accepts student patches. - The process for contribution is documented on the Tickets page.
    2. Result - Score a 3 because the contribution process is documented.
  3. Student Friendliness
    1. Do community members moderate the tone of communication? Review the discussion platform and IRC to gauge tone - Review of discussion platform and IRC logs during evaluation of contributor support showed a positive tone during communication.
    2. Result - Score a 3, no inappropriate or demeaning messages.


Secondary criteria-Suitability - Secondary criteria sections are OPTIONAL for the POSSE workshop assignment
  1. Project Description
    1. Students must be able to understand the purpose of the project. Does the project clearly describe the product? Can students understand the intended uses of the product? - The About page provides an overview of who, where, and what OpenMRS is, including a downloadable PDF file and a video. These describe the purpose of the project and how it is used around the world to efficiently manage medical records.
    2. Result - Score a 3, how the product is used and the vision for it is well documented and should be understandable by students.
  2. Platform
    1. What software and hardware platform does the FOSS project run on? - Development environment can be built on Windows, Linux or Mac OS X completely with FOSS software. (Project development information found here)
    2. Are there resources to support these platforms? - In this example, yes.
    3. Are students familiar with the platforms? - In this example, yes.
    4. Result - Score a 2, assumption in this example is students all have newer personal computers and given the ability to set up a development environment on different operating systems that makes the availability of student resources greater. However, there is some risk because machine requirements for setting up developer environment are not provided and some documentation may be out of date.
  3. Development Features - Is the class dependent on specific development features? (Project development information found here)
    1. Programming language - Is primarily Java.
    2. Development environment - Can be built on Windows, Linux or Mac OS X completely with FOSS software.
    3. Supporting technologies - Suggested IDE is Eclipse, requires mySQL, Maven and Jetty are optional.
    4. Result - Need to gauge this on knowledge of students and requirements of class. Assumption here is students know Java and are familiar with mySQL. While students are not familiar with Maven and Jetty this may not be necessary for intro bug fix plus the community is very supportive so assistance can be found there. Given there is some risk, score a 2.


Overall evaluation for secondary criteria - Add up your scores to determine the overall score. If the total score for criteria is over 20, the project passes. However, criteria scoring below 1 and criteria for which there was some risk noted should be reexamined to see if steps can be taken to mitigate risk.

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

File:CC license.png