SPO600 Lab1 Open Source software

Hi all, I was assigned to work on my lab for my SPO600 class. here is the outline of the specifications;

  1. Select any two open source software packages that have different licenses.
  2. Research the procedure used by those projects to accept code (“patches”) from contributors. This may be through a mailing list, bug tracker, or source code management system (SCMS)/version control system (VCS).
  3. Identify one software change (“patch”) successfully submitted in each community, and observe the entire review process from start to finish. Note how many people were involved in the review, the role of those people in the community and project, how long the whole review took, how responsive the participants were to updates in the process, what kinds of issues were discussed, and how issues were resolved.
  4. Write a blog post discussing your findings. Explain how each community’s review process works, the reasons for what you’ve observed, and note the advantages and disadvantages of each approach. Consider what you personally would have to do and learn in order to successfully submit a patch to each community.

Geary (Maling system for Linux)

Link: https://wiki.gnome.org/Apps/Geary/GetIt


According to Geary, Geary is an email application built around conversations, for the GNOME 3 desktop. It allows you to read, find and send an email with a straightforward, modern interface.

  • Quick email account setup
  • Shows related messages together in conversations
  • Fast, full text and keyword search
  • Full-featured HTML and plain text message composer
  • Desktop notification of new mail
  • Compatible with Gmail, Yahoo! Mail, Outlook.com, and another IMAP server

Work Process:

In the GNOME Mail Service List. The software has been solving issues from the user since December 2011 to January 2017.  This is the screenshot of the most recent thread


All in all, This program is very useful when we have to organize a large amount of email from different accounts. I was able to install the program on my computer.



GIMP (GNU Image manipulation program)

Link: https://www.gimp.org/


According to GIMP, GIMP is a cross-platform image editor available for GNU/Linux, OS X, Windows and more operating systems. It is free software, you can change its source code and distribute your changes. Whether you are a graphic designer, photographer, illustrator, or scientist, GIMP provides you with sophisticated tools to get your job done. You can further enhance your productivity with GIMP thanks to many customization options and 3rd party plugins.

Work Process:

In here is a Bugzilla that is found on GNOME Bugzilla website



This bug was reported in 2015. Many users have been contributing the solution to solve this problem. the most recent reply is in 2016.

All in all, This is a very popular program so the number of bugs is a lot. However, The communities are working very hard to resolve the problems and maintaining the software.

SPO600 Lab2 GNU Software

Hi all, I was assigned to work in my lab for my SPO600 class. Here is the outline of the specifications:

  1. Select a software package from the Free Software Foundation’s GNU Project.
  2. Build the software. You may need to install build dependencies (e.g., compilers, tools, and libraries); you can do this (and only this) as the root user.
  3. Test that it works.
  4. Select a second, open source software package that has a different license, and repeat the process with that software.
  5. Blog about the process, your results, your observations, and what you learned.

1. Select a software package from the Free Software Foundation’s GNU Project.

I Download 2 software package from the GNU website.

The first one is Bash.

Link: https://www.gnu.org/software/bash/


According to Bash website, Bash is the GNU Project’s shell. Bash is the Bourne Again SHell. Bash is an sh-compatible shell that incorporates useful features from the Korn shell (ksh) and C shell (csh). It is intended to conform to the IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard. It offers functional improvements over sh for both programming and interactive use. In addition, most sh scripts can be run by Bash without modification.

The improvements offered by Bash include:

  • Command line editing
  • Unlimited size command history
  • Job Control
  • Shell Functions and Aliases
  • Indexed arrays of unlimited size
  • Integer arithmetic in any base from two to sixty-four


  1. I started with downloading the file from the website on my Fedora VM.
  2. I went to the folder and open the INSTALL file to find the instruction of the installation.
  3. Then executed the command “$ ./configure ” and it worked nicely.
  4. I followed the instruction to run “$ make ” and it worked
  5. The last step is to run “$ make install” But It was failed because of the installing folder require the permission from the root user so I replace the command with “$ sudo make install ” and it worked nicely again.
  6. I test the program by using these command “$ man bash” to check the manual page, “$ bash –help” to check the version and “$ whereis bash” to check the location.

GLib (aka GTK+)

Link: https://www.gtk.org/


According to gtk, GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off tools to complete application suites.


GTK+ has been developed for over a decade to be able to deliver the enticing features and superb performance that it brings to your application development. GTK+ is supported by a large community of developers and has core maintainers from companies such as Red Hat, Novell, Lanedo, Codethink, Endless Mobile and Intel.


  1. This one took a while to install because it required more dependencies such as cairo-gobject, pango, atk and gdk-pixbuf.
  2. So I ran “$ sudo yum install dependenciesName” for the dependencies in step 1
  3. Then ran some External dependencies: libepoxy, xlib, at-spi2-atk.
  4. After step 3, I had a completed “$ ./configure” command
  5. So I ran “$ make” and $ sudo make install”
  6. So for testing, I had the application be installed and go to the example folder of gtk and run the C program with “$ gcc hello-world.c -o base pkg-config --cflags --libs gtk+-3.0 "