User:Ldeng

From Foss2Serve
(Difference between revisions)
Jump to: navigation, search
 
(38 intermediate revisions by one user not shown)
Line 27: Line 27:
 
'''FOSS Field Trip:''' <br>
 
'''FOSS Field Trip:''' <br>
 
- GitHub <br>
 
- GitHub <br>
 +
''Education'' <br>
 
1. How many repositories are there in this category? <br>
 
1. How many repositories are there in this category? <br>
As of May 25, 10:55 pm, there are 20,345 repositories by searching education. <br>
+
As of May 25, 10:55 pm, there are 20,345 repositories by searching education.  
 +
 
 
2. Click on the first project. Click on Graphs (Insights), then Commits. What information does this page provide? <br>
 
2. Click on the first project. Click on Graphs (Insights), then Commits. What information does this page provide? <br>
The first repo is ''timjacobi/angular-education''. In the Commits of Insights page, there are two charts. The first chart shows how many commits in the past year. The second chart shows how many commits in each day.
+
The first repo is ''timjacobi/angular-education''. In the Commits of Insights page, there are two charts. The first chart shows how many commits in the past year. The second chart shows how many commits in each day. <br>
 +
 
 +
''Humanitarian'' <br>
 +
1. How many repositories are there in this category? <br>
 +
As of May 25, 11:06pm, there are 395 repositories by searching humanitarian.
 +
 
 +
2. Locate the HTBox/crisischeckin project. When was the last update? <br>
 +
The last update is April 22, 2017. <br>
 +
 
 +
''Disaster management'' <br>
 +
1. How many projects are there in this category? <br>
 +
As of May 25, 11:10pm, there are 227 repositories by searching disaster management. <br>
 +
 
 +
- OpenHub <br>
 +
1. How many projects were returned by searching education? 226 pages * 10 per page, which is about 2,260.
 +
 
 +
2. Is any of the code located on GitHub? In 3 pages of code locations, none of the code is located on GitHub.
 +
 
 +
3. How many similar projects are listed? 10
 +
 
 +
4. What information does OpenHub provide about the project? <br>
 +
Not sure ''scroll down'' the original page, or the similar projects page. On similar projects page, here are what it has: <br>
 +
Project Summary: News, Settings, Sharing Widgets, Related Projects <br>
 +
Code Data: Languages, Cost Estimates, Security <br>
 +
SCM Data: Commits, Contributors <br>
 +
Community Data: Users, Ratings & Reviews, User & Contributor Locations <br>
 +
On the page of https://www.openhub.net/p/kdeedu, here are what it has: Code matrics, Activity chart based on different time frame, and contributors per month with 6 most recent contributors.
 +
 
 +
5. How many projects were returned for humanitarian?
 +
21
 +
 
 +
6. How many projects were returned for disaster management?
 +
30
 +
 
 +
7. Click on the Activity icon. Why do so many projects do not have activity information available? <br>
 +
Some projects are inactive because they have had no activity in the past two years.
 +
Other projects are labeled as ''Not Available'' because they do not have recent analysis due to problems with the code locations or other problems blocking Open Hub from collecting and analyzing code.
 +
 
 +
8. Click on Organizations, what information is provided on this page? <br>
 +
Some statistical information, such as Most Active Organizations, statistical information by sectors, etc.
 +
 
 +
9. Search for OpenMRS, when was the last commit for OpenMRS Core? 11-March-2018 at 11:57.
 +
 
 +
10. Go back to GitHub and search for OpenMRS Core. When was the last commit? May 22, 2018.
 +
 
 +
11. Why do you think these sites have different information? Because OpenMRS is shown as ''Activity Not Available.'' The page shows ''Analyzed 2 months ago.''
 +
 
 +
12. What would be the benefits/drawbacks of using both GitHub and OpenHub to search for a project?
 +
The benefit of OpenHub seems to be able to manage different sites at one place. However, data might be inconsistent across the websites.
 +
 
 +
'''Project Evaluation:''' <br>
 +
{| class="wikitable" style="width:100%;"
 +
|-
 +
! Evaluation Factor
 +
! Level<br/>(0-2)
 +
! style="width:60%;" | Evaluation Data
 +
|-
 +
| '''Licensing'''
 +
| 2
 +
| Mozilla Public License, version 2.0
 +
|-
 +
| '''Language'''
 +
| 2
 +
| Java 96.2% SQLPL 2.9% Other 0.9%
 +
|-
 +
| '''Level of Activity'''
 +
| 2
 +
| A majority of the weeks in a given quarter have commits
 +
|-
 +
| '''Number of Contributors'''
 +
| 2
 +
| 303 Contributors
 +
|-
 +
| '''Product Size'''
 +
| 2
 +
| 222.42 MB
 +
|-
 +
| '''Issue Tracker'''
 +
| 2
 +
| 1256 issues for ''ready for work'' <br>
 +
12875 closed. <br>
 +
The 5th open issue: Displaying service info in XForms. It seems not all issues are actively being resolved.
 +
|-
 +
| '''New Contributor'''
 +
| 2
 +
| Well-documented.
 +
|-
 +
| '''Community Norms'''
 +
| 2
 +
| Observation: 1. Conventions and processes are clearly described in detail. 2. All naming standards are documented. 3. A detailed Code of Conduct that regulates members in the community to ensure a respectful and collaborative environment. <br>
 +
Obervation on TALK: 1. Members are always willing to help each other. 2. Questions are posted with screenshots and error messages, so that others can know the detail. 3. Very collaborative.
 +
|-
 +
| '''User Base'''
 +
| 2
 +
|
 +
Does there appear to be a user base? Yes. <br>
 +
Are there instructions for downloading and setting up the software for use by clients? Yes. <br>
 +
Are there instructions for how to use the software? Yes.
 +
|-
 +
| '''Total Score'''
 +
| 18
 +
|
 +
|}
 +
 
 +
'''Copyright and Licensing:''' <br>
 +
1. License <br>
 +
https://github.com/openmrs/openmrs-core, Mozilla Public License, version 2.0
 +
https://github.com/apache/incubator-fineract, Apache License, Version 2.0
 +
https://github.com/regulately/regulately-back-end, N/A
 +
 
 +
2. "cans” / “cannots” / “musts” <br>
 +
''Mozilla Public License, version 2.0'' <br>
 +
Can: Commercial Use,  Modify,  Distribute,  Sublicense,  Place Warranty,  Use Patent Claims <br>
 +
Cannot:  Use Trademark, Hold Liable <br>
 +
Must:  Include Copyright,  Include License,  Disclose Source,  Include Original<br>
 +
''Apache License, Version 2.0'' <br>
 +
Can: Commercial Use,  Modify,  Distribute,  Sublicense,  Place Warranty,  Use Patent Claims, Private Use <br>
 +
Cannot:  Use Trademark, Hold Liable <br>
 +
Must:  Include Copyright,  Include License,  State Changes,  Include Notice <br>
 +
 
 +
3. For each license, state whether you would (or would not) be comfortable contributing code to that project and why (or why not). <br>
 +
Both are very popular licenses in FOSS. We have been using Apache License 2.0 for a while for our own research projects.
 +
 
 +
'''FOSS in Courses 1''' <br>
 +
I do find many activities and topics that fit in my class. <br>
 +
For software engineering class: Develop UML diagram(s) for a FOSS, Run usability studies, Suggest new features, Help in documentation <br>
 +
http://foss2serve.org/index.php/OpenMRS_Architecture_activity has a very good activity for identifying software architecture. <br>
 +
 
 +
For software testing class: Diagnose a bug, Close fixed bugs, Create validation or regression test cases <br>
 +
http://foss2serve.org/index.php/Examine_Branch_Test_Coverage_(Activity) has a very good activity in C++. I would like to change it into Java and extend it to additional testing coverage criteria. <br>
 +
 
 +
'''Intro to Bug Trackers''' <br>
 +
'''(Part 1)''' <br>
 +
1. Define what each of the column names below indicate. <br>
 +
:1. ID: A unique identification number for each bug. <br>
 +
:2. Product: The software in which the bug locates. A list of possible values from the link with the searching criteria ([https://bugzilla.gnome.org/buglist.cgi?type0-7-0=notequals;field0-3-0=product;keywords=accessibility;type0-1-0=notequals;type0-5-0=notequals;keywords_type=allwords;value0-5-0=accerciser;value0-4-0=at-poke;field0-1-0=product;field0-0-0=product;type0-4-0=notequals;field0-6-0=product;value0-3-0=gnome-mag;field0-7-0=product;query_format=advanced;value0-2-0=Dasher;value0-6-0=gnome-speech;value0-1-0=Gok;type0-3-0=notequals;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;bug_status=NEEDINFO;field0-2-0=product;field0-5-0=product;field0-4-0=product;type0-6-0=notequals;type0-0-0=notequals;value0-0-0=Orca;type0-2-0=notequals GNOME Accessibility Bugs]):
 +
aisleriot,
 +
at-spi,
 +
atk,
 +
balsa,
 +
banshee,
 +
baobab,
 +
bluefish,
 +
bugzilla.gnome,
 +
caribou,
 +
cheese,
 +
clutter,
 +
clutter-gtk,
 +
conduit,
 +
dia,
 +
doxygen,
 +
ekiga,
 +
epiphany,
 +
evolution,
 +
f-spot,
 +
gconf-editor,
 +
gedit,
 +
general,
 +
gftp,
 +
gnome-alsamixe,
 +
gnome-applets,
 +
gnome-clocks,
 +
gnome-color-ma,
 +
gnome-commande,
 +
gnome-control-,
 +
gnome-devel-do,
 +
gnome-document,
 +
gnome-initial-,
 +
gnome-keyring,
 +
gnome-main-men,
 +
gnome-menus,
 +
gnome-nettool,
 +
gnome-panel,
 +
gnome-session,
 +
gnome-settings,
 +
gnome-shell,
 +
gnome-themes,
 +
GnuCash,
 +
gparted,
 +
gucharmap,
 +
gvfs,
 +
HIG,
 +
java-atk-wrapp,
 +
java-gnome,
 +
jhbuild,
 +
libgd,
 +
libgnomekbd,
 +
metacity,
 +
mousetweaks,
 +
nautilus,
 +
NetworkManager,
 +
ocrfeeder,
 +
planner,
 +
seahorse,
 +
sound-juicer,
 +
sysadmin,
 +
vte,
 +
xchat-gnome
 +
 
 +
:3. Comp: The component in which the bug locates. A list of possible values from the link with the searching criteria ([https://bugzilla.gnome.org/buglist.cgi?type0-7-0=notequals;field0-3-0=product;keywords=accessibility;type0-1-0=notequals;type0-5-0=notequals;keywords_type=allwords;value0-5-0=accerciser;value0-4-0=at-poke;field0-1-0=product;field0-0-0=product;type0-4-0=notequals;field0-6-0=product;value0-3-0=gnome-mag;field0-7-0=product;query_format=advanced;value0-2-0=Dasher;value0-6-0=gnome-speech;value0-1-0=Gok;type0-3-0=notequals;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;bug_status=NEEDINFO;field0-2-0=product;field0-5-0=product;field0-4-0=product;type0-6-0=notequals;type0-0-0=notequals;value0-0-0=Orca;type0-2-0=notequals GNOME Accessibility Bugs]):
 +
games,
 +
registry,
 +
python-bindin,
 +
general,
 +
api,
 +
docs,
 +
at-spi2-core,
 +
atk,
 +
User Interfac,
 +
Other Extensi,
 +
Community Ext,
 +
Device (gener,
 +
application,
 +
default,
 +
cally,
 +
ClutterText,
 +
core,
 +
Accessibility,
 +
Sync,
 +
Contacts,
 +
Calendar,
 +
Mailer,
 +
stickynotes,
 +
keyboard-acce,
 +
gweather,
 +
stopwatch,
 +
world clock,
 +
Universal Acc,
 +
Keyboard,
 +
Mouse,
 +
Display,
 +
Network,
 +
Background,
 +
books,
 +
prompting,
 +
libslab,
 +
panel,
 +
clock,
 +
notification ,
 +
menu,
 +
gnome-session,
 +
system-status,
 +
st,
 +
magnifier,
 +
overview,
 +
message-tray,
 +
search,
 +
lock-screen,
 +
login-screen,
 +
drivers,
 +
theme-highcon,
 +
ftp backend,
 +
Bindings Core,
 +
Drawing,
 +
Focus,
 +
Iain's compos,
 +
EWMH specific,
 +
themes,
 +
daemon,
 +
pointer-captu,
 +
dwell-click a,
 +
Views: Icon V,
 +
Location Bar,
 +
Path Bar,
 +
File Properti,
 +
Keyboardabili,
 +
IP and DNS co,
 +
UI,
 +
Mirrors
 +
 
 +
:4. Assignee: Who is assigned to fix the bug. A list of possible values from the link with the searching criteria ([https://bugzilla.gnome.org/buglist.cgi?type0-7-0=notequals;field0-3-0=product;keywords=accessibility;type0-1-0=notequals;type0-5-0=notequals;keywords_type=allwords;value0-5-0=accerciser;value0-4-0=at-poke;field0-1-0=product;field0-0-0=product;type0-4-0=notequals;field0-6-0=product;value0-3-0=gnome-mag;field0-7-0=product;query_format=advanced;value0-2-0=Dasher;value0-6-0=gnome-speech;value0-1-0=Gok;type0-3-0=notequals;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;bug_status=NEEDINFO;field0-2-0=product;field0-5-0=product;field0-4-0=product;type0-6-0=notequals;type0-0-0=notequals;value0-0-0=Orca;type0-2-0=notequals GNOME Accessibility Bugs]):
 +
 
 +
aisleriot-maint,
 +
at-spi-maint,
 +
atk-maint,
 +
balsa-maint,
 +
banshee-maint,
 +
sindhus,
 +
baobab-maint,
 +
bluefish-maint,
 +
bugzilla-maint,
 +
caribou-maint,
 +
cheese-maint,
 +
clutter-maint,
 +
clutter-gtk-maint,
 +
conduit-maint,
 +
dia-maint,
 +
dimitri,
 +
ekiga-maint,
 +
epiphany-maint,
 +
evolution-addressbook-maint...,
 +
evolution-calendar-maintainers,
 +
evolution-mail-maintainers,
 +
evolution-shell-maintainers,
 +
f-spot-maint,
 +
gconf-editor-maint,
 +
gedit-maint,
 +
unknown,
 +
masneyb,
 +
patrick.wade,
 +
gnome-applets-maint,
 +
clocks-maint,
 +
gnome-color-manager-maint,
 +
gnome-commander-maint,
 +
control-center-maint,
 +
rishi.is,
 +
gnome-devel-docs-maint,
 +
gnome-books-maint,
 +
gnome-documents-maint,
 +
gnome-initial-setup-maint,
 +
gnome-keyring-maint,
 +
gnome-main-menu-maint,
 +
gnome-menus-maint,
 +
gpoo,
 +
gnome-panel-maint,
 +
gnome-session-maint,
 +
gnome-settings-daemon-maint,
 +
gnome-shell-maint,
 +
rstrode,
 +
calum.benson,
 +
gnome-themes-maint,
 +
lferrett,
 +
kevin,
 +
stimming,
 +
gparted-maint,
 +
gucharmap-maint,
 +
gvfs-maint,
 +
hig-maint,
 +
java-atk-wrapper-maint,
 +
m.berns,
 +
java-gnome-maint,
 +
jhbuild-maint,
 +
libgd-maint,
 +
libgnomekbd-maint,
 +
metacity-maint,
 +
metacity-compositor-maint,
 +
mousetweaks-maint,
 +
nautilus-maint,
 +
networkmanager-maint,
 +
ocrfeeder-maint,
 +
jojeda,
 +
planner-maint,
 +
seahorse-maint,
 +
sound-juicer-maint,
 +
sysadmin-maint,
 +
vte-maint,
 +
xchat-gnome-maint
 +
 
 +
:5. Status: The status of a bug. A list of possible values from the link with the searching criteria ([https://bugzilla.gnome.org/buglist.cgi?type0-7-0=notequals;field0-3-0=product;keywords=accessibility;type0-1-0=notequals;type0-5-0=notequals;keywords_type=allwords;value0-5-0=accerciser;value0-4-0=at-poke;field0-1-0=product;field0-0-0=product;type0-4-0=notequals;field0-6-0=product;value0-3-0=gnome-mag;field0-7-0=product;query_format=advanced;value0-2-0=Dasher;value0-6-0=gnome-speech;value0-1-0=Gok;type0-3-0=notequals;bug_status=UNCONFIRMED;bug_status=NEW;bug_status=ASSIGNED;bug_status=REOPENED;bug_status=NEEDINFO;field0-2-0=product;field0-5-0=product;field0-4-0=product;type0-6-0=notequals;type0-0-0=notequals;value0-0-0=Orca;type0-2-0=notequals GNOME Accessibility Bugs]):
 +
 
 +
NEW,
 +
ASSIGNED,
 +
REOPENED,
 +
UNCONFIRMED,
 +
NEEDINFO,
 +
RESOLVED,
 +
VERIFIED
 +
 
 +
:6. Resolution: It seems another attribute of the status of the bug. Example values:
 +
 
 +
FIXED,
 +
WONTFIX,
 +
DUPLICATE,
 +
NOTABUG,
 +
NOTGNOME,
 +
INCOMPLETE,
 +
INVALID,
 +
GNOME1.x,
 +
MOVED,
 +
OBSOLETE,
 +
NOTXIMIAN
 +
 
 +
:7. Summary: A description of the bug.
 +
 
 +
2. Describe how you discovered the definitions and how you found the information from above? <br>
 +
My initial interpretation was based on the possible values I saw from the page.
 +
Then, I went to the advanced search page, and there was a question mark when the mouse moved on certain texts, which directed me to a help page.
 +
Even though some information provided on the help page is not very consistent to the possible values listed on the advanced search page, it does describe what each item means.
 +
 
 +
3. Identify the order in which the bugs are initially displayed. <br>
 +
It seems the sorting mechanism will be recorded by the browser, so after playing sorting the results a couple of times with different ways, I was not able to reproduce the way how the bugs were initially ordered.
 +
But I would guess they are sorted by IDs.
 +
 
 +
4. What is the meaning of the colors used when describing a bug (red, gray, black)? <br>
 +
Colors stand for different levels of importance.
 +
 
 +
5.  Select a bug that you think that you might be able to fix and look at it more closely (click on the bug number). <br>
 +
:Bug 541119
 +
:When was the bug submitted? 2008-07-01 18:15 UTC
 +
:What recent discussion has there been about the bug? 2015-02-24 15:54:04 UTC, Magdalen Berns (irc magpie) pointed out a patch for this bug.
 +
:Is the bug current? From the status, yes. However, from the discussion, the bug already has a fix and the fix is committed.
 +
:Is the bug assigned? To whom? Assigned to At-spi maintainer(s).
 +
:Describe what you would need to do to fix the bug. This bug is pretty straightforward, the version symbol needs to be fixed with a better data structure.
 +
 
 +
6.  Another bug. <br>
 +
:Bug 524741
 +
:When was the bug submitted? 2008-03-28 03:18 UTC
 +
:What recent discussion has there been about the bug? 2013-08-14 10:03 UTC, André Klapper was asking for a reclaim.
 +
:Is the bug current? Yes.
 +
:Is the bug assigned? To whom? Assigned to At-spi maintainer(s).
 +
:Describe what you would need to do to fix the bug. Eitan Isaacson proposed a path, but it was not accepted. I would check other open source projects and see how they handle unicode objects and re-use other people's code.
 +
 
 +
'''(Part 2)''' <br>
 +
Click on the “Reports” link on the top of the page. Click on the "Summary of Bug Activity for the last week". <br>
 +
1. How many bug reports were opened in the last week? How many were closed? <br>
 +
As of June 14 5:18 PM, 56 reports opened and 75 reports closed.
 +
 
 +
2. What was the general trend last week? Were more bugs opened than closed or vice versa? <br>
 +
More bugs were closed than opened.
 +
 
 +
3. Who were the top three bug closers? Why is this important to know? <br>
 +
John Ralls (16), Milan Crha (8), Michael Gratton (6). Listing top bug closers is considered as a rewarding and recognition.
 +
 
 +
4. 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? <br>
 +
Philippe Normand (4), Edward Hervey (2), André Klapper (2). There are other reporters also reported 2 bugs. But they are not the same as bug closers.
 +
W. Michael Petullo closed a bug and also reported a bug.
 +
Sebastian Dröge (slomo) closed two and reported two.
 +
André Klapper closed one and reported two.
 +
 
 +
5. 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? <br>
 +
Víctor Manuel Jáquez Leal (12), Sebastian Dröge (slomo) (7), Nicolas Dufresne (ndufresne) (6).
 +
 
 +
Overlap between these lists and the bug closers and bug reporters:<br>
 +
Víctor Manuel Jáquez Leal (top bug closer / top patch contributor / top patch reviewer),<br>
 +
Sebastian Dröge (slomo) (top bug closer / top bug reporter / top patch contributor / top patch reviewer),<br>
 +
Guillaume Desmottes (top bug closer / top patch contributor),<br>
 +
Mathieu Duponchelle (top bug closer / top bug reporter / top patch contributor),<br>
 +
Ahmed K (top bug reporter / top patch contributor),<br>
 +
Alicia Boya García  (top bug reporter / top patch contributor / top patch reviewer),<br>
 +
Edward Hervey (top bug reporter / top patch contributor / top patch reviewer),<br>
 +
Debarshi Ray (top bug closer  /  top patch reviewer),<br>
 +
Michael Gratton (top bug closer  /  top patch reviewer),<br>
 +
John Ralls (top bug closer /  top patch reviewer).
 +
 
 +
Overlap between patch contributors and patch reviewers:
 +
Víctor Manuel Jáquez Leal,
 +
Sebastian Dröge (slomo),
 +
Alicia Boya García,
 +
Edward Hervey.
 +
 
 +
6. Click on the "Reports" link at the top of the page and then click on the “Generate Graphical Reports” link. <br>
 +
[[File:Report-2018-06-15.png]]
 +
:What class were the majority of the bugs for braille? Minor.
 +
:What other reports can you generate? Line, Table, CSV.
 +
 
 +
'''Intro to GitHub''' <br>
 +
Done.
 +
 
 +
'''FOSS in Courses 2''' <br>
 +
1. For software engineering class, possible activities: Develop UML diagram(s) for a HFOSS, Run usability studies, Suggest new features, Help in documentation. <br>
 +
http://foss2serve.org/index.php/OpenMRS_Architecture_activity has a very good activity for identifying software architecture.
 +
I plan to re-use this activity to ask students to design use case diagram, sequence diagram, and class diagram.<br>
 +
 
 +
:Possible learning outcomes:
 +
:: Students practice drawing UML diagram(s) for a reasonable sized HFOSS.
 +
 
 +
:Prerequisite knowledge needed to complete the activity.
 +
:: Basic understanding and syntax knowledge of UML diagram(s). Knowledge of the programming language used by the HFOSS under analysis.
 +
 
 +
: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.
 +
:: 1-3 hours for instructor prep, depending on the size, documents, and structure of the HFOSS under analysis. 2-4 hours for student completion. It can be synchronized or independent.
 +
 
 +
:Think about possible input required from the HFOSS community. How much input is required and what kind?
 +
:: Documentation of the HFOSS, prior experience of running similar exercises.
 +
 
 +
:If the result of the activity is contributed back to the HFOSS project, describe the contribution and its usefulness.
 +
:: Experience of running this exercises will be shared with the community. Models and diagrams constructed by students will also be shared with the community.
 +
 
 +
: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?
 +
:: Team activity will be better. 50% for the syntax of models/diagrams constructed. 35% for understanding the HFOSS correctly. 15% for individual contribution within the team.
 +
 
 +
 
 +
2. For software testing class, possible activities: Diagnose a bug, Close fixed bugs, Create validation or regression test cases <br>
 +
http://foss2serve.org/index.php/Examine_Branch_Test_Coverage_(Activity) has a very good activity in C++. I would like to change it into Java and extend it to additional testing coverage criteria. <br>
 +
 
 +
:Possible learning outcomes:
 +
::Git and Git commands, different testing coverages, designing tests.
 +
 
 +
:Describe any prerequisite knowledge needed to complete the activity. This does not need to be a complete list.
 +
::Programming language (Java) and Junit testing.
 +
 
 +
: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.
 +
:: 1-3 hours for instructor prep, depending on the size, documents, and structure of the HFOSS under analysis. 2-4 hours for student completion. It can be synchronized or independent. 
 +
 
 +
:Think about possible input required from the HFOSS community. How much input is required and what kind?
 +
:: Prior experience of running similar exercises.
 +
 
 +
:If the result of the activity is contributed back to the HFOSS project, describe the contribution and its usefulness.
 +
:: Experience of running this exercises will be shared with the community.
 +
 
 +
:Describe the assessment/grading approach - What will the basis for grading be? Will this be a team activity or individual?
 +
::Team activity will be better. Test cases: 50%, report of running process: 35%, individual contribution within the team: 15%.

Latest revision as of 22:23, 15 June 2018

Name: Lin Deng

Position: Assistant Professor, Department of Computer and Information Sciences, Towson University, Towson, MD 21252

email: ldeng@towson.edu

Page: http://wp.towson.edu/ldeng

Bio: Lin Deng is an Assistant Professor at Towson University, teaching software engineering, OO programming, software testing. Lin Deng completed his Ph.D. in Information Technology in the Department of Computer Science at George Mason University in 2017.

Project Review Assignment:
- Sugar
My students would be more suitable to work as developers.
The commonality across roles would be "communication." The difference is how they communicate.
Submitting a bug for Sugar would be starting from the GitHub repository, searching existing one, or create a new one in the issue page.
Issues are labeled as bug, design, feature, needs SLOBS, and needs work. Each issue has assignees, labels, projects, milestone, and participant.
At the time of my access to the repo, the latest commit is on Apr 29, 2018.
Roadmap is updated at the beginning of each release cycle.

- Sahana Eden
This project has more roles than Sugar. Due to its specific feature, this project has GIS specialists. Also, it seems this project has more interest in quality, so it has testers and bug marshals.
Unlike Sugar, tickets of this project are organized into different categories.
In each ticket, it has reported by, owned by, priority, milestone, component, version, keywords, cc, due date, launchpad bug, and description.
At the time of my access to the repo, the latest commit is on May 4, 2018.
On the page of roadmap, one interesting thing I find is that there is a </BODY> shown on the page. :-)

FOSS Field Trip:
- GitHub
Education
1. How many repositories are there in this category?
As of May 25, 10:55 pm, there are 20,345 repositories by searching education.

2. Click on the first project. Click on Graphs (Insights), then Commits. What information does this page provide?
The first repo is timjacobi/angular-education. In the Commits of Insights page, there are two charts. The first chart shows how many commits in the past year. The second chart shows how many commits in each day.

Humanitarian
1. How many repositories are there in this category?
As of May 25, 11:06pm, there are 395 repositories by searching humanitarian.

2. Locate the HTBox/crisischeckin project. When was the last update?
The last update is April 22, 2017.

Disaster management
1. How many projects are there in this category?
As of May 25, 11:10pm, there are 227 repositories by searching disaster management.

- OpenHub
1. How many projects were returned by searching education? 226 pages * 10 per page, which is about 2,260.

2. Is any of the code located on GitHub? In 3 pages of code locations, none of the code is located on GitHub.

3. How many similar projects are listed? 10

4. What information does OpenHub provide about the project?
Not sure scroll down the original page, or the similar projects page. On similar projects page, here are what it has:
Project Summary: News, Settings, Sharing Widgets, Related Projects
Code Data: Languages, Cost Estimates, Security
SCM Data: Commits, Contributors
Community Data: Users, Ratings & Reviews, User & Contributor Locations
On the page of https://www.openhub.net/p/kdeedu, here are what it has: Code matrics, Activity chart based on different time frame, and contributors per month with 6 most recent contributors.

5. How many projects were returned for humanitarian? 21

6. How many projects were returned for disaster management? 30

7. Click on the Activity icon. Why do so many projects do not have activity information available?
Some projects are inactive because they have had no activity in the past two years. Other projects are labeled as Not Available because they do not have recent analysis due to problems with the code locations or other problems blocking Open Hub from collecting and analyzing code.

8. Click on Organizations, what information is provided on this page?
Some statistical information, such as Most Active Organizations, statistical information by sectors, etc.

9. Search for OpenMRS, when was the last commit for OpenMRS Core? 11-March-2018 at 11:57.

10. Go back to GitHub and search for OpenMRS Core. When was the last commit? May 22, 2018.

11. Why do you think these sites have different information? Because OpenMRS is shown as Activity Not Available. The page shows Analyzed 2 months ago.

12. What would be the benefits/drawbacks of using both GitHub and OpenHub to search for a project? The benefit of OpenHub seems to be able to manage different sites at one place. However, data might be inconsistent across the websites.

Project Evaluation:

Evaluation Factor Level
(0-2)
Evaluation Data
Licensing 2 Mozilla Public License, version 2.0
Language 2 Java 96.2% SQLPL 2.9% Other 0.9%
Level of Activity 2 A majority of the weeks in a given quarter have commits
Number of Contributors 2 303 Contributors
Product Size 2 222.42 MB
Issue Tracker 2 1256 issues for ready for work

12875 closed.
The 5th open issue: Displaying service info in XForms. It seems not all issues are actively being resolved.

New Contributor 2 Well-documented.
Community Norms 2 Observation: 1. Conventions and processes are clearly described in detail. 2. All naming standards are documented. 3. A detailed Code of Conduct that regulates members in the community to ensure a respectful and collaborative environment.

Obervation on TALK: 1. Members are always willing to help each other. 2. Questions are posted with screenshots and error messages, so that others can know the detail. 3. Very collaborative.

User Base 2

Does there appear to be a user base? Yes.
Are there instructions for downloading and setting up the software for use by clients? Yes.
Are there instructions for how to use the software? Yes.

Total Score 18

Copyright and Licensing:
1. License
https://github.com/openmrs/openmrs-core, Mozilla Public License, version 2.0 https://github.com/apache/incubator-fineract, Apache License, Version 2.0 https://github.com/regulately/regulately-back-end, N/A

2. "cans” / “cannots” / “musts”
Mozilla Public License, version 2.0
Can: Commercial Use, Modify, Distribute, Sublicense, Place Warranty, Use Patent Claims
Cannot: Use Trademark, Hold Liable
Must: Include Copyright, Include License, Disclose Source, Include Original
Apache License, Version 2.0
Can: Commercial Use, Modify, Distribute, Sublicense, Place Warranty, Use Patent Claims, Private Use
Cannot: Use Trademark, Hold Liable
Must: Include Copyright, Include License, State Changes, Include Notice

3. For each license, state whether you would (or would not) be comfortable contributing code to that project and why (or why not).
Both are very popular licenses in FOSS. We have been using Apache License 2.0 for a while for our own research projects.

FOSS in Courses 1
I do find many activities and topics that fit in my class.
For software engineering class: Develop UML diagram(s) for a FOSS, Run usability studies, Suggest new features, Help in documentation
http://foss2serve.org/index.php/OpenMRS_Architecture_activity has a very good activity for identifying software architecture.

For software testing class: Diagnose a bug, Close fixed bugs, Create validation or regression test cases
http://foss2serve.org/index.php/Examine_Branch_Test_Coverage_(Activity) has a very good activity in C++. I would like to change it into Java and extend it to additional testing coverage criteria.

Intro to Bug Trackers
(Part 1)
1. Define what each of the column names below indicate.

1. ID: A unique identification number for each bug.
2. Product: The software in which the bug locates. A list of possible values from the link with the searching criteria (GNOME Accessibility Bugs):

aisleriot, at-spi, atk, balsa, banshee, baobab, bluefish, bugzilla.gnome, caribou, cheese, clutter, clutter-gtk, conduit, dia, doxygen, ekiga, epiphany, evolution, f-spot, gconf-editor, gedit, general, gftp, gnome-alsamixe, gnome-applets, gnome-clocks, gnome-color-ma, gnome-commande, gnome-control-, gnome-devel-do, gnome-document, gnome-initial-, gnome-keyring, gnome-main-men, gnome-menus, gnome-nettool, gnome-panel, gnome-session, gnome-settings, gnome-shell, gnome-themes, GnuCash, gparted, gucharmap, gvfs, HIG, java-atk-wrapp, java-gnome, jhbuild, libgd, libgnomekbd, metacity, mousetweaks, nautilus, NetworkManager, ocrfeeder, planner, seahorse, sound-juicer, sysadmin, vte, xchat-gnome

3. Comp: The component in which the bug locates. A list of possible values from the link with the searching criteria (GNOME Accessibility Bugs):

games, registry, python-bindin, general, api, docs, at-spi2-core, atk, User Interfac, Other Extensi, Community Ext, Device (gener, application, default, cally, ClutterText, core, Accessibility, Sync, Contacts, Calendar, Mailer, stickynotes, keyboard-acce, gweather, stopwatch, world clock, Universal Acc, Keyboard, Mouse, Display, Network, Background, books, prompting, libslab, panel, clock, notification , menu, gnome-session, system-status, st, magnifier, overview, message-tray, search, lock-screen, login-screen, drivers, theme-highcon, ftp backend, Bindings Core, Drawing, Focus, Iain's compos, EWMH specific, themes, daemon, pointer-captu, dwell-click a, Views: Icon V, Location Bar, Path Bar, File Properti, Keyboardabili, IP and DNS co, UI, Mirrors

4. Assignee: Who is assigned to fix the bug. A list of possible values from the link with the searching criteria (GNOME Accessibility Bugs):

aisleriot-maint, at-spi-maint, atk-maint, balsa-maint, banshee-maint, sindhus, baobab-maint, bluefish-maint, bugzilla-maint, caribou-maint, cheese-maint, clutter-maint, clutter-gtk-maint, conduit-maint, dia-maint, dimitri, ekiga-maint, epiphany-maint, evolution-addressbook-maint..., evolution-calendar-maintainers, evolution-mail-maintainers, evolution-shell-maintainers, f-spot-maint, gconf-editor-maint, gedit-maint, unknown, masneyb, patrick.wade, gnome-applets-maint, clocks-maint, gnome-color-manager-maint, gnome-commander-maint, control-center-maint, rishi.is, gnome-devel-docs-maint, gnome-books-maint, gnome-documents-maint, gnome-initial-setup-maint, gnome-keyring-maint, gnome-main-menu-maint, gnome-menus-maint, gpoo, gnome-panel-maint, gnome-session-maint, gnome-settings-daemon-maint, gnome-shell-maint, rstrode, calum.benson, gnome-themes-maint, lferrett, kevin, stimming, gparted-maint, gucharmap-maint, gvfs-maint, hig-maint, java-atk-wrapper-maint, m.berns, java-gnome-maint, jhbuild-maint, libgd-maint, libgnomekbd-maint, metacity-maint, metacity-compositor-maint, mousetweaks-maint, nautilus-maint, networkmanager-maint, ocrfeeder-maint, jojeda, planner-maint, seahorse-maint, sound-juicer-maint, sysadmin-maint, vte-maint, xchat-gnome-maint

5. Status: The status of a bug. A list of possible values from the link with the searching criteria (GNOME Accessibility Bugs):

NEW, ASSIGNED, REOPENED, UNCONFIRMED, NEEDINFO, RESOLVED, VERIFIED

6. Resolution: It seems another attribute of the status of the bug. Example values:

FIXED, WONTFIX, DUPLICATE, NOTABUG, NOTGNOME, INCOMPLETE, INVALID, GNOME1.x, MOVED, OBSOLETE, NOTXIMIAN

7. Summary: A description of the bug.

2. Describe how you discovered the definitions and how you found the information from above?
My initial interpretation was based on the possible values I saw from the page. Then, I went to the advanced search page, and there was a question mark when the mouse moved on certain texts, which directed me to a help page. Even though some information provided on the help page is not very consistent to the possible values listed on the advanced search page, it does describe what each item means.

3. Identify the order in which the bugs are initially displayed.
It seems the sorting mechanism will be recorded by the browser, so after playing sorting the results a couple of times with different ways, I was not able to reproduce the way how the bugs were initially ordered. But I would guess they are sorted by IDs.

4. What is the meaning of the colors used when describing a bug (red, gray, black)?
Colors stand for different levels of importance.

5. Select a bug that you think that you might be able to fix and look at it more closely (click on the bug number).

Bug 541119
When was the bug submitted? 2008-07-01 18:15 UTC
What recent discussion has there been about the bug? 2015-02-24 15:54:04 UTC, Magdalen Berns (irc magpie) pointed out a patch for this bug.
Is the bug current? From the status, yes. However, from the discussion, the bug already has a fix and the fix is committed.
Is the bug assigned? To whom? Assigned to At-spi maintainer(s).
Describe what you would need to do to fix the bug. This bug is pretty straightforward, the version symbol needs to be fixed with a better data structure.

6. Another bug.

Bug 524741
When was the bug submitted? 2008-03-28 03:18 UTC
What recent discussion has there been about the bug? 2013-08-14 10:03 UTC, André Klapper was asking for a reclaim.
Is the bug current? Yes.
Is the bug assigned? To whom? Assigned to At-spi maintainer(s).
Describe what you would need to do to fix the bug. Eitan Isaacson proposed a path, but it was not accepted. I would check other open source projects and see how they handle unicode objects and re-use other people's code.

(Part 2)
Click on the “Reports” link on the top of the page. Click on the "Summary of Bug Activity for the last week".
1. How many bug reports were opened in the last week? How many were closed?
As of June 14 5:18 PM, 56 reports opened and 75 reports closed.

2. What was the general trend last week? Were more bugs opened than closed or vice versa?
More bugs were closed than opened.

3. Who were the top three bug closers? Why is this important to know?
John Ralls (16), Milan Crha (8), Michael Gratton (6). Listing top bug closers is considered as a rewarding and recognition.

4. 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?
Philippe Normand (4), Edward Hervey (2), André Klapper (2). There are other reporters also reported 2 bugs. But they are not the same as bug closers. W. Michael Petullo closed a bug and also reported a bug. Sebastian Dröge (slomo) closed two and reported two. André Klapper closed one and reported two.

5. 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 (12), Sebastian Dröge (slomo) (7), Nicolas Dufresne (ndufresne) (6).

Overlap between these lists and the bug closers and bug reporters:
Víctor Manuel Jáquez Leal (top bug closer / top patch contributor / top patch reviewer),
Sebastian Dröge (slomo) (top bug closer / top bug reporter / top patch contributor / top patch reviewer),
Guillaume Desmottes (top bug closer / top patch contributor),
Mathieu Duponchelle (top bug closer / top bug reporter / top patch contributor),
Ahmed K (top bug reporter / top patch contributor),
Alicia Boya García (top bug reporter / top patch contributor / top patch reviewer),
Edward Hervey (top bug reporter / top patch contributor / top patch reviewer),
Debarshi Ray (top bug closer / top patch reviewer),
Michael Gratton (top bug closer / top patch reviewer),
John Ralls (top bug closer / top patch reviewer).

Overlap between patch contributors and patch reviewers: Víctor Manuel Jáquez Leal, Sebastian Dröge (slomo), Alicia Boya García, Edward Hervey.

6. Click on the "Reports" link at the top of the page and then click on the “Generate Graphical Reports” link.
Report-2018-06-15.png

What class were the majority of the bugs for braille? Minor.
What other reports can you generate? Line, Table, CSV.

Intro to GitHub
Done.

FOSS in Courses 2
1. For software engineering class, possible activities: Develop UML diagram(s) for a HFOSS, Run usability studies, Suggest new features, Help in documentation.
http://foss2serve.org/index.php/OpenMRS_Architecture_activity has a very good activity for identifying software architecture. I plan to re-use this activity to ask students to design use case diagram, sequence diagram, and class diagram.

Possible learning outcomes:
Students practice drawing UML diagram(s) for a reasonable sized HFOSS.
Prerequisite knowledge needed to complete the activity.
Basic understanding and syntax knowledge of UML diagram(s). Knowledge of the programming language used by the HFOSS under analysis.
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.
1-3 hours for instructor prep, depending on the size, documents, and structure of the HFOSS under analysis. 2-4 hours for student completion. It can be synchronized or independent.
Think about possible input required from the HFOSS community. How much input is required and what kind?
Documentation of the HFOSS, prior experience of running similar exercises.
If the result of the activity is contributed back to the HFOSS project, describe the contribution and its usefulness.
Experience of running this exercises will be shared with the community. Models and diagrams constructed by students will also be shared with the community.
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?
Team activity will be better. 50% for the syntax of models/diagrams constructed. 35% for understanding the HFOSS correctly. 15% for individual contribution within the team.


2. For software testing class, possible activities: Diagnose a bug, Close fixed bugs, Create validation or regression test cases
http://foss2serve.org/index.php/Examine_Branch_Test_Coverage_(Activity) has a very good activity in C++. I would like to change it into Java and extend it to additional testing coverage criteria.

Possible learning outcomes:
Git and Git commands, different testing coverages, designing tests.
Describe any prerequisite knowledge needed to complete the activity. This does not need to be a complete list.
Programming language (Java) and Junit testing.
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.
1-3 hours for instructor prep, depending on the size, documents, and structure of the HFOSS under analysis. 2-4 hours for student completion. It can be synchronized or independent.
Think about possible input required from the HFOSS community. How much input is required and what kind?
Prior experience of running similar exercises.
If the result of the activity is contributed back to the HFOSS project, describe the contribution and its usefulness.
Experience of running this exercises will be shared with the community.
Describe the assessment/grading approach - What will the basis for grading be? Will this be a team activity or individual?
Team activity will be better. Test cases: 50%, report of running process: 35%, individual contribution within the team: 15%.
Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox