Introduction to Open source Software
Introduction to Open source Software
Unit -1
The term open source refers to something people can modify and share because its design is publicly
accessible.
The term originated in the context of software development to designate a specific approach to creating
computer programs. Today, however, “open source” designates a broader set of values—what we call
“the open source way.” Open source projects, products, or initiatives embrace and celebrate principles
of open exchange, collaborative participation, rapid prototyping, transparency, meritocracy, and
community-oriented development.
Open source software is software with source code that anyone can inspect, modify, and enhance.
“Source code” is the part of software that most computer users don’t ever see; it’s the code computer
programmers can manipulate to change how a piece of software—a “program” or “application”—works.
Programmers who have access to a computer program’s source code can improve that program by
adding features to it or fixing parts that don’t always work correctly.
What’s the difference between open source software and other types of software?
Some software has source code that only the person, team, or organization who created it—and
maintains exclusive control over it—can modify. People call this kind of software “proprietary” or
“closed source” software.
Only the original authors of proprietary software can legally copy, inspect, and alter that software. And
in order to use proprietary software, computer users must agree (usually by signing a license displayed
the first time they run this software) that they will not do anything with the software that the software’s
authors have not expressly permitted. Microsoft Office and Adobe Photoshop are examples of
lproprietary software.
Open source software is different. Its authors make its source code available to others who would like to
view that code, copy it, learn from it, alter it, or share it. LibreOffice and the GNU Image Manipulation
Program are examples of open source software.
As they do with proprietary software, users must accept the terms of a license when they use open
source software—but the legal terms of open source licenses differ dramatically from those of
proprietary licenses.
Open source licenses affect the way people can use, study, modify, and distribute software. In general,
open source licenses grant computer users permission to use open source software for any purpose
they wish. Some open source licenses—what some people call “copyleft” licenses—stipulate that
anyone who releases a modified open source program must also release the source code for that
program alongside it. Moreover, some open source licenses stipulate that anyone who alters and shares
a program with others must also share that program’s source code without charging a licensing fee for
it.
By design, open source software licenses promote collaboration and sharing because they permit other
people to make modifications to source code and incorporate those changes into their own projects.
They encourage computer programmers to access, view, and modify open source software whenever
they like, as long as they let others do the same when they share their work.
No. Open source technology and open source thinking both benefit programmers and non-
programmers.
Because early inventors built much of the Internet itself on open source technologies—like the Linux
operating system and the Apache Web server application—anyone using the Internet today benefits
from open source software.
Every time computer users view web pages, check email, chat with friends, stream music online, or play
multiplayer video games, their computers, mobile phones, or gaming consoles connect to a global
network of computers using open source software to route and transmit their data to the “local” devices
they have in front of them. The computers that do all this important work are typically located in
faraway places that users don’t actually see or can’t physically access—which is why some people call
these computers “remote computers.”
More and more, people rely on remote computers when performing tasks they might otherwise
perform on their local devices. For example, they may use online word processing, email management,
and image editing software that they don’t install and run on their personal computers. Instead, they
simply access these programs on remote computers by using a Web browser or mobile phone
application. When they do this, they’re engaged in “remote computing.”
Some people call remote computing “cloud computing,” because it involves activities (like storing files,
sharing photos, or watching videos) that incorporate not only local devices but also a global network of
remote computers that form an “atmosphere” around them.
Cloud computing is an increasingly important aspect of everyday life with Internet-connected devices.
Some cloud computing applications, like Google Apps, are proprietary. Others, like ownCloud and
Nextcloud, are open source.
Cloud computing applications run “on top” of additional software that helps them operate smoothly and
efficiently, so people will often say that software running “underneath” cloud computing applications
acts as a “platform” for those applications. Cloud computing platforms can be open source or closed
source. OpenStack is an example of an open source cloud computing platform.
People prefer open source software to proprietary software for a number of reasons, including:
Control. Many people prefer open source software because they have more control over that kind of
software. They can examine the code to make sure it’s not doing anything they don’t want it to do, and
they can change parts of it they don’t like. Users who aren’t programmers also benefit from open source
software, because they can use this software for any purpose they wish—not merely the way someone
else thinks they should.
Training. Other people like open source software because it helps them become better programmers.
Because open source code is publicly accessible, students can easily study it as they learn to make better
software. Students can also share their work with others, inviting comment and critique, as they develop
their skills. When people discover mistakes in programs’ source code, they can share those mistakes
with others to help them avoid making those same mistakes themselves.
Security. Some people prefer open source software because they consider it more secure and stable
than proprietary software. Because anyone can view and modify open source software, someone might
spot and correct errors or omissions that a program’s original authors might have missed. And because
so many programmers can work on a piece of open source software without asking for permission from
original authors, they can fix, update, and upgrade open source software more quickly than they can
proprietary software.
Stability. Many users prefer open source software to proprietary software for important, long-term
projects. Because programmers publicly distribute the source code for open source software, users
relying on that software for critical tasks can be sure their tools won’t disappear or fall into disrepair if
their original creators stop working on them. Additionally, open source software tends to both
incorporate and operate according to open standards.
Community. Open source software often inspires a community of users and developers to form around
it. That’s not unique to open source; many popular applications are the subject of meetups and user
groups. But in the case of open source, the community isn’t just a fanbase that buys in (emotionally or
financially) to an elite user group; it’s the people who produce, test, use, promote, and ultimately affect
the software they love.
No. This is a common misconception about what “open source” implies, and the concept’s implications
are not only economic.
Open source software programmers can charge money for the open source software they create or to
which they contribute. But in some cases, because an open source license might require them to release
their source code when they sell software to others, some programmers find that charging users money
for software services and support (rather than for the software itself) is more lucrative. This way, their
software remains free of charge, and they make money helping others install, use, and troubleshoot it.
While some open source software may be free of charge, skill in programming and troubleshooting open
source software can be quite valuable. Many employers specifically seek to hire programmers with
experience working on open source software.
At Opensource.com, we like to say that we’re interested in the ways open source values and principles
apply to the world beyond software. We like to think of open source as not only a way to develop and
license computer software, but also an attitude.
Approaching all aspects of life “the open source way” means expressing a willingness to share,
collaborating with others in ways that are transparent (so that others can watch and join too),
embracing failure as a means of improving, and expecting—even encouraging—everyone else to do the
same.
It also means committing to playing an active role in improving the world, which is possible only when
everyone has access to the way that world is designed.
The world is full of “source code”—blueprints, recipes, rules—that guide and shape the way we think
and act in it. We believe this underlying code (whatever its form) should be open, accessible, and shared
—so many people can have a hand in altering it for the better.
Here, we tell stories about the impact of open source values on all areas of life—science, education,
government, manufacturing, health, law, and organizational dynamics. We’re a community committed
to telling others how the open source way is the best way, because a love of open source is just like
anything else: it’s better when it’s shared.
Open source software can have a major impact on your entire organization. There are several advantages of
using open source software. The following are a list of the advantages of opting for open source software.
1. Lesser hardware costs
Since Linux and open source solutions are easily portable and compressed, it takes lesser
hardware power to carry out the same tasks when compared to the hardware power it takes
on servers, such as, Solaris, Windows or workstations. With this less hardware power
advantage, you can even use cheaper or older hardware and still get the desired results.
2. High-quality software
Open source software is mostly high-quality software. When you use the open source
software, the source code is available. Most open source software are well-designed. Open
source software can also be efficiently used in coding. These reasons make open source
software an ideal choice for organizations.
3. No vendor lock-in
IT managers in organizations face constant frustration when dealing with vendor lock-ins'.
Lack of portability, expensive license fees and inability to customize software are some of the
other disadvantages. Using open source software gives you more freedom and you can
effectively address all these disadvantages.
4. Integrated management
By using open source software, you can benefit from integrated management. Open source
software uses technologies, such as, common information model (CIM) and web based
enterprise management (WBEM). These high-end technologies enable you to integrate and
combine server, application, service and workstation management. This integration would
result in efficient administration.
5. Simple license management
When you use open source software, you would no longer need to worry about licenses. Open
source software enables you to install it several times and also use it from any location. You
will be free from monitoring, tracking or counting license compliance.
6. Lower software costs
Using open source software can help you minimize your expenses. You can save on licensing
fees and maintenance fees. The only expenses that you would encounter would be
expenditure for documentation, media and support.
7. Abundant support
You will get ample support when you use open source software. Open source support is
mostly freely available and can be easily accessed through online communities. There are also
many software companies that provide free online help and also varied levels of paid support.
Most organization who create open source software solutions also provide maintenance and
support.
8. Scaling and consolidating
Linux and open source software can be easily scaled. With varied options for clustering, load
balancing and open source applications, such as email and database, you can enable your
organization to either scale up and achieve higher growth or consolidate and achieve more
with less.