User:Jfoster

From Foss2Serve
Jump to: navigation, search

Contents

Introduction

James Foster is Assistant Professor of Computer Science at Walla Walla University, a Seventh-day Adventist Higher Education institution founded in 1892. The University has about 1800 students in undergraduate and masters programs.

James started teaching at Walla Walla University at the beginning of 2018 after working in industry for 35 years. In addition to a graduate degree in Computer Science, James has a J.D., an M.B.A., and has worked as a commercial pilot and flight instructor. Most of James' technical experience is with Smalltalk and GemStone and his blog reflects that focus.

Useful Links

FOSS Field Trip (Activity)

  1. GitHub
    1. GitHub.com
    2. Search for Education
      1. As of 18-May-2018, GitHub reports 20,199 repositories as a response to a query for 'education'.
      2. The Insights tab on a project shows the number of commits per week for the past year in a bar chart and the number of commits per day for the past week in a line chart.
    3. Search for Humanitarian
      1. A query for humanitarian reports 392 repository.
      2. HTBox/crisischeckin had a commit on 22-April-2017.
    4. Search for Disaster Management
      1. I found 34 projects in 'disaster management applications'.
  2. OpenHub
    1. OpenHub.net
    2. Search for Education
      1. A search on OpenHub for 'education' returned 226 pages of 10 projects each, so ~2260 projects.
      2. I was not able to find any KDE Education projects on GitHub.
      3. An analysis of similar projects (from 11 months ago) shows 10 10 related projects.
      4. The KDE Educaton project page shows a project summary, a nutshell, a quick reference, license information, code information, activity information, and contributors per month.
    3. Search for Humanitarian and Disaster Management
      1. Humanitarian has 3 pages of projects (~30) and disaster management has a similar number of pages and projects.
      2. Projects that have had no activity in the past two years will show as inactive.
    4. Organizations
      1. The Organizations page shows a list of organizations and various statistics including the most active, the newest, and the count and commits of organizations by sector
    5. OpenMRS
      1. The most recent commits to OpenMRS Core are about two months old.
    6. OpenMRS Core on GitHub
      1. The most recent commits to OpenMRS are less than a week old.
      2. The sites have different information because they represent different repositories and have different events. According to the OpenMRS Developers page, GitHub is the official code repository.
    7. Having two sites might offer some redundancy, but seems to me to just create confusion. In my experience multiple sites is a consequence of moving from one to another. I've never seen a case where having two master repositories has any advantage.

Project Evaluation Rubric

Evaluation Factor Level
(0-2)
Evaluation Data
Licensing 2 OpenMRS is distributed under the terms of the Mozilla Public License, v. 2.0. This license been approved by the OSI.
Language 1 OpenMRS is primarily Java (96%). Our students have not taken Java prior to the open source contribution assignment, but they have taken C++ and should be familiar with the OO paradigm.
Level of Activity 2 OpenMRS has extensive activity in the last two quarters. I didn't bother to page back further.
Number of Contributors 2 OpenMRS shows over 300 contributors. This is an active community!
Product Size 1 OpenMRS has over 200 MB of code. This is a bit large for my needs!
Issue Tracker 2 The third-part tracker shows a total of 1256 JIRA tickets ready for work and 12875 that are closed. When sorted by date added, the fifth most recent addition is "PatientService getPatients(name, identifier, types, matchIdentifierExactly) only searches on name or identifier" (TRUNK-5397) and was added on 27-April-2018. Many issues were resolved in the last week and other issues were added, so this is an active project.
New Contributor 2 OpenMRS has instructions for downloading and installing the code and tools needed on the GitHub readme as well as at openmrs.org. There is a community bulletin board with recent activityand 'Telegram' channel (the IRC link is broken).
Community Norms 2 There is an extensive Code of Conduct. In addition to good generalizations (be considerate, respectful, and collaborative), there are good concrete suggestions such as "when you disagree, consult others" and "step down considerately" (let others know when you leave or disengage). There are several avenues for communication, perhaps too many? A brief scan of the IRC log showed some back-and-forth on who should test some failing issues and some claiming they didn't have enough time. Beyond that, the interactions seemed very supportive and there are ample examples of helping users get started.
User Base 2 The Atlas shows a number of Clinical sites. The Download page shows a number of alternatives for production installations. Finally, there are a number of User Guides.
Total Score 16 Overall this looks like a worthwhile project with a good community.

Copyright and Licensing

OpenMRS is distributed under the terms of the Mozilla Public License, v. 2.0. Apache/fineract is licensed under Apache License Version 2.0. The Regulately backend does not have a license file but the front-end has an MIT license.

The Mozilla 2.0, Apache 2.0, and MIT licenses are similar and fairly permissive. I would feel comfortable contributing to any of these projects. I suppose that we are supposed to be concerned about the project without a license, but I wouldn't have any qualms about using it.

FOSS In Courses 1

I am currently teaching "The Art and Practice of Computer Science" as a first-year introductory course and contributing to an open source project is a requirement. I particularly appreciated the suggestions of how one could contribute without being an experienced programmer since this describes all the students. I have encouraged them to focus on documentation and/or verifying bugs. I will also be working with students next school year (Sept-June) on their capstone projects and I expect that we will look at open source as an opportunity.

Bug Tracker Activity

Part 1: Bug Reports

  1. Open a browser and go to the GNOME Accessibility Bugs
  2. Define what each of the column names below indicate. Include the range of possible values for 2-7 below. Feel free to explore beyond the page to find more information.
    1. ID - this identifies a unique identifier for each ticket (bug)
    2. Product - this identifies the produce against which the bug was reported
    3. Comp - this appears to be a component, or subsidiary part of the product
    4. Assignee - the individual or team currently responsible for the bug
    5. Status - the status or position in the workflow for the bug
    6. Resolution - once a bug is resolved, this is the code or description; unresolved bugs are marked with '---'
    7. Summary - a brief textual description of the issue
  3. Describe how you discovered the definitions and how you found the information from above (hint: the advanced search shows the options or the Reports link has a link). Based on my prior experience with bug tracking systems, I found the column headings and fields to be sufficiently descriptive.
  4. Identify the order in which the bugs are initially displayed. It appears that the primary sort is by status and the secondary sort is by ID.
  5. What is the meaning of the colors used when describing a bug (red, gray, black)? (Hint: click on the Bug ID and examine the fields) I saw two entries with red and each have the status "normal critical". The gray items appear to be "normal enhancement" and the black ones are the rest.
  6. Select a bug that you think that you might be able to fix and look at it more closely (click on the bug number). A brief search did not turn up anything I thought I could address, but I'll play the game anyway. I selected bug 741944 - No current way to change the audio type of importing music
    1. When was the bug submitted? - 2014-12-24
    2. What recent discussion has there been about the bug? - There has been no activity since the initial report
    3. Is the bug current? - It certainly isn't active. I don't know if the enhancement request is still reasonable
    4. Is the bug assigned? To whom? - This is still marked as unconfirmed and is assigned to Banshee Maintainers
    5. Describe what you would need to do to fix the bug. - I would need to learn a lot about the produce, the code, and audio file formats!
  7. Repeat the previous step with a different kind of bug. This time I picked Bug 349190 - Don't hard-code colors
    1. When was the bug submitted? - 2006-07-29
    2. What recent discussion has there been about the bug? - In 2012 there was a request for more information with the assertion that it would be closed in six weeks if there was no response.
    3. Is the bug current? - While it is still open, there hasn't been any activity since 2014
    4. Is the bug assigned? To whom? - Like the first one, this is assigned to Baobab Maintainers
    5. Describe what you would need to do to fix the bug. - Again, I would have to learn a lot!

Part 2: Collective Reports

  1. Click on the “Reports” link on the top of the page.
  2. Click on the "Summary of Bug Activity for the last week".
  3. How many bug reports were opened in the last week? How many were closed? - 47 and 68
  4. What was the general trend last week? Were more bugs opened than closed or vice versa? - trend was to close more than open
  5. Who were the top three bug closers? Why is this important to know? - André Klapper, John Ralls, António Fernandes were the top three closers. This shows who is actively working on the project.
  6. Who were the top three bug reporters? Are these the same as the top three bug closes? What is the overlap in these two lists? - Arnaud B. had three and nine more had two (including André Klapper). So, yes, there is an overlap.
  7. Who are the top three reviewers of patches? What is the overlap between these lists and the bug closers and bug reporters? What is the overlap between patch contributors and patch reviewers? - Víctor Manuel Jáquez Leal, Sebastian Dröge (slomo), and Thibault Saunier are the top three reviewers. I don't see an overlap. "
  8. Click on the "Reports" link at the top of the page and then click on the “Generate [sic., Generic] Graphical Reports” link.
  9. Plot a line graph of the severity of bugs by component for Orca:
    1. Select "Severity" for the vertical axis
    2. Select "Component" for the horizontal axis
    3. Select "Bar Graph" for type of graph
    4. Leave the "Multiple Images" as <none>
    5. Scroll down and select Orca from the Product menu.
    6. Click "Generate Report".
  10. What class were the majority of the bugs for braille? - There was one minor bug for braille; no others.
  11. What other reports can you generate? - Lots!

Part 3

What matters to you?

  1. What are three things that you need to do/create for your upcoming courses or research?
    1. Identify course(s)
    2. Identify open-source project(s)
    3. Obtain (in self or others) expertise in project so as to give guidance
  2. What are three HFOSS-related things you think you could realistically do today to help with those?
    1. Research projects
    2. Inquire of others what they do
    3. Identify contacts in project community that would be willing to deal with students
  3. What are three things you would do after today to help with those?
    1. Become more familiar with existing projects
    2. Work on lesson plans
    3. Learn more about specific communities
Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox