
Most of the services and products that we all use every day were built using open source technologies.
For example, employees of Facebook created “open” initiatives by
Cassandra and
React , and recently even such advocates of “closeness” as Microsoft, who previously tried to destroy the open source movement, began to open their developments (Redmond Corporation
made the .NET platform
open ) .
')
When creating the Kato messenger, an open tool was used to process requests with very high intensity — the programming language and the Erlang virtual machine. This platform is used by many popular projects and companies (examples are Amazon, Goldman Sachs, RabbitMQ, WhatsApp, Whisper). There is a large community of developers writing Erlang libraries. With the help of one of them, the Cowboy web server, the
Kato messenger was created - today we will tell about the history of this open source project in more detail.
A bit of background
The first version of the Erlang platform was developed by Joe Armstrong, Ericsson, Robert Virding and Mike Williams in 1986 in Ericsson. Initially, the language was closed and was used exclusively in the company's internal projects (for example, the AXD301 switch was created with it, which achieved the
nine-nines fault tolerance index of 99.9999999%), but later Ericsson management refused to support the internal programming language (it was decided concentrate on Java and other open platforms). As a result, in 1998, the use of Erlang in Ericsson projects was prohibited (this caused the departure of Armstrong's company, as well as other language creators and developers who used it), but subsequently the platform code was unexpectedly opened under the Erlang Public License.
After the discovery of the language, the developers of Erlang, who left Ericsson, continued to develop it (they created start-ups, consulting companies, wrote books). Over time, the Ericsson management lifted the ban on using Erlang in its own projects, and in 2004 Joe Armstrong and some other representatives of the “old guard”
returned to the company. Currently there is a powerful global community of developers creating products on the Erlang platform.
The right web server on Erlang and the creation of a Kato startup
One such developer is Loïc Hoguin. A few years ago, he decided to create a web server on the Erlang platform, which would be devoid of the minuses of other similar products. So the magnificent Cowboy web server was born (there was already an
article about working with him on Habré).
Illustration of the description of the Cowboy web server from the project siteThanks to this library, we managed to launch a working version of the messenger in a few weeks. This, among other things, allowed us to get into the well-known start-up accelerator
Techstars and attract investments - in many respects the project took place precisely because of the existence of such a tool as Cowboy.
There are a lot of projects that Loic Hogen helped with his developments, but in our world this fact alone does not guarantee its author a decent life.
What to live to the developer of open source projects
In January 2014, Loic
published a post in his blog, in which he spoke about an important, but rarely lifted topic - the development of open (and free) projects in the conditions of the need to pay for an apartment and buy food. Loic, a talented developer who could continue to bring enormous benefits to the entire Erlang community, was forced to engage in consulting and coding to order in order to earn a living.
An illogical situation has arisen - dozens of companies around the world can create products (including commercial ones) using Loic's open projects, but the developer has to deal not with things that could be useful to all members of the community, but to work on closed commercial projects.
Speech by Loic Hohen at the Erlang DC conference in February 2013As a result, the issue was resolved by introducing the mechanism of sponsorship of the work of the creator of Cowboy. Sponsorship of open source projects is extremely simple - interested companies (or individual teams within the company) transfer a certain amount of money to the developer, and in return receive a better product because they have more time to work on it (besides, the company has the right to rely on personal approach in case of questions on the introduction of technology in their products).
The first project that had given similar support to Loic was
LeoFS , whose team is working on a distributed file repository. After reading Loik’s post, we also decided to help - since February 2014, Kato.im has been providing monthly financial support to the creator of Cowboy.
This step allows you to kill two birds with one stone - the developer gets the opportunity to engage in the development of a useful project, and the sponsors (in addition to moral satisfaction) receive priority in eliminating errors they found, and their names and links to sites are located on the Cowboy home page and in the project's README file.
Why do we need to sponsor open projects
We in Kato do not have a large number of resources that could be used to support open source projects, however, we always share with our open source community our code corrections and the solutions we have found. Without the efforts of the creators of Erlang and Cowboy, there would be no startup, so we will always help open projects and encourage other companies to support projects like Cowboy and their creators.

The strength of open source is to combine the efforts of large companies and independent developers. Ericsson has invested tens and hundreds of millions of dollars in the creation of the Erlang platform, but without the efforts of the developers who create libraries and various tools on this platform, it would not be so widespread.
This cumulative effect makes possible the emergence of many projects that improve the lives of millions of people. Thus, each member of an open community is an investor in projects all over the world — the success of each of them can equally depend on the work of thousands of employees of a giant corporation and on the efforts of one person.