HomeGlossary

Open-Source Software (OSS)

Beginner

Open-source software is a type of software whose source code is published and available for anyone to look at, change or redistribute. Open-source software typically gets developed in an open, collaborative manner between many different participants. Such projects embrace principles of transparency, open exchange, free participation, rapid prototyping, and community-oriented, collaborative development. 

While all open-source software licenses enable anyone to study, modify, and redistribute the source code, some require that the original source code is published alongside the modified source code.

The opposite of open-source software is closed-source software, whose source code is not published, and only the person, team, or organization who created it has the right to modify and distribute it.

Open-source software can have advantages over other types of software. While promoting the philosophy of open collaboration that can potentially benefit developers and users alike, it can also lead to a higher quality product because of the open call for participation bringing in many different experts from various fields. Fixing issues can also be faster and lower cost than in the case of closed-source software, as potentially a high number of participants have the right, access, and expertise to tend to those issues. 

On the other hand, if open-source software is developed in a decentralized manner, without a single entity coordinating the development process, it can take a substantial amount of time for the different participants to agree on strategic decisions. Many open-source projects implement special types of governance models to address this issue. 

In broader terms, the movement that aims to make all or most software use an open-source license is called the open-source software movement. The goals of this movement also include improving open-source technology with the production of high-quality code made cooperatively by similarly-minded people. Developers who support the open-source software movement voluntarily write and exchange code as a contribution to the philosophy of open collaboration.

Glossary

A site/system/folder/repository where a team can share, collaborate, and save their open source or propieta...

Full definition
Glossary

A collection of functions and procedures that allow users to interact/communicate with the data of an appli...

Full definition
Glossary

Applications that run on a P2P network of computers rather than one central computer. This allows the softw...

Full definition
Glossary

Quantum computing works using particles that can be in superposition. These particles represent qubits inst...

Full definition
Glossary

An emulated computer system, or a distributed system that is designed to replicate the features of a comput...

Full definition
Glossary

A computer or virtual machine that operates at the highest level of currently possible computing power.

Full definition
Glossary

A machine that, given enough time and memory along with the necessary instructions, can solve any computati...

Full definition
Glossary

A versatile cryptographic function designed by Guido Bertoni, Joan Daemen, Michaël Peeters, and Gilles Van ...

Full definition
Glossary

Computer code, which is responsible for defining how software will function based on a list of instructions...

Full definition
Glossary

An early version of a program for users to test and for a team to get feedback. Beta stage comes after the ...

Full definition
Glossary

A systematic analysis to evaluate how safe a system, smart contract, or blockchain is agaisnt attacks or te...

Full definition
Glossary

A popular open-source operating system, created in 1991 by Linus Torvalds. It is used in a wide range of de...

Full definition
Glossary

License allowing users to copy and modify software, but requires the works to be distributed under the same...

Full definition
Glossary

The part of the web that is somehow hidden, i.e., not indexed by Google and other traditional web search en...

Full definition
Glossary

An individual that has an advanced understanding of computer systems and networks, including programmers an...

Full definition
Glossary

An open-source project building a protocol for distributed content storage and access.

Full definition