User:Rob.sjodin
Rob Sjodin. Rob Sjodin is an Assistant Professor and Program Coordinator for the Master of Science in Software Engineering degree at Regis University. He teaches both undergraduate and graduate software engineering courses, including ...
Java Software Development
Advanced Java Software Development
Enterprise Java Software Development
Advanced Enterprise Software Development
Android Software Development
Enterprise Android Software Development
Mr. Sjodin has 30+ years of industry experience, including 15 years in the aerospace sector where he developed software for earth-orbiting satellites.
"Part A - Walk through of IRC Conversation":
How do people interact?
Answer: People interact asynchronously: someone will pose a question or state an opinion, and then others will respond accordingly.
What is the pattern of communication? Is it linear or branched? Formal or informal? One-to-many, one-to-one or a mix?
Answer: all of the above. But typically a topic is introduced/started, and then discussion (comments, questions, answers) are focused on that topic.
Are there any terms that seem to have special meaning?
Answer: Yes, #topic #info #action
Can you make any other observations?
Answer: It stimulates collaboration and camaraderie.
"Part 3 – Join and Observe Channel Discussion"
Summarize your observations (of your selected HFOSS project "foss2serve").
Answer: In general, the interaction is very slow; there can be hours w/o any dialogue.
Other questions:
What advantages might IRC have over other real-time communication methods (like Google Chat or Facebook Messenger?) Are there potential disadvantages?
Answer: the participants are only those who have an interest in the particular topic.
For what purposes do FOSS projects use IRC channels?
Answer: Collaboration, share ideas, identify/resolve issues.
Why choose IRC over another synchronous collaboration method (like a conference call)?
Answer: It's asynchronous ... it doesn't require a specific, coordinated time for all people to meet.
How can IRC be used to facilitate project management?
Answer: To share ideas among project members, get consensus on tasks/priorities, and coordinate efforts.
In your own words, explain how to find a channel and join it for whichever IRC client you prefer.
Answer: In Colloquy, I join a server (irc.freenode.net) and then specify a particular channel (foss2serve).
Project Anatomy Activity - Sugar Labs
On your wiki page indicate the types/categories of tickets listed on this page as well as the information available for each ticket.
Answer: the types of tickets include "defect", "enhancement"
The available information for each ticket includes: Ticket #, Summary, Status, Owner, Type, Priority, Milestone
Can you determine from the information provided here whether the project uses a web-based common repository or a local repo? Place your answer on your wiki page.
Answer: It appears to be a web-based common repository. The URL is git://git.sugarlabs.org/sugar-base/mainline.git
Include an entry on your wiki page that describes how the release cycle and roadmap update are related.
Answer:The Sugar Labs roadmap contains the following items (as found on their wiki page):
Detailed schedule of release dates and freeze points. List of modules and external dependencies. Reference to all the tickets considered for the release. References to the new feature proposals.
The Sahana Eden Project
Developers - they provide training via slides, videos, and chat sessions. The project supports Linux, Mac and Windows. Various hosting platforms, but AWS EC2 is recommended.
Testers - can be non technical users; perform manual testing and creation of new use cases. Supports continuous integration.
Designers - need Graphics Designers, for both the Web Site and the app.
Tracker -- The Sahana Eden bug tracker
How is the information here different than the information found on the Sugar Labs tracker page?
Answer: the main page for the Sahana Eden bug tracker is organized by reports: Report # and Title
For example, some high level reports are Active Tickets, My Tickets, Tickets I have updated. This high level reports serve to filter items based on a particular category.
Click the Active Tickets link. Indicate the types/categories of tickets listed on this page as well as the information available for each ticket.
Answer: the types/categories include defect/debug, documentation, enhancement, task.
"Part B - FOSS Field Trip Activity":
SourceForge
Go to: http://sourceforge.net/
Use the Search feature in the center of the screen to view applications in an area of interest to you (e.g., gaming, sports, music, computing, etc.).
Answer: I searched on "Computing"
How many projects are there in this category?
Answer: 265 programs
How many different programming languages are used to write software in this category?
Answer: 15
List the top four programming languages used to write programs in this category.
Answer: Java, C++, C, Python
Identify the meaning of each of the statuses below: (note: I could not find definitions, so the following is my best guess)
Inactive - the project is no longer being developed (worked on).
Mature - the project has met its objectives.
Production/Stable - functional requirements met; know bugs eliminated; available for general use.
Beta - candidate release of full functionality;
Alpha - release of major functionality implemented;
Pre-Alpha - initial release, with a subset of requirements implemented.
Planning - the requirements of the project are being developed.
Compare two projects in this category that have two different statuses. Describe the differences between the statuses.
Answer: a given project will have downloads for its various releases ... a project with Planning status (P2P Software for Distributed Computing) will only have 1 download (Planning), whereas a project with Pre-Alpha status (MediaEncodingCluster) will have multiple downloads)
Which projects are the most used? How do you know?
Answer: you can sort by "Most Popular"; the two most popular are PCC Systems and Ganglia
Pick a project in your category. Answer the questions below:
What does it do? Project "HPCC Systems" is an open source data-intensive supercomputing platform designed for the enterprise to process & solve Big Data analytical problems
What programming language is the project written in? Enterprise Control Language (ECL)
Who is likely to use the project? How do you know this? Data science developers who are working on enterprise problems (via their web site).
When was the most recent change made to the project? last update was 2015-06-22
How active is the project? How can you tell? 108 weekly downloads (from the SourceForge web site)
How many committers does the project have? I don't know :(
Would you use the project? Why or why not? Yes, appears to be a robust solution for enterprise big data problems; and its easy to deploy (less than a hour to deploy a cluster of 50 nodes).
OpenHub
What is the main programming language used in OpenMRS? Java
How many lines of code does OpenMRS have? OpenMSR Core has ~3.8 million
Click on "User & Contributor Locations" (lower right side of screen). List some of the locations of the developers. Boston, Indianapolis, Ft Myers, Cape Town
Go back to the main OpenMRS page. Click on the "Languages" link. How many languages is OpenMRS written in? 15 languages
What language has the second highest number of lines of code? JavaScript
Of the programming languages used in OpenMRS , which language the has the highest comment ratio? Java, with 35.3%
Click on the “Contributors” link under "SCM Data" menu. *** Note: the link is not working ... I got the following answers from the "Commits" page:
What is the average number of contributors in the last 12 months? 84 (this may not be the "average")
Scroll down to the Top Contributors section. How long have the top three contributors been involved in the project? *** Note: The "Contributors" link is broken
Use the information on the project summary page to compute the 12-month average of commits. What is the average number of commits over the past 12 months?. *** The link is broken
Part 2 - Project Evaluation Activity
See Blog ... https://robsjodin.wordpress.com/
Part 4 - FOSS in Course Planning 1
Note: the following links seem to be broken: "introductory assignments", "case study", "document templates and rubrics"
Your HFOSS project:
Regarding my HFOSS project of interest, I’m open to using any/all of the 6 POSSE HFOSS projects in the classroom as describe below … - for graduate practicums and undergraduate guided independent studies (where students work by themselves), I would let the student choose which project they work on. - for undergraduate Software Engineering (where students work on teams), I’m inclined to useOpenMRS because of its modular architecture and rich documentation.
But for the sake of identifying activities or topics within an HFOSS project of interest, I’ll focus on OpenMRS; here’s a list of activities/topics (from the OpenMRS/help page)
- Application Development
- UI/Web/Graphic Design
- Testing
- Documentation
Your course:
Regardless of which track the student works on, I would have them do the following tasks:
- On ramp: Overview
- Getting started
- Developer’s Guide
- Install OpenMRS
- Issues List – the JIRA Issue Navigator
- Community Development swim lane, for …
o High priority bugs
o Long standing issues
o Create Schedule