Sunday, December 13, 2009

Open Source Software

If you deal with computers and you have not heard about open source, do not worry: I guess you will not be very interested, although discussions foo non-computer people show enough interest, perhaps because of moral / philosophical color of this issue (or may simply want to end the conversation as quickly).

If you deal with a computer and not know it, you should look to go under the stone you.

The following paragraphs describe in simple terms what is open source and relevance of, to have any meaning these pages in all.
Free what?

Free software is software that is freely available. This means that when someone gained can use, copy, to study, modify and distribute it freely. This applies both to the source code and executable files for the program.
I do not understand.

The very quotation: Computers, as we already know, consisting of the hardware and software. The software is written, and again you will know already, with the help of programming languages, which are intermediate languages to "understand" both the people and their computers, such as C, Fortran (bliach), etc. This code is called source code (source code).

But as people are predominantly in the language you prefer, so the computers have their own: the machine language. As you yourself seem outrageous to say "for X from 1 to 4 fetch a glass of water" instead of "Bring 4 cups water, so the computers seem rather strange to say," Bring the memory of such and such "instead say" 101001010111 ". So, as someone who wants to build a program, ask a developer who understands from programming languages to write, so the computers have a special program, the compiler (compiler) to translate programming language into machine language.

The compilation of programming language to machine language is a bad thing, however: Because over-analyzing the process in very small pieces, "hiding" the implementation details of the program by others. Thus, when it is compile a program, there is no way to understand how the developer built it, especially when talking about complex programs.
The problem

Companies and developers in one place and then give their customers only executable files (the machine language) so that competitors could only see the result and not the implementation of programs. The evil of this approach, which was essentially a political, is that once created something quite complex, it is almost impossible for a competitor to build a peer product they have to "re-invent the wheel" for everything created what the other company.

Imagine being able to do this in all other industries: If a joke (but realistic and comparable) scenario, the hood of the car did not open, probably only one or two companies have handbrake or four-stroke engines, airbags and seatbelts! Obviously everyone would prefer the well-above-products, would create a monopolistic market and inevitably car technology would be years behind compared to today after one or two companies would develop the technology.

This, unfortunately or fortunately not far from reality in the world of computers. The very nature of computer software, created an environment where companies thrive-giants are using the system of closed source maintain a monopoly continuously. By restricting the freedom of others to have access to the heart of this using the source code, companies sell only the result and not the implementation.

The developers understand exactly the problems at all. Obviously, a treatment that would be available only in a clinic in the world would you mind not only doctors and patients. Or a security system in motor that would be the prerogative of a single car would impede not only the engineers and drivers who want another car with similar levels of security. So the restriction on our choices because of the monopoly of one or two companies in computers, it should be okay everyone, not just developers.
Free software

Several predicted some old problems will arise if the closed-source was the de facto way to develop the software. One of these was Richard Stallman, who from the beginning has known the problem and laid the foundations for developing a new type of program: free programs.

These programs, when acquired one (paying or not) have the right to see their code. Freedom, it is the same freedom that we can we make our cars to our engineer that has a car to "see" how a competitor created a technology such as turbo or belt and parking brake on improve its own models.

The open source and free software support this mode of development programs. Why the FLOSS is better than closed-source can understand with little moral and rational thought. Moreover, the Internet is a plethora of articles and columns on the advantages of open source, which describe the subject much better than I do myself.

No comments:

Post a Comment