Course:ETEC522/2010ST1/OpenSourceTechnologies/Stability and Usability

From UBC Wiki

This vector was created by Helen Szeto

Bart OSS cartoon



Why should you use Open Source?

Software Quality, Reliability and Stability: Depending on the development of each open source software, they could be more stable than the commercial ones. The source code is available to any programmer, therefore any fixes or repairs can be done quickly. The early stages of the OSS may not be very reliable but the quality can improve quicker because the OSS source code is open and available. Eric Raymond (2003) says "Given enough eyeballs, all bugs are shallow." Open source software have both experienced and beginning programmers contributing ideas, taking ideas and improving on the code together. Therefore the quality of the product is continuously being encouraged and is always improved. The evolving source code also improves reliability and stability of the software because users want to make it better. It also saves money because programmers are continually developing the product.

The reliability of OSS will also depend on who is contributing and the number of active participants. There needs to be interest in the program and enthusiasm for it to improve from its online community. When users of the program are giving feedback and open programmers are actively listening, the program can be changed to make it even more effective and efficient.

Improved Security: Programmers are motivated to review the open source codes due to its accessibility and its need for development. Code bugs and security flaws can be addressed immediately when the code is freely available. The community has multiple programmers working on the same program issues therefore multiple solutions are given. Solutions to bugs are created from a variety of views which helps the program find its best solution. The open review and online community prevents bugs from spreading quickly and for solutions to be found in a timely manner. Bugs can be fixed before security flaws are officially announced. They can be found in closed-source software as well. The difference is that open source doesn't hide the problem and allows for developers/users to fix it quickly and more frequent updated versions of the software. Active monitoring and participation from open source programmers improves the security greatly.

Another note is that it is more difficult to attack a greater group of OSS users when the code is changed due to customization from individuals/organizations.

Encouragement of open standards and protocols: Open source is built on the sharing of ideas, which leads to creating a computer environment that is easier to use for everyone. Intellectual property is protected and shared which encourages innovation.

Quick Development: Information is shared quickly between developers because they believe in reusing ideas and sharing code. Developers use the same codes in many projects that are similar and different to each other. The are many active projects being developed because of this open sharing philosophy with open source developers.

Documentation and Support: The problems and solutions of an open source project are well documented. Technical support is also available, usually in an online community format where users share their knowledge on the product and its use effectively. The many different points of view that are expressed in the community creates a body of developmental information and instructions/tutorials.

Osaltlogo.jpg

Choices for consumers: Open source products offers consumers an alternative to costly commercial products. Open Source Alternative provides a directory of open source alternatives to commercial software that is available. For example, it gives the suggestion of using Amorak and Songbird as open source alternatives to iTunes.



(Based on highlights from Puget Sound Technology and information from Open Options.)



Usability

Pros:
Users will need to first learn how to use and operate the open source alternative just the same as when they are learning to use any program. Some open source software may not have as many features as their commercial counterparts while others may be clone versions of popular software (eg. Microsoft Office and OpenOffice). The clone OSS versions are just as user friendly as the original. Users at the K-12 level are more familiar with commercial software therefore using open source alternatives may require time for users to learn how to use. However, once the learning stage is complete, OSS offer the same essential features and functions that educators and students will need and want to use.

The learning curve behind using OSS may detract new users from giving open source a chance. Because commercial software has be used and taught in schools, it may be a challenge to introduce a new program. Using new OSS may also require educators to revise their curriculum materials. Educators may not have the time and energy to learn and try something new.

The integration of OSS and commercial software in the same environment may not always be that easy. Files may not be compatible between the OSS and their commercial counterparts. Formatting difference may appear when users try to open the file in a program that they did not use to create it. This became an issue in the Vancouver School Board, OpenOffice example. However, formatting issues also arise within commercial products (eg. file formats in different versions of Microsoft Word).

Openoptionslogo.jpg

The Northwest Regional Educational Laboratory (NREL) in Portland, Oregon have put together a website (http://www.netc.org/openoptions/index.html), which provides an in depth analysis of Open Source and education. They believe that open source may support better curricula in technology. Students need to improve their technology literacy by learning general skills that can applied to any program. The example they give is that students learn to depend on Microsoft Office and not be able to transfer their skills to another word processor. The Vancouver School Board implementation of OpenOffice further illustrates student dependence on specific programs.

Students studying technology can also benefit from using Open Source to better understand coding.

Cons:
There is little incentive for OSS developers to design a program with usability as one of its top priorities. OSS projects are often funded by volunteer work. Making money is not one of the OSS goals, therefore making the product more user friendly is not an incentive. The product is not being developed for sale to the general public like their commercial counterparts.

Designing and programming do not go hand in hand. There are many great programmers working on OSS projects, but they lack the design skills to make the interface more appealing and usable. Coding gets priority before the design of a project in the OSS world. There are also multiple users working on a project, making it a challenge to have the same vision for design.

The OSS projects that are more usable also look similar to their commercial versions. Thomas (2008) argues that when developers imitate the design of a commercial software, they may also follow the others' mistakes. He would like to see more innovation in design among the OSS community. His suggestion is to honour good designs with awards of distinction from the OSS community.


How should Open Source software be maintained?

Once open source software has been installed, how do we ensure that they are used effectively and efficiently? In the VSB example in the section below, OpenOffice was installed on district desktops with no instruction or information about its potential. How do we make Open Source software work in our home and work environments? Dr. Robert S. Sutor, the vice president of Open Source and Linux division in the IBM Software Group has offered 10 considerations for maintaining open source. His suggestions are things users should consider once they have installed an open source program in their computer.

  1. How do I use it to do the work I want?
  2. Make sure your IT staff has the skills and resources to keep the program running. Does your IT know how where to go for additional help?
  3. Many programs out there already provide open source code.
  4. Some open source project provide additional help for a fee.
  5. Understand the quality and quantity of the source code. Will your organization be able to read and understand the code?
  6. When making changes, make sure it is well documented. Can someone else come in and work with the code that has been changed?
  7. Realistic expectations from your IT staff. Do they have the skills to work with the open source code?
  8. Invest in staff training to run open source programs. The staff who know the program now may not always be there.
  9. Educate yourself by researching past experiences with the program you choose before installation. This may prevent problems that others have had.
  10. Look at the forums attached to the open source software. Is the community active in discussion of bugs and development?



Example of Open Source Software used in Educational Settings

1) Vancouver School Board decided to install the OpenOffice applications in all the computers in the district. The move is a cost-saving measure to reduce the amount of money spent on purchasing the licensing fee to run Microsoft Office. Feedback from students and teachers have been mixed. There were concerns from both about their comfort level in using software that they did not regularly use at home. Students and staff voiced concerns about formatting changes that occurred when opening a document that was created in another word processing software. The district did not provide any instruction or help to ease in the use of OpenOffice. At one of the high schools, Microsoft Word was purchased afterward due to requests from teachers. The teachers at the school were frustrated with the formatting differences of opening a Microsoft Word file on an OpenOffice application.

Establishing a relationship between usability and open source software

OpenUsability poster

OpenUsability is a project to make open source software, specifically free and liberal open source software (FLOSS) easier for people to use. The project supports usability in open source software development and making usability transparent by sharing methods, practices and skills. They want to spread the usability of open source software to everyone by holding conferences, fairs and workshops.












Are open source software designed with learners and classrooms in mind?

Open source software are available to everyone for free. With school boards having smaller budgets to work with, technology costs are being made. Open source is a solution and an alternative to keep up with the technology demands today. Open source software is readily made available to be downloaded with an internet connection. Because the software is downloadable from any internet connected computer, educators and students are not bound to one location. They can have access to the OSS from home as well. The concept of open source shares the same root as learner, which is the sharing of knowledge. Open source promotes universal sharing and facilitates collaboration on projects.

Are OSS difficult to set up?

The set up of OSS is simple because all you need is a computer and an internet connection. There is an OSS version of almost all commercial software that is out there. Open Source Alternative is a helpful directory to find alternatives to commercial software.


How friendly are OSS to use effectively?

Most OSS projects have an online community forum attached to it. In these online communities, developers and users can discuss bugs and find solutions to problems collaboratively. At the same time, this helps with the development of the OSS.

What do teachers need to know first before using OSS?

Teachers need to understand how to use the OSS before they introduce it in the classroom. Most OSS have similar functions and layouts to their commercial counterparts, but there are still minor differences. There is a learning curve with any program that is introduced in the classroom. Educators need to prepare their students and allow for a period of learning before students will get a grasp of the program. For example, in the Vancouver School Board's use of OpenOffice software on their computers, the board did not instruct its educators or students on the use of that application. Compatibility issues arose when it came to opening a document that was created using a different program. This could have been alleviated if users knew how to use the program properly.

Open source is important in the education world because it promotes the sharing of knowledge. Students go to school to learn and share information. The more open we are with our ideas, knowledge, and research, the further we will be able to advance in the technology field. Licensing of commercial products locks away the blueprint of their tools, but open source gives students the opportunity to explore and change the technology tools they work with (Vessels, 2007). Open source empowers students to transform tools to suite their needs.

Report Card

Report2.gif

Stability grade & comments: A+
Open source software are developed by people who have programming background. Some developers are experts and some are not. Because the projects are a collaboration effort, developers build/work off each other's strengths and skills. The work produced is of high quality. And it's always changing to reflect the best possible version of the software.

Usability grade & comments: B
Most open source software are similar to the commercial versions. There are communities of support that help users understand the program. Open software is free to download and install which allows for more users to access. This directly affects the cost factor. However, the programmers behind the OSS projects do not always have design and usability in their mind. The OSS programmers are good with coding, but may not have the incentive to create a usable design.





Links

1) OpenUsability - http://www.openusability.org/
2) Open Source Alternative - http://www.osalt.com/



References

Heraghty, M. (2008, August 6). Usability of Open Source [Author commentary]. Retrieved from http://www.mediajunk.com/public/archives/2008/08/usability_of_open_source_softw.html

Judge, S. (2007, April 29). CNET Insider Secrets - Open Source Free Software [Video file]. Retrieved from http://www.youtube.com/watch?v=a9fqlI9B6QU

Nichols, D.M., and Twidale, M.B. (2003. The Usability of Open Source Software. First Monday, 8(1). Retrieved from http://www.cs.waikato.ac.nz/~daven/docs/oss-fm.pdf

Northwest Educational Technology Consortium (2005). Open Options. Retrieved from http://www.netc.org/openoptions/

OpenUsability (n.d.) Retrieved from http://www.openusability.org/

Puget Sound Technology (n.d.). What is Open Source? Why Use Open Source Software?. Retrieved from http://www.pugetsoundtechnology.com/info/freesource.html

Rasmussen, A.I. (2009). Open Source Alternative. Retrieved from http://www.osalt.com/

Raymond, E.S. (2003). Halloween Document I [Author commentary]. Retrieved from http://www.opensource.org/halloween/halloween1.php

Sutor, R.S. (2010, June 9). 10 Considerations for Maintaining Open Source in Your Organizations. Retrieved from http://www.sutor.com/c/2010/06/10-considerations-for-maintaining-open-source/

Thomas, M.P. (2008, August 1). Why Free Software has poor usability, and how to improve it? [Author commentary]. Retrieved from http://mpt.net.nz/archive/2008/08/01/free-software-usability

Vessels, t. (2007). Why Open Source in Schools. Retrieved from http://edge-op.org/grouch/schools.html





Next: Total cost of ownership


Return to the Main Open Source Course page.