Links
Course Documents
     Register
     Main Page
     Assignments
     Contact Information
     Course Announcement
     Schedule and Syllabus
     Course Participants
     Discussion Forum
     Swiki Chat
     Lecture Material
     Independent Research
     Projects
     Questionnaires
     Previous Course
Swiki Features:
  View this Page
  Edit this Page
  Printer Friendly View
  Lock this Page
  References to this Page
  Uploads to this Page
  History of this Page
  Top of the Swiki
  Recent Changes
  Search the Swiki
  Help Guide
Related Links:
     Atlas Program
     Center for LifeLong Learning and Design
     Computer Science Department
     Institute of Cognitive Science
     College of Architecture and Planning
     University of Colorado at Boulder

Analyzing open source systems: Unix OS


The open source concept is a very wide concept. It assembles many problems and concepts related to issues of intellectual knowledge, software design, collaboration, leadership, and motivation.

The collaborative issue is the one that has been studied while examining open source systems because the aim of this type of systems is to be able to create of a sociological and technical environment where participants can collaboratively construct solutions to problems of mutual interest. This ideas has been the catalyst to create new educational activties related to open source projects. The analyze of open source project could also be the first step in applying the open source principles in the making of other projects based on collaborative construction.

UNIX is an open source system that has proven to be much better than other operating systems and more adaptable to the end user because it is a creation of the users themselves.

Advantages of Unix


  • It is multitasking, therefore, multiple programs can run at one time.
  • It is multiuser, allowing more than a single user to work at any given time. This is accomplished by sharing processing time between each user and utilizing distributed computing systems.
  • It is safe, preventing one program from accessing memory or storage space allocated to another, and enables protection, requiring users to have permission to perform certain functions, i.e. accessing a directory, file, or disk drive.

Moreover, in the UNIX system's early days, security was virtually nonexistent. Subsequently, the UNIX system became the first operating system to suffer attacks mounted over the nascent Internet. As the UNIX system matured, however, the organization of security shifted from centralized to distributed authentication and authorization systems.

Today, these perceptions are only of historical interest.

Why secure?

There are some design features in UNIX based system that tend to make UNIX systems intrinsically secure:

  • A very clean separation between the kernel of the operating system and the rest of the applications. In windows, the boundary is blurred and has changed on several occaisions.

  • The Windows registry is a black hole of security.

  • With the open source variants of linux, it is easy to determine the version numbers of the software components: you just look at the code. With MS-Windows, frequently their own tools fail to detect critical software configuration changes.

  • UNIX has a thirty year history of dealing with security issues. A lot of what we know about the security of operating systems from the early 1970s is still relevant today. The UNIX security setup is completely transparent to the system administrator. In windows, Microsoft constantly changes things, sometimes because they come up with better solutions and sometimes simply to acheive a competitive advantage. I know this is an ad hominum argument, but because Microsoft is a for-profit company, they are motivated to change things to drive their profits, not necessarily your interests.


Unix operating system is an open source system that could be considered as an example of complex systems because it is made by communities that have common qualities. However, unlike complex systems, open source systems are characterized by the intention of the participants in it which lies in the wish of having an operating system that is perfomant and adaptable to changes. Briefly, Unix is an operating system (OS) whose license give users the freedom to run the OS for any purpose, to study and modify the OS, and to redistribute copies of either the original or modified OS (without having to pay royalties to previous developers).

The creation of systems in which users can be designers is the main idea behind creating UNIX and therefore it illustrates meta-design. Our course for example is an environment where students are active contributors to their education through Swiki and Google..., and the envisionment and discovery collaboratory is an example of a system supporting meta-design (UNIX in this case).

Unix relies deeply on active participation, and that's what makes it good, changeable and reliable. For our case, contributing to an open source project like Unix would be in the biggest educational benefit for us, and won't be hard to achieve. For everyone else, it is a great way to improve a product that they probably use and a great learning experience. Throughout this study, the benefit of how much people will learn after their contribution to an open source project, and how much back they could get out of it ( in terms of their ideas being heard...) decides why people in different contexts become involved in open source development.




References


1. Fischer, Gerhard “Meta-Design: Beyond User-Centered and Participatory Design,” Proceedings of HCI international 2003, Julie Jacko and Constantine Stephanidis (eds.), Crete, Greece, June 2003, pp. 88-92.

2. Fischer, G. and Giaccardi, E. “Meta-Design: A Framework for the Future of End User Development”, a working chapter for EDU book.

3. Meta-Design ‡ Fischer, G., Giaccardi, E., Ye, Y., Sutcliffe, A. G., & Mehandjiev, N. (2004) "Meta-Design: A Manifesto for End-User Development," Communications of the ACM, 47(9), pp. 33-37.

View this PageEdit this PagePrinter Friendly ViewLock this PageReferences to this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide