Shamsi Moussavi is a computer science Professor at Massachusetts Bay Community College. MassBay is small college with three campuses in Wellesley, Framingham, and Ashland MA. Computer Science department is located in Wellesley and CS, CIS, IT (with management focus), and IT (with technology focus) associate degrees. Shamsi teaches Java programming, data structures, software design, and security courses.
Shamsi has more than ten years of industry experience as principal member of technical staff with GTE and Verizon. This is shamsi's eleventh year of full time teaching position, with almost five years of part time teaching while working in industry. She enjoys reading and traveling when time permits.
1. --- While reading the documents listed in Intro to FOSS, I learned a lot about the definitions and history of FOSS, specially from the "what is free software" article. It was also interesting to read expectation2 and being productively lost. I felt that I was already productively lost with all the detail information that I was reading; while always assuming that I already know about FOSS.
The social context of FOSS, is the reason why I was so excited to take part in this workshop, not only for my students but also for myself. I give students projects that involves solving problems for other people whom they know (software to help the nursing faculty, our dean, the disability office), but it seems that is the extent of their view of social context for a programmer and more importantly, the responsibility that comes with it.
I admit I am guilty of #3 and #4 in the list (practical OSS exploration), because I, myself have not actually participated in an open source project. I am hoping that by the end of this workshop I will gain the courage to do so, for myself and my students.
Humanitarian FOSS, as I mentioned, is my focus and was difficult to pick on from the list, as they all were great projects. But, I have decided to work on OpenMRS project.
3. --- I was not able to edit my wiki page. :(
4. --- I had some problems completing the IRC activity. Of course, one big problem was that I could not add anything to the wiki, since step 3 didn't work. I use a MAC and installed Colloquy and had to deal with a couple of issue regarding that, but when I started it, didn't know what the chat room was, as it didn't give a list for the given channel. When I joined the channel for openMRS, it didn't seem to have any activity, making me wonder if I am in right place.
6. --- reading and checking the links for the two example projects gave me an idea of what it takes to establish a FOSS and line up the tools required. A lot of work!
Even though reporting on part 1 was not required, I felt I needed to write what I thought; otherwise, the whole exercise would have become a history itself.
1. --- The field trip required us to enter our findings on the wiki, but since I had problem with wiki, I am posting everything here.
Part 1 - SourceForge
- I searched for security games, because that is the project that my students are working on. The list of project was many pages long and included 152 projects. They were written in 15 different programming languages and the top 4 were: C++, Java, C, and C#.
- The meaning of each status was pretty self explanatory and other than inactive, the rest were written in reverse order of actual phases, which is: planning (17), pre-alpha (20), alpha (24), beta (30), production/stable (56), mature (5). The numbers in parenthesis indicate the number of games in that status.
- I picked "CodeGroup" (Planning with 4 downloads) and "InternetCaptcha" (mature with 79 downloads). I thought it was interesting that even though CodeGroup was in planning stage, it had 4 downloads, which I assume means at least 4 people are working on it.
- Projects with most downloads and commits are considered most used, I assume.
- I picked "Universal password manager", which stores passwords and is written with Java and Swing. This is probably used by those familiar with open source and trusting it, as I see my students use the famous software called Keeppass, which is similar in functionality. The project was updated on 2/25/14 and had 269 downloads when I was checking it, which says it is pretty active; although it only had one commit. I would use this software to try it before I tell my students; however, I am not convinced that software that stores password is a secure way of keeping passwords.
Part 2 - Ohloh
The main languages used to write Mifos are Java, PHP, and XML, but 19 different languages are used in total to write it. XML has the second highest number of lines of code and Perl has the highest comment ratio. It consists of 2,673,467 lines of code. It has 161 contributors, but every time I tried to see the map of the location of contributors, the map disappeared. The average number of contributors in the last 12 months are 17 (with 67 average commits in 12 months) and for the past 5 months to 1 year, the top three contributors have been involved in this project.
2. --- Project Evaluation Activity 
3. --- Blogging Activity 
4. --- FOSS in Course Planning 1
3. My students in software design class have implemented an EMR software for nursing faculty before. There are expensive software that does have similar (more elaborate) functionality. It would be nice to be able to connect that effort with OpenMRS's EMR project. Also, any development type activity will be of interest to me.
4. Getting involved in "API support for Order Entry" would be a good project for both software design class and also students in database management class. I can forsee a collaborative project done by students in both these classes and two faculty jointly overseeing the project. I did see some sample project ideas (templates), which can help with the initial work of the project creation.
2. --- Bug Tracker Activity
part 1 - Bug reports
1. ID: Bug id Sev: severity of problem Pri: priority of bug OS: The os in which the bug is found Product: the product the bug is found in Status: the status of the bug, i.e. UNCONFIRMED, NEW, ASSIGNED, REOPENED, NEEDINFO Resolution: how it was resolved (none had anything for this, as they were all current bugs that have not been resolved) Summary: brief explanation of the bug
3. I have worked in industry for years and am familiar with these kinds of lists. So, I could guess the meaning, but the complete word is displayed when you hover over the term and advanced search, which I used late, also explains them.
4. by bug id
6. critical bugs are red. Didn't see any black and can't say anything about grey/shadowed bugs
7. bug id: 116965 - was submitted on 7/8/2003 and there is no recent discussions on it, so the bug is still there. It has been assigned to devehelp-maint, but not obvious who was going to take care of it. Although not familiar with embedded gecko widgets, I would find out how to add buttons for the keyboard commands that are already available.
8. bug id: 602217 - was submitted on 11/17/2009 and there are recent discussions on it, so it is current. It has been assigned to Epiphany Maintainers. There are a couple of suggestions on how to fix this and in general, the code needs to check the background color before setting the text to be black.
part 2 - collective reports
2. 341 reports opened and 475 reports closed
3. there is no significant difference between the bugs reported and closed
4. Bastien Nocera, Jean-François Fortin Tam, Emmanuele Bassi (:ebassi) - shows those who are actively working on bugs at least during the previous week
5. Jo, Debarshi Ray, Jean-François Fortin Tam - one was also a top bug closer, which means this person is testing and fixing
6. Bastien Nocera, Debarshi Ray, Cosimo Cecchi
7. Sebastian Dröge (slomo), Florian Müllner, Tim-Philipp Müller. no overlap. no overlap
10. pie, line, table, csv
3. --- Source Code Management/Control Activity
Followed the instructions for TryGit and got a badge!
4. --- FOSS in Courses Planning 2
- 2 - List the revised activities on your wiki page. For each activity/topic:
-- Identify some possible learning outcomes that should be fulfilled with the activities/task.
- Use Git effectively
- Learn about EMR and rules
- Work in teams with different project responsibilities (programming and database)
- Navigate the world of FOSS
- Expand their knowledge and skills of other tools (those that are currently used in the OpenMRS)
- Read and understand other programmer's code
-- Describe any pre-requisite knowledge needed to complete the activity. This does not need to be a complete list.
- Learning basics of Git
- Reading/learning about tools that are currently used
- 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.
- There will be at least 10 hours of prep needed and students should be given a few weeks to complete only a couple of improvements into the project. If students use the version that was worked on by previous year students, then this can be done independent of HFOSS while targeting some of improvements that are common in both projects.
- Think about possible input required from the HFOSS community. How much input is required and what kind?
- Input will most likely be in the form of answering specific questions by both the instructor (while preparing the project) and students to understand the premise as well as conducting the work in conjunction with HFOSS community.
- If the result of the activity is contributed back to the HFOSS project, describe the contribution and its usefulness.
- Since the intent is to find improvement type activity, then the contribution is expected to be very useful. Once the class project is completed, the improvements will be committed, in collaboration with someone in the HFOSS circle to avoid mishap.
- 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?
- As described above, this will be a team project and any work committed should be (I hope )supervised by someone in the community. The grading will be like any other project, which will be based on quality of development, on-time completion, and appropriate teamwork effort.
- List any questions or concerns that you have about the activity/task.
- The communication/collaboration with community members and whether we can connect with a specific contact person throughout the project.
- List any stumbling blocks or barriers to carrying out the activity/task.
- I don't call it barriers, but coordination with faculty who teaches database course, can add to the prep time.
5. --- Download/Install
I signed up for OpenMRS on the website, but could not complete install since I am using a MAC.