Open Source Software
Open Source Software
Open Source Software
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.
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.
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
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.
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.
The license must not discriminate against any person or group of persons.
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.
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.
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.
S.
No. FS Philosophy OSS Philosophy
6. There is no such issue that exists in free There are many different open-source
S.
No. FS Philosophy OSS Philosophy