Open Source Software

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 7

Open source

Open source is source code that is made freely available for possible modification and
redistribution. Products include permission to use the source code design documents or content
of the product. The open-source model is a decentralized software development model that
encourages open collaboration. A main principle of open-source software development is peer
production, with products such as source code, blueprints, and documentation freely available to
the public. The open-source movement in software began as a response to the limitations
of proprietary code. The model is used for projects such as in open-source appropriate
technology and open-source drug discovery.

Need of open source


Open source fosters ingenuity; programmers can use pre-existing code to improve the software
and even come up with their own innovations. Open source comes with a built-in community
that continuously modifies and improves the source code. Open source provides great learning
opportunities for new programmers.

Principle of open source

Transparency: Whether we're developing software or solving a business problem, we all


have access to the information and materials necessary for doing our best work. And when these
materials are accessible, we can build upon each other's ideas and discoveries. We can make
more effective decisions and understand how decisions affect us.

Collaboration: When we're free to participate, we can enhance each other's work in
unanticipated ways. When we can modify what others have shared, we unlock new possibilities.
By initiating new projects together, we can solve problems that no one can solve alone. And
when we implement open standards, we enable others to contribute in the future.

Release early and often: Rapid prototypes can lead to rapid discoveries. An iterative
approach leads to better solutions faster. When you're free to experiment, you can look at
problems in new ways and seek answers in new places. You can learn by doing.

Inclusive meritocracy: Good ideas can come from anywhere, and the best ideas should
win. Only by including diverse perspectives in our conversations can we be certain we've
identified the best ideas, and decision-makers continually seek those perspectives. We may not
operate by consensus, but successful work determines which projects gather support and effort
from the community.

Community: Communities form when different people unite around a common purpose.
Shared values guide decision making, and community goals supersede individual interests and
agendas.
Open-Source Standards:

Open standards are measures and norms developed, approved, and maintained for the public by a
governing body and qualified contributors using a collaborative and consensus-driven process.
Open standards enable interoperability and data exchange among different products or services
so technologies can be widely adopted . Standards boards, such as the W3C for the
internet, IEEE for engineering, computing and technology, and CNCF for cloud-native
computing, provide clearing houses and guidelines for these standards.

Requirement for software:

Software requirements for a system are the description of what the system should do, the service
or services that it provides and the constraints on its operation. The IEEE Standard Glossary of
Software Engineering Terminology defines a requirement as

1. A condition or capability needed by a user to solve a problem or achieve an objective.


2. A condition or capability that must be met or possessed by a system or system component
to satisfy a contract, standard, specification, or other formally imposed document.
3. A documented representation of a condition or capability as in 1 or 2.

The activities related to working with software requirements can broadly be broken down into
elicitation, analysis, specification, and management.

Note that the wording Software requirements is additionally used in software release notes to
explain, which depending software packages are required for a certain software to be
built/installed/used.

Requirement for software:

1. Free Redistribution

The license shall not restrict any party from selling or giving away the software as a component
of an aggregate software distribution containing programs from several different sources. The
license shall not require a royalty or other fee for such sale.

2. Source Code
The program must include source code, and must allow distribution in source code as well as
compiled form. Where some form of a product is not distributed with source code, there must be
a well-publicized means of obtaining the source code for no more than a reasonable reproduction
cost, preferably downloading via the Internet without charge. The source code must be the
preferred form in which a programmer would modify the program. Deliberately obfuscated
source code is not allowed. Intermediate forms such as the output of a preprocessor or translator
are not allowed.
3. Derived Works
The license must allow modifications and derived works, and must allow them to be distributed
under the same terms as the license of the original software.
4. Integrity of The Author’s Source Code
The license may restrict source-code from being distributed in modified form only if the license
allows the distribution of “patch files” with the source code for the purpose of modifying the
program at build time. The license must explicitly permit distribution of software built from
modified source code. The license may require derived works to carry a different name or
version number from the original software.

5. No Discrimination Against Persons or Groups

The license must not discriminate against any person or group of persons.

6. No Discrimination Against Fields of Endeavor

The license must not restrict anyone from making use of the program in a specific field of
endeavor. For example, it may not restrict the program from being used in a business, or from
being used for genetic research.

7. Distribution of License

The rights attached to the program must apply to all to whom the program is redistributed
without the need for execution of an additional license by those parties.

8. License Must Not Be Specific to a Product

The rights attached to the program must not depend on the program’s being part of a particular
software distribution. If the program is extracted from that distribution and used or distributed
within the terms of the program’s license, all parties to whom the program is redistributed should
have the same rights as those that are granted in conjunction with the original software
distribution.

9. License Must Not Restrict Other Software


The license must not place restrictions on other software that is distributed along with the
licensed software. For example, the license must not insist that all other programs distributed on
the same medium must be open-source software.

10. License Must Be Technology-Neutral

No provision of the license may be predicated on any individual technology or style of interface.

Free Software:
Free software means software that respects users’ freedom and community. Roughly, it means
that the users have the freedom to run, copy, distribute, study, change and improve the software.
The term “free software” is sometimes misunderstood—it has nothing to do with price. It is
about freedom.

Advantages:
 Cost: Free software is typically free to use, modify and distribute.
 Freedom: Free software is often accompanied by a set of ethical principles that promote
users’ freedom to use, study, modify, and share the software.
 Collaboration: Free software often encourages collaboration among developers and users,
leading to faster development and better quality software.
 Transparency: Free software is often developed in a transparent way, with the source code
and development process available for public scrutiny.
 Flexibility: Free software can be used on a wide range of platforms and devices.

Disadvantages:
 Support: While free software does have a community of developers and users, it may not
always have the same level of professional support as commercial software.
 Compatibility: Free software may not always be compatible with other software
applications and hardware devices.
 Security: Because free software is available for everyone to use and modify, it may be
easier for malicious actors to identify and exploit vulnerabilities.
 Complexity: Free software can be more complex and difficult to use than commercial
software, especially for non-technical users.
 Documentation: Free software may not always have the same level of documentation and
user guides as commercial software
.
Open Source Software

Open Source Software is something that you can modify as per your needs, and share with
others without any licensing violation burden. When we say Open Source, the source code
of the software is available publicly with Open Source licenses like GNU (GPL) which
allows you to edit the source code and distribute it. Read these licenses and you will
realize that these licenses are created to help us.
1. Coined by the development environments around software produced by open
collaboration of software developers on the internet.
2. Later specified by the Open Source Initiative (OSI).
3. It does not explicitly state ethical values, besides those directly associated with software
development.

Advantages:
 Cost: Open source software is typically free to use, modify and distribute.
 Customization: The source code of open source software is available to everyone,
allowing users to modify and customize it to suit their needs.
 Community support: Open source software often has a large community of developers
and users who contribute to its development and provide support.
 Transparency: The source code of open source software is open for everyone to see,
making it easier to identify and fix bugs and vulnerabilities.
 Flexibility: Open source software can be used on a wide range of platforms and devices.

Disadvantages:
 Support: While open source software does have a large community of developers and
users, it may not always have the same level of professional support as commercial
software.
 Compatibility: Open source software may not always be compatible with other software
applications and hardware devices.
 Security: Because the source code of open source software is available to everyone, it
may be easier for malicious actors to identify and exploit vulnerabilities.
 Complexity: Open source software can be more complex and difficult to use than
commercial software, especially for non-technical users.
 Documentation: Open source software may not always have the same level of
documentation and user guides as commercial software.

Difference between Free Software and Open Source Software

S.
No. FS Philosophy OSS Philosophy

In response to the restrictions of free


It was coined by the Free Software
software, the phrase “open source” was
Foundation in the 1980s.
1. coined in the late 1990s.

Software is an important part of people’s Software is just software. There are no


2. lives. ethics associated directly with it.

Software freedom translates to social Ethics are to be associated with the


3. freedom. people not with the software.

Freedom is not an absolute concept.


Freedom is a value that is more important
Freedom should be allowed, not
than any economical advantage.
4. imposed.

Every open-source software is not free


Every free software is open source.
5. software.

6. There is no such issue that exists in free There are many different open-source
S.
No. FS Philosophy OSS Philosophy

software licenses, and some of them are


software. quite restricted, resulting in open-source
software that is not free.

No restrictions are imposed on free Open-source software occasionally


7. software. imposes some constraints on users.

Examples: The Free Software Directory Examples: Prime examples of open-


maintains a large database of free software source products are the Apache HTTP
packages. Some of the best-known Server, the e-commerce platform Open
examples include the Linux kernel, the Source Commerce, internet browsers
BSD and Linux operating systems, the Mozilla Firefox, and Chromium (the
GNU Compiler Collection and C library; project where the vast majority of
the MySQL relational database; the development of the freeware Google
Apache web server; and the Sendmail mail Chrome is done), and the full office suite
8. transport agent. LibreOffice.

You might also like