If you use the Internet, and you have even a small knowledge of the world of software, there is a high possibility that you have heard the term open source or open-source, and of course you are wondering what is the meaning of the word open source? And why are there some programs, programming languages, or operating systems that are called open source only?
In this article, I will explain to you the concept of open-source in a simple and easy way, and I will address many other aspects related to this topic, so that in the end I leave you and you have understood an open source idea in a way that you can explain to others.
What is the meaning of open source
open source is an attribute or feature that is launched on a program, programming language, or operating system, whose owner or inventor provides the basic codes, the original source and their algorithms, for reprogramming, modification, redistribution and sharing according to the requirements of each user.
Open source programs or languages open the way for their users to participate in improving and revising codes, and solving problems related to them, and also open the way for their users to modify and adapt them according to the nature of use of each user.
Open source programs or programming languages get a faster development rate and multiple ideas for improvement, because by opening the source the inventor allows others to verify that the program is free of spyware, viruses, security flaws, or the like.
The open source program also allows other programmers to make modifications to the original code, so new programs are extracted from the original code, so we don't have to reinvent new programs from scratch.
What are the ten conditions for the program to be open source
The internationally recognized Open Source definition provides ten basic criteria. These ten criteria must apply to any software license or programming language in order to be named as Open Source Software.
The software licensed under the Open Source license must be certified and compatible with the Open Source Initiative to promote and protect the Open Source Initiative (OSI) programs, projects, and societies.
These are the ten conditions for granting an open source software license:
1- Free Redistribution
Any party can sell or distribute the open source program, and any person or organization can sell the program as part of a group of other programs, and it does not require paying any fees for this sale.
2- Source Code
The program or programming language must include the source code, and the source code must be available to everyone. And in cases where the program is not distributed with the source code, there must be a well-known way to obtain the source code, and the cost of copying must be at a reasonable price, and it is preferable to download it online without charge.
3- Derived Works.
Modifications and derivative works are allowed to the source code to produce new sub-programs, and it must be allowed to be distributed under the same conditions as the original software license.
4- Integrity of The Author's Source Code It is
permissible to restrict the distribution of the source code in a modified form only, if the license permits the distribution of patch files with the source code for the purpose of modifying the program during reprogramming. The license must explicitly allow the distribution of embedded software from the modified source code, and the license may require derivative works to carry a different name or version number from the original software.
5- No Discrimination Against Persons or Groups
The license should not discriminate against any person or group of people, so everyone who decides to obtain the license and work to amend, share and publish it is equal, whether it is one person or a group of people.
6- No Discrimination Against Fields of Endeavor
Use of the license shall not restrict anyone from using the program or programming language in a specific field, but it is available in all areas without discrimination.
7- Distribution of License
The licensing rights attached to the program or programming language must apply to all persons to whom the program is redistributed, without the need to implement an additional license by these parties.
8- The license should not be specific to a specific product License Must Not Be Specific to a Product
The rights associated with the program should not depend on the program or programming language being part of the distribution of another program, in the case of extracting the program from this distribution and using it, or distributing it within the terms of a license Associated program.
All parties to whom the software is redistributed must have the same rights, such as those granted in conjunction with the original software distribution.
9- The license should not restrict other programs. License Must Not Restrict Other Software
The license should not place restrictions on other programs that are distributed with the licensed program, for example the license should not insist that all other programs distributed on the same media are open source programs .
10- The license must be neutral. License Must Be Technology-Neutral
No condition of the license conditions may be based on any individual technology or the use of a specific User Interface, so the license must operate normally under any circumstances.
What is the difference between open source software and closed source software
In this part, we will explain the difference between open source and closed source programs.
Closed Source
In closed source programs, only the original authors of proprietary programs can copy, examine and change the program legally, and in order to use proprietary programs, the user usually must agree to accept the license terms when using the program for the first time, and if the user does not agree to the license terms, the authors will not allow him The program is using it explicitly.
Among the most famous closed source and proprietary programs are:
IOS
is the operating system for Apple's smartphones and tablets. No person or any developer can legally modify the basic codes of the system, and if the modification occurs in the codes, Apple considers this illegal, and the modified operating system comes out illegally from under the umbrella of Apple, and the company considers itself not responsible for it.
Microsoft Office is the Microsoft Office
suite of software.
Adobe Photoshop is a
program for creating and editing graphics and digital photography, which is produced by Adobe.
Open source software
In open source programs, the matter is completely different, as their authors make the source code available to others who want to view, copy, learn from, change or share this code.
Among the most famous open source programs and systems:
Android
, the world's most popular smartphone operating system, used by most smartphone manufacturers, Android is developed by the Open Handset Alliance, which is run by Google.
It is a consortium of eighty-four telecommunications companies, phone component manufacturers and software developers, who are committed to developing open standards for mobile phones such as:
HTC, Dell, Motorola, INTEL, NVIDIA, Vodafone, Samsung, Huawei, Toshiba.
LibreOffice
is a free and open source office software package, the program works on most operating platforms such as Windows, Macintosh and Linux, and LibreOffice provides six programs to meet all office needs from editing documents, data processing, presenting, drawing, building databases, and other simple office uses Complex, which is produced by many contributors and developers belonging to the nonprofit organization called The Document Foundation.
WordPress
WordPress is an open source website content management system, as it can be installed on web hosting , and through it it is possible to create an integrated website. Anyone can download the basic WordPress files and modify them according to their own site requirements.
Are open source software only important to computer programmers
Certainly, open source technology and open source thinking both benefit programmers and non-programmers, and since the early inventors built a large portion of the Internet on open source technologies, such as the Linux operating system and the Apache web server application, anyone using the Internet today benefits from open source software.
In fact, every time computer users view web pages, check e-mail, chat with friends, stream music over the Internet, or play multiplayer video games, their computers or mobile phones connect to a global network of devices. Computer, which uses open source software to route and transfer data to their local machines.
The computers that do all this important work are usually located in remote places that users don't actually see, or they can't actually access, which is why some people call these computers Remote Computers.
People rely more and more on remote controlled computers when carrying out the tasks that they may perform on their local devices, for example: they may use online word processing, email management and photo editing software, which they do not install and run on their personal computers, They simply access these programs on remote computers using a web browser or mobile application, and when they do, they participate in "remote computing."
One of the most important forms of open source software is cloud computing or remote computing, because it includes activities such as storing files, sharing photos or watching videos, which are not only included in local devices, but also a global network of remote computers.
Cloud computing is an increasingly important aspect of daily life with internet-connected devices, and some cloud computing applications, such as Google Drive, are proprietary to open source users, allowing files to be shared, copied and downloaded by anyone else.
Why do people prefer to use open source software
People prefer open source software over proprietary software for a number of reasons, including:
Control control
Many people prefer open source software, because they have more control over this type of program, and they can check the code to make sure that it does not do anything that they do not want to do, and they can change parts of it that they do not want, or use these programs for any purpose they desire not. Just in a predefined way.
Training Training
Many people like open source software, because it helps them become better programmers, because the open source code is available to everyone, and students can easily study it while they learn to create better programs, and students can also share their work with others.
Security
Some people prefer open source programs, because they consider them more secure and stable than proprietary software, because anyone can view and modify open source programs, and they may discover an error that the original program authors may miss, and work is to be made to correct or delete it.
And because many programmers can work on part of an open source program without asking permission from the original authors, so they can repair, update and upgrade open source software more quickly than they can use proprietary software.
Stability
Many users prefer open source programs over proprietary programs for important long-term projects, because they make sure that their tools will not disappear or falter in the event that the original content developers stop working on them, and in the case of using open source programs, this guarantees a long-term future for them.
What is the difference between top-down construction and bottom-up construction
Top – Down Build
When Apple releases the new version of the IOS operating system, the company's team is solely responsible for developing and updating the operating system, and providing all its maintenance services. This means that we will obtain a product from Apple and any details related to it require our return to Apple itself.
If we represent this matter in the form of a pyramid, then Apple itself will be at the top of the pyramid and users at the bottom of the pyramid, meaning that all products issued by Apple will take one path, which is the way from the top of the pyramid to the bottom, i.e. from Apple to the user, and users cannot or Any person or any other developer outside the company can contribute to developing the same product.
This type of relationship is a one-way relationship, which is known as top-down-build.
Down – Top Build
Let's imagine that Google is releasing a new version of the Android operating system for smartphones, as it not only introduces the operating system for the manufacturers of smart phones to buy it, but also introduces it so that developers around the world can see, develop and improve it, and this means a new style Of communication and a new type of exchange of experiences, where there is a continuous exchange of information and experiences between the company, users and manufacturers of smart phones.
In this way, one of the users can also put up a new version for Android phones, and it may be better than what Google itself might release, this means that the process of obtaining a new product is not done by one party, but rather with the participation of many people.
Here the construction process takes place from the bottom of the pyramid, that is, from the user base, to the top of the pyramid, which is the company that issued the system, and this is called Down To Top Build.
The bottom-up building strategy is fully applied to the Linux operating system, since the launch of the open source Linux operating system in 1991, and making its source code open to everyone, has become the Linux operating system one of the most successful operating systems ever, because the process of developing and releasing it New versions of it are being made by developer groups around the world on an ongoing basis.
And if a problem or vulnerability is found in one of the versions, anyone around the world can try to modify and improve it, and this is what made the Linux system one of the most powerful systems against viruses and piracy attacks, which also made it one of the most preferred systems in the field of operating network servers, and this What also made it the most widespread operating system around the world in the field of supercomputers or supercomputers, as 95% of supercomputers around the world rely on the Linux operating system.
Ethical tendency to build an open source technology world
The strategy of working with programs and open source programming languages is no longer just an important development in the course of modern technical development, but for many people it has become a different working philosophy and a comprehensive comprehensive thinking, so the idea of open source is based on the concept of sharing, that is, making all the details available to anyone around the world And completely free of charge.
The concept of information sharing has many positive effects on technical work in general, including:
- Breaking the monopoly state of big tech companies.
- Opening the door for developers and creatives around the world to better demonstrate their capabilities.
- Making the concept of property rights more flexible, thus facilitating the transfer and exchange of information.
Based on these concepts, there has become what is known as the Open Source Movement, which believes in the noble objectives of cooperative, participatory and free exchange of information around the world, without any monopolistic restrictions or restrictions on the transfer of information through property rights.
These wonderful concepts have become values for most developers working in the field of open source, and these concepts have become the spirit of work and philosophy that brings together millions of developers around the world, which led to the emergence of a wonderful ethical and philosophical concept with very impressive effects, which is the concept of “Bottom-up. -Build ”.
You, too, my friend, shared with me your thoughts about open source software and programming languages, and how they might contribute to shaping a new, more advanced world, and modern technology available to everyone without discrimination and free of charge.
Also, if you liked the topic, share it with your friends on social networking sites.
0 Comments