📜 ⬆️ ⬇️

9 reasons to switch to open source

In this article I want to point out several reasons why companies of any size should switch to open-source technology. I will try to indicate moments that are important not only for developers, but also for business (customers). I’ll make a reservation that this is not about final software products, but about platforms — web servers, proxy servers, databases, etc. The article is informal, therefore without numbers and graphs. However, you can find them at some links below. I often see a discussion of the benefits of using open-source products on English-speaking resources, however, in our country they are still afraid of them.

There is no complete research to decide whether to use or not. For example, only the arguments for are given. However, the arguments “against” you all know so well. At each point, you can find an anti-example, but the thing is in statistics, which you can find on the links. However, in my opinion, these arguments work best for web applications.
Let's start in order:

Open-source applications contain fewer defects.


This also includes security flaws (exploit capabilities). Why is this so? A large number of developers are working on open source projects. Therefore, defects are detected and eliminated very quickly.
If you like objective evidence, here, for example, is an article about comparing the number of bugs in open-source and proprietary products from Coverity: www.techrepublic.com/article/open-source-vs-proprietary .
Consequently:

Security


Once it was thought that open-source loses security proprietary products. Suppliers of proprietary software often use this very argument. However, numerous independent studies have shown that now open source software is, on average, more secure than proprietary software.
Many factors are connected with this. For example, many security problems can be detected only by observing the code directly. Members of the open-source community find and eliminate such holes, while in proprietary software such defects may go unnoticed for years.
Well, in general, the fact that you do not show your code to anyone does not make it better written.
')

Enthusiasts work on open-source projects.


Projects with source code work programmers who like what they do. Very often, they use these projects in their work. I think everything is clear. This, in fact, implies many other advantages, which are described below.

Over open source work lazy people


I mean "programmers are working." “Programmers” == “lazy people.” The fact is that a truly lazy programmer in the right direction will always find an opportunity to make his work easier and faster.
All over the world, everyone has long understood that routine can always be ruled out. If you are a programmer and perform routine work - think about it, you are doing something wrong.
That is why web developers all over the world choose a console approach to performing tasks (goodbye, Windows), use scaffolding, scripting.
Among Russian specialists, for some reason, the console is not in honor, but in vain - this is the way to Zen and productivity.
For example, how to deploy an application on the Meteor.js platform (http://meteor.com)?

$ curl https://install.meteor.com | /bin/sh $ meteor create myapp $ cd myapp $ meteor 

Everything! You have a working application, with the database already spinning on the server. In one simple motion, you can publish your application on the Internet:

  $ meteor deploy myapp.meteor.com 

And now the question: how to deploy the simplest Java EE application? A bad example in the context of proprietaryity, but still. An example of deploying a Oracle ADF environment would be quite cruel. Firstly, you can not do it in the console (pull the hand to the mouse? Well, nooo ...). You will most likely need to download and install Eclipse, Idea or Netbeans. Then you need to download and install Tomcat, Glassfish, WebLogic or whatever else you use for the servlet container. Launch IDE, click a little with your mouse, and if you're lucky, everything will start right away!
At this time, the developer at meteor.js has already made a functional application (http://www.smashingmagazine.com/2013/06/13/build-app-45-minutes-meteor).

Community Support


High management often selects proprietary products precisely because of support contracts. I have often heard exclamations in the style of “We have a partnership contract with ...! But there will be problems with this backbone, what are we going to do? ”.
In fact, large mainstream projects have a large community around them, which is always ready to help in resolving issues, while, despite the availability of contracts, support requests, such as Oracle, can remain unresolved for months.
The community consists of the same developers as you, with the same problems that someone has probably already met.
And in general, in the case of open-source, programmers always have the opportunity to solve the problem on their own, which is the next item.

Opportunity to contribute to the development of the project


Unlike proprietary software, you can make changes to an open-source project. Of course, this is not an argument for business (“Why should we spend time on developing someone else's project?”). However, for the specialists themselves this is a very rewarding and enjoyable experience. In addition, as I mentioned above, problems with blocking defects can be solved, in this case, much faster.

Higher development speed


The time to market a product (Time To Market, en.wikipedia.org/wiki/Time_to_market ) is significantly lower, which follows directly from points 2 and 3.

Cheap


No comments.
Moreover, proprietary products pull money out of you constantly and in proportion to the size of your infrastructure.

The ability to quickly adapt


Now technologies are changing and developing rapidly. Open projects are usually more adapted to change than proprietary software.

Choice


Choose a platform based not on what kind of partnership contracts you have, but on what task you want to solve. Before you - the whole range of platforms and you do not depend on someone's plans for releases.

It is useful to read on this topic:

Source: https://habr.com/ru/post/240041/


All Articles