How to set up smartphones and PCs. Informational portal
  • home
  • Interesting
  • Open source. Using open source software to create successful commercial products

Open source. Using open source software to create successful commercial products

Many people buy various software or use their cracked pirated versions. Users can see the graphical interface of the program, but the code for that product is usually hidden. In this regard, it is almost impossible to change the software, which guarantees the author protection from those who want to copy the program code and appropriate it to themselves. But, in spite of this, there are more and more so-called "Open Source" programs in the modern world. Let's take a look at what open source software is and what are their positive and negative sides.

What can be considered open source?

Almost all software reaches the end user as ready-made software. These are quite efficient programs with a pleasant interface and easy to use. If the code of this product is open, then anyone can change it, offer their own options for correcting the errors found, or make some innovation. Thus, the quality of this product improves over time. Examples of open source operating systems are Linux, Unix, Ubuntu.

Everyone is familiar with Microsoft Office, an analogue of which, but already with open source, is Open office... Mozilla Firefox and Google Chrome browsers are also open source software. There are a lot of similar products, many use a large amount of software and do not suspect that any of this may be an Open Source program.

Features of Open Source

For software to be called a program, it is not enough just that its code is open to everyone. Such a program should be absolutely free... In addition, with further use and an attempt to change the code, the user also does not have to pay anything. Anyone has the right to freely redistribute this product, and, as mentioned above, change it. Such programs have no restrictions on the scope and terms of use. They can be used for business, research, education, use for their own purposes for an unlimited amount of time.

Open Source Software License

The license for such programs is also free. There are absolutely no restrictions on application, modification, distribution, use with other compatible software. Also, it is technologically neutral to all other existing programs.

Pros and cons of Open Source programs

Unlike classic licensed programs, they are developed by a group of free programmers, and that is why they are free.

The second important plus is that we can upgrade program data... A good programmer who understands the code can add new options to the program or improve the performance of existing functions. For example, the user MacOS cannot change its operating system, unlike Linux, which everyone can not only customize at their own discretion, but also add any individual functions. As a result, he will have a completely new product that is very convenient to use. If the resulting program is really good, then it can be patented and even sold (!)

Another indisputable advantage of the programs is their protection from viruses. Almost all viruses are written for applications Windows, and malware for the same Linux negligible amount. Thus, the likelihood of getting a virus using an open source operating system is very small.

Today, many organizations are switching to using open source software. This allows you to reduce costs and minimize the likelihood of system breaches.

But any medal, as you know, has two sides, let's tell about the cons of Open Source programs.

If you encounter any problems with the software, they usually contact technical support. Open source software does not have one. This problem arises due to the fact that the program has been modified by different programmers from all over the country or even the world. So you will have to look for a solution to the problem in the vastness of the network. Internet or figure it out yourself.

The second disadvantage arises again due to the fact that anyone can change the program code. Often times, the views of people may not coincide, and this causes conflicts in the modification of the product. This can lead to the collapse of a project that many people have been working on for a long time.

Also, malicious programs are often disguised as open source, and sometimes it is very difficult to distinguish them from real safe software.

Despite the fact that such programs have some drawbacks, more and more users are interested in them. More and more products are open source today. This means that such programs have a future and are worth paying attention to.


Most of the software used is distributed in compiled form. This suggests that the source code of such programs goes through a special compiler, which converts it into a language that a computer can understand. In turn, the software that uses open source, is the complete opposite.

Such code, as a rule, is distributed along with a compiled version of the program, which makes it possible to modify or improve it in every possible way to enable it to perform a wider range of tasks. The developers of such programs believe that over time, open source will allow the software product to become more useful and save it from a large number of errors.

There are several eligibility criteria for open source software:

  • free distribution of the software package, but at the same time it can be part of a commercial project;
  • compulsory source code attachment;
  • the ability for anyone to edit the source code;
  • the ability to distribute modified versions of programs;
  • There should be no requirement to exclude other software or interfere with its operation.

Consider one of the most striking examples of software that accompanies open source that has received worldwide distribution. In the early 90s of the last century, Finnish student Linus Torvalds developed a completely new operating system based on Unix, which is known today as Linux... The system was released under a license agreement GNU General Public License, which contained the definition of open source from a legal point of view. Quite a large number of programmers began to use and improve this operating system. Collecting improvements from programmers around the world into a single whole, in 1994 Linus Torvalds released Linux version 1.0. Prior to this, version numbering was carried out starting at zero.

Over time, there was some general consumer concern regarding the lack of warranty, as well as technical support for such software. So Red Hat Software creates the Official Red Hat Linux software package that they manage to sell. The most significant feature of such a marketed operating system is availability of warranty and technical support, what is not less important.

Several other companies have also been developing new versions of Linux for sale, with these packages being additionally equipped with various software, including: Mozilla Internet browser built on the Netscape core, Apache web server, Perl web scripting language, PNG image file format, and many others. In addition, there are versions of the listed software packages developed for the Windows and Android operating systems. This suggests that open source software is available not only for computers, but also for mobile devices.

Summing up, it's worth saying that the programs that come with their open source code have a number of disadvantages. First of all it is variety of versions, as a result of which the revision of one program may cause the creation of a new independent software package. The second thing to emphasize is use of outdated programs by users, in which some errors may not be eliminated, it is not possible to work with new file formats, and so on. Microsoft Word and Open Office are examples of this. If some complex formula is written in the first packet, then the second one simply cannot read it.

Also among open source software there are no so-called special packages, intended for accounting and reporting. Another drawback is directly related to the hardware, the fact is that when switching from Windows to Linux, it is necessary to take into account that Linux drivers do not exist for all models of computer devices, which will cause the system to malfunction.

However, let's not forget about the positive aspects of such software, because open source has many advantages... First, all open source software is distributed is free... Secondly, such programs appear sometimes much faster commercial due to the fact that several thousand people are involved in the development at once and not every company can afford to pay for the work of several thousand programmers. The last thing to note concerns the ability to quickly eliminate errors, thanks to which open source programs work more stable than commercial ones.

Mark Roberts
Director of Product Management (Director, Product Management)
by QNX Software Systems
e-mail: [email protected]

annotation

This article focuses on the benefits, strategic considerations, obstacles, and opportunities associated with using open source software in commercial products. Using the Eclipse-based Integrated Development Environment (IDE) as an example, we will discuss the differences between protective and nonprotective software source code licenses. When integrating or linking open source with "proprietary" closed source, proper care and caution are often required. Various legal issues should also be borne in mind, such as the potential for patent infringement. We will also try to explain why the basic principles of using open source software in the information technology (IT) environment do not apply to commercial products for embedded devices.

The QNX Momentics IDE as a Case Study for Using Open Source Software

Back in 2001, when many software firms were struggling to cope with the general collapse of the IT stock market, especially those related to e-business on the Internet, QNX Software Systems made the strategic decision to start developing a new integrated development environment (IDE) for the market. embedded systems. The company already had a solid track record of developing a series of tools used in the development of embedded devices, but the company realized that creating an IDE would help to stay on the crest of the wave in the face of fierce competition. The decision to create an IDE was also driven by a shift in focus in customer requirements. During the downturn, budget-constrained customers became more interested in solutions that could maximize productivity and make them more mobile (flexible) in their work, which would improve overall economic efficiency.

For QNX, developing an IDE was "a bet for the future" as the cost and effort of developing a project was out of the reach of most embedded system tool vendors at the time. Fortunately, QNX has worked closely with IBM across various segments of the embedded device market. Through close collaboration, IBM has shared with QNX its plans to release an open source IDE that would later become the foundation for the Eclipse platform.

IBM offered to leverage QNX expertise to adapt IDE technology to the needs of developers building C / C ++ embedded applications. Almost immediately, QNX pointed out the compelling benefits of using an open source IDE. For example, for such an environment it would be possible:

  • eliminate dependence on a single vendor, which is usually associated with the need to license the window platform;
  • offer the source code for customization to the needs of the customer;
  • engage major industry players to support and build an ecosystem of complementary technologies and plug-ins;
  • provide customers with a stable architecture that can support product differentiation;
  • to enable embedded device developers to use standard workstations as a development platform suitable for working with information technology applications (in the widest range of applications).

Finally, the separate possibility was considered that the IDE could gain popularity and become the de facto standard, which would allow QNX to use such a platform to capture the marketplace of large ecosystems of third-party developers and tools.

Founding the open source project Eclipse.org

The Eclipse Consortium was founded by Borland, IBM, Merant, QNX Software Systems, Red Hat, and SUSE in November 2001. In early 2004, the Board of Stewards reorganized the Eclipse Consortium into a non-profit corporation called the Eclipse Foundation.

From the beginning, Eclipse has been a truly open source project. The project offered both free open source technologies and access to a community of the most educated and advanced developers in their field. Thus, this technology turned out to be a universal platform for integrating all types of development tools. It is based on an open, extensible architecture and is clearly licensed as a royalty-free free redistributable product. Community contributions to the Eclipse project are based on the Open Source Software (OSS) standard development model, but most members also offer commercial development based on the Eclipse platform.

Tool repository creation project

In December 2001, QNX began building its QNX® Neutrino® RTOS, based on the Eclipse IDE. In the company's view, the IDE should have great functionality, focus on working with C / C ++ languages, have deeply integrated tools for debugging, profiling, analysis, and building embedded applications. From the outset, the QNX team intended it to be a multipurpose and multilingual IDE that supports multiple tooling platforms. This included:

  • several tool platforms: Windows, Solaris, QNX Neutrino RTOS (self-hosted development);
  • several target architectures: ARM, MIPS, PowerPC, SH-4, x86;
  • programming languages ​​C, C ++, Java.

Since then, the IDE has continued to grow to include support for the Linux platform and support for additional processor architectures, including XScale processors.

The project was launched in the "extreme programming" style. A team of 12 best engineers was selected in the company. They were given a special room, isolated from all distractions, and placed at their complete disposal.

The group was given the necessary authority in the field of decision-making, a tough work schedule was drawn up for them, on the verge of risk, with the release of the beta version of the product in 16 weeks, and the commercial version by July 4, 2002. The group met all the set deadlines and released a new product - dubbed the QNX Momentics® IDE - exactly on schedule, a testament to the potential in open source software to reduce time-to-market.

From idea to product delivery - less than 7 months

Building on the Eclipse platform, the QNX team completed a very powerful and versatile IDE for embedded software development in six months. The IDE supported cross-platform development across multiple tool platforms and multiple programming languages, and supported the most popular embedded target processor boards. With the Eclipse platform, QNX was able to:

  • use GNU compilers and command line tools for cross-development;
  • support third-party plug-ins such as IBM WebSphere for embedded Java and Rational ClearCase for model-driven development;
  • create additional tools for building systems, managing target devices, analyzing memory, profiling systems and applications, etc.

In fig. Figure 1 provides an example of how the Eclipse platform reduces the cost of creating an IDE, allowing companies to focus on the upper tiers of development, where real innovation is actually created. For example, using the Eclipse platform, QNX was able to easily create several innovative visualization tools that allow you to penetrate deeply into the embedded system and display its behavior.

Contributing back to the community

The strength of a successful open source project lies in the collaboration of the developer community and in the continuous improvement of the codebase. If a company adopts and makes use of open source, then it simply has a responsibility to contribute to the community. To this end, QNX took over the Eclipse CDT project in June 2002.

The goal of the Eclipse CDT (C / C ++ Development Tools) project is to create a common set of interoperable C / C ++ development tools for the Eclipse platform. The Eclipse CDT has been marketed as an open source project, with management rights from the Eclipse Corporation. To launch the CDT project, QNX donated its development resources and source code to the QNX Momentics IDE project. Rational and Red Hat as community members also provided significant support to the project.

Rice. 1. Using the Eclipse platform, tool vendors can focus on the top level of the work stack, where real innovation is actually created.

QNX continues to maintain the CDT project, which has grown from an initially modest 80,000 lines of code to over 700,000 lines of code today. In early 2006, the Eclipse CDT Progress Log was an estimated 52% of QNX's contribution. Next came IBM with a 36% contribution. The CDT project is the second most popular Eclipse project after the Eclipse platform itself.

Can I afford to "gift" the code?

It may seem that "donating" your code means doing something contrary to common sense. However, if the functionality of your product turns out to be useful to apply, then why not contribute as a contribution to the open source community. By taking this step, you can benefit from this “standard” implementation offering along with the expertise to support the product. You will be able to benefit from the work of the entire community to improve the codebase. Such a strategy can free up your own resources to conduct additional research, focused on innovation, on adding additional functionality to your products.

Moreover, you could gain some control over the direction of the "standard" platform - earned, of course, thanks to your contributions to the community! If you support a project, behave like a good citizen of the community, respect other people's opinions, appreciate the input and advice of other members. Do not think that someone will try to "clean your pockets" as a result of using the code and intercept your leadership over the direction of the platform development.

For example, QNX Software Systems' strategy is to capitalize on the benefits of being a part of Eclipse while developing new functionality that plugs in through the standardized extensibility points already available in the Eclipse and CDT platforms. To this end, QNX intends to remain an active member of the Eclipse community, capitalizing on existing codebases and third-party developments (plug-ins), helping meet real-world customer needs by creating proprietary extensions. The described strategy is illustrated in Fig. 2.

Rice. 2. You can contribute to the work of the community with your own experience.

Benefits summary

The Eclipse-based tooling platform is mutually beneficial for both application developers such as QNX and customers who purchase the platform tools.

Developers benefit from less time to market and the ability to benefit from other people's research (at a low cost). These results may include high quality "clean IP" code provided by reputable vendors such as IBM and QNX. Another advantage for the developer is that he gets a simple and clear licensing scheme, including commercial rights and some patent protection. Moreover, the developer gets the ability to work on multiple OS platforms supported by Eclipse, as well as the extensibility points well-defined in the Eclipse project.

Customers buying an Eclipse-based IDE benefit from a tooling platform dedicated to embedded development, powerful cross-compilation support, easy debugging, and extensions to manage target systems. The client's development team will appreciate the many features that make work easier, the little time required for additional training, the good performance of the product, and a reliable platform to handle large projects. The client can also usefully leverage the Eclipse framework in their own applications (eg RCP, eRCP, etc.).

The future of Eclipse Corporation

The Eclipse Corporation is an active and energetic community. It continually introduces new projects, provides new architectures to established innovative companies, and even small companies can commercialize the Eclipse platform by creating new plug-ins at minimal cost that extend existing functionality (see Figure 3).

Rice. 3. Eclipse Corporation is a vibrant and rapidly growing community of plug-in developers.

Comparison of open source licenses

Not all open source licenses are created equal. QNX has taken a well thought-out move with the Eclipse Public License. This choice was dictated in part by the needs of its embedded customers and in part by a desire to take control of (and benefit from) technologies that differentiate products.

The nonprofit Open Source Initiative () has come up with a helpful 10-point definition of open source. There are currently over 50 OSI approved licenses listed on the website, including the Eclipse Public License. These licenses may contain significant differences that need to be clearly understood. These differences can have a significant impact on the intellectual property (IP) of developers and their ability to protect it. This is especially true when using open source code (or derivative work based on open source code) in embedded devices.

Protective and non-protective license

Under the terms of a defensive license such as GPL v2, derivative work can only be redistributed with associated source code. Under the terms of the defensive license, it is guaranteed that when the source code is released to the open category, it will remain in that category in all subsequent generations and derivative works. As we will explain later, this requirement leads to certain problems in the case of embedded systems.

Examples of non-secure licenses are the original MIT and BSD licenses. Non-protective licenses retain the copyright of the owner, but grant broad rights to the user, including the right to modify and unrestricted free distribution (or personal use) of the software.

What is meant by a "virus license"

Some people call the GPL a "viral license". This name arose due to the ambiguity of the legal definition of the concept of "derivative development". With a strict interpretation of the definition, it turns out that even a small piece of code covered by the GPL is embedded in some proprietary application, then the entire application must be licensed under the GPL. An analogy with a virus immediately comes to mind.

Questions about receiving compensation

Recently, IP Indemnification has become the main topic of discussion for developers. In response, some open source vendors announced that they would protect customers from patent or copyright infringement lawsuits. And the newest open source licenses clarify penalties for users who try to assert their patent rights against other users of the codebase.

Top Challenges for Commercializing Open Source Software

Comparison of embedded and IT applications

The success of the open source industry has been fueled by the adoption of Linux by IT organizations. The benefits of using Linux were associated with running on relatively uniform and stable hardware (usually the x86 family) and using a flexible, resource-rich computing platform.

This is not the case with embedded software. The software runs on a wide variety of fixed-feature devices across a wide range of hardware architectures. Embedded device designers often base their competitive advantage on specific feature set, size, performance, cost, battery life, reliability, interoperability, and expandability. These distinctive features are usually implemented in low-level software, which in the case of Linux requires linking directly to the OS kernel. Customizing low-level software to meet customer needs is the norm, not the exception, so developers often get the functionality they need by changing the OS kernel. The method of direct linking is also used by embedding in code fragments in order to reduce the cost of creating libraries. This practice, taken together, makes it very difficult to protect proprietary code under GPL (publicly available) licenses.

Typically, these licensing issues do not apply to IT applications because proprietary, enterprise-specific software does not extend beyond the enterprise and is used solely for internal needs. On the other hand, embedded devices always distribute derivative software that qualifies for “force open” open source licenses, which could jeopardize key aspects of valuable open source offerings.

In addition, embedded products often have long lifetimes, both during production and use. An embedded product that is subject to the Open Source Terms of Use is at greater risk, including lack of long-term technical support, potential security issues, and IP infringement.

Licensing issues

Uncertainty of legal status

Despite the comforting words of proponents of some open source licenses, many of the key issues of concern to embedded systems developers have not yet been extensively verified by forensic practice. As mentioned, the definition of derivative work is key in enforcing certain clauses of the license, although many individuals and organizations who accept the open source terms of use have little or no understanding of the concept.

Some workarounds that allow commercial vendors to implement "proprietary" drivers in Linux (eg Loadable Kernel Modules) rely on "he said, she said" arguments rather than direct links to the text of the license agreement. In fact, such drivers that use LKM modules are fraught with dangerous circumvention of the requirements of the GPL license. Going to an extreme, one can interpret it to mean that the Linux codebase can be presented as useless for most practical uses, if some of these "proprietary" drivers are not included in it. This situation can effectively devalue the idea of ​​a GPL license.

Lack of compensation for IP infringement

In most open source use cases, there is a real possibility that you are inadvertently infringing on someone else's patent rights. Only a small fraction of open source licenses explicitly refer to patents, and no determination can be made on implied licenses. You must separately license any patents related to, for example, open source codecs that implement MP3 algorithms or other proprietary solutions. In the meantime, the bad boys (including Microsoft) are preoccupied with building a portfolio of patents that, according to many experts, can be "shot" at supporters of open source.

Some licenses explicitly refer to patents. For example, the Eclipse Public License explicitly mentions patent rights and contains a penalty clause if someone tries to assert patent rights differently. Eclipse also goes to great lengths to review the code and find out where it came from in terms of licensing, patent, or copyright law.

Additional Efforts to Preserve IP

To use open source, a company must spend considerable effort in the following areas:

  • product distribution management;
  • license management;
  • resolution of legal conflicts in terms of clients' obligations;
  • paying due attention to legal issues: maintaining the purity of IP rights, verifying IP rights for open source, establishing the source of the code, tracking changes in license versions, for example, GPL v3, etc.

Accepting customer requirements

Some large clients, faced with the complexity and uncertainty of open source software, refused to deal with open source products. If you do want to work with such customers, you must obtain or offer them to include terms for your code corresponding to the commercial license.

IP issues

Do the terms of your open source license affect the intellectual property that distinguishes your product? If so, your IP is at risk.

If your embedded systems use a mixture of your own software and open source software, then you must understand the nature, origin and relationship of all the components of the embedded software. Without such deep insight, you could inadvertently infringe someone's IP rights or even lose your rights to your own software.

Without patent licenses and compensation, the long-lived embedded software, the comparatively high selling price and volume of fixed-feature embedded devices make such systems an obvious target for patent infringement claims from the bad boys and major competitors.

As the QNX Momentics IDE case study illustrates, there are many immediate benefits to open source software, including faster time to market, lower development costs, and more freedom to add features and innovation to your product. If you offer your software as a service that solves some problem for a client, then the client does not care whether you used open source software or not, he just pays for the function he needs.

However, you should understand the difference between different open source licenses and choose the one that suits your application and customer needs. Moreover, be prepared to answer for the licensing obligations of the software you have chosen. You should be aware of other IP requirements (such as patent rights) related to the software code. Be wary of a codebase that does not display an IP infringement message. Look for projects that offer compensation for possible damages and display an on-screen message about cash donations for developing code to compensate for costs associated with copyright or patent infringement, and so on. Also, make sure that the open source software you are using is consistent with your intellectual property policy and avoid defensive licenses that could force you to reveal distinctive pieces of your code. If your product is embedded in the system, then also consider offering commercial licensing terms for your IP.

The use of open source code in embedded devices leads to more complex problems than in the case of using such software in IT applications, since the first option is fraught with more dangers. Before deciding to use any open source software, estimate its true cost of ownership (TTCO) and its suitability for your project.

Finally, join the open source community of users and developers to maximize your value and benefit!

All software on the LiveCD and DVD is free and open source software (free and open source software), with some exceptions (Flash, Opera, Acrobat Reader and others) located in the non-oss repository. When we talk about free software, We mean freedom, not price.

What is free software

The Free Software movement was started by Richard M. Stallman, who founded the GNU Project (recursive acronym: GNU "s Not Unix) in 1984. A year later he founded the Free Software Foundation, also known as FSF. ...

Free software can be categorized into 4 main "degrees of freedom":

  • freedom use of programs in any way. (freedom 0)
  • freedom learning how to work program, as well as adapting it to your needs. (freedom 1) This requires access to the source code.
  • freedom distributing copies programs. You can share with your neighbor. (freedom 2)
  • freedom improve the program and publish the improvements you make, for the benefit of the entire community (freedom 3). This requires access to the source code.

Nonfree software is called proprietary. It is important not to confuse shareware and freeware with free software, they are two different things.

What is Open Source Software

The open source free software movement began in the early 1990s by people who emphasized the technical and economic benefits of using open source and the open model of free software development. However, there is a small amount of software code that is recognized as free by the open source society, which is why the term FOSS (free and free open source software) is often used. For, strictly speaking, Free Software and Open Source Software are not at all the same as one might think. For example, a software product license agreement may authorize research into its source code, while prohibiting modification and / or distribution of copies of it. In this case, the product is open source (Open Source), but not free (Free).

Benefits of Using Free Software

Free software is beneficial to use for a variety of reasons, the main ones being listed below.

Error correction

If the software product is free software, this gives you the right to correct the errors found in it, as well as modify it to suit your needs. If the program is proprietary, then you cannot independently correct the errors found in it or expand the functionality. In this case, you will be forced to contact the owner of the software product with a request to make the necessary corrections and add the features you need. However, there is no guarantee that the owner will do this.

Sharing

Free software gives you the right to distribute copies of it, thus helping your friends use free software without obtaining a license.

Know and control what the program does and how

In the vast majority of cases, you cannot know what exactly the proprietary program is doing. Thus, you cannot be sure that the program does only what you ask of it, because it can do some actions without your knowledge (for example, send information about you as a user to its creators, or have undocumented capabilities of various character). Of course, in the case of using free software, you are completely insured against such troubles. After all, you have the source code of the program at your disposal, which allows you to know exactly what the program does and how. If one or another of its capabilities and / or features of its work do not suit you, you can make the changes you need to the code.

Technical benefits

The open source code of a free software product is available to a large number of people, which gives them the opportunity to fix errors found in it; this contributes to the development and improvement of the product. This system of "peer review" can be compared to the scientific way of research. In contrast, the proprietary product's proprietary code is kept secret and is almost never seen by anyone outside the company.

Economic benefits

Free software provides companies with the ability to share the cost of the software they develop. For example, Novell and RedHat compete to develop the same software, but thereby help each other. IBM and HP are also competitors, but they also contributed heavily to the development of the Linux kernel, thus sharing development costs. Free software allows you to have a competitive market for technical support, and therefore its quality is usually very high. With proprietary software, the situation is exactly the opposite: only the developer company has access to the source code and is able to offer the appropriate technical support, and this shows a certain degree of monopoly. In addition, the question of the cost of purchasing a software product must be attributed to the economic benefits. In the event that it is free, you can download a copy of it from the Internet (or purchase it on hard media) once, install it on any number of computers and use it for an unlimited time. If the product is proprietary, then by the terms of the license agreement the use of the product can be very strongly limited (for example, with the limitation of the number of installations and / or the time of use).

I am not a programmer. Why should I care about the above?

Indeed, most of the above freedoms and opportunities can only be used by programmers who can read and write program code. However, you shouldn't think that free software is intended solely for programmers. If you, not being such, wish to modify the free software you are using in one way or another to extend its functionality, you can (alone, or by teaming up with other users) hire a programmer who can do it for you. This practice is very common. Also, you don't have to be a programmer yourself to distribute free software.

The efforts of computer equipment manufacturers to promote solutions backed up by strong marketing support are widely recognized open-source software(open source software). In modern official use in Russian, this phenomenon is usually called free software(SPO).

The essence of the concept consists in several principles for the creation and distribution of open source software:

  • availability of source codes for everyone;
  • distribution licensing policy based on one of the community-approved licenses (see opensource.org);
  • the ability to directly participate in the development and correction of software errors on their own;
  • the ability to change some software functions and adapt to new conditions (subject to the availability of changes to the entire community);
  • maximum compatibility with open standards;
  • the ability to work in various operating systems and on several platforms (cross-platform).

These principles are used to create the majority

SPO. It is worth noting that there is a noticeable difference between free and free ON. Despite the fact that most open source software licenses are free distribution, this property alone is not enough for the software to be considered free software.

Open source has already won a number of important victories over some of the strongest proprietary software vendors. Specifically the web server Apache is far ahead of similar products from other companies (including Microsoft) in terms of market share due to its low cost, vendor independence, many experienced users in its administration, and developer support. Linux bypassed all other types in terms of supply Unix for platform Intel, including the long-held leadership SCO. Open source DBMSs have a strong presence in the open source OS and popular low-end Internet marketplaces. The threat to proprietary software comes from the benefits of open source software similar to those of the Internet, i.e. openness, freedom of adaptation, etc.

Free software already has a strong presence in server operating systems, Internet infrastructure, web application servers, small business and departmental DBMSs based on web databases with dynamic web page generation, technical and embedded computing systems, and software. for server devices. Speaking about the infrastructure of the Internet, it should be noted that most devices run operating systems and other open source software. These devices include domain name servers, routers, switches, firewalls, gateways, load balancers, application and database servers, and more.

Given these advances, open source software jeopardizes firms whose main source of income is client access fees and proprietary software licensing fees. Open source brings the legacy and consumer commodity business model in the hardware marketplace to software — a model that is difficult for a traditional software vendor, especially a leader, to adapt to.

Many of the vendors using open source business models did not develop as vendors of traditional software from the outset. As their share of the open source software market grows and its position in strategic Internet markets is growing, traditional software vendors are identifying threats from open source and the opportunities presented by new business models. Naturally, legacy software vendors have the ability to adopt these business models in whole or in part, depending on their product portfolio. Even so, open source poses a tangible and very real threat to the usual business patterns of software companies.

There are four main open source threats to closed companies.

  • Price pressure. Since open source licenses, in fact, require free distribution of software and its modifications, prices for similar traditional products must be reduced in order not to yield to open source software and to fight the loss of market share. For example, SCO cannot take $ 2,000 for Unix for platform Intel, while Linux available for free, a Microsoft monopolizes the desktop sector. Traditional vendors can, however, partially recoup their losses by making their software products of higher quality than JV O and charging additional fees for this.
  • Good enough functionality.“Good enough” software (but not the best) can partially crowd out the products of traditional software vendors, who too often target the mass market. More complex (and expensive) functionality in the early stages of its development is always targeted at a relatively small group of professional users. But even manufacturers operating in this market still need to clearly understand that the market for highly developed software will expand and deepen. If the advanced functionality fails to appeal to a wider user base, customers will naturally buy open source alternatives, albeit less advanced ones. In very large mass markets, dominant open source software vendors, in addition to increasing their supply, have ample room for growth through complementary product and service strategies. The size of the mass market in itself ensures lower prices due to high volumes of deliveries, which allows end users to receive tangible profits even with a slight increase in the cost of their products.

In some cases, open source software can even bypass traditional products in functionality. For example, Apache became the first web server to offer a popular Internet function among providers IP-aliasing, allowing to host several Internet domain names on one system.

  • "Network Effects", due to knowledge and study of software and tools for mass use. The cost of training users of the new technology represents a significant portion of the total cost of ownership, more than the price of the software product itself. A company with a large user base familiar with the product and its accompanying tools can leverage this familiarity by releasing new versions or entering related markets. This kind of network effect can vary depending on the type of user - software developers use API, system administrators - specific administration tools, users work with graphical user interfaces, and managers establish relationships with suppliers. Once formed, this network of partners and users of open source solutions is no longer destroyed and allows you to solve marketing problems of a smaller order, such as gaining adherents and customer loyalty.
  • The pressure of standardization. The latest threat from the open source movement is its tools and culture, which sees its enemy as its enemy all manner of technological barriers erected by traditional software vendors.

Recently, the most rapidly developing direction in software is the so-called "commercialopen-source ", those. JV O supported by conventional commercial companies. The corporation should be considered one of the leaders in this area. Sun, which is developing several large projects in this sector: OpenSolaris OS, DBMS MySQL, office suite OpenOffice.org and virtualization environment Virtual Box. As a rule, there are several versions of such software, including a commercial one. When paying for a license, the user receives technical support, as well as, in some cases, special tools for convenient work that are not available under an open license. That is, with small needs, companies can use free or free versions of software, and with an increase in requests, they can buy commercial extensions without changing anything in their infrastructure and applications. Thus, the commercial version of open source software directly competes with the development of traditional companies, for example Microsoft, which is actively creating special licensing schemes for use in the Internet environment (we are talking about server software).

As a result, open source software on the Internet plays a system-forming role, supporting and developing the basic principles of building the Web. In addition, the use of open source software is relevant from the point of view of focusing on providing services instead of selling goods. Therefore, when creating Internet systems, it is worth focusing on open standards and software that implements them, since only this way will provide an opportunity for business development and new opportunities for electronic markets.

The use of open source software to support Internet technologies is natural and necessary from the point of view of the properties of scaling, globality and compatibility. For example, increasing the number of servers or other infrastructure devices does not require additional investment in software, which provides more flexibility than proprietary software. This becomes especially true when the cost of the software exceeds the hardware component of the project. The requirements of globality and interoperability are implemented thanks to good support for cross-platform open source software and the use of open standards, which allows maintaining a high level of interoperability even with many competing products and platforms on the market.

In the light of modern development of service applications based on web technologies, open source software in combination with inexpensive computers (nettops and netbooks) can significantly squeeze traditional desktop and mobile systems, which are based on the operating system. Windows and traditional office suites. Using lightweight specialized OS with a kernel-based GUI Linux and modern web browsers allows you to perform most everyday tasks on net platforms using only open source software.

Top related articles