User:Mscott

From Foss2Serve
Jump to: navigation, search

Contents

Michael "Adrir" Scott, BSc(Hons) MA PhD

Dr Michael Scott is a senior lecturer in Computing and Creative App Development at Falmouth University's Games Academy, leading Falmouth’s first-ever BSc(Hons) course in Computing for Games as well as an innovative distance-learning MA in Creative App Development. Furthermore, as an internationally-recognised researcher, Michael leverages the skills and experience he developed reading computer science and digital games theory to investigate: game procedurality; accessible game interfaces; game jams; and game-inspired pedagogical approaches. He is particularly interested in how lusory perspectives could be used to teach computer programming, having completed a PhD in this area, and can often be found experimenting with multimedia-based instructional technology to enrich the learning experiences of his students.

Previously, Michael worked at Emotional Robots during the development of iOS title Warm Gun, one of the first Unreal-based FPS games on the platform. After its release in 2011, he joined Brunel University London, where he taught Computer Science (Digital Media & Games). While there, he also worked on several international research projects, including: P://SHIFT, examining the potential of transformed identity in games to enrich of programming self-concept (EPSRC Doctoral Training Centre); VERITAS (European Union FP7 Project), developing virtual users and simulation tools for the analysis of interfaces designed for infotainment and other purposes; iSEE at Maiden Castle (UK Technology Strategy Board), focusing on creating an entertaining and personalised tour app for Maiden Castle in Dorchester; and ROSE (National Research Foundation of Singapore), exploring the potential influences of personality and culture on multimedia perception of quality.

Michael is also an associate editor for the Press Start Journal, sits on the Program Committee for the International Conference on Game Jams and Hackathons, is a reviewer for several prestigious academic conferences including SIGCSE and SIGCHI, is the senior examiner for Computing and Information Systems at the ABMA, and is the administrator for the community website at Game Career Guide.

For more information, see:

- University Homepage [1]

- ResearchGate Profile [2]

Intro to FOSS Project Anatomy

A Comparison of Sugar Labs and Sahana Eden

Aspect Sugar Labs Sahana Eden
License GNU GPL v3 MIT
Community voluntary voluntary
Leadership  ???  ???
Forks 120 458
Communication IRC: #sugar, Mail: sugar-devel, Forum/Google groups: / IRC #sahana, #sahana-eden Mail: sf.net Forum/Google groups: ???
Roadmaps  ???  ???
Releases v0.110.0 - https://github.com/sugarlabs/sugar/releases/tag/v0.110.0 No Release
Repositories github
alive (last commit 16.5.2017)
top commiter: 1100 commits
7 persons have commited code 10% or more in comparison to the top one
trend: development in peak periods, also many quiet periods - overall volume downwards
github
alive (last commit 29.5.2017)
top commiter: 3400 commits
2 persons have commited code 10% or more in comparison to the top one
trend: steady development - slightly downwards (today 1/2 volume since 5yr ago)
Packaging  ???  ???
Upstream/downstream  ???  ???
Version control git git
Trackers 2 issues 23 issues


FOSS Field Trip

GitHub

Educational Repositories

1. 13,464 repository results

2. Time/Date of recent commits: https://github.com/nodejs/education/graphs/commit-activity

Humanitarian Repositories

1. 303 repository results

2. The latest release from January 2015 via pull request (https://github.com/HTBox/crisischeckin/pull/240); most recent merge to the master branch being April 2017 (https://github.com/HTBox/crisischeckin/pull/702).

Crisis Management Repositories

1. 18 repository results

OpenHub

Educational Repositories

1. 3,470 projects, across 347 pages

2. KDE Education is not on GitHub

3. 4 similar projects: KStars, Step, KmPlot and Kig

4. Code statis including lines, lanuages, etc; activity stats, like commits per month, etc.; community stats, such as contributors per month, most recent contributors, etc...

Humanitarian & Crisis Management Repositories

1. 40 projects, across 4 pages (humanitarian) and 20 projects, across 2 pages (crisis management)

2. Many have 0 lines of code, or are several years since last commit

Organisations

1. Information on organisations including type, size, projects, affiliates, 30-day commits, etc: https://www.openhub.net/explore/orgs

OpenMRS

On OpenHub

1. OpenMRS Core last commit about 2 months ago (17th April): https://www.openhub.net/p/openmrs/commits/summary

On GitHub

1. OpenMRS Core last commit about 6 days ago (30th May): https://github.com/openmrs/openmrs-core/commit/88cc0231d2a741625c5e7fa8fdb8d948b3b25bc5

GitHub vs OpenHub

1. OpenHub seems to be taking snapshots of registered repositories which may mean it is not up to date, or those sources become lost/inaccessible/stale/etc. OutHub has much broader reach than just GitHub and clearly showcases key organisations in open source. GitHub is repository orientated, and makes it easy to see forks of relevant projects. Seems to be more up-to-day since files are actually hosted by GitHub. More search results.

Project Evaluation (OpenMRS)

Criterion Level
(0-2)
Notes
Licensing 2 Mozilla Public License, version 2 (OSI Approved)
Language 2 Java (~95%), SQLPL (~3%), GAP (<1%), XSLT (<1%), CSS(<1%), JS (<1%), HTML (<1%)
Level of Activity 2 Last commit to Master: June 25th, 2017.
Number of Contributors 2 264 contributors.
Product Size 1 ~220MB.
Issue Tracker 2 Externally hosted. 1333 open tickets, 10,096 closed tickets. The 5th Blocker issue in the "Ready for Work" list is "Search does not work for parts of words". Issues are being actively resolved.
New Contributor 2 SDK Instructions: here. Communication Mechanisms: Social media, IRC and Telegram. Forum: [3], active. Web: project Web site and wiki.
Community Norms 2 Appropriate Code of Conduct and Developer Guide. Appropriate Working Conventions. There are some disagreements, but on the whole very courteous and respectful.[4][5] People communicating to ensure they are in-touch and note their availability should delays arise. [6]. No indication of rude and inappropriate behaviour.
User Base 2 Yes, see e.g. Fight Malaria. Download Instructions: [7]. Usage Instructions: User Guide.
Total Score 17 A sound project.

Copyright and Licensing

  • OpenMRS: Mozilla Public License, v.2; Fineract: Apache License v.2; Regulately: N/A
  • I am fine with any project with clear and permissive licensing, such as OpenMRS and Fineract. I would not participate in projects with unclear terms of use.
Licence Allows
(can)
Disallows
(cannot)
Requires
(must)
Apache License v.2 Commercial Use, Modify, Distribute, Sublicense, Private Use, Use Patent Claims, and Place Warranty Hold Liable and Use Trademark Include Copyright, Include License, State Changes, and Notice
Mozilla Public License, v.2 Commercial Use, Modify, Distribute, Sublicense, Use Patent Claims, and Place Warranty Hold Liable and Use Trademark Copyright, Include License, Disclose Source, and Include Original

FOSS in Courses I

I run BSc(Hons) Computing for Games and so our students are quite technical. I would expect them, from their second year of study onward, to comfortably be able to:

  • Suggest features
  • Document the codebase, including wikis and glossaries
  • Apply software engineering metrics to identify problems in the codebase
  • Report bugs
  • Identify and diagnose a bug
  • Fix a bug: for very motivated students only
  • Package the application for an operating system
  • Test a beta or release candidate

I have two options in mind --- their distributed systems module, where they examine and contribute to a particular project that I identify for the class, and their final year project --- where I would like them to contribute to an open-source project and where possible, integrate/combine with their game projects. I would like at least one team to contribute to an open-source educational game project. Blockly is a candidate here.

As a precursor, I will encourage my colleagues to have their students examine a HFOSS project as part of their first-year Software Engineering module. On this module, I already cover licensing issues, IP law, software metrics, project management, bug tracking, CI, etc. It would be good for them to be exposed to this through OSS and to document/apply metrics where this would be useful.

Bug Tracking

Individual Bug Reports

The following columns are used in the GNOME Accessibility bug tracker:

  • ID is the The numeric id of a bug, unique within the entire installation of GNOME Bugzilla.
  • Sev is the severity of the bug (blocker, critical, major, normal, minor, trivial, enhancement).
  • Pri is the priority of the bug (immediate, urgent, high, normal, low).
  • OS is the operating system the bug was observed on. . Range: All, AIX, ..., Windows, OpenVMS, other.
  • Product is how bugs are categorized into Products and Components. Select a Classification to narrow down this list.
  • Status The Status field indicates the current state of a bug (Open Bugs---UNCONFIRMED, CONFIRMED, IN_PROGRESS, Closed Bugs---RESOLVED, VERIFIED). Only certain status transitions are allowed. Additional options seem to include: NEW, ASSIGNED, REOPENED, NEEDINFO.
  • Resolution indicates what happened to this bug (FIXED, INVALID, WONTFIX, DUPLICATE, WORKSFORME). Other options seem to include: NOTABUG, NOTGNOME, INCOMPLETE, GNOME1.x, MOVED, OBSOLETE, NOTXIMIAN).
  • Summary is a short sentence which succinctly describes what the bug is about.

This information was found on the Fields Page, the BugZilla Wiki, and the Advanced Search Page.

The bugs are displayed in ascending numerical order, by ID.

The colors seem to map to the importance field (a tuple of priority and severity):

  • Grey: nirnak enhancement
  • Red: high critical
  • Black: normal normal
  • etc.

Bug 1 The column header borders are not visible enough in inverse high contrast theme

  • Submitted: 2009-09-15 17:33 UTC
  • Last Comment: 2009-11-15 02:53:14 UTC
  • Current
  • Assigned To: Banshee Maintainers
  • Fix: Modify the theme accordingly, possibly with view for v.3.0.0 when announced.

Bug 2 Provide mnemonics for 'Tools' and 'View' submenus

  • Submitted: 2016-12-04 19:10 UTC
  • Last Comment: 2016-12-31 23:43:32 UTC
  • Current
  • Assigned To: Gedit maintainers
  • Fix: define interface for plugins to define mnemonics in menu.

Collective Bug Reports

  • Bugs opened: 86
  • Bugs closed: 61
  • General trend was that more bugs were opened than closed. Particularly GStreamer which opened 33 bugs, fixing only 18
Name #Bug closed
Piotr Drąg 15
Bastien Nocera 12
Kai Lüke 9
  • Motivate effort, identify outstanding contributors, etc.
Name #Bug reported
Bastien Nocera 11
Stephen 6
Dan Jacobson 6
  • Some overlap, but different. Bastien Nocera seems to be standing out.
Name #Patch Contributions
Philip Chimento 36
Bastien Nocera 32
Abhinav Singh 25
Name #Patch Reviewers
Daniel Garcia 20
Bastien Nocera 17
Georges Basile Stavracas Neto 9
  • Again, some overlap, but mostly different different. Again, Bastien Nocera seems to be standing out, appearing in the top 3 for all categories examined. Notably fewer reviewers than contributors.

Report-2017-06-28.png [8]

  • All bugs in the braille component have a normal severity
  • line graph and pie charts

FOSS in Course II

Intro to GitHub

    1. Identify some possible learning outcomes that should be fulfilled with the activities/task.
    2. Describe any prerequisite knowledge needed to complete the activity. This does not need to be a complete list.
    3. 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 community or can the activity/topic be covered independent of the HFOSS community schedule.
    4. Think about possible input required from the HFOSS community. How much input is required and what kind?
    5. If the result of the activity is contributed back to the HFOSS project, describe the contribution and its usefulness.
    6. 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 community in helping assess student work? For instance, must the work be committed or otherwise accepted by the community?
    7. List any questions or concerns that you have about the activity/task.
    8. List any stumbling blocks or barriers to carrying out the activity/task.

FOSS Lecture

    1. Identify some possible learning outcomes that should be fulfilled with the activities/task.
    2. Describe any prerequisite knowledge needed to complete the activity. This does not need to be a complete list.
    3. 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 community or can the activity/topic be covered independent of the HFOSS community schedule.
    4. Think about possible input required from the HFOSS community. How much input is required and what kind?
    5. If the result of the activity is contributed back to the HFOSS project, describe the contribution and its usefulness.
    6. 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 community in helping assess student work? For instance, must the work be committed or otherwise accepted by the community?
    7. List any questions or concerns that you have about the activity/task.
    8. List any stumbling blocks or barriers to carrying out the activity/task.

FOSS Field Trip - Software Engineering Methods and Metrics / IP

    1. Identify some possible learning outcomes that should be fulfilled with the activities/task.
    2. Describe any prerequisite knowledge needed to complete the activity. This does not need to be a complete list.
    3. 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 community or can the activity/topic be covered independent of the HFOSS community schedule.
    4. Think about possible input required from the HFOSS community. How much input is required and what kind?
    5. If the result of the activity is contributed back to the HFOSS project, describe the contribution and its usefulness.
    6. 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 community in helping assess student work? For instance, must the work be committed or otherwise accepted by the community?
    7. List any questions or concerns that you have about the activity/task.
    8. List any stumbling blocks or barriers to carrying out the activity/task.

FOSS Field Trip - Distributed Systems

    1. Identify some possible learning outcomes that should be fulfilled with the activities/task.
    2. Describe any prerequisite knowledge needed to complete the activity. This does not need to be a complete list.
    3. 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 community or can the activity/topic be covered independent of the HFOSS community schedule.
    4. Think about possible input required from the HFOSS community. How much input is required and what kind?
    5. If the result of the activity is contributed back to the HFOSS project, describe the contribution and its usefulness.
    6. 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 community in helping assess student work? For instance, must the work be committed or otherwise accepted by the community?
    7. List any questions or concerns that you have about the activity/task.
    8. List any stumbling blocks or barriers to carrying out the activity/task.

FOSS Project

    1. Identify some possible learning outcomes that should be fulfilled with the activities/task.
    2. Describe any prerequisite knowledge needed to complete the activity. This does not need to be a complete list.
    3. 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 community or can the activity/topic be covered independent of the HFOSS community schedule.
    4. Think about possible input required from the HFOSS community. How much input is required and what kind?
    5. If the result of the activity is contributed back to the HFOSS project, describe the contribution and its usefulness.
    6. 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 community in helping assess student work? For instance, must the work be committed or otherwise accepted by the community?
    7. List any questions or concerns that you have about the activity/task.
    8. List any stumbling blocks or barriers to carrying out the activity/task.
Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox