User:Ldeng
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. |
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. |
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
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, ASSI, REOP, UNCO, NEED
- 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).
- When was the bug submitted?
- What recent discussion has there been about the bug?
- Is the bug current?
- Is the bug assigned? To whom?
- Describe what you would need to do to fix the bug.
6. Another bug.
- When was the bug submitted?
- What recent discussion has there been about the bug?
- Is the bug current?
- Is the bug assigned? To whom?
- Describe what you would need to do to fix the bug.