Yazılarım‎ > ‎

Open Source Softwares

18 Ara 2009 15:47 tarihinde Uğur ARPACI tarafından yayınlandı   [ 22 Ara 2009 06:40 tarihinde Ugur ARPACI tarafından güncellendi ]
RESEARCH PAPER Prepared by  UGUR ARPACI

Outline

Abstract
1.Introduction
2.Definition of an Operating System
3.First Step for Open Source Concept
4.GNU Project
4.1.Definition of Free Software
4.2.Free Form of Copyright: Copyleft
5.Linux: A Free Software
6.Pardus: Turkish Linux Distribution
7.Conclusion

    Abstract

In this research paper, earl times computer-like systems and attempts to obtaining best operating systems examined. With all difficulties of early time systems, a new concept of operating system called Unix came into industry and change all known facts in users mind. You will find information about how Unix become the pionner idea of open source systems and how it effects the future of softwares. Richard Stallmans efforts are examined as well. Concepts of GNU Project and General Public Licance are introduced. As a combination of all these, Linux system and its effect on personal computer software industry is examined.

    1. Introduction
   
    An electronic computer is a machine that is able to perform mathematical operations thoushands of times faster than any human mind. By using this speed, people can spend more time on creativity,designing more complex systems in any area rather than losing time consuming calculations.
    Although computers are fast and reliable machines, they can neither think as human being do nor predict what you want to do. Computers always needed to be instructed in some ways by whom wants to use it. From the first computer, developers have been trying to find a common way of communication to make this machines work efficiently. These ways are operating systems which are written by developers in any computer programming language. These operating systems are used to control the whole electronic systems.
    From the emergence of first electronic computer, they begin to take place in any bussines area, scientific research. Furthermore, by the developments of integrated circuits and embedded systems, almost every person personally accept computers to be able to do their work more efficiently. In 1980, by producing computers for household use, computer industry began to grow with an enourmously fast acceleration. On the other hand this growth triggered software industry.
    Operating system industry branched into different types of systems; in the early times there were closed source systems widely used and after a short time a “open source” concept arrived in the operating system market. By this research project, you will find information about open source software, advantages and disadventages of open source operating systems and its effect on market.       



Picture : Position of operating system

    2. Definition of an Operating System
   
    An operating system is a set of programs that run the computer, handling all interactions between you and the hardware by using an interface. All kind of computers including personal computers, cellular phones and even coffee machines need this kind set of programs that interact with the user to work properly. Furthermore, an operating system consist on hundreds of smaller programs which create a base to execute other programs.
    In operating system history for electronic computers starting from 1940's, there had been difficulty, failure and hard effort for developers side. Operating system developers had tried under plenty of organization to obtain an operating system that satisfy different kind of user's desires. Years between 1950-1980, computers were generally took part at universities or at businesses companies and they were named as mainframe computers. They were complex and huge electronic systems that nobody can set it up in their home.
    One of the hardest attempt came from IBM to obtain an operating system to satisfy all kind of user's desires. In 1964, IBM introduced a new generation of mainframe computer called System/360. It was aimed at full circle of customers from business to science. For System/360 mainframe computer IBM also planned an operating system called OS/360. As first planned, this operating system would consist hundreds of program components, totally more than a millon lines of code, all of which had to work in a perfect coordination. OS/360 would implement the technology of multiprogramming.i Althought multiprogramming concept worked well before this project, it was not implemented in a large scale. IBM publicly announced OS/360 nine months late than it had planned. Developers were in desperation because they could not obtain what they want. There were hundreds of programmers working on the project already and the quality of programmer go down as more people added and moreover, one programmer's work was difficult to match with another depending on low level programming language usage. At the peak of the project more than a thoushands of technical stuff were working and IBM introduced OS/360 into the market with a ful year late and full of bugs in 1967. A half billion dollars spent for this project and IBM's chairman summarized OS/360 as “the single largest expenditure in company history.”1

Picture  : System/360 Project
    3. First Step for Open Source Concept

    In 1965, Bell Telephone Laboratories came together with General Electric Company and Project MAC of the Massachusetts Institute of Technology to develop a new operating system called Multics. The purpose of creation this new system is to provide simultaneous computer access to a large community of users and allow them to share their data easily. After four years spent on this project, the prototype of this new system did not give the result as intended. Due to foundation issues, Bell Laboratories could not support this project any more and ended it.    
    With the end of this Multics project, there was a left “convenien interactive computing service”. Ken Thompson and Dennis Ritchie decided to profit from this rich enviroment somehow, and they created a group of developers to work on this enviroment. The group could not use the current laboratories because executing set of programs are expensive with current systems. As a result, they  made the developments with  PDP-7 minicomputer*. Ken Thompson tried to become accustomed to this new PDP-7 enviroment by writing a game called “Space Travel”* by using Fortran programming language. The new developed system emerged with the name 'Unix'. Later on Dennis Ritchie developed a new porgamming language called C.* In 1973,he rewrite Unix operating system all over with this new programming language.  The new core was accepted inside the Bell Laboratories and Unix system installation hit up to 25. On the other hand; AT&T could not get involve in the market or could not distribute the Unix outside of laboratories due to Consent Decree that had signed with Federal Government.1
    This prohibition brought Unix into another concept. AT&T decided to distribute the Unix system to universities for educational purposes. AT&T also distributed source codei of Unix which makes the whole system changeable. Any developer can make any change on the system and inplement this 'updated' system on new hardware enviroment.  By 1977, the number of Unix distribution hit up to 500, of which 125 of them were in universities.2 Without any marketing strategy,advertisement or support, Unix distributions had grown to about 100,000 in 1984.3
Reasons that differs Unix system from other system are :
Unix was able to run with a wild range of computer enviroment from microprocessor to mainframes.
It has a simple user interface that has the power to provide the services that user want.
Unix allows you to build complex programs by using simpler programs. It uses hierarchical file system that allows easy maintenance and efficient implementation.
Unix provides simple interface to peripheral devices.
Unix is a multi-user,multi-process system that each user can execute several process simultaneously.
Unix hides the machine architecture from the user which makes easier to write programs that run on different hardware implementation.
    This is not true that Unix has limitations. On the other hand, it works with complicated set of commands which cause Unix to be away of being user-friendly. The reason why it is not accepted for personal computer industry. Hardware technology arrond 1977 could not support and complex security programs provided that Unix has weak security features. It allows multiper users and multiple computer jobs to access same file simultaneously. However; Unix system appealed to the users by features as being flexible and open. Unix system is appealling option for programmers in time which programmers decide small systems; because it supports a lot kind of systems including mainframes and small decentralized systems. 

    4. GNU Project
       
    By the distribution of Unix system's source code, the first step of free software appeared in the personal  computer industry. Between 1970-1980 several closed system emerged such as MS-DOS and Apples Macintosh. By means of closed system; the source code of systems are licenced by the distributing company. That means none of the user can neither add any new programs into system nor improve the system in any way.
    The modern computers around 1980 had their own operating systems; user had to sign a nondisclosure agreement to get an executeable copy. That means a cooparating community was forbidden by any means. Nobody except distributing company could try to help about the system. Distribution responsibilities are protected by copyrights which is assumed that software companies have an unquestionable natural right to own software. Distributers have power on all over its users and users become restricted by only what distributing company offer them.
    Richard Stallman who was working at the MIT's Artificial Intelligence laboratory in 1971, becames part of a sofware-sharing community. The AI Lab used an operating system called Incompatible Timesharing System (ITS), and Stallman's work was to improve that system. Lab workers did not call this software “free software”, because that term did not exist; but that software was what it is. If anyone wanted to use the software, laboratory workers share the source code so that they could read it, change it and implicate as their needs. Richard Stallman left MIT Laboratories in 1980, he was about to make a decision about his future. According to him, it is promising not to help his fellow hackersi to join commercial software world. Stallmans main purpose was to make users independent instead  of making them beg to a source for any software. He thinks that any users must have the permission on the system to make any changes. He wanted to continue make his talent talk in this industry so that he was asking for a program or programs that he could write to make a community possible at once. He  was thinking about creating a network community so members of this community could help each other about system. 
    The first step came from Stallman into the programming industry was an operating system. A computer could not even run itself without a operating system. He chose to make the system compatible with Unix to make the system portable. The another purpose of chosing Unix is to make other Unix users could easily switch to it.
   
    4.1. Definition of Free Software

    Definition of free software has nothing to do with money. As in any other industry, anybody can sell any free program. Free software definition based on four basic idea as follows:

User has the freedom to run the program for an purpose
User has the freedom to make any chage for any kind of implementation.
Anyone can distribute forward copies for free or sell the copies.
User free to distribute updated version of the program to give chance to other user to benefit from improvements.


    4.2. Free Form of Copyright: Copyleft

    As the philosophy of GNU software is to give freedom to its users, Richard Stallman came up with the idea of “copyleft” to protect this freedom. Transforming a software into a free software only by putting it the public domain would damage GNU philosophy. This would allow some uncooperative people to convert the program into a proprietary software.i On the other hand copyleft says that any distributers of and free software have to pass the freedom to further copy and change it. All in all; copyleft is the counter opinion of copyright by having opposite responsibilities.
After a while, huge amount of people got involve with GNU project. In 1985, Free Software Foundation was created by a group of people that had been led by Richard Stallman.1 Free Softare Foundation is a nonprofit with a worlwide mission to promote computer user freedom and to defend the rights of all free software users. Foundation is working to secure freedom for computer users by promoting the development and use of free software and documentation especially GNU/Linux operating system distribution. In 1998, community decided to stop using the term “free software” and they call this concept as “open source software” instead.

   
    5. Linux: A Free Software

GNU/Linux is an operating system that was initially created by a young University student Linus Torvalds, at the University of Helsinky in Finland in 1991. Linux is based on a small Unix system called Minix. Torvalds decided to exceed Minixs standards and in 1994 Linux kerneli version 1.0 released. Linux kernel was developed and released under GNU General Public License and as it is; source code is freely available to everyone. At the present time, there are literally hunderds of companies, organizations and inidividual users that released their own operating system base on Linux kernel.        
    Well known Linux distributions are such as : Fedora, Ubuntu, SUSE, MEPIS, Xandros etc. Linux distributions are well suited for personal usage, small-medium business area and for server management. Building a medium server enviroment by copyrighted softwares costs thoushands of dollars today on the other hand, building this servers by open source software such as Linux, is an optional choice for organizations. Today hunderds of organizations and government departments have changed systems by open source software not only for financial profits, also for security reasons. Creaking Linux or linux like systems are harder than creaking any other systems. Especially some countries governments in Europe choose this way depending on this reason.
    Chinese government did not choose Microsoft Windows operating systems to store their secret information for security reasons. Especially in server enviroments, Chinese government use Linux based sofwares.
    In France, Paris government choose open source software instead of paying licance refreshment payment which is more than 18 million dollar.
    Germany government use Open Office sets of open source programs for office applications. On the other hand Siemens developed two Linux based systems for German military force.
    Hollywood which is one of the biggest film industry used Linux based software for the first time in 1997 with the movie of Titanic.1
    Around all over the world, almost all universities uses open source softwares. At least thier computer science departments.
    Almost every copyrighted software has its open source match as seen below:

 Copyrighted Software
 Open Source Software
 Microsoft Windows
Linux
 Microsfot Office
 Open Office
 Microsoft Word
 Writer
 Microsoft Exel
 Calculator
 Microsoft Power Point
 Impress
 Microsoft Outlook
 Thunderbird
 Microsoft Internet Explorer
 Mozilla Firefox
 Adobe Photoshop
 Gimp
 Windows Media Player
 MPlayer
 Microsoft IIS Server
 Apache
 Oracle Database
 MySQL
 Microsoft Access
 Rekall
 MS SQL Server
 Postgre SQL

    6. Pardus: Turkish Linux Distribution

    In the year 2003, a group of programmers at Tubitak looked for tendencies and existing conditions of the software industry, similiar applications all over the world for a Linux distribution. This condition caused to create a profitable enviroment in Turkey in the way of examining the capablities of the local software industry and their competitive aspects. In the July of 2003, formation of a Linux distribution is an appropriate decision. This decision started serious planning and work hours to create a Turkish Linux distribution.
    Pardus project has been divided into subprojects for more flexibility and ease of management and the scopes of these subprojects have been determined.The basic components of the distribution to be developed locally have been determined and the requirements analysis has been initiated for these components. As of early 2004, the planning stage has been completed and design stage was launched. Pardus 1.0 was officially announced in 27 December, 2005. About one year later, Pardus 2007 was ready and now lastly Pardus 2009 is ready to download on  servers.   
    Pardus was released under General Public Licance and as the other Linux distributions have, Pardus has a package network enviroment for any software updates. User can easily download and use any new software without being have to install it. System handles all kind of difficulties for user. Performace side is also appealling. At rest state (without any operation activated), Linux distribution uses approximately half of memory size than Microsoft Vista operating system on the same system.

 
 
 Microsoft Windows
 Linux Pardus

distribution

Market number shows that; even though open source software distributions are profitable from any kind of aspects, individual users have to be more patient to get used to Linux systems. It is different but no doubt it is better.

Microsoft dominates the market

    7.Conclusion

    In this research paper, Unix system, open source operating systems, open source softwares and GNU project are discussed. IBMs system/360 project is given as an example of early times operating system and how Unix changed the history of operating systems. Richard Stallmans pionner idea about GNU project and its effect software industry is obtained. By the first attempt of IBM into personal computer industry, proprietary softwares such as Microsoft, started to dominate this industry. After years, almost 90% of personal computer around the world became using proprietary software. It will take more time for users to switch thier systems into open source softwares.
    After the definition of General Public Lincance, GNU/Linux software is given as an example. Linux is the one of the most well known and widely used operating sytem and beside Linux, some other open source softwares are given by comparing their copyrighted mathes. Several government and official associations are given as reference for the question 'Why people should choose open source systems?'
    Finally Turkey's attempt into this industry is introduced. Pardus system and Tubitaks effort  are discussed. All in all; Pardus is a nice attempt in global software industry and Turkey began to take an important part of it.

1. Watson, Jr. T. & Petre, P.  Fatherland Son & Corporation. London. Page(353).
2. D.M., Richie. (1984). “The Evolution of the Unix Time Sharing System”. AY&T Bell Laboratories Technical Journal. Volume 63. No: 8. Part 2. pp. 1577-1594.
3. Alcatel-Lucent Bell Labs. “http://bell-labs.com/history/unix”
4. Bach, Maurice J. (1982). The Design of the Unix Operating System. Printice Hall, Software Series. pp. 24-25.
5. Free Software Project. “http://www.fsf.org/about”
6. Akman, Aysenur T. (2005). “Acık ya da Kapalı: Iste Butun Mesele Bu”. Bilim ve Teknik. Tübitak. Pp. 65.
a. Multiprogramming is a form of parallel processing in which several programs are run on one unique processor. Since there is an unique processor, there cannot be simultaneous processing of different programs. On the other hand; the processing time is quite short arrond 2 microseconds so processor executes one part of program and then another part of program. Processor does not have to wait for one program to finish its execution.
b. Program has to be translated by the computer from the source code into the machine language that the computer understands and execute the code.
c. According to Stallman; the definition of a hacker is: “Someone who loves to program and enjoys being clever about it.
d. Proprietary software is the software which is not a free software, copyrighted software.
e. Kernel is the heart of Linux systems.