07.1 (Conspect) Free Software

Basis of free distribution

The profession of software developer was a highly specialized profession and this corresponded to the era when software and hardware were not particularly different (a computer was built, something was soldered to it and something was programmed to it).

When programs were developed in universities, the people who did it treated their work as a scientific discipline, in which it is important that you did something first , but the results of the work are not known to anyone. Later, there were more compact computers that could be purchased by individuals. They integrated the popular BASIC programming language at the time. Software, as before, was transmitted "through ribbons". Because of this, Bill Gates wrote a letter in which he called "Thieves and parasites" those who copy software in which money and effort were invested.

Later, the idea emerged that software is also an object of ownership that is subject to property rights. This idea had two consequences:

  1. The appearance of a good business model to extract profits out of thin air,
  2. A blow to the development traditions that were created in universities.

In other words, there was an isolation of work on projects, since previously everyone could be attracted to participate in the development. This also led to information secrecy, since the more information leaked to competitors, the less the company will earn. Since the legislative reform to protect the property rights of programmers was not so terrible, it was carried out fairly quickly. It fits well into such concepts as copyright and copyright (the right to further distribution). In order to extract bonuses from software replication, it is necessary to centralize ownership rights – then the management mechanism was greatly simplified. Copyright is the right to set a policy for further distribution. No one forbids modifying and distributing the product here, but the decision whether to do so or not is made by the copyright owner.

It became quite obvious that with increasing information connectivity of society and the scientific community, the convenience of joint development is greatly increased (github, git, the migration of documentation from books to the web is a consequence of decades of increasing information connectivity, which primarily affects the joint development of people located in different parts of the world). It is clear that the closed development system contradicts all this. Later came the idea that free software also needs its own license, that is, when developing code, this code is accompanied by some license, which would explain what rights the person who received this code has. A free license consists of four rights:

  1. The right to run the command.
  2. The right to study and change the source text for their own needs.
  3. The right to distribute copies of the program.
  4. The right to publish changes in the source code of the program. There is also an open source ideology.

What is the problem with extending the classical ownership right to an intangible object? Why does an intangible object not fit very well into the economic grid of property rights based on tangible property? When a material object is created, there are large material expenditure items (moreover, creating a material object requires your personal expenses). As for non-material objects, this is economically harmful (we do not understand how to measure it). For example, we spent 100 days on 100 pots, and we spent the same amount on 100 programs as on one. There is an idea that if copying the program does not cause damage (that is, from one object made two) it can not exactly be classified as theft.

The most popular of the capillary free licenses is the GPL. A typical permissive license is a BSD license.

What are the good packages? It has dependencies that allow you to fix and update entire system components in one move, it has a package Manager that goes to the storage, downloads packages from there, depending on which one is newer, and an installer that can install, delete and update. In order for the theme to work with the repository, you need a fairly large community of people who are willing to take the software product on the side, modify it and put it in the repository. This person who takes the software and forms it in the form accepted in this community is called a maintener (a person who monitors the quality of the package).

development and approval

There is such a thing as building packages. In linux, for historical reasons, the same program that installs packages builds packages. In order to make it easier to build a package or build a new package based on the old one, each package has a description (spec) attached to it.

The collection page- a collection resource of the community. The situation when a new build spoils some packages (that is, these packages become incompatible when a new version appears) is resolved by reassembling all the packages that the library needs.

HSE/ArchitectureOS/07_FreeSoftware/Conspect_en (последним исправлял пользователь VasilyKireenko 2020-06-10 01:27:58)