Essay on Open Source Software
The concept of open source affects many fields of study from computer software and hardware to architecture, health, science, robotics and even politics.Linus Torvalds predicted this proliferation of source openness when he said: “the future is open source everything”.But another founder of open source movement, Eric Raymond, refused the using of this concept about applications outside software (Wikipedia, 2009).
Free/open source software (F/OSS) is accessible software where end source code is available for the user.
It is not limited to software as applicable ones, it exceeds to allow beneficial to read, modify and recreate the source code (V. Hippel, V. Krogh, 2003). So F/OSS is usually provides users with source code and information needed to apply their changes on them.
The ability to run the program as the user wishes is one of the essential freedoms which Richard Stallman, the founder of free software and defender of open source, was confirmed in an interview. These freedoms are: the freedom to study how these software works, the freedom to change it according to project’s requirements, the freedom to redistribute it and the freedom to distribute your modified copy to others (Reilly 2008).
In Raymond opinion “good programmers know how to write, great ones know what to rewrite”, and he illustrated that it is almost easier to use an already existing solution to start with than to start from nothing at all. But this involves developer in difficult-to-be-solved problems if choice is not suitable. Linux operating system was not written from scratch where Linus Torvalds started by studying ideas from Minix “a tiny Unix-like OS” and then reused it according to project’s purposes (Raymond, 1999)
It was a big surprise for those who used to pay for software to be told that groups of volunteers create high quality software and produce it to the community for free. The idea of FOSS began in 1960s. In this decade commercial software was not available and researchers were in need to share software code. As a result, they started to share source code in a limited framework.
“Open sharing of software code was a common practice in the MIT Artificial Intelligence Laboratory in the early 1960s and in similar laboratories such as Stanford and Carnegie Mellon” (Moon & Sproull 2002).
After that developers and users gave the idea more attention. Consequently, foundations of free software have been established in 1980s when Stallman called for free software and claimed that software should be common. In an interview, Stallman confirmed that computer users could not use the proprietary software come with most computers in the 1980s. So, such software keeps users “divided and helpless”. Stallman was dissatisfied with that situation and he started the free software movement in 1993 when he wrote the GNU open source operating system (M. Reilly, 2008). The general public license of GNU operating system allows users receive all their rights in essential freedoms mentioned above. In 2005 the idea achieved its goals in software filed and became more trusted by users and developers (Raymond 1999).
Wikipedia is a known example of F/OSS. It is a free encyclopedia started in the beginnings of 2001 by means of highly qualified contributors. It provides 19 free encyclopedias in 19 different languages and its content has been created by user contributions.
Many other examples like Apache web server, BIND name server and Linux operating system kernel are free for any user to use, amend and share.
The motivations of Stallman to produce free software are his strong belief in freedom, particularly “the freedom for individuals to cooperate” (2003). But what are the incentives other developers have to become contributors in open source projectsIn other words, why do programmers volunteer their time and experience without any financial returns to create free software?
Raymond is one of the first GNU contributors, a developer of many net open source software and a significant participant in Linux operating system development. He indicated that Linux project was going from “strength to strength” and the reason was the “bazaar” model of the Linux development style in which all contributors worked hard as at individual projects. He added that the democratic atmosphere in bazaar model motivated him and his partners to work hard regardless of financial returns (Raymond 1999).
The Linux creator, Linus Trovalds, says: “I am basically a very lazy person who likes to get credit for things other people actually do” (Raymond 1999). Torvalds , as he stated in his book ‘Just For Fun’, has an early interest in computing, he does not seem to take himself too seriously, he is a lucky guy who can provide a career for himself, and he finds a lot of fun when he writes software code.
It is surprising that hackers are also a significant motivating factor; they lead developers to impress their peers, gain a better reputation and raise their ranks in society (Zaleski et al. 2001).
Wikipedia showed, in a study made up by Wikipedia administrators, that the reason for their participants to be a part in such free work is the desire to create a benefit thing that helps others and meets their requirements (Wikipedia 2010). While the basic motivations for corporation in learners open source community are learning specific topics, learning how to be future learners and projects creating.
Software is characterized by many factors:
Its cost, where the lower price is more preferred and thus free is the most.
Voluntary work, where volunteers are motivated towards the project and they are interested in, which means that they do their best.
Continuously tested by all participant and users, hence it is almost free of bugs and errors.
These factors refer that open source software is likely to be the best solution for any project if needed features are provided. Besides, developers have created it according to own needs which means that it is in a high level of quality and efficiency.
F/OSS has many advantages related to development cost and time, bug correction and independency. Time and cost are essential factors in software development and they can be exploited by using of OSS which reduces the number of programmers employer has to pay himself, provides a ready tested code from other projects and thus reduces the time it takes to build, test and develop.Besides that creating software by many developers, each has revised and corrected its errors and each has a different background, leads to less bugs and faster detection and correction. Linus’ law refers to this idea ‘Given enough eyeballs, all bugs are shallow’ (Answers.com, 2009).
Openness of source code provides communication paths and interactive communities. F/OSS community in schools consists of researchers, learners and teachers; each listens to others and respects their opinions. It is expected in this style of community to switch roles among its members, where students may be assigned particular roles to take on for the studied project. So they can share their ideas in all project’s aspects. On the other hand, sense of control is uncommon in most classrooms, so one of learner’s community’s advantages is to prepare students for future life by involving them in the experiment of leadership (H. Baytiyeh, J. Pfaffman, 2010).
Another advantage for open source software, which Zaleski stated in his article, that open source innovation was the reason for Linux operating system to move quickly from being an ambiguous operating system used by programmers and hackers to an essential operating system in business area (2001).
On the other hand, open source technology resolved the problem of knowledge transfer in developing countries. Direct import of software not only costs these countries high amounts of money, but also puts them in complex troubles where they do not know how to develop this software to meet the local needs (Alkhatib 2008).
Why do some organizations still buy commercial software instead of using free ones?
The voluntary of open source projects and the relative lake of financial support make them far from marketing and advertising. This means that many organizations have not been informed that free solutions relevant to their needs are available freely. This “knowledge gap” cause many other barriers. Some managers do not know how to implement and use open source applications and they may be unaware of the range of services provided with such applications like support services and consultations.
To cover this knowledge gap, an “up to date” archive of open source applications is available in SourceForge.net website. This website consists of more than 131,000 open source applications with their latest software updates where the accessibility is allowed for any organization to find suitable free software according to its requirements. Further, assistance with the technical issues of open source applications implementation is available by many open source consultants like IBM, Red Hat, and Open Sky Consulting.
Forking is another reason for not using F/OSS. The independency between open source software developers groups leads to different versions of same software. Although these versions started with the same source code, they are not able to interoperate because these groups create their own versions without coordination. This phenomenon is called “forking” and it is the responsible for open source software fragmenting. As a result, the open source BSD-Unix community was divided into three portions in early 1990s, and Emacs text editor and NCSA web server are other examples where both forked into two divisions in 1992 and 2995 respectively.
In Nagy’s opinion, forking is dangerous because it causes inherited fragmentation for both of the original software adopters and marketing of relative applications. Many versions of one software leads adopters to choose one to support, consequently, software will not gain the critical mass of adopters it aims to do. On the other hand, venders will be put in a point of choosing to support one of forked versions or all of them in their own applications. In this case, some adopters and vendors decide to wait for a standard version or to stall their adoption and supporting (NAGY et al. 2010).
No one can predict the future of software, but developers can expect that open source software will be stronger and gain increased faith from traditional software industry.
Historically, one can recognize the discontinuities appeared between IBM System in the 1960s, first PC in the end of 1970s and the open source movement in the 1990s. So it is expected that this technology gap will take place in the next 10-15 years for a new software innovation (Campbell-Kelly 2008)
IT has brought many significant solutions for environmental sustainability, but at the same time, it caused a lot of problems especially in data centers where energy is consumed enormously (Murugesan 2010)
Hopper, a professor of computer technology at the University of Cambridge and head of its Computer Laboratory, claimed that “the system we now employ is hugely wasteful” and he proposed to create new systems which are more efficient, less expensive and help in reducing energy consumptions; because he believed that moving data is cheaper than energy (Kurp 2008)
Computers impact environment from the first stage of producing to the last stage of disposal. Moreover, increased consumption of energy leads to more greenhouse gas emissions because the main source of energy is coil, oil or gas burning (Murugesan 2010)
Since environmental problems come from each stage of computer’s life, green IT must covers all of these areas, from designing to manufacturing and use end with disposal.
In the article Harnessing Green IT: Principles and Practices, San Murugesan defines green computing as “the study and practice of designing, manufacturing, using, and disposing of computers, servers, and associated subsystems -such as monitors, printers, storage devices, and networking and communications systems- efficiently and effectively with minimal or no impact on the environment.” (Murugesan 2008)
Dell and Hewlett-Packard are two computer manufacturers. They decided to solve the problem by retooling their products. On the other hand, the solution from the standpoint of David Wang, the data center architect for Teradata, is not to replace all old computers by others which are more environments friendly. He confirmed that attention must be drawn to increasing power consumption as well as to heat removal in data centers (Kurp 2008).
Murugesan has illustrated areas and activities which are involved in green IT solutions as the following:
– Environmental friendly designing;
– Energy-efficient computing;
– Power management;
– Location and architecture of data centers;
– Server virtualization which has been explained before;
– Responsible disposal and recycling;
– Regulatory compliance;
– Green metrics, assessment tools and methodology;
– Environment-related risk reducing;
– Use of renewable energy sources; and
– Eco-labeling of IT products (2008).
Other solutions have been produced by Hasbrouck and Woodruff. They suggested two strategies for green computing:
Reduce computing technology’s contribution to the problem by producing energy-efficient computers, take reusability into account during computers’ designing, use less materials and work toward computers’ and related systems’ recycling. Moreover, they indicated that truing off inactive computers, using energy-efficient devices and reduction of emissions emitted from computers’ manufacturing are significant parts of this strategy.
Give computing a role in resolving the issue by creating green applications which enable design green objects and green processes such as design green buildings, invent source of renewable energy and design fuel-efficient aircraft (2008).
Most efforts in green IT are directed towards the first strategy to solve environmental problems which have increased along with computers’ using increase.
As a result of these problems caused by computers, many associations are turning to green computing to save money and reduce waste. To do so, Dick Sullivan listed five major trends:
Virtualization in all forms especially for servers, storage and network environments. In other words, transform entire machines into software-based entities. For instance, a room with five servers can be replaced by an efficient server provided with high performance software.
Utilize the cloud computing where no need to have own data centers, own big servers or storage systems. Many organizations need only a small amount of proprietary equipment and functionality. In this case, they can basically purchase what they need from someone else who will be responsible for the security, power and maintenance.
Sullivan confirmed that “a huge amount of data is basically an exact duplicate of other data”, so converting to intelligent compression or single instance storage can eliminate this waste and cut the total data storage needed.
Solid-state disk (SSD) has no moving parts and is not magnetic, so it is a stronger, safer and faster way to store and access data.
Everyone can make impact and be a part of green computing project when s/he has more awareness of her/his direct and indirect daily computing habits. Employees, for example, can support green computing if they use to turn off computers not in use, banning screen savers and shorten the turn-off times when computers are inactive. On the other hand, printing waste a lot of papers, so managing this daily process by printing only as needed and adopting double sided printing will make a significant impact (Clarke 2009)
Many efforts have been made to support the idea of green IT. Climate Savers Computing Initiative (CSCI) is one of these efforts. It seeks to reduce electric power consumption of PCs and it has established a catalogue of green products from organizations involved with, in addition to helpful information about reducing PC energy consumption.
This initiative is a group of consumers, businesses and conservation organizations formed in 2007, it has gained brilliant results where 50 percent of energy consumed by computers was economized by 2010, and it was able to reduce global CO2 emissions from the operation of computers by 54 million tons a year (Wikipedia 2010).
To enforce computer users to subject to green IT solutions and apply them on their daily routines, government can face them with more green taxis and rules.
But it is better, in my opinion, to raise people awareness toward the danger that threatens the Earth if they continue using traditional computers in traditional methods, and to teach them the benefits of green IT.
Applying green IT issues in all affected areas offers individuals and organizations financial benefits where IT operations achieve better energy efficiency through green initiatives. In a survey made by Sun Microsystem Australia, 1500 responses have been collected from 758 different-size organizations. Almost of these responses illustrated that the main reasons for using green IT practices are reducing energy consumption and get lower costs.
As a result, most companies started to prioritize environmental issues. Moreover, institutions and corporate ask their suppliers to take into account how to “green up” their products and manufacturing processes. Not only companies but also people began to adhere to environmentally friendly issues of IT (Murugesan 2008).
Green IT approach:
As it has mentioned above that environmental problems caused by computing should be addressed by a holistic approach which include solutions for all areas affected by using computers.
This approach, as it has been explained by Murugesan, consists of four concepts:
Green use that aims to reduce energy consumption and use computers in an environmentally friendly manner.
Green disposal where computers, related system like printers and electronic equipments should be reused, refurbished or recycled.
Green design where new computers, servers and cooling devices can be designed to be more energy efficient.
Green manufacturing which aims to adopt the process of computers and sub-systems creating that minimize or get rid of its impact on the environment (2008)
2003. Richard Stallman: Freedom–His Passion Both For Work And In Life. Electronic Design, 51(23), 112.
Answers.com, what are the advantages and disadvantages of open source software and why?, [Internet]. Available from: http://wiki.answers.com/Q/What_are_the_advantages_and_ disadvantages_of _open _source_software_and_why, [Accessed 30th November 2010]
Campbell-Kelly, M., 2008. Historical Reflecions Will the Future of Software be Open SourceCommunications of the ACM, 51(10), 21-23.
Clarke, K., 2009. Green computing trends you should know. Associations Now, 5(8), 19.
Hasbrouck, J. & Woodruff, A., 2008. Green Homeowners as Lead Adopters: Sustainable Living and Green Computing. Intel Technology Journal, 12(1), 39-48.
Kurp, P., 2008. Green Computing. Communications of the ACM, 51(10), 11-13.
Michael Bloch, Open source software in your online business -advantages/ disadvantages, 1999-2010
Moon, J.Y. & Sproull, L., 2002. Essence of distributed work: The case of the Linux kernel. In P. Hinds & S. Kiesler, eds. Distributed work. Cambridge, MA US: MIT Press, pp. 381-404.
Murugesan. S., 2008, “Harnessing Green IT: Principles and Practices,” IEEE IT Professional, January–February 2008, pp 24-33.
Murugesan, S., 2010. Making IT Green. IEEE Computer Society, Vol. 12, No. 2.
NAGY, D., YASSIN, A.M. & BHATTACHERJEE, A., 2010. Organizational Adoption of Open Source Software: Barriers and Remedies. Communications of the ACM, 53(3), 148-151.
Raymond, E., 1999. The Cathedral and the Bazaar. Knowledge, Technology & Policy, 12(3), 23.
Reilly, M., 2008. Interview: Richard Stallman, one of the founders of “free software”.
Vidyasagar Potdar and Elizabeth Chang (2004) Open source and closed source software development methodologies. Proc.of the 4th Workshop on Open Source Software Engineering, pages 105-109, Edinburgh, Scotland, May 25 2004.
Wikipedia the free encyclopedia (2001) Open source [Internet]. Available from: http://en.wikipedia.org/wiki/Open_source, [Accessed 4th November 2010]
Zaleski, J. et al., 2001. JUST FOR FUN (Book Review). Publishers Weekly, 248(17), 60.