RE: Open Source Technology
Open Source Technology.docx (Size: 122.38 KB / Downloads: 122)
Software development is undergoing a major change from being a fully closed software development process towards a more community driven open source software development process. The word Open Source itself signifies “Source Open to all”. It basically describes practices in production and development that promote access to the end product's source materials. Subsequently, the new phrase "open-source software" was born to describe the environment that the new copyright, licensing, domain, and consumer issues created.
Open source software generally allows anyone to create modifications of the software, port it to new operating systems and processor architectures, share it with others or market it.TheDebian Free Software guidelines are used to determine whether the software is Open Source or not. Several open source software licenses have qualified within the boundaries of the Open Source Definition. The most prominent and popular being the GNU General Public License (GPL). While open source distribution presents a way to make the source code of a product publicly accessible, the open source licenses allow the authors to fine tune such access.
Open source is a good way for business to achieve greater penetration of the market. It has also helped build developer loyalty as developers feel empowered and have a sense of ownership of the end product.Tech Giants like Google have completely adopted the open
source development approach giving Open Source Software a completely new horizon.
In terms of security, open source may allow hackers to know about the weaknesses or loopholes of the software more easily than closed-source software. It is also difficult to design a commercially sound business model around the open source paradigm.
In this paper we will discuss the various aspects along with pros and cons of the Open Source Software Development model with relation to Open Source Operating Systems.
The term “open source” frequently refers to softwaredevelopment process that relies on the contributions ofgeographically dispersed developers via the Internet.A primary strength of open source software is its leverage of outside innovation.It has been saidthat open source software continues to receive immenseattention worldwide because of the success of products suchas Linux and Apache, the uneasiness about the Microsoftmonopoly in the software industry and the increasingly strong opinion that “classical” approaches to softwaredevelopment are failing to provide a satisfactory answer tothe increasing demand for effective and reliable softwareapplication.
The Open Source movement has touched almost every sphere of software technology that we know today. It is becoming a key driver of the software industry, with key industry players continuing to invest more heavily in open source projects.Open source projects provide unique opportunities for less experienced software engineers to gain experience solving real-world problems.
Growth of Open Source:
Open source software is having a major impact on the software industry and its production processes. Many software products today contain at least some open source software components. Some commercial products are completely open source software. In some markets, for example, web servers, open source software holds a dominant market share.
Open source software today has a strong presence in industry and government. Walli et al. observe: “Organizations are saving millions of dollars on IT by using open source software. In 2004, open source software saved large companies (with annual revenue of over $1 billion) an average of $3.3 million. Medium-sized companies (between $50 million and $1 billion in annual revenue) saved an average $1.1 million. Firms with revenues under $50 million saved an average $520,000.”
Commercially, the significance and growth of open source is measured in terms of revenue generated from it. Lawton and Notarfonzo state that packaged open source applications generated revenues of $1.8 billion in 2006. The software division of the Software & Information Industry Association estimates that total packaged software revenues were $235 billion in 2006. Thus, open source revenue, while still small compared to the overall market (~0.7%) is not trivial any longer.
However, open source software today is part of many proprietary (closed) source products, and measuring its growth solely by packaged software revenue is likely to underestimate its size and growth by a wide margin. To measure the growth of open source we need to look at the total growth of open source projects and their source code.
Several studies have been undertaken to measure the growth and evolution of individual open source software projects. Most of these studies are exemplary, focusing on a few selected projects only. The exception is Koch’s work, which uses a large sample (>4000 projects) to determine overall growth patterns in open source projects, concluding that polynomial growth patterns provide good models for these projects . Such work is mostly motivated by trying to understand how individual open source projects grow and evolve.
The work presented in this paper, in contrast, analyses the overall growth of open source, aggregating data from more than 5000 active and popular open source projects to determine the total growth of source code and number of projects. Assuming a positiv¬¬¬e correlation between work spent on open source, its total growth in terms of code and number of projects, and the revenue generated from it, understanding the overall growth of open source will give us a better indication of how significant a role open source will play in the future.
Understanding overall open source growth helps more easily answer questions about, for example, future product structures (how much code of an application is likely to be open source code?), labour economics (how much and which open source skills does a company need?), and revenue (what percentage of the software market’s revenue will come from open source?).
The work presented in this paper shows that the total amount of open source code and the total number of projects is growing exponentially. Assuming a base of 0.7% of the market’s revenue, exponential growth is a strong indicator that open source will be of significantly increasing commercial importance. The remainder of this paper discusses our study and validates the hypothesis of exponential growth of open source.
One of the limiting factors in the continued expansion of open source development is the lack of software engineers with experience in open source methodologies.
A common belief is that there is no appropriate support available for this class of software, while an alternative argument is that due to the active involvement of Internet users in online forums, there is in fact a large resource available that communicates and manages the management of support requests. The research model of this empirical investigation establishes and studies the relationship between open source software support requests and online public forums.
Pros and Cons:
Software experts and researchers on open source software have identified several advantages and disadvantages. The main advantage for business is that open source is a good way for business to achieve greater penetration of the market. Companies that offer open source software are able to establish an industry standard and, thus, gain competitive advantage. It has also helped build developer loyalty as developers feel empowered and have a sense of ownership of the end product. Moreover less costs of marketing and logistical services are needed for OSS. It also helps companies to keep abreast of all technology developments. It is a good tool to promote a company's image, including its commercial products. The OSS development approach has helped produce reliable, high quality software quickly and inexpensively. Besides, it offers the potential for a more flexible technology and quicker innovation. It is said to be more reliable since it typically has thousands of independent programmers testing and fixing bugs of the software. It is flexible because modular systems allow programmers to build custom interfaces, or add new abilities to it and it is innovative since open source programs are the product of collaboration among a large number of different programmers. The mix of divergent perspectives, corporate objectives, and personal goals speeds up innovation. Moreover free software can be developed in accord with purely technical requirements. It does not require thinking about commercial pressure that often degrades the quality of the software. Commercial pressures make traditional software developers pay more attention to customers' requirements than to security requirements, since such features are somewhat invisible to the customer.
It is sometimes said that the open source development process may not be well defined and the stages in the development process, such as system testing and documentation may be ignored. However this is only true for small (mostly single programmer) projects. Larger, successful projects do define and enforce at least some rules as they need them to make the teamwork possible. In the most complex projects these rules may be as strict as reviewing even minor change by two independent developers.
Not all OSS initiatives have been successful, for example, SourceXchange and Eazel. Software experts and researchers who are not convinced by open source’s ability to produce quality systems identify the unclear process, the late defect discovery and the lack of any empirical evidence as the most important problems (collected data concerning productivity and quality). It is also difficult to design a commercially sound business model around the open source paradigm. Consequently, only technical requirements may be satisfied and not the ones of the market. In terms of security, open source may allow hackers to know about the weaknesses or loopholes of the software more easily than closed-source software. It is depended of control mechanisms in order to create effective performance of autonomous agents who participate in virtual organizations.
Open Source vs. Closed Source:
The debate over open source vs. closed source (alternatively called proprietary software) is sometimes heated.
One source of conflict is related to economics: Making money through traditional methods, such as sale of the use of individual copies and patent royalty payment (generally called licensing), is more difficult and in many ways against the very concept of open source software.
Some closed-source advocates see open source software as damaging to the market of commercial software. This is one of the many reasons, as mentioned above, that the term free software was replaced with open source — because many company executives could not believe in a product that did not participate economically in a free-market or mixed-market economy.
The counter to this argument is the use of open source software to fuel the market for a separate product or service. For example:
Providing support and installation services; similar to IT Security groups, Linux Distributions, and Systems companies.
Using the software as a stepping stone to sell a higher-end product or service; e.g., OpenOffice.org vs. StarOffice.
Cost avoidance / cost sharing: many developers need a product, so it makes sense to share development costs (X Window System and the Apache web server)
Since open source software is open, defects and security flaws are more easily found. Closed-source advocates argue that this makes it easier for a malicious person to discover security flaws. Further, that there is no incentive for an open-source product to be patched. Open-source advocates argue that this makes it easier also for a patch to be found and that the closed-source argument is security through obscurity, which this form of security will eventually fail, often without anyone knowing of the failure. Further, that just because there is not an immediate financial incentive to patch a product, does not mean there is not any incentive to patch a product. Further, if the patch is that significant to the user, having the source code, the user can technically patch the problem themselves. These arguments are hard to prove. However, research indicates  that the open-source software - Linux - has a lower percentage of bugs than some commercial software