From Foss2Serve
Revision as of 22:20, 11 November 2014 by Ssheth (Talk | contribs)
Jump to: navigation, search


Swapneel Sheth

Swapneel Sheth is a Lecturer in the Computer and Information Science department at the University of Pennsylvania.

His research and teaching interests are Software Engineering, Privacy, and the Web.

Stage 1 Part A

Intro to IRC

Part 1

  1. How do people interact?
    • In an informal manner
  2. What is the pattern of communication?
    • Usually question and answer - somebody has a question or a problem, other tries to help solve it
  3. Are there any terms that seem to have special meaning?
    • The chat bot commands
  4. Can you make any other observations?
    • It's nice to have the meeting transcribed by meetbot in a relatively easy manner, with annotations

Part 3

I've been following the #ushahidi channel periodically, but it seems to have very little activity.

I've looked at other interesting (to me) open-source channels - #rvm, #ruby-lang, #rubyonrails. These are a lot more active and seem to have two kinds of questions.

  1. I'm stuck.. help me with X
    • In this case, people are trying to install/work with some software/framework/library and getting error messages. This seems like a faster, 90s version of StackOverflow for people to get answers.
  2. What is a good way to do X?
    • In this case, people are unsure what's a "good" (optimal, efficient, faster, better) way of doing something - A or B. They want advice from the more-seasoned users in the channel. Comparing to StackOverflow, I see this as a big advantage as something "subjective" is not a good question to ask on StackOverflow.

Anatomy of a FOSS Project

The Sugar Labs Project

  • Community
    1. Activity Team
      • Develops and Maintains the activities; recruits developers.
      • There are 2 coordinators and a lot of contributors.
    2. Development Team
      • Builds and Maintains the core Sugar Project.
      • There is no coordinator and four people (assuming they're contributors?) listed
    3. Documentation Team
      • Provides high quality documentation (learner's manual, programming references, and tutorials).
      • There is no coordinator here as well and two editors with their areas of speciality listed.
  • Tracker
    1. Types/Categories of Tickets
      • Defect, Enhancement, Task
    2. Information available for each ticket
      • The usual bug tracking categories - reported by, priority, component, severity, cc, bug status, owned by, milestone, version, keywords, distro/os, description, change history, timestamps.
  • Repository
    • Web-based common repo, but it's git so everything is distributed and everyone has a "local repo".
  • Release Cycle
    • The roadmap is updated at the start of each release cycle. Each release cycle contains development, beta, RC, final releases.

The Sahana Eden Project

  • Community
    1. Developers
      • This is for people interested in contributing to the development effort of Sahana or for those who want to use Sahana in their own projects.
      • Unlike Sugar Labs, names and roles are not mentioned.
      • Training and guidelines are provided here.
    2. Testers
      • They want three types of testers - non technical users, developers, sysadmins.
      • Again, names and roles are not mentioned.
      • Training and guidelines are provided here as well.
    3. Designers
      • This is for graphic designers who have experience in CSS and HTML.
      • Training and guidelines are provided here as well.
  • Tracker
    1. The default page shows reports, instead of tickets.
    2. Types/Categories of Tickets
      • Defect/Bug, Enhancement, Task, Documentation
    3. Information available for each ticket
      • They use Trac as well - so most of the information is similar as Sugar Labs. Reported by, priority, component, keywords, due date, cc, owned by, milestone, version, launchpad bug, description, attachments, change history, timestamps.
  • Repository
    • Web-based common repo.
  • Release Cycle
    • The current milestone (0.9 Medway) is 90% complete and 3 years late. It still a number of open tickets.
    • The future milestones (1.0 Avon and 2.0) don't have a date set, but they describe the key features required.

Stage 1 Part B

Project Evaluation Activity

File:Mifos Eval.xlsx

FOSS in Courses Activity

Here are a couple of activities I would like to use my class. I didn't find any existing material.

  1. Mining Software Repositories (MSR) has become a very popular research topic. For a seminar-style class where students read MSR papers, we could use FOSS projects as case studies. Some examples of questions we could try answering and compare two projects:
    • Do bugs get fixed faster?
    • Are there better tests?
    • Is the code 'better' - more readable, better designed, etc.?
    • Is there a correlation between the above?
    • When do code commits happen?
    • What are the processes for merging in patches/bug fixes? (E.g., do smaller bug fixes in terms of LOC get merged in faster than larger bug fixes)
    • Who collaborates with whom?
    • ...
  2. Using data from FOSS projects and combining them with other data sets can lead to very interesting mashups, data visualization, etc. It would be interesting to do this in the context of a class.

Stage 1 Part C

Bug Tracker Activity

Personal tools
Learning Resources
HFOSS Projects