From Foss2Serve
Revision as of 16:36, 15 June 2019 by Dletarte (Talk | contribs)
Jump to: navigation, search

Name: Dominic Letarte

Position: Assistant Professor of Instruction, Department of Computer & Information Sciences, Temple University


GitHub: domincl



POSSE Stage 1A Due May 5th

Stage 1a - FOSS Anatomy


  1. Roles for students: Writing API documentation, Testing and potentially fixing bug. All roles allows students to get used to work with code they did write themselves and to work in bigger systems. Writing API documentation can be part of fulfilling writing intensive requirements.
  2. Repository
  3. Latest commit: April 30, 2019

commit 525bf888c06136dc24481e9c1d5bc71a75252422 (HEAD -> master, origin/master, origin/HEAD)
Author: James Cameron <>
Date:   Wed May 1 13:01:43 2019 +1000
   Docs - Fedora 30
   Thomas Gilliard says the instructions are missing, need to be updated,
   and too complicated.

Sahana Eden Project

Information management system for disaster and humanitarian aid management

    • Commonalities: the roles for involvement are similar as for Sugar but the processes are not as strictly defined. Sugar have policies and plans for releases while Eden have an issue tracker where discussion happen and code changes are proposed via pull requests.
  1. Repository
    • Latest commit: May 2, 2019

commit 008faeebda5cbca3a547379853c20471618bd577 (HEAD -> master, origin/master, origin/HEAD)
Author: Dominic König <>
Date:   Thu May 2 21:25:52 2019 +0200

   BR: option to show end-date of case activities

POSSE Stage 1B Due May 26th

FOSS Field Trip (Activity)

Stage 1b - Intro to FOSS - Github

  • As of May 20, 2019 11:48AM Github is reporting 27,833 repositories for the term "education".
  • 3,456 of theses repos use the JavaScript language.
  • The more recently updated was vincentrodriguez/signals-visualisation (Updated a minute ago).
  • The least recently updated was drongous/ems (Updated on Jun 4, 2008).
  • The more active repo (more stars) is freeCodeCamp/freeCodeCamp
    • 303k stars.
    • 227 open issues and 13334 closed issues
    • Insight tab show graph of acitivity in the repo.
    • Commit tab in insight show a graph with the number of commit by week for the last year. For freeCodeCamp the number of commit have increased from less than 40 a week to more than 100 a week starting in last October.
  • As of May 20, 2019 12:07PM Github is reporting 506 repositories for the term "humanitarian".
  • HTBox/crisischeckin
    • have 178 stars.
    • use C#
    • Last updated on Oct 24, 2018
  • The term "disaster management" have 473 repository results.

Stage 1b - Intro to FOSS - OpenHub

  • For the search term "education" approximatively 2270 projects were found ( 227 pages of 10 projects).
  • I recognize Moodle, Wireshark and Groovy in the list of most active projects for the search term "education".
  • KDE Education
    • All repos are git repos hosted on
    • 10 similars projects are listed. (KStars, Step,..., KPercentage)
    • The similar project page show an icon for each project with name, activity level, language and License.
  • "humanitarian" search returns approximatively 30 projects
  • "disaster management" search returns approximatively 30 projects
  • "Activity Not Available" icon is showned because of problems with the code locations or other problems blocking Open Hub from collecting and analyzing code. Developer need to update project code locations in openhub to resolv this.
  • Organizations page shown statistics about organizations. The list of most actives orgs, the list of newest orgs and the list of orgs by commit volume.
  • The search results show a list of Organizations. The organisation OpenRMS have 46 projects.
  • OpenHub reports for OpenMRS Core project that most code locations as "Downloading source code history (Failed about 1 month ago.)" No information is available in OpenHub about last commit.
  • In Github the Latest commit for openmrs/openmrs-core is one day ago.
  • Openhub do not have access to the code locations of openmrs-core, recent activity is not available to be analysed by OpenHub
  • It is possible to find different kind of information at different places.

Project Evaluation (Activity)

Stage 1b - Intro to FOSS - OpenHub

Evaluation Factor Level
Evaluation Data
Licensing 2 Mozilla Public License, version 2.0
Language 2 Java (96%) and SQL (3%)
Level of Activity 2 Constant level of activity
Number of Contributors 2 322 contributors. Two author (wluyima and dkayiwa) are merging contribution on master from substancials pull requests from community.
Product Size 2 223.3MB (Repository Size extension ) 780213 lines of code (GitHub Gloc extension)
Issue Tracker 2
  • 1277 Issues ready for work;
  • 14141 Closed issues;
  • Ben Wolfe created issue TRUNK-324 "Go through the TODO items code and create tickets out of them" on 2008-05-21 18:59:09 GMT+0000.
  • Checked TRUNK-4655, RA-1387, TRUNK-324, STAND-54, TRUNK-5409. Many were created years ago and contains many sub-task being worked on. Success is not immediate as contributors are beginners doing many mistakes but receiving support.
New Contributor 2
Community Norms 2
  • Code of Conduct is derived from the one from Ubuntu community.
  • More supportive for beginners.
  • Community is overtly polite compare to other open source community.
User Base 2
Total Score 18

Intro to Copyright and Licensing (Activity)

Stage 1b - Intro to Copyright and Licensing (Activity)

License cans cannots musts Mozilla Public License

version 2.0

  • Commercial Use
  • Modify
  • Distribute
  • Sublicense
  • Place Warranty
  • Use Patent Claims
  • Use Trademark
  • Hold Liable
  • Include Copyright
  • Include License
  • Disclose Source
  • Include Original

Apache License Version 2.0

  • Commercial Use
  • Modify
  • Distribute
  • Sublicense
  • Private Use
  • Use Patent Claims
  • Place Warranty
  • Use Trademark
  • Hold Liable

  • Include Copyright
  • Include License
  • State Changes
  • Include Notice
  • No License (Under common law trademark)
  • Exclusive copyright by default.
  • View and fork

(do not imply permission to use, modify, or share the software for any purpose)

  • use, modify, or share

(no permissions from the creators of the software to use, modify, or share the software)

  • Ask the maintainers nicely to add a license
  • Negotiate a private license

FOSS in Courses 1 (Instructors)

Many activities are interesting and relevant. Here how they could be distributed in the class that I teach.

CIS 3296 Software Design is an advanced undergraduate course mandatory for Computer Science majors. This course is a writing intensive and is an introduction to Software Design and Software Engineering.

CIS 4296 Information System Analysis and Design is a mandatory capstone class for Information Science & Technology majors. The class is project based and team based.

CIS 5306 Software Engineeering is an elective graduate class for the Master in Information Science & Technology, computer science students are not allowed to register.

Part C Due June 16th

Intro to Bug Trackers

  • List some of the projects that the issues belong from the aggregated view belong. As of May 25, 2019 16:13 the most recent issues were vte#128, libgovirt#2, gnome-software#684 and gimp#3425. They belong respectively to the projects: vte (Virtual Terminal library), libgovirt (wrapper for the oVirt REST API), gnome-software (GNOME application manager) and gimp (image manipulation software)
  • Other information about each issue available in the aggregated view include the name of the issue, the name of the author, the moment the issues was opened and last updated and the number of comments.
  • Additional information available in each issue usually include step to reproduce, expected behaviour, comments and current status.
  • Labels grouped in category from 1 to 9 they roughly correspond to different part of the lifecycle of software. Labels that start with 2. are blue and correspond to the integration part of the lifecycle. Labels that start with 3. are mustard yellow and correspond to issues that are not to be resolved for varying reasons.
  • Cards are arranged in columns. Each columns correspond to a status in the lifecycle of an issue from open to closed.
  • Milestones in gnome aggregate a set of issues. Each issue is associated with a status Unstarted, Ongoing or Completed. Each milestone have a due date and a progress are visible through a progress bar.
  • Merge request contains modifications to the source code. They can optionnally be associated with an issue and a milestone. h

Intro to GitHub

FOSS in Courses 2 (Instructors)

A Regression on Friday Before Christmas

This activity review a problematic moment in the software development where multiples problems are highlighted during the release process of Linux 3.8 including architecture, testing, release planning and communications. This activity was done at the end of semester before students have to write their final report for their projects in a capstone class.

I'm presenting this activity to POSSE in the hope to find similar situation in HFOSS (maybe less dramatic) that can be used for a similar activity.

Activity Name: A regression on Friday before Christmas
Activity structure  ;

This activity is structure as a case study.

Before class

Read a thread where Linus Torvalds , Rafael J. Wysocki, Laurent Pinchart and Mauro Carvalho Chehab are interacting. Ask students to identify who are the actors and what are their roles in Linux development. Make sure to not miss:

In class

Discussion to make sure everybody understand there is  :

  • Architecture: Linux Media Subsystem, Alsa, PulseAudio, V4L2 (it's a hornet nest)
  • Process: merge window, commit, release candidate. (it's happening over Christmas)
  • Testing: regression, compliance tools.
    • Is "knotify4 process occupying one of the CPU cores entirely 100% of the time" a big problem?
  • Professional communication:
    • And by "us" I mean mainly people in the same timezone and hemisphere as I am. Because I'm too self-centered to care about anybody else.
    • (with various ARM platform things being the bulk of it as usual, sigh)
    • Commit f0ed2ce of yours unfortunately causes user space to misbehave on one of my test systems
After class

Questions to be answered in a paper or integrated in a project report.

  • What was the biggest problem the architecture, the process or the communication?
  • In your own project have you encounter similar problems, how were they handle?
Learning Outcomes
  • SP Professional Communication - Examine appropriate measures used to communicate with stakeholders involved in a project.
  • SP Professional Communication - Examine the tradeoffs and common sources of risk in software projects regarding technology, structure/process, quality, people, market and financial.

Prerequisite Knowledge
  • Basic understanding of the software release process.
  • Comfortable with git and git stats.
  • Fair understanding of Operating System concepts.
  • Not being afraid of reading C code.
Time required
instructor prep 
2 hour. Review recent development (google at least Linus), every semester something new have been happening about him. Printing and distributing sections of the thread in class can be useful for subgroup discussions.
calendar time 
1 week
2h prep, 3h class time
no involvement

Input required from the HFOSS community n/a
Contribution to HFOSS If the result of the activity is contributed back to the HFOSS project, describe the contribution and its usefulness.
Assessment Describe the assessment/grading approach - What will the basis for grading be? Will this be a team activity or individual? Is there a role for the HFOSS munity in helping assess student work? For instance, must the work be committed or otherwise accepted by the community?
Questions or concerns List any questions or concerns that you have about the activity/task.
Stumbling blocks List any stumbling blocks or barriers to carrying out the activity/task.


activity name
activity structure Lectures, In-class activity, Homework, Stream of related activities, Project
Learning Outcomes Identify some possible learning outcomes that should be fulfilled with the activities/task.
Prerequisite Knowledge Describe any prerequisite knowledge needed to complete the activity. This does not need to be a complete list.
Time required Estimate the time required for instructor prep, for student completion and elapsed calendar time. Are you going to have to synchronize your activity with the munity or can the activity/topic be covered independent of the HFOSS community schedule.
Input required from the HFOSS community Think about possible input required from the HFOSS community. How much input is required and what kind?
Contribution to HFOSS If the result of the activity is contributed back to the HFOSS project, describe the contribution and its usefulness.
Assessment Describe the assessment/grading approach - What will the basis for grading be? Will this be a team activity or individual? Is there a role for the HFOSS munity in helping assess student work? For instance, must the work be committed or otherwise accepted by the community?
Questions or concerns List any questions or concerns that you have about the activity/task.
Stumbling blocks List any stumbling blocks or barriers to carrying out the activity/task.
Personal tools
Learning Resources
HFOSS Projects