User:Hshahria

From Foss2Serve
Jump to: navigation, search

Contents

Hossain Shahriar - Introduction

Dr. Hossain Shahriar is an Associate Professor of Information Technology, College of Computing, at Kennesaw State University.

College of Computing hosts three departments and over 40 faculty members, more than 3,000 full time students and over six degree programs including undergraduate, graduate.

Dr. Shahriar's primary focus at CCSE is Software Security, the intersection of software engineering and networking security. As a faculty, his responsibility includes teaching courses from BSIT and MSIT degree programs, around healthcare, cybersecurity and web design.

Dr. Shahriar's scholarly interests span application development, quality assurance, risk assessment, intrusion detection development, education technologies in android software development.

In his spare time, which is mostly non-existent, Dr. Shahriar likes to do sports and exercise activities including soccer and cycling.

Stage 1 (PartA):Intro to FOSS Project Anatomy (Activity)-Answers (Sugarlabs)

Contributions -- I think I can contribute as an educator by using sugarlabs for authentic learning of topics related to computer technology.

Among the various roles (educator, designer, developer, translator, public relation), the commonality is each of the member can be part of documentation and textbook replacement team. The dissimilarities depend on the role. For example, developer can break and test the code, whereas public relation is supposed to promote the project across various members within the community.

Tracker -- To submit a bug, I think we visit the project https://github.com/sugarlabs, then select "Issues" tab at https://github.com/sugarlabs/sugar/issues and select "New Issues". I can see several types of ticket: defect, enhancement and task. Each ticket includes information of reproducing a bug, expected result and actual results, workaround information. Some other information include ticket#, OS, component name, severity level, etc. though, these information may be unspecified by a reporter.

Repository -- I think the last commit was done 23 days ago, which should be April 30th (see https://github.com/sugarlabs/sugar/commit/489974f4243eb3a18c0bea07812c436ed8aa7d5c)

Release cycle -- I think each release cycle addresses a number of issues such as all module releases are available by scheduled dates, perform automatic and manual QA and resolve issues with relevant module owners. However, each roadmap update includes planned schedules of release dates, freeze points, list of modules and external dependencies, reference to all the tickets considered for the release, and references to the new feature proposals.


Stage 1 (PartA):Intro to FOSS Project Anatomy (Activity)-Answers (SahanaEden)

Community -- I don't see much commonality across roles, but overlapping exists for few roles such as developer and tester, who are both using the same software, one for extending features, another to test features. Each contributor is offering something distinct. For example, GIS specialists can share data, designers can assist in improving the look and usage of the website, developers can add or modify features, testers can assist in quality assurance.

The main difference that I perceive between sugarlabs and sahana project is the application domain and data usage. The sugarlabs is intended to replicate a desktop computer where data and program is standalone; the sahan eden project appears to be distributed in nature where users from multiple locations are able to share and access data for emergency management. The sugarlabs did not use GIS data, but Sahana Eden project require GIS data to serve the area under emergency.


Tracker -- The Sahana Eden bug tracker can be found here. Place your answers to the following on your wiki page. Sahana Eden project shows a list of available report on the top page (http://eden.sahanafoundation.org/report). However, it was not readily available for Sualrlabs project, in fact I could not find an easy way to generate the report from the top page (http://wiki.sugarlabs.org/go/Submit_Bugs/Problems). After clicking the Active Tickets link, I found a number of ticket types such as defect/bug, documentation, enhancement, and task.

Repository -- From https://github.com/sahana/eden, the recent update was done just an hour ago, so I presume it should be May 23, 2018.

Release cycle -- The roadmap and release cycle planned for May 2012 highlighted key features required (e.g., messaging, S3, resource tagging) and status (e.g., done already or not, who did it), the list of stable modules and their owners, internationalization effort (E.g., localization packages for multipel languages).


Stage 1 (PartB): FOSS Field Trip (Activity)

Part 1 - GitHub

I found 20,295 project repositories related to education. Clicking on the first project was nodejs, and the graph/commit shows total number of commit done over various weeks. I can see that total 5 commits done over 4 different weeks (1 week had two commits, for the rest 3 weeks, it was one commit per week).

When typing "humanitarian" in the search box, it led to 393 results. The HTBox/Crisischeckin was last updated on Apr 22, 2017.

The disaster management category has 227 repositories.

Part 2 - OpenHub

There are 2251 education projects in OpenHub. Yes, it appears a number of repositories are located at Github, for example, git://anongit.kde.org/kiten master

There are 10 projects that appeared to be similar to KDE Education.

At the bottom, OpenHub provides, list of projects that are used by users with KDE Education. The results appeared none at this time. It requires more user information to determine.

There are 21 projects on humanity and 30 projects on disaster management. I believe no activity information available due to lack of source code availability or having the source to external website (e.g., sourceforge).

Under organization, I can see # of commit done by various organization (public, not for profit) such as Gnome foundation, KDE and OpenStack. For example,, the most active organization was Gnome Foundation, followed by Nuxeo and OpenStack.

OpenMRS Core was last committed two months ago, I presume the date would be March 23, 2018. However, Github shows that OpenMRS core was updated just a day ago. The reason of the difference in date could be the set of contributors of the repository between Github and OpenHub are different. The copy of source may be different.

The benefit of using both Github and OpenHub will be maximizing information about an active project and looking for the latest copy from contributors. The Github may not provide some statistics (e.g., LOC, average commit per week on graphical visulalization) that OpenHub provides. The main disadvantage could be the information need to be analyzed and based on the project goal a decision has to be made. The bottom line both sites provide different kind of information.


Stage 1 (PartB): Project Evaluation (Activity)

Evaluation of the OpenMRS project

Evaluation Factor Level(0-2) Evaluation Data Licensing 2 points Mozilla Public License, v. 2.0

Language 2 points Java

Level of Activity 2 points >10 commits per quarter avg.

Number of Contributors 2 points 303 contributors

Product Size 1 points 222.42MB is huge for most students having no experience with large scale software development

Issue Tracker 2 points most issues are closed, while some are open, newly accepted, and in progress

New Contributor 2 points good documentation on how to install, contribute to code, wiki, forum and talk support

Community Norms 2 points I found details on code of conduct such as be respectful, considerate, and collaborative, see https://wiki.openmrs.org/display/docs/Code+of+Conduct. Regarding conversation available at https://talk.openmrs.org/, I found no examples of inappropriate or rude communication among developers or community members, examples include discussion on collaboration for development, fixing error during compilation, and announcing a new feature.

User Base 1 point I did not see exactly how many users currently using, being an open source EHR, and having seen so many commits, I believe it must be used by many users, it has good instructions on how to install and deploy.However, I could not find how to use the software after installation in the https://github.com/openmrs/openmrs-core.

Total Score 16 points

Stage1 (PartB): Intro to Copyright and Licensing (Activity)

Identify the license for the following projects (look for a LICENSE file in the project's root; if it's not there assume no license):

1. https://github.com/openmrs/openmrs-core --- MPL (Mozilla Public License) 2.0

2. https://github.com/apache/incubator-fineract --- MIT License

3. https://github.com/regulately/regulately-back-end -- No License

After going to https://tldrlegal.com/, below are the observations:

MIT- commercial use (can), modify (can), distribute (can), sublicense (can), private use (can), hold liable (cannot), include copyright (must), include license (must).

MPL - commercial use (can), modify (can), distribute (can), sublicense (can), place warranty (can), hold liable (cannot), include copyright (must), include license (must), state changes (must), disclose sources (must)

I think I am comfortable with both MIT and MPL licensed project to contribute. In terms of preference, I may want to pursuse MIT licensed projects having least amount of "must" requirement.


Stage1 (PartB): FOSS in Courses 1 (Instructors)

HFOSS project activities or topics: I am considering the following activities tentatively (i) join mailing list, (ii) diagnose a bug (iv) test a beta release (e.g., build, run and test on a platform) (v) test for security bugs, (vi) Create example of bug report.

In your reading, did you find existing materials? If so, describe how would you modify them to fit your class?

>>I found some resources for these activities such as software testing, and static analysis (http://foss2serve.org/index.php/Category:Quality_and_Testing). I am planning to do security testing of OpenMRS, a number of earlier developed assignmetns are available, http://teachingopensource.org/all-teaching-materials/, they can be leveraged.n

If you did not find existing materials, summarize the activity in a sentence or two.

>> Examples of quality assurance using static source code analysis was not available for OpenMRS, written in Java. I can rely on OWASP top 10 vulnerablities as OpenMRS is a web application intended run on a server and then scan source to find files that may have bugs. The time consuming part will be whether the reported bugs are real and how to reach to the affected code using appropriate test input, then document it as a bug report for fixing.


Stage1 (PartC): Intro to Bug Trackers

Part 1 - Bug report: Based on bugzilla website, my understanding is the following:

ID: a unique number assigned to each bug report.

Product: it indicates the software where bug is found. Some example values include, gnome-shell, at-spi, sysadmin, java-gnome, nautilus.

Comp: it represents the component of a software where bug was found. Some examples include Sync, Mouse, Network, Device, Mirrors.

Assignee: an individual or team who is looking or responsible for developing the component. Some examples include epiphany-maint, vte-maint, sysadmin-maint, java-gnome-maint.

Status: this means the status of a bug that may include open, close, reopened. Example value found include NEW.

Resolution: n/a, no information found

Summary: a detailed summary of the bug report that shows how the bug could be reproduced by anyone who has access to the software.


Describe how you discovered the definitions and how you found the information from above

>> Based on the observed values and intuition.

Identify the order in which the bugs are initially displayed.

>> I think the initial bug list is displayed based on ID (descending order).


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)

>> The red color means critical bug (e.g., segmentation fault), black means normal.

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.

>> Bug 574908 - Progress bar should be accessible in text format too. Steps to reproduce: 1. For any application, which is using gnome-keyring to save keys, start the keyring ask dialog. 2. Start orca speech. 3. Type a password in password entry. 4. Press Tab key to browse other widgets within dialog. Bug observations: The progress bar tells user the password strength, but it is not accessible to blind user. It's better to provide text information for blind user and tell him/her the password strength.


The bug is from 2009, but still the status seems NEW. It was assigned to GNOME keyring maintainer(s).

I think this bug is easy to fix as it requires displaying the strength of password as text value.

Stage1 (PartC): Intro to Githb

Enrolled into the roll call list of Github


Stage1 (PartC): FOSS in Course 2

I am planning to run a project based on team of students in HIT course. The project should have multiple parts, each to complete in 1-2 weeks of duration.

Project-part1

Goal: To be familiar how to do become a developer for openmrs Resources: Following steps 1-7 from https://wiki.openmrs.org/display/docs/Getting+Started+as+a+Developer

Project-part2 Creation of a module in OpenMRS Src: https://wiki.openmrs.org/display/docs/Creating+Your+First+Module

Project-part3 (steps 9-12) Claim an issue, meet developers in IRC, Learn OpenMRS developer Stages, include unit tests

Project-part4 (steps 16) Code reviews from pull request, write observations from 5 reviews understand some introductory issues that have been solved already supported by through descriptions

Identify an example of uncurated issue and find solution: https://issues.openmrs.org/browse/TRUNK-5134?jql=filter%3D10068%20 Verify that the solution worked and accepted.

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