Meet open source software. Difference between free and open source software It is open source but open source


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

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

There are several eligibility criteria for open source programs:

  • free distribution of the software package, but at the same time it can be part of a commercial project;
  • mandatory 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.

Let's look at one of the most striking examples of software that accompanies open source code and has gained 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 license agreement GNU General Public License, which provided a legal definition of open source. Quite a large number of programmers began to use and improve this operating system. Having collected 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 has been some general consumer concern regarding the lack of warranty, as well as technical support similar software. Therefore, Red Hat Software creates an official software package, Official Red Hat Linux, which they manage to sell. The most significant feature of such a sold operating system became availability of warranty and technical support, what is not less important.

Several other companies were also developing new versions of Linux for sale, and these packages were additionally equipped with various software, among which: the Mozilla Internet browser, created on the Netscape kernel, the Apache web server, the language for preparing web scripts Perl, the format graphic files PNG 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 programs are available not only for computers, but also for mobile devices.

To summarize, it is worth saying that the programs that come with their open source code have a number of disadvantages. First of all this variety of versions, as a result of which modification of one program may lead to the creation of a new independent software package. The second thing to emphasize is Users using outdated programs, in which some errors may not be eliminated, it is not possible to work with new file formats, and so on. An example of such a case is the program Microsoft Word and Open Office. If some complex formula is written in the first packet, then the second one simply will not be able to read it.

Also among open source software there are no so-called special packages designed for accounting and reporting. Another drawback is directly related to the hardware; the fact is that when switching from Windows to Linux, you must 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 a lot of benefits. First, all open source software is distributed for free. Secondly, such programs sometimes appear much faster commercial due to the fact that several thousand people are involved in the development at once and not every company is able to pay for the work of several thousand programmers. The last thing to note concerns ability to quickly resolve errors, making open source programs more stable than commercial ones.

Open source software (OSS) is computer software distributed with its source code available for modification. Typically the software includes a license for programmers to change the software in any way. They can fix bugs, improve features, or adapt the software to suit their needs. The Open Source Initiative (OSI) is the leading body in the field of OSS; their definition of open source software meets the rules according to 10 criteria.

These include:

  • Software distribution
  • Source code availability
  • License Distribution
  • License properties
  • Anti-discrimination

Licenses

Different licenses allow programmers to change the software under different conditions. OSI approves licenses that meet their definition of open source software. 5 of the most popular licenses according to the Black Duck knowledge base:

  1. MIT License
  2. GNU General Public License (GPL) 2.0
  3. Apache License 2.0
  4. GNU General Public License (GPL) 3.0
  5. BSD License 2.0 (3-clause, new or revised)

When you change source code, one of the requirements of OSS is to include what you changed as well as your methods. The software created after modifying the code may be freeware or freeware.

Difference between open source and commercial software

Commercially available software or proprietary software does not provide access to its source code because the software is someone else's intellectual property.

As a result, users often pay for it.

OSS, on the other hand, is a collaborative effort—the software is shared intellectual property among everyone who helped develop or modify it.

Open Source Software Vs. Free software

Contrary to popular belief, none of them focus on the cost or disadvantage of these programs.

Open Source entails the free availability of source code and distribution. Free software, in the same way, involves code modification, but emphasizes that users who like free software like to do what they like. The Free Software Foundation sets out 4 conditions for software to be considered completely free.

Additionally, the software can be classified as freeware. This means that users download the software for free, but cannot make any changes to its source code.

Benefits of Open Source Software

While cost is the driving force, OSS has several additional benefits:

  • High quality results when source code is shared, tested and fixed.
  • This is a valuable training opportunity for programmers. They can learn and apply skills to the most popular programs available today.
  • Many people consider open source software to be more secure than proprietary software because bugs are identified and fixed quickly.
  • Since open source software is in the public domain, there is little chance that it could become unavailable. This is important for long-term projects that rely on these tools for the duration of the project.
  • Most software is free. However, costs may arise later, such as subscriptions or support fees.

Popular Types of Open Source Software

Open source technologies helped create much of the Internet.

Additionally, many of the programs you and I use every day are based on open source technologies. For example, Android OS and Apple OS X are based on the kernel and Unix/BSD open source, respectively.

Other popular open source software:

  • Web browser Mozilla Firefox
  • Thunderbird email client
  • Language PHP scripts
  • Python programming language
  • Apache Web Server
  • > Open Source and developers

OSS projects are collaboration opportunities that improve skills and create connections in the field. Developers must be proficient in standard open source development tools.

Communication means

  • - email, real-time messaging, forums and wikis help developers find solutions or bounce ideas off each other. Distributed version control systems
  • - When multiple developers in different geographic locations change data and files, these systems manage different versions and updates. Bug tracking and task lists
  • - Allow large-scale projects to monitor problems and track their fixes. Testing and Debugging Tools
  • - Automation of testing during system integration and debugging of other programs. Conclusion

Thousands of open source projects provide an alternative to proprietary software. Working on an OSS project as a path to a career in software development. Additionally, programmers can hone their skills by working on some of the largest software products in the world. Facebook, Google and LinkedIn as Open Source so developers can share knowledge, implement solutions and contribute to stable, functional products.

The efforts of manufacturers, supported by powerful marketing support, have become widely known computer technology to promote solutions open-source software(open source software). In modern official usage in Russian, this phenomenon is usually called free software(SPO).

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

  • availability of source codes for everyone;
  • licensing policy distributed under one of the community approved licenses (see opensource.org);
  • the opportunity to directly participate in the development and correction of errors in the software on your 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;
  • 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 BY. Despite the fact that most open source software licenses provide for free distribution, this property alone is not enough for the software to be considered free.

Open source has already won a number of important victories over the strongest of proprietary software manufacturers. 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, independence from suppliers, the presence of many users with experience in its administration and support from developers. Linux surpassed all other types in terms of supply volumes Unix for platform Intel, including the long-held leadership SCO. Open source DBMSs occupy a strong position in the markets for open source operating systems and popular low-end Internet solutions. The threat to proprietary software comes from the benefits of open source software, which are 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, database management systems for small businesses and departments based on web databases with dynamic generation of web pages, technical and embedded computing systems, and software for server devices. Speaking of Internet infrastructure, 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, etc.

Given these advances, open source software poses a threat to firms whose primary source of revenue is client access fees and licensing fees for proprietary software. Open source brings the hardware market's obsolescence and commoditization business model 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 traditional software providers to begin with. As open source market share grows and its position in strategic online markets grows, legacy software providers are recognizing the threats posed by open source and the opportunities presented by new business models. Naturally, traditional software providers have the opportunity to adopt these business models in whole or in part, depending on their product range. But even so, open source poses a tangible and very real threat to the way software companies do business.

There are four main threats to closed companies from open source.

  • Price pressure. Since open source licenses essentially require free distribution of software and its modifications, prices for similar traditional products need to be reduced to keep up with open source software and combat the loss of market share. For example, SCO cannot charge $2,000 for Unix for platform Intel, while Linux available for free, a Microsoft monopolizes the desktop sector. Traditional vendors, however, can partially recoup their losses by making their software products better than SP O's and charging extra for it.
  • Quite good functionality."Good enough" software (but not the best) can partially displace products from traditional software vendors, which are too often aimed at the mass market. More complex (and expensive) functionality in its early stages of development is always aimed at a relatively small group of specialist 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 advanced functionality fails to attract a wider range of users, customers will naturally purchase open source alternatives, albeit less developed ones. In very large mass markets, dominant open source software providers, in addition to increasing their supply volumes, have a lot of opportunities for growth through the implementation of additional product and service strategies. The size of the mass market itself ensures lower prices due to high supply volumes, which allows end consumers to receive significant profits even with a slight increase in the cost of their products.

In some cases, open source software can even outperform traditional products in functionality. For example, Apache became the first of the web servers to introduce an Internet function popular among providers IP aliasing allowing you to host several Internet domain names on one system.

  • "Network Effects" conditioned by knowledge and study of software and tools for mass use. User training costs new technology constitute a significant portion of the total cost of ownership, exceeding 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 adjacent markets. This type of network effect can vary depending on the type of user - software developers use API, system administrators- certain 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 smaller marketing problems, such as gaining adherents and customer loyalty.
  • Standardization pressure. The final threat from the open source movement is its tools and culture, which views as its enemy all sorts of technological barriers erected by traditional software vendors.

IN Lately The most rapidly developing area in software is the so-called "commercialopen-source", those. JV O supported by ordinary commercial companies. The corporation should be considered one of the leaders in this direction 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 comfortable work, not available under an open license. That is, for small needs, companies can use free or free versions Software, and as requests increase, buy commercial extensions without changing anything in your infrastructure and applications. Thus, the commercial version of open source software directly competes with the developments of traditional companies, for example Microsoft, which actively creates 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 Network. In addition, the use of open source software is relevant from the point of view of focusing on the provision of services instead of the sale of goods. Therefore, when creating Internet systems, it is worth focusing on open standards and software that implements them, since only this way will provide the opportunity for business development and obtaining new opportunities in 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 software investment, which provides greater flexibility than with proprietary software. This becomes especially true when the cost of software exceeds the hardware component of the project. The requirements of globality and compatibility 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 compatibility even with many competing products and platforms on the market.

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

Many people buy various software or use hacked ones pirated versions. Users see GUI programs, but the code for this 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 for themselves. But, despite this, there are more and more so-called “Open Source” programs in modern world. Let's understand what open source programs are and what are their positive and negative aspects.

What can be considered open source?

Almost all software reaches the end user as ready-made software. These are fully functional programs with a nice 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 introduce some kind of 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 with open source, is Open Office. Mozilla browsers Firefox and Google Chrome are also open source software. There are a lot of similar products, many use a large amount of software and do not suspect that some of this could be an Open Source program.

Open Source Features

For software to be called a program, it is not enough that its code is open to everyone. Such a program should be absolutely free. In addition, for further use and attempts to change the code, the user also does not have to pay anything. Anyone has the right to freely distribute this product, and, as stated above, change it. Such programs have no restrictions on the scope and duration of use. They can be used for doing business, scientific research, training, or for your 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 the classic licensed programs, are developed by a group of free programmers, and that is why they are free.

The second important advantage is that we can upgrade program data. A good programmer, having understood the code, can add new options to the program or improve the operation of existing functions. For example, 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 get 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 undeniable advantage of the programs is their protection from viruses. Almost all viruses are written for applications Windows, and malware for the same Linux a negligible amount. Thus, the chance of getting a virus using an open source operating system is very low.

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

But, as you know, any medal has two sides, we’ll tell you about the disadvantages of Open Source programs.

If you encounter any problems with the software, you usually contact technical support. Open source programs do not have this. This problem occurs because 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 on the Internet. Internet or figure it out yourself.

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

Also often disguised as open source malware, distinguishing them from truly secure software can sometimes be very difficult.

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

The success of open source software is quite remarkable. It has not spared even large commercial software producers. IBM, Hewlett-Packard, Oracle and Microsoft have recognized his influence and, in some cases, adopted his methods. It seems that most companies with an IT function are already quite familiar with open source products, and often actively use them.

However, the ubiquity of open source software still raises more questions than answers. So let's try to answer the most popular ones.

What is open source software?

Let's go back to 1997. Talented operating room developer Linux systems Bruce Perens writes a document related to the preparation and distribution of a distribution version of Debian Linux. He later removed all references to Debian and introduced the concept known today as The Open Source Definition. Among other things, the Definition document stated that open source software should be distributed without any royalties to developers, distributors must provide everyone with free access to the source code of the programs, and all further improvements and upgrades of the programs should also be provided under the same conditions.

In essence, the open source software movement is a close relative of the Free Software Movement, proposed in 1983 by Richard Stallman. Its main goal was the free distribution of software, freeing it from the standard restrictions of commercial programs. The rules for distributing free software are regulated by the General Public License (GPL), which was approved in its third edition in October 2006.

There are dozens of different Open Source Initiative licenses in use around the world today, each with its own specific rules that require study by companies considering using open source software. Typically, these rules do not impose strict restrictions on those who wish to access open source programs. As for distribution requirements, they need to be given more serious attention to avoid potential problems associated with violating licensing rules.

Why open source software?

The first reason why companies look at open source software is very simple - price. And the ROI of an open source model clearly demonstrates this. Open source software is completely free to download, install and use. At first, low costs attracted developers who wanted to try new tools or design new applications without investing any money. The new freedom has led many of them to support the open source software movement. As a result, industry-grade open source software such as the Linux operating system, the Apache Web server, the Java application server JBoss, and the Eclipse development environment began to appear around the world, along with thousands of other projects.

In the late 1990s, enterprise management finally began to pay attention to open source software. With IT budgets constantly shrinking, developers have bragged about the quality and savings achieved by using open source software, and many companies have begun to seriously consider using software components with open source when implementing corporate projects. The first large enterprises to implement open source software were The Weather Channel, Cendant Travel, Employease and Saber.

At a time of global Internet growth, open source software allows companies to quickly expand their electronic operations without constantly purchasing new licenses for commercial software. The benefits also extend to development and testing. This way, companies can try new things without the additional costs associated with commercial software and the budget-breaking process that is required in such cases.

It's probably no secret that few people take advantage of the availability of source code in open source products. It would seem that the right to freely modify and correct software code should be considered a serious plus, but in reality, instead of maintaining the software themselves, it is much easier for companies to rely on a community of developers who promptly update and debug the program code of all popular products.

Reasons for rejecting open source software

The arguments against open source software are usually easy to count on one hand.

    Getting free software is like " free giveaway puppies." You can download and install it completely free, but training and user support end up costing more than the total cost of commercial software, or a comparable amount. This argument, which Microsoft especially likes to make, operates on a subconscious level. Whether this is fair or not depends on the specific situation and which analytical report you are reading at the moment.

    Organizing technical support is difficult. In the early days of the open source movement, when development and support was largely done by groups of volunteers or “communities,” this was indeed a pressing issue. But while many organizations have found community support to be sufficient to meet their needs, today there are many other opportunities open to them, including support for large open source projects by Hewlett-Packard and IBM. As a result, the statement that “to suffocate, it is enough to block one throat” loses its relevance.

    Developing new functionality takes longer compared to commercial software. It really depends a lot on the specific type of software you're using. The Firefox web browser is best example how quickly open source software can be tailored to users' needs. You can also recall how quickly Linux developers organized support for new technologies, in particular USB ports. In this regard, Linux practically did not lag behind Windows. But when it comes to enterprise software, building in mechanisms to support the latest video card or audio chip plays a much less important role here compared to ensuring high stability and performance.

    Uncertainty of further development and branching. The wide variety of open source software licenses, as well as the possibility of active end-user intervention in the software code, keep corporate clients from the introduction of such programs. But close examination of open source application licenses by lawyers alleviates most of these fears. Some open source software providers and third-party companies even offer damages, so the open source applications you use may well be the subject of a lawsuit.

Where to begin?

Today, almost all types of business software are available as open source products, starting with servers Email and ending with VoIP systems. Many companies first of all pay attention to Web applications, where there are products that have existed for quite a long time and have already managed to prove their worth. A common reference is to the LAMP stack (Linux, Apache, MySQL and PHP, Perl or Python depending on the specific situation). The Unix-like Linux operating system has become widespread. One of the most popular Web servers today is Apache. Database management system MySQL data successfully competes with expensive commercial products. And the programming and scripting languages ​​PHP, Perl and Python are widely used as tools for developing open source Web applications. Open source websites Java based often rely on the JBoss application server. As you become more familiar with open source tools and discover the similarities and differences between them and commercial products, you will discover other possibilities. It may also be surprising to learn that your developers occasionally turn to certain open source products at their own risk.

Application servers are great, sure, but what about open source desktop software?

It is quite common for end users to use various open source desktop tools. A striking example of such a solution is the Mozilla Firefox Web browser. Office package Some government and commercial organizations prefer Sun OpenOffice over Microsoft Office. But while some players are venturing into the unknown by installing the Linux operating system on their desktop computers, Windows remains by far the dominant player. End user friendly Linux versions(like LinSpire) can't break the status quo because training users takes time and money. Additionally, most commercial software packages—on which many companies depend—are developed for Windows first and Linux second (if a Linux version is ever released at all).

Can open source products be sold?

Yes, of course, but the rules of the Open Source Initiative prohibit obstructing the sale of your code to others. And yet, many companies are finding ways to make money from open source products. Many, in addition to the actual code, offer corporate support services, which are very readily purchased by companies. Others provide two versions of the software code: one in open and free form, and another that includes additional useful features, contains proprietary components and must be paid for by customers. This mixed model is becoming increasingly popular. It is actively used by companies such as SourceFire, SugarCRM, Alfresco and a number of others.

Other open source resources

Many open source programs can be found on the Internet:

    FreshMeat. Huge database of downloadable software, much of it in open source form.

    SourceForge. A giant site for open source software developers, bringing together thousands of open source projects. Some of them continue to develop, while others have already ceased to exist.

Open source resources - official and unofficial

    Open Source Initiative. A non-profit organization that considers its main task to be the further development of open source software and is funded by a number of players who have been operating in this field for a long time.

    Open Source Technology Group. Arguably the world's leading promoter of open source technologies. It is this association that owns the news site Slashdot, as well as the resources SourceForge and FreshMeat.

    Open Source Risk Management. Offers mechanisms to ensure compliance with regulatory requirements.

    Open Source Development Labs. An organization whose main goal is to promote the Linux operating system among corporate clients.