User:Mgondree

From Foss2Serve
Jump to: navigation, search

Mark Gondree is an Assistant Professor in the Computer Science department at Sonoma State University. Sonoma State is one of 23 campuses in the Cal State system and the only public liberal arts college in California. SSU has over 240 full-time tenured/tenure-track faculty and over 8,000 undergraduate students.

Dr. Gondree's research focus is on computer security and computer security education. He is an evangelist for (and a designer of) games intended to engage students with security topics, and is a PI of the TableTop Security project. His professional website is http://www.gondree.com/.

Contents


IRC Assignment

Stage 1 Activities >> Intro to IRC (Activity)

Part 1

  1. How do people interact? Darci is running the meeting and calls people and summarizes in minutes. Others mostly take turns speaking in front of the group.
  2. What is the pattern of communication? Is it linear or branched? Formal or informal? One-to-many, one-to-one or a mix? Interactions are informal, a mix of one-to-one and one-(at-a-time)-to-many. There is sometimes cross-talk so people are careful about addressing each other directly so listeners can disentangle the threads.
  3. Are there any terms that seem to have special meaning? All the #commands interpreted by the meetbot.
  4. Can you make any other observations? Sentences are pretty short. People can't tell the difference between a long pause and afk, so people don't write whole paragraphs per msg.
  5. Bonus: Why didn't Heidi and Darci's actions get picked up by the meetbot? ... didn't they? There are three #action items in the transcript, and all three are all reflected here (in the "meeting summary" and the "action items" sections) and also here (at the end, in the action items section). I'm confused by the question. UPDATE: Ah, they are "unassigned" in the "Action items, by person" section -- nicks are case sensitive.

Part 3

Summary of 24 hrs of observing #a11y on irc.gnome.org (3/13 - 3/14/17)

No activity. Lots of people coming and going. Saw a couple POSSE folks in my log.

Summary of 24 hrs of observing #ushashidi on freenode (3/13 - 3/14/17)

Sadly, no real activity. MOTD mentioned other places where developers could be located, so I imagine the IRC channel may not be the best place to drop-in.

FOSS Project Anatomy

Stage 1 Activities >> Intro to FOSS Project Anatomy (Activity)

Sugar Labs Project

Responses to the Sugar Labs Guided Tour:

Contributions The Roles that seem easiest for student involvement are Content Writer and Educator. There are maybe some aspects of Developer (like, trying to fix a bug) that I hope would be more accessible to a class project, but maybe this is naive. Good communication skills seems to be a commonality across all the roles.

Tracker Issue reporting is done at the repo-granularity, i.e. reporting the defect to the maintainers of the code associated with that defect. If its hard to figure out where to report the issue, there is a "catch call" in the general sugar repo.

  • Types of tickets are bug, design, feature, needs work. There is also a "needs SLOBS" which, I assume, is discussion by the "Sugar Labs Oversight Board" discussed here.

Repository Date of last commit: Feb 5, 2017

Release cycle Each release has a roadmap, which is assessed at the start of the release cycle.

The Sahana Eden Project

Community Some of the roles are similar (documentation writers, translators, developers). It is interesting to see more specialized roles (newsletter writers, bug marshalls, GIS specialists). Some of this just reflects how the community has self-organized differently (how issues are managed) and some of it reflects the specialized nature of the data and skills being exercised in the project (like, the ecosystem of street map data).

Tracker This project is using TRAC rather than the GitHub issue tracker. They are organized by both "label" and "type" and organized into convenient reports. So, these combine in a variety of ways like "easy" "bugs", "easy" "enhancements", etc.

  • Types/categories of active tickets are: defect / bug, documentation, enhancement, task

Repository Date of last commit: March 21, 2017

Release cycle They have planned releases with items associated with each release. Their 0.9.0 milestone is 5 years late right now. Its unclear how or when they decide what items are associated with which release. It looks like they triage releases effectively as "the next one", "after the next one" and "some distant future one."

FOSS Field Trip

Stage 1 Activities >> FOSS Field Trip (Activity)

GitHub

  1. Repositories matching 'education' search: about 12k of them
  2. Graphs >> Commits shows a histogram of weekly commit frequency over the past year
  3. Repositories matching 'humanitarian' search: 285 of them
  4. Last HTBox/crisischeckin update: Aug 7, 2016
  5. Repos matching 'disaster management' search: 139 of them

OpenHub

  1. Projects matching 'education' search: about 3.4k of them
  2. re: KDE Education: there are 23 git repos, none of them are hosted on github
  3. re: similar projects to KDE Education: there are 10 projects
  4. Projects matching 'humanitarian' search: 40 of them
  5. Projects matching 'disaster management' search: about 60k of them
  6. Activity not available icons on OpenHub means the repository cannot be mined for data. This is confusing to me because some projects have no activity but they have repositories that are accessible and have activity in them. Here is an example
  7. Organizations shows a break-down of the most active organizations and active sectors across the projects being tracked by OpenHub.
  8. OpenMRS core had its most recent commit 7 months ago, based on a scan done 6 months ago. Going to the [github.com/openmrs/openmrs-core repo locations on github] the last update was an hours ago, March 22, 2017.

OpenHub vs. GitHub

OpenHub can tell us about projects that are not on GitHub. It also seems to reason better about communities/organizations that are spread across multiple repositories. GitHub is for managing a project, and OpenHub is more like a data-driven, social-networking site for coders involved in open source projects. Its much easier to look at the prevalence of licenses, how active users are when they have multiple personas.

I actually joined this back when it was called Ohloh, and just updated my profile and claimed some commits: https://www.openhub.net/accounts/gondree


FOSS Project Evaluation

Stage 1 Activities >> Project Evaluation (Activity)

Using the Project Evaluation rubric for the OpenMRS project

Evaluation Factor Level
(0-2)
Evaluation Data
Licensing 2 MPL v2.0 is an OSI license
Language 0 95% Java; for my students, would prefer Python or C/C++ based on the progression of language courses at my university
Level of Activity 2 Some quarters were very active; there were only 5 weeks in the year with no weekly activity.
Number of Contributors 2 Lots of contributors (also, lots of forks for what its worth)
Product Size 0 512 MB
Issue Tracker 2 https://issues.openmrs.org
New Contributor 2 Guide (https://github.com/openmrs/openmrs-core/blob/master/CONTRIBUTING.md), IRC channel, forum (https://talk.openmrs.org/), wiki (https://wiki.openmrs.org/). Didn't check out channel but the others seems active.
Community Norms 2 Code of conduct: https://wiki.openmrs.org/display/docs/Code+of+Conduct
User Base 2 Evidence of use: map of clinical trial use of the software, https://atlas.openmrs.org/
Total Score 14

Copyright and Licensing

Stage 1 Activities >> Intro to Copyright and Licensing (Activity) TBD

  • Identify the license for the following projects:
  1. https://github.com/openmrs/openmrs-core, License: Mozilla Public License, version 2.0
  2. https://github.com/apache/incubator-fineract, License: Apache License 2.0
  3. https://github.com/regulately/regulately-back-end, License: No license given.
  • Go to https://tldrlegal.com/ . Look up each of the above licenses. Identify the “cans” the “cannots” and the “musts” for each.

MPL 2.0

  Can: Commercial Use, Modify, Distribute, Sublicense, Place Warranty, Use Patent Claims
  Cannot: Hold Liable, Use Trademark 
  Must: Include Copyright, Include License, Disclose Source, Include Original 

Apache 2.0

  Can: Commercial Use, Modify, Distribute, Sublicense, Private Use, Use Patent Claims, Place Warranty
  Cannot: Hold Liable, Use Trademark 
  Must: Include Copyright, Include License, State Changes, Include Notice 

No license:

   if no license is specified, users have no legal right to download, modify, or distribute.

For each license, state whether you would (or would not) be comfortable contributing code to that project and why (or why not).

  • 'No license' is problematic, I don't think I have any basis for judgement if Apache vs MPL is more appropriate for classroom use. The requirements of Apache (State Changes) seems like a good reason to help students express their work. I find getting students to summarize or write about their code is a valuable exercise.

Intro to Bug Trackers

Stage 1 Activities >> Intro to Bug Trackers (Activity)

  • I did not find any criteria of the bugs called: Sev, Pri, OS, etc.
  • Red seems to mean the Importance field holds the value 'critical'; Gray seems to mean it holds the value 'enhancement'
  • I looked at this bug: https://bugzilla.gnome.org/show_bug.cgi?id=701071
    • Its 4-year-old segfault, no real discussion. I'd need to see if the issue is in the plugin or in GIMP itself. The issue is adding some logic to handle out-of-range values, to more gracefully recover rather than segfaulting. First step would be reproducing, since its so old.

Intro to GitHub

Stage 1 Activities >> Intro to GitHub (Activity)

Done.

FOSS in Courses 1

Stage 1 Activities >> FOSS in Courses 1 (Instructors)

I'm on the look-out for materials appropriate for CS1 classes. My class already has a rather heavy workload and high failure rate, so introducing more work is hard to do. Instead, I'd like to take existing materials and find more relevant / practical / FOSS-style methods of communicating those ideas. I think I'll maybe look outside for more CS1-focused materials. I've not found anything I'd be comfortable with using yet.

I saw a few activities that I imagined I could adapt:

FOSS in Courses 2

Stage 1 Activities >> FOSS in Courses 2 (Instructors)

Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox