What is Open Source, projects, examples of open source software

Программирование

Open Source is software that is distributed under a license that complies with open source standards. The principle of openness covers not only the scope of software development. For example, designers provide access to free templates and fonts. In some countries, government agencies are moving to open source software. In Germany, the city of Munich decided to switch to the LiMux operating system, which is a customized version of Ubuntu. In Hamburg, officials decided to use the Phoenix office suite instead of Microsoft Office. The UK government has switched from using the PDF document format to ODF. In France, the gendarmerie uses the Ubuntu OS and the free LibreOffice.
What is Open Source, projects, examples of open source software

Requirements for open source software

Here are the main requirements that an application distributed under an Open Source license must meet:

  • programs are distributed free of charge;
  • The software comes with source code, if it is not in the basic package, then it can be freely downloaded or obtained in another way;
  • the code can be modified and parts of the code can be used in other projects, while the modified applications should be distributed under the terms of the Open Source license;
  • discrimination of any groups of people is not allowed, for example, in the USA there are restrictions on the export of programs, but a free license cannot establish its own prohibitions;
  • the Open Source license allows all ways of using applications, so the developer’s personal moral convictions do not interfere with distribution, for example, items like: “it is forbidden to use for genetic research” are unacceptable;
  • all rules related to the Open Source license are the same for all users, additional agreements such as non-disclosure agreements are prohibited;
  • the license cannot be tied to the program, the developer who uses only part of the code has the rights that the full product gave;
  • the user can choose what he will use, for example, it is forbidden to require that the software supplied with Open Source be necessarily open.

Open Source projects – what is their peculiarity

Most applications distributed under an Open Source license have the following differences:

  • programs are written by those who use them, therefore, developers monitor the code, quickly fix errors and discovered vulnerabilities;
  • most products are compatible with multiple operating systems;
  • the community of Open Source developers is open to communication with users who can make suggestions;
  • Usually free software updates come out more often than commercial ones, so bugs are fixed faster;
  • users, if desired, can support the application they like with money;
  • the risk of infecting a computer or smartphone when installing an Open Source program is minimal, since they come with source code.

The History of Free Software

Richard Stallman is considered the founder of the free software movement. While working in the Artificial Intelligence Laboratory at the Massachusetts Institute of Technology, he was involved in the development of free software. For example, in writing the EMACS text editor for PDP computers. In 1984, Stallman left his job at MIT and founded the GNU project. Its enthusiasts coined the term “free software” and developed the GNU manifesto.

What is Open Source, projects, examples of open source software
Richard Stallman [/ caption] In 1985, Stallman created the Free Software Foundation (FSF), which was used to develop free software through voluntary donations. In 1989, the first General Public License (GPL) was introduced, which protected users by giving them the right to copy, modify, and distribute applications. Later came the MIT license and BSD developed at the University of California. By 1991, an independent operating system had been developed, but it did not have a kernel. That same year, Linus Torvalds introduced the Linux kernel, which was licensed under the GPL in 1992. In the mid-90s of the last century, large companies began to be interested in the Open Source market. The first was Netscape. The browser she released at that time was considered one of the most popular. In 1998, she opened its source. After the company ceased to exist, the Mozilla Firefox browser was created based on the Navigator code. Now the Open Source Initiative, which was founded in 1998, is developing and promoting open source software. What is the meaning of open source: https://youtu.be/8G3Dz_GyPI0

Open source licenses

There are several different Open Source licenses. To make it easier to understand them, we provide the following figure, which shows how they differ from each other. [caption id="attachment_12320" align="aligncenter" width="697"]
What is Open Source, projects, examples of open source softwareOpen Source licenses

Now let’s talk about the most popular of them.
  1. The MIT license was developed at one of the leading educational institutions in the United States – the Massachusetts Institute of Technology. It almost completely coincides with the three-clause version of the BSD license, it only adds one clause that prohibits the use of the author’s name in advertising. Under it came out: XFree86, Expat, PuTTY and other products.
  2. The BSD license first appeared in the early 1980s to distribute the operating system of the same name. There are the following variants of this license:
    • Original BSD license is the first original license, it is also called a four-clause.
    • Modified BSD license is a three-clause license, it excludes one clause, which requires advertising to indicate that this application uses software developed at the University of California.
    • An Intel license that was developed for patent-protected applications. It is not supported by the Open Source Initiative.
      What is Open Source, projects, examples of open source software
      Licenses used on Git Hub
  3. The GNU General Public License is the most popular license. She appeared in 1988. In 1991, an improved version of the GPL v2 appeared, which has not lost its relevance to this day. In 2006, the GPL v2 license was adopted.
  4. The GNU Lesser General Public License, or GNU LGPL for short, was created to link libraries with software distributed under other licenses.
  5. The Apache license allows you to modify and redistribute the software in both source and binary. In addition to the rights to the product, the transfer of patents is also provided.
  6. Guile is similar to the GNU GPL, but it adds a clause that allows open source software to be combined with non-free software, so it cannot be considered strict copyleft, but it is compatible with the GNU GPL nonetheless.
  7. The Common Public License was developed by IBM for their developments. It allows you to change the code and use it in commercial programs. This license was used by Microsoft for Windows Installer XML.
  8. The Mozilla Public License (MPL) is a complex license that does not follow strict copyleft.
  9. The Sun Publi c License is similar to the MPL, but there are minor changes, such as Sun Microsystems instead of Netscape.

There are also other less common licenses such as Guile, Common Public License, Mozilla Public License, and others. https://youtu.be/oAW5Dh9q3PM

Examples of open source projects

The development of the Linux kernel and GNU applications became the basis for other Open Source applications. The arrival of Netscape interested large IT companies. Since then, many different products have been developed. Let’s start with Debian, which supported the Free Software Foundation from 1994 to 1995, and later the non-profit organization Software in the Public Interest was formed to continue funding the project. As part of this project, not only the operating system was created, but also the LibreOffice office suite, the Firefox browser, the Evolution email client, the K3b CD burning application, the VCL video player, the GIMP image editor, and other products. The non-profit company Apache Software Foundation started as an Open Source project that supported software. The most popular product of this organization is the web server of the same name. Now the company maintains a large number of projects distributed under the Apache license. ASF sponsors include Microsoft, Amazon and Huawei. Another company involved in Open Source projects is Red Hat. The main development of which is the operating system on the Linux kernel. She is engaged not only in software, but also in technical support and training of specialists. In 2018, it was acquired by IBM. Google also develops free software. She develops and maintains the following projects: the TensorFlow library for developing machine learning systems, the Go language, the Kubernetes program designed to automate software deployment, and other products. In science, Open Source refers not only to software, but also to the publication of works, reviewing and supporting educational resources. In 1991, Paul Ginsparg organized the arXiv electronic archive at the Los Alamos Laboratory, in which one can find works not only in physics, but also in medicine, mathematics, and other sciences. CERN also has a portal with open scientific papers.
What is Open Source, projects, examples of open source softwareOpen Source operating systems – open source operating systems [/ caption]

How to get involved in an Open Source project

If you want to practice programming and expand your resume, then participation in the development of an Open Source product is exactly what you need. We will tell you step by step what is needed for this. First of all, you need to register on GitHub and choose a project in which you will participate. It must be of interest to you. Well, if it will have a lot of tasks that you can do. You should also pay attention to the popularity of the project, it can be determined by the number of stars. It is also important to determine how active development is and when the last changes were made. After choosing an interesting project, you need to find a curator and establish interaction with him. The next step is to select a task. To begin with, it is recommended to choose the simplest task. The main thing is that you can solve it. After that, transfer the project to yourself and install all the necessary tools. After you have solved the problem, make suggestions for changing the code in the repository. To do this, you need to upload your code to GitHub and click the “Pull request” button. After that, you will need to enter the name of your request and a description. After that, you need to wait for the curator to accept or reject the proposed changes. If after you started the task, other urgent things appeared, or you realized that you could not do it, then you can abandon the task. This is normal, but you need to inform the curators about your decision. After that, you will need to enter the name of your request and a description. After that, you need to wait for the curator to accept or reject the proposed changes. If after you started the task, other urgent things appeared, or you realized that you could not do it, then you can abandon the task. This is normal, but you need to inform the curators about your decision. After that, you will need to enter the name of your request and a description. After that, you need to wait for the curator to accept or reject the proposed changes. If after you started the task, other urgent things appeared, or you realized that you could not do it, then you can abandon the task. This is normal, but you need to inform the curators about your decision.
What is Open Source, projects, examples of open source software

Using Open Source in the development of trading robots

A trading advisor or
robot is a program that makes transactions on the stock exchange according to a predetermined algorithm. They can trade both completely independently and in semi-automatic mode. In the second case, they simply send trade signals and the trader makes the final decision. We list the advantages of trading robots:

  1. The trader does not need to monitor prices himself.
  2. Expert Advisors operate strictly according to a given algorithm, they have no emotions.
  3. Robots react much faster than humans.

But besides the advantages, automatic advisers also have disadvantages:

  • in a non-standard situation, for example, with a sharp jump in the rate, the adviser may react inadequately, and the trader will lose money;
  • Some professional advisors require you to pay a monthly fee to use them.

Next, consider several Open Source trading advisors. They can be downloaded from the GitHub site, installed and used for trading. You can also improve the source code and create a robot for yourself.

GEKKO bot

This is a proven Expert Advisor that appeared many years ago. Many traders started trading with this robot. At the moment it is no longer supported by the creators, but it is available for free download from GitHub. It can be used on crypto exchanges, it can collect market information and place orders. GEKKO bot has many settings with which you can test the trading algorithm, as well as adjust and optimize the system for making deals. It has a set of ready-made strategies that can be customized. It is also possible to create your own trading system. It supports 23 exchanges, including: Bitfinex, EXMO, Bittrex, Bitstamp.

Zenbot

The Zenbot cryptocurrency trading advisor uses artificial intelligence for trading. It is possible to customize it according to your wishes. It is compatible with most operating systems. It can make high-frequency transactions, trade several assets at the same time. In addition, this bot can earn money on cryptocurrency arbitrage. But it doesn’t have a graphical user interface. Able to trade on the following exchanges: Bittrex, Quadria, GDAX, Pollniex and Gemini.
What is Open Source, projects, examples of open source software

OsEngine

OsEngine is a suite of stock trading applications. It includes:

  • Data – used to load historical data from various sources.
  • Optimizer – used to test one strategy.
  • Tester – to test several trading algorithms, but without changing the parameters. It can work simultaneously on several timeframes and instruments.
  • Miner – looks for profitable patterns on the chart. The found forms can be used in real trading.
  • Trader – module for trading.

What is Open Source, projects, examples of open source softwareOsEngine uses more than thirty built-in trading systems, among which there are trending (for example, the strategies of Bill Williams or Jesse Livermore), countertrend (for example, using ballast lines,
Bollinger ) and arbitrage. Can be used on some international exchanges (connections available LMAX, InteractivBrokers and ninja trading), on
MOEX (Transac,
Quik , Most Asts, Plaza 2, SmartCom) and cryptocurrency exchanges (Bitstamp, Bitfinex, Kraken, LiveCoin, ExMo, Binance, ZB , Bitmex, BitMax). Also compatible with one Oanda forex exchange. There are other popular Open Source trading advisors, for example, TradingBot, for trading on the Moscow Exchange through the Atentis broker or a simple TradingBot robot.

info
Rate author
Add a comment