Friday, March 28, 2008

The Open Source Movement

The Open Source Movement

Introduction:

The world of computing has always been a dynamic one. Computers range from tiny embedded devices in cars and refrigerators to massive super-computers. The nature of change and advancement in this field has made it so that the smallest computing devices used today are more powerful than the largest machines used in the past. Each generational advancement in hardware and software creates new uses for computers and provides users with alternative and often better ways to perform tasks.

When personal computers (PCs) first became popular, there were many companies in the market. These included Apple, IBM, Commodore, Timex, Acorn, etc. They all offered technology that was packaged. One bought hardware, software, and potentially services from them, but that was the extent of the relationship. The only way that a computer user was able to obtain the software needed to run their system was to purchase it through one of these vendors.

For a greater number of computer users, this started to change in the early nineties when Linux and BSD first started gaining popularity. Linux grew into viable operating system alternative with all the performance and features of commercial systems such as WindowsTM or Mac OSTM. The main difference between Linux and the other commercial systems is that Linux is free. BSD followed a similar evolution. The Open Source movement represents a change in the way that computers are used, where most of the software needed to operate them can be obtained without cost.

What is Open Source?

The most simplistic perception of Open Source Software (OSS) is that the source code is freely available. This is a working definition. Technically speaking, for a software composition to be considered open source it must meet the nine criteria of the Open Source Definition (OSD). The first three of these criteria "enshrine the basic characteristics that lie at the heart of the new [open source] methodology." (Golden, 12)

These three criteria state that the distribution license of the software must provide: the right to distribute the software freely, the availability of the source code, and the right to create derived works through modifications to the source code. The other criteria "spell out ancillary requirements; for example, they ensure that the license does not discriminate against persons or groups or fields of endeavor." (Golden, 13) Essentially, they close the loopholes that might otherwise be exploited.

This development model stands in bold contrast with the established and traditional mechanisms used to produce and distribute software. Historically, at least in the history of the personal computer, software has always been a commercial venture. The ideas of charging for software and treating source code as property were introduced by the business world.

Computer Science, in the beginning, was an academic and intellectual pursuit. Alan Turing was an English mathematician who is considered the father of computer science. "The partnership of advanced technology with free individual thought was central to Turing's vision." (Hodges, 215) With the rise in availability to the Internet information can be exchanged in methods never before possible at any point in history. This allows for developers who work on open source projects to communicate effectively at ay time of the day. "Open source projects are not confined to the rigid structure imposed by corporate methodologies." (Weber, 14) This creates unexplored potentials in technological development, and is one of open source's strongest assets. Turing's belief in the free exchange of ideas places the origins of the Open Source movement to the 1930's. With the growth of the Internet Turing's vision may finally be achieved.

Challenges to the Open Source Movement:

Open sourced based technologies have long been associated as tools that only a computer power-user has any need for. The public likes software that has an intuitive interface, an easy installation process, and high stability. Linux, BSD, and other open source tools and operating systems have only recently began to create a set of streamlined installations and interfaces that will attract more average users.

The process of establishing a more "modern" user interface system for Linux and BSD began back in 1991. This was when the first ports of the X windows system were stabilized on the IA-32/x86 architectures. Prior to window managers and X, users typed in commands that cause the kernel to respond. "Such command line interaction was standard for the Unix world at the time; as a result, most Unix hackers were completely at home." (Rosenberg 23) This did nothing to help draw attention from computer users who used to the operating systems of Microsoft WindowsTM and Apple MacintoshTM where "control was effected by selecting operations from pull-down menus available from various overlapping windows present on the screen, or even more directly, by clicking on-screen graphical icons. (Samuels, 87). For the first few releases of Linux and FreeBSD, the X windows system didn't really add much ease to the user interface. Unlike the Microsoft WindowsTM or MacintoshTM systems, "X on its own lacked menus and Icons." (Rosenberg, 23) At this time, X windows was used primarily to show the output of several text-terminals at once on the same screen.

Over the years, the simplistic X windows interface has been extended by various independent open source projects. Now, the wide selection of window managers available, open source projects can attract the once alienated graphical user interface (GUI) dependent consumers. By simply changing the window manager's settings, a computer running X windows can take on the interface nuances of Microsoft WindowsTM or Apple MacintoshTM.

The various methods of software installation have changed greatly during the history of the personal computer. A few methods have remained approximately constant: Downloading software from local bulletin board systems (BBSs) has changed into downloading software from the Internet; The act of feeding floppies into the computer has changed into feeding it compact discs. The interfaces exposed during installations are what have really changed. Now days, when installing an operating system, a user inputs a relatively small amount of technical information. Generally some form informative advertisements are displayed while the system loads itself, and the system is ready to be rebooted and used. This is also true for most popular Linux and BSD distributions. The main difference is the shear volume of optional programs that are available to be installed on open source systems. I recently installed Mandrake Linux 10.1 Power-pack on my laptop. This distribution comes with over 3,000 program packages that may be installed. As the level of technological complexity increases, it becomes increasingly difficult for the average user to manage. There are new commercial versions of Linux, such as Linspire, that come with preselected groups of packaged programs intended for the average user. Linspire's installation is as simple as any version of Microsoft WindowsTM. Although one must pay to obtain distributions such as this, they come with many other advantages for the average user. Linspire, for example, comes with a specialized emulator that allows most Microsoft WindowsTM games to be played on Linux.

Stability really hasn't been any issue in open source. Any project, open source or commercial, that is beta will encounter problems during its execution. Linux and BSD's first stable versions were released in early 1991. At the time WindowsTM was considered "miserably unreliable with mysterious crashes, inexplicable hangs, and a pervasive fragility that taught you to avoid doing anything fancy with even advertised features of the OS because it could not take the stress." (Moody, 58) The "sendmail" program was originally released as part of BSD. It is open source, and it touches every piece of email that is sent on the planet. Its stability is without question.

This shows one of the problems that open source technologies must overcome if they are ever going to become truly successful. Large companies, such as Microsoft, can afford large marketing departments. According to Machiavelli, people are fickle by nature; and it is simple to convince them of anything. In most western cultures, people have been convinced that if something has nice packaging, then it must be a good product. Large corporations such as Microsoft have used this commonly known aspect of human psychology to boost their market share. They provide systems that sacrifices performance for interface. They also use bugs in their code to their advantages. They market the bug-fixes as new 'features' and charge the consumer again for the repaired version. "The open source movement needs to gain a better image." (Golden, 77)

Corporations Embracing Open Source:

Recent changes in many corporations that produce hardware are encouraging their adoption of open source solutions in their products. On of the first major corporations to accept Linux was IBM. In 1999 IBM created its first "development lab ... to maximize performance, reliability, and security for ... Linux on IBM server and client systems." (Moody, 222) IBM also released an open source port of a Linux kernel modified to run on RS/6000 machines.

The open source movement has really changed the business strategies of Apple Inc. "The original Apple Macintosh was intentionally created as a closed machine. ... It was intended as a kind of appliance about whose internal workings users never need know anything about." (Moody, 296) This was the way that Apple sold their computer for a long time. Eventually they too began to become aware of the powers of open source.

In March of 1999 apple announced its next series of machines based on Darwin. Darwin completely replaces the traditional Mac OS and is the basis for the Mac OS X Server. Although Mac OS X has "taken elements from Berkeley UNIX (BSD) ... Darwin is a close relative to Linux." (Sandred, 84)

Prior to Mac OS X, Apple's revenue had been dwindling. "Apple and their customers [have a lot to] benefit from the intensive energy and enthusiasm of a huge community of programmers." (Sandred, 82) Mac OS X revived Apple. Many open source and UNIX developers have migrated to the Macintosh. Many more will be drawn to Macintosh with the next Mac OS X release, Tiger. Tiger is rumored to come with all the standard Linux base libraries precompiled so that most Linux programs will be able to run without any changes to the source code.

Synthesis:

I feel that for the computer world to continue creating innovations, the open source movement needs to be fully embraced. We are approaching an upper limit in the speed at which microchips can be produced. "Until Intel finishes their ultra-short range ultra-violet chip etching technology, [parallelization] has become our only viable option for enhancing chip performance." (Hodges 344) This means that new hardware cannot be build to make existing programs run faster. More advanced software technologies must be invented. The large software corporations are not going to have enough developers to meet these needs when producing commercial software. "There is [only] a finite amount of serious development happening at any given time." (Weber, 22)

This is the problem that that Apple Inc. encountered. There simply were not enough Macintosh developers available to keep producing commercially competitive software. They also used to charge an outrageous fee for obtaining a developer license. With their current business plan, the "Darwin" section of their operating system is completely open source, and development tools come standard with the operating system.

At this point in history, there are more people who know how to program computers than there ever has bee before. To most of these individuals using computers and programming are a hobby. With the growth of the Internet, these individuals now have a way to communicate freely and being personal projects. The Internet removes geographic constraints. The more the open source movement grows, the better ability it will have to tap into the massive resource pool that these people create.

If the movement continues to grow, there will be no way that privatized commercial development will be able to out pace open source. There will always be niches where commercial ventures can produce specialized software; however, for primary applications, there will be more people available to solve development problems in the world at large than any company could every employ.

Open source has the potential to unify the world's development community. In the 1980s and early 1990's, most of the people who programmed did it as a form of entertainment. Being a hacker or cyberpunk was like assuming the status of a cultural icon. It reminds me of the nostalgia of the cowboys in the old west. As computer technology advanced, it became more and more difficult for new people to gain acumen in advanced development. Most of the experienced programmers moved into the commercial sector.

Now that Internet based interpersonal communication is more readily available, inexperienced hobbyists now have an opportunity to learn while contributing to the digital community. Many of these hobbyists can contribute to programs that will, over the course of time, become standard solutions for one problem or another. It is a matter of pride when contributing to open source. You may not get paid directly; however, your name shows up in the credits of the program. This has many ways of benefiting the programmer. For example, if a hobbyist spends time contributing to an open source game, it essentially counts as work experience. Just as artists build portfolios, open source developers build collections of project that they have contributed to. They can take this experience when they go out in search of employment.

"Open source tool kits are less wasteful, in general, than commercial development application program interfaces." (APIs) (Feller, 69) Since the source is available, someone using the tool kit can look down at the lower levels of the development structure when looking for answers. At least with Microsoft based technologies, the traditional solution used when a problem has been encountered has been to spend hours pouring over technical white papers. This form of documentation is often incomplete at best. In open source, since the API code is available, when a developer or hobbyist encounters a problem, they have greater potential to learn more of the specifics of their development architecture. There is also the chance that their problem is actually a bug in the API. If they solve the API problem, then they can submit the fix to the API's maintainer group. When using a commercial API, programmers can only hope that the API's vendor releases a fix in the next version.

Conclusion:

I believe that in the long run if the world adopts open source technology we will all be better off. It will add a degree of equality to computing. Free software removes the discrimination against non-wealthy individuals that has existed in the computer field. It will produce higher quality software with less waste, and encourage diversity in digital systems. Open source software encourages learning, both in the computer technology niches and in general. It will be interesting to watch how this movement changes the use of technology the world over.

Bibliography:

Hodges, Andrew. Alan Turing: The Enigma. New York; Simon and Schuster: 1983, c2000

Golden, Bernard. Succeeding with open source. Boston: Addison-Wesley, c2004/5

Rosenberg, Donald. Open Source: the unauthorized white papers. Foster City, CA: M&T

Books, IDG Books Worldwide, c2000

Moody, Glyn. The rebel code: the inside story of Linux and the open source revolution. Cambridge, Mass.: Perseus Pub., c2001

Feller, Joseph; Fitzgerald, Brian. Understanding Open Source Software development. London; Boston: Addison-Wesley c2002.

Samuels, Edward. The Illustrated Story of Copyright. New York; Thomas Dunne Books: c2000

Sandred, Jan. Managing open source projects. New York: Wiley Computer Pub., c2001

Weber, Steve. The success of open source. Cambridge, Mass: Harvard University Press, c2004

by matthew.collins at mac.com

0 Comments:

 

blogger templates 3 columns | Make Money Online