From Foss2Serve
Jump to: navigation, search

Jiang (Leo) Li

Jiang Li (a.k.a. Leo) is an Associate Professor in the Department of Computer Science (soon to be a part of the Department of Electrical Engineering and Computer Science) at Howard University in Washington, DC.

Dr. Li has been teaching computer science at Howard University since 2003. His research interests include computer networking and network security. He has been teaching both undergraduate and graduate courses such as data communication, computer organization, computer architecture and programming languages.

The Sugar Labs Project Anatomy


Students can be developers (as computer science students) and people persons (as an adult with the assumed social being characteristics), some could be designers or translators as well, depending on their background. All roles need commitment, although the specific tasks are different.


There are two types of tickets: defect and enhancement. Each ticket has a number, a title, open time, modification time, owner, description and other miscellaneous items such as severity and milestone etc.


It's both web-based and local. Source code can be accessed on browsers. If git tools are used, they can be checked out in command line.

Release cycle

Each release cycle has a roadmap, which is updated at the beginning of each release cycle by the release team.

The Sahana Eden Project Anatomy


Students can be developers, testers, sys. admin. Some could be documenters, designers or translators as well, depending on their background. The structure seems to be more detailed.


Individual tickets are pretty much the same as the Sugar Labs Project, but it has a report system that sort tickets in a different in each report.


It looks like a local repo, as everything needs to be done in command line.

Release cycle

There is no release cycle, just a roadmap that consists of three milestones. Each milestone seems like a release cycle in the Sugar Labs Project.

FOSS Field Trip Activity

FOSS Course Activitiy

Learning objectives

 Learn how to contribute/enhance code and code document to FOSS, including adding modules, plugins, fixing bugs, commenting code, and writing/augmenting developer documents.

Lectures In-class activity Homework Stream of related activities Project

Bug Tracker Activity

Part 1 - Bug Reports

Define what each of the column names below indicate. Include the range of possible values for 2-7 below. Feel free to explore beyond the page to find more information.


 A unique number for each bug.


 Severity: This indicates how severe the problem is - from blocker ("application unusable") to trivial ("minor cosmetic issue"). One can also use this field to indicate whether a bug is an enhancement request.
 Value range: blocker, critical, major, normal, minor, trivial, enhancement


 The bug assignee uses this field to prioritize his or her bugs. It's a good idea not to change this on other people's bugs.
 Value range: immediate, urgent, high, normal, low


 The operating system the bug was observed on.

Value range: AIX, BSDI, Cygwin, GNU Hurd, HP-UX, IRIX, Linux, FreeBSD, NetBSD, OpenBSD, Open Solaris, OSF/1, Solaris, BeOS, Mac OS, Neutrino, OS/2, Windows, OpenVMS, other


 Bugs are categorized into Products and Components. There are 622 of them at this point. They are:
 accerciser, accountsdialog, acme, adwaita-icon-theme, aisleriot, alacarte, almanah, anjal, anjuta, aravis, at-poke, at-spi, atk, atomix, audiofile, bakery, balsa, banshee, banter, baobab, battfink, beagle, beast, bigboard, bijiben, billreminder, blam, bluefish, bluez-gnome, bonobo, bonobo-activation [was: oaf], bookworm, bounties, brasero, bug-buddy, bugsquad,, buoh, byzanz, california, camorama, cantarell-fonts, caribou, cheese, chronojump, clutter, clutter-box2dmm, clutter-gst, clutter-gstreamermm, clutter-gtk, clutter-gtkmm, cluttermm, cluttermm_tutorial, Coaster, cogl, conduit, conglomerate, contact-lookup-applet, cowbell, crescendo, criawips, Cupid, d-feet, damned-lies, dashboard, dasher, dconf, dconf-editor, deskbar-applet, desktop-data-model, desktop-file-utils, devhelp, devilspie, dia, discident-glib, Divifund, dogtail, dots, doxygen, drivel, DrWright, dvb-daemon, ease, easytag, eazel-hacking, eazel-themes, eazel-tools, eel, egg-list-box, eggcups, ekiga, elysium-download, emerillon, empathy, encompass, eog, epiphany, epiphany-extensions, esound, etherterm, evince, evolution, Evolution Exchange, Evolution Webcal, evolution-activesync, Evolution-CalDAV, evolution-data-server, evolution-ews, evolution-groupwise, evolution-jescs, evolution-kolab, evolution-mapi, evolution-rss, evolution-scalix, evolution-sharp, f-spot, fantasdic, fast-user-switch-applet, file-roller, firestarter, five-or-more, folks, fontilus, four-in-a-row, frogr, gade, GAL, galeon, galf, gamin, GARNOME, gASQL, gaupol, Gazpacho, gbrainy, GCDMaster, gcm, gcompris, GConf, gconf-editor, gconfmm, gDesklets, gdk-pixbuf, gdl, gdm, geary, gedit, GEGL, geglmm, general, geocode-glib, gerd, get2gnow, gevice, gexiv2, Gfax, gfbgraph, gftp, gget, GGV, ghex, giggle, gimmie, GIMP, gimp-gap, GIMP-manual, gimp-perl, gimp-tiny-fu, gimp-web, girl, git-bz, gitg, gjs, glabels, glade, glade--, glade-legacy, glib, glibmm, glimmer, Glom, gmc, gmdns, gmime, gnac, gnet, gnoduino, gnome-2048, gnome-alsamixer, gnome-applets, gnome-audio, gnome-backgrounds, gnome-battery-bench, gnome-blog, gnome-bluetooth, gnome-boxes, gnome-build, gnome-builder, gnome-calculator, gnome-calendar, gnome-characters, gnome-chess, gnome-clocks, gnome-code-assistance, gnome-color-manager, gnome-commander, gnome-common, gnome-contacts, gnome-continuous, gnome-control-center, gnome-core, gnome-cups-manager, gnome-db, gnome-debug, gnome-desktop, gnome-devel-docs, gnome-dictionary, gnome-directory-thumbnailer, gnome-disk-utility, gnome-doc-utils, gnome-documents, gnome-file-selector, gnome-flashback, gnome-font-viewer, gnome-format, gnome-games, gnome-getting-started, gnome-guile, gnome-iconedit, gnome-initial-setup, gnome-jabber, gnome-keyring, gnome-keyring-manager, gnome-klotski, gnome-launch-box, gnome-libs, gnome-lirc-properties, gnome-live, gnome-logs, gnome-lokkit, gnome-mag, gnome-mahjongg, gnome-main-menu, gnome-maps, gnome-media, gnome-menu-editor, gnome-menus, gnome-mime-data, gnome-mines, gnome-mount, gnome-mud, gnome-music, gnome-netstatus, gnome-nettool, gnome-network, gnome-nibbles, gnome-online-accounts, gnome-online-miners, gnome-packagekit, gnome-panel, gnome-perl, gnome-phone-manager, gnome-photos, gnome-pilot, gnome-pim, gnome-pm, gnome-power-manager, gnome-print, gnome-python, gnome-python-desktop, gnome-python-extras, gnome-robots, gnome-scan, gnome-schedule, gnome-screensaver, gnome-screenshot, gnome-search-tool, gnome-session, gnome-settings-daemon, gnome-shell, gnome-software, gnome-sound-recorder, gnome-speech, gnome-subtitles, gnome-sudoku, gnome-system-log, gnome-system-tools, gnome-taquin, gnome-terminal, gnome-tetravex, gnome-themes, gnome-themes-extras, gnome-themes-standard, gnome-todo, gnome-tweak-tool, gnome-user-docs, gnome-user-share, gnome-utils, gnome-vfs, gnome-vfs-extras, gnome-vfsmm, gnome-video-arcade, gnome-video-effects, gnome-voice-control, gnome-volume-manager, gnome-weather, gnome-web-photo, GnomeICU, gnomemm, gnomeradio, Gnomoku, Gnomoradio, gnomovision, gnopernicus, gnorpm, gnote, GnuCash, Gnumeric, gobject-introspection, gok, gom, goobox, goocanvas, goocanvasmm, gossip, gparted, gpdf, gperfmeter, gphoto, GPointingDeviceSettings, gprocview, grapevine, grilo, gsettings-desktop-schemas, gsound, gspell, gst-debugger, GStreamer, gstreamer-vaapi, gstreamermm, gstreamermm-plugins-good, gtetrinet, gthumb, gtk+, gtk-css-engine, gtk-doc, gtk-engines, gtk-mac-integration, gtk-vnc, gtkglarea, gtkglext, GtkHtml, gtkhtml2, gtkimageview, gtkmm, gtkmozedit, gtksourceview, gtksourceviewmm, gtkvts, gtop, gtranslator, gturing, guadecregcfp, gucharmap, Guikachu, guile-gnome, GUPnP, Guppi, gvfs, gwget, gxml, gyrus, hamster-applet, HIG, hipo, hippo-canvas, hitori, hotssh, hyena, iagno, imlib1, intltool, istanbul, jamboree, java-atk-wrapper, java-gnome, jhbuild, json-glib, krb5-auth-dialog, l10n, lampadas, lasem, last-exit, latexila, LDTP, libart, libbtctl, libchamplain, libcroco, libdmapsharing, libegg, libelysium, libepc, libgames-support, libgd, libgda, libgdamm, libgdata, libgee, libglade, libglademm, libgnetwork, libgnome, libgnome-media-profiles, libgnome-volume-control, libgnomecanvas, libgnomecanvasmm, libgnomedb, libgnomedbmm, libgnomekbd, libgnomemm, libgnomesu, libgnomeui, libgnomeuimm, libgoffice, libgovirt, libgrss, libgsf, libgtcpsocket, libgtop, libgudev, libgweather, libgxps, libical-glib, libIDL, libinotify, libmediaart, libnotify, libpanelappletmm, libpanelmm, libpdb, libpeas, librep, librest, librsvg, librsvgmm, libsecret, libsexy, libsigc++, libsocialweb, libsoup, libunique, libvtemm, libwnck, libxml, libxml++, libxml2, libxslt, libzapojit, libzvt, lightsoff, linc, linux-user-chroot, longomatch, lsr, magicdev, marlin, massifg, mcatalog, medusa, meld, memprof, mergeant, metacity, Metatheme, mistelix, mlview, mm-common, monkey-bubble, monkeybeans2, moserial, mousetrap, mousetweaks, msitools, muine, murrine, mutter, nanny, nautilus, nautilus-actions, nautilus-cd-burner, nautilus-open-terminal, nautilus-python, nautilus-rpm, nautilus-sendto, nautilus-sound-converter, nautilus-vcs, nemiver, nemo, netapplet, netspeed, NetworkManager, newcomers-tutorial, nfoview, notification-daemon, ocrfeeder, online-desktop, OnTV, optimystic, ORBit, orbit-cpp, orbit-perl, ORBit2, orca, ostree, Pan, pango, pangomm, paperbox, passepartout, pdfmod, pessulus, phodav, pimlico-contacts, pimlico-dates, pimlico-tasks, pinpoint, pitivi, pkg-config, planner, polari, policykit-gnome, postr, present, printman, pyatspi2, pybliographer, pyclutter, pygi, pygobject, pygoocanvas, pygtk, pygtksourceview, pyorbit, Pyphany, pyspi, pywebkitgtk, quadrapassel, quick-lounge-applet, RadioActive, reinteract, Release Engineering, Removable Media Manager, rep-gtk, resapplet, rhythmbox, rygel, sabayon, sapwood, Sawfish, scaffold, seahorse, seahorse-plugins, seed, serpentine, SEWFOX, shotwell, Silky, Smuxi, snappy, snowy, solang, sound-juicer, soylent, sparkleshare, splinter, storage, straw, strongwind, sushi, swell-foop, swfdec-gnome, sysadmin, sysprof, system-monitor, taglib-sharp, tali, Tasque, test, the-board, themus, tinymail, tomboy, totem, totem-pl-parser, ToutDoux, tracker, transmageddon, tubesock, update-manager, vala, valadoc, valencia, video-subtitles, vinagre, vino, vte, webeyes, website, wiican, xalf, xchat-gnome, xine-lib, xml2po, xmlsec, xscreensaver, yarrr, yelp, yelp-tools, yelp-xsl, zapping, zenity


 It indicates the current state of a bug. Possible values are: UNCONFIRMED, NEW, ASSIGNED, REOPENED, NEEDINFO, RESOLVED, VERIFIED


 It indicates what happened to this bug. Possible values are:  FIXED, WONTFIX, DUPLICATE, NOTABUG, NOTGNOME, INCOMPLETE, INVALID, GNOME1.x, MOVED, OBSOLETE, NOTXIMIAN.


 The bug summary is a short sentence which succinctly describes what the bug is about. 

Describe how you discovered the definitions and how did you find the information from above (hint: the advanced search shows the options or the Reports link has a link)?

 I used the advanced search for bugs, Section 5.3 "Anatomy of a Bug" in the document,  as well as the explanation of bug fields.

Identify the order in which the bugs are initially displayed?

 They are sorted by status. 

What is the meaning of the shading of some bug reports?

 The beginning of a group.

What is the meaning of the colors used when describing a bug (red, gray, black)?

 Used to indicate severity. 

Select a bug that you think that you might be able to fix and look at it more closely (click on the bug number).

Identify when the bug was submitted.

 Bug 753736, submitted at 2015-08-17 23:12 UTC

Identify if there has been recent discussion about the bug?

 Yes on 2016-03-04 13:08:36 UTC.

Is the bug current?


Is the bug assigned? To whom?

 To GIMP Bugs.

Describe what you would need to do to fix the bug.

 Change the number code in at lines 124-125.

Identify when the bug was submitted.

 Bug 722327 at 2014-01-16 12:12 UTC.

Identify if there has been recent discussion about the bug?

 Yes on 2016-01-27 15:54:46 UTC.

Is the bug current?


Is the bug assigned? To whom?

 To Jhbuild maintainers.

Describe what you would need to do to fix the bug.

 Apply the provided patch.

Part 2 - Collective Reports

How many bug reports were opened in the last week? How many were closed?

 122 were opened in the last week (on June 5th). 124 were close.

What was the general trend last week? Were more bugs opened than closed or vice versa?

 More bugs were closed than opened, but just barely.

Who were the top three bug closers? Why is this important to know?

 Michael Gratton, Tim-Philipp Müller, and Bastien Nocera. It helps to know which component is maintained actively.

Who were the top three bug reporters? Are these the same as the top three bug closes? What is the overlap in these two lists?

 Bastien Nocera, Guillaume Desmottes, and Daniel Aleksandersen. Not the same as the top three bug closers. The overlap includes Bastien Nocera, Guillaume Desmottes, Christoph Reiter (lazka), Joaquim Rocha, Michael Olbrich, and Sebastian Dröge (slomo). 

Who are the top three contributors of patches?

 Bastien Nocera, Georges Basile Stavracas Neto, and Michael Olbrich.  

Who are the top three reviewers of patches? What is the overlap between these lists and the bug closers and bug reporters? What is the overlap between patch contributors and patch reviewers?

 Bastien Nocera, Sebastian Dröge (slomo) and Tim-Philipp Müller. The overlaps includes Bastien Nocera and Sebastian Dröge (slomo).

What class were the majority of the bugs for braille?

Personal tools
Learning Resources
HFOSS Projects