Fundamentals of Free and Open
Fundamentals of Free and Open
Linux is a free and open-source operating system written in C language and designed by Linus
Torvalds. It is free and its source code is available for everyone to modify for commercial and non-
commercial uses everyone under GNU (General Public Licence).
Linux is one of the most popular versions of the UNIX system.
LINUX is used extensively everywhere, from cars to home appliances, smartphones to
supercomputers.
Linux as an Operating System provides a wide range of features that can be used by a wide range of
systems such as servers and computers.
Android OS is also based on the Linux kernel that extends its usage for building embedded systems
and automation systems.
.
What are the Features of Linux Operating Systems?
In Linux operating system you can customize everything from kernel to what software and apps you
want to install. In addition, while controlling apps, you can also have control over your data. This
improved privacy makes Linux one of the best choice for enterprises. Operating systems like Arch
Linux support complete customization. While installing Arch you can choose which GUI you want to
use.
Linux is a command line-based OS but it can be converted to GUI based by installing packages. The
most popular method for getting a GUI in a Linux system is logging into an Ubuntu server and
installing its desktop environment.
End-to-end encryption
Linux allows end-to-end encryption while accessing data thus storing public keys in the server. All
data is password protected and provides authentication to users. It also allows many security features
and provides file permissions, a secure shell, etc.
Portable Environment
Linux software operates flawlessly on a variety of hardware platforms. Without the worry of
incompatibility, individuals can use Linux operating system on any device. It runs the same way on
both high-end and low-end hardware.
Extremely Flexible
It is highly flexible, and a variety of desktop applications, embedded systems, and server applications
can benefit from the same. It also offers a number of computer-specific limitation settings for admins
to allow only essential components to get installed. (There are no prerequisites for installing an
entire Linux suit. It allows a user to install only the components that are required by the user).
Lightweight Infrastructure
It is a highly lightweight operating system. It has far fewer prerequisites than any other operating
system, has a smaller memory footprint, and uses less storage space. Typically, you'll find a Linux
Distro with only 128MB of RAM and around the same amount of disc space.
Shell/ Command-line Interface
The Shell command-line interpreter on Linux provides an interface between the user and the kernel,
which runs the program known as commands. It is efficient and takes less time and space while
executing the tasks.
Linux comes with a well-defined file structure where user files are arranged in a definite directory
structure. According to the type of files, the directories are categorised as Binary
directories, configuration directories, Data directories, memory directories, User(Unix System
Resources), var(variable directory) and non standard directories.
Customized keyboard
Linux is available in all languages which makes it acceptable worldwide. As a result, you can change
the language on your keyboard as per your preference and requirements.
Linux operating system provides a wide range of accessible software updates that can be deployed and
used according to requirements. They update more frequently thus giving users an option to choose
the updates and install them as per their need.
Multi-User
Linux is a multi-user operating system, it allows multiple users to access the system resources like
memory, CPU, hard disk, etc at the same time. But they have to use different terminals to operate.
Security: Unlike Windows and other operating systems, the Linux operating system has a set of very
strict rules that make it very difficult to access files. The Linux operating system is internally secure.
It provides security in three ways namely authenticating (by assigning password and login ID),
authorization (by assigning permission to read, write and execute) and encryption (converts file into
an unreadable format).
Linux is famous for being more secure and less prone to viruses and malware. It also provides
security by assigning permissions (read, write and execute). This limits the number of actions an
unauthorized user can take. Linux also supports encryption; this provides higher security against
unauthorized access.
But Linux is much more secure. In Windows, you need to install or purchase antivirus software to
protect your computer from hackers and malware. But in Linux there is no need to use such anti-virus
programs.
Application Support
Most Linux distributions have their own software repository. From these repositories, you can
download and install thousands of Applications. You can also add more repositories to download
applications from. Linux distributions can also run Windows applications using some applications
like Wine. This will allow you to use your favourite Windows apps on Linux also.
Most Linux distributions support live CD/USB mode. This mode enables you to try and use Linux
distribution even before installing it. Some Linux distributions also support installing on USB with
persistence also. This makes installing Linux easy as it might not even require space on your Hard-
drive.
OS according to purpose
There are various Linux distributions and some created specifically for some special purposes only.
For example, for image and video editing, one can install a distro(Linux OX) like Fedora Design, for
those who want some really secure OS can choose a distro like TailsOS or Cube OS. Chances are
depending on your Use you might also find a Linux distro that can especially cater to your needs.
Privacy
Linux is a complete privacy solution. First of all, Linux distributions do not collect much (or none) of
information. In addition, you will not need additional tools to protect your privacy.
Multitasking
Multitasking allows multiple applications to run simultaneously by effectively dividing the CPU time
intelligently.
Vendor lock-in is prominently visible in cloud computing solutions, where the switching of
data/services swapping and integration, though not always costly, is highly complex.
Microsoft has long used vendor lock-in to grow and maintain its customer base. The
company encourages people to use Windows by enticing them and making it hard to switch away.
Compatibility issues
Many types of proprietary hardware need specialised drivers to run open-source programs,
which are often only available from the equipment manufacturer. This can potentially add to
the cost of your project. Even if an open-source driver exists, it may not work with your
software as well as the proprietary driver.
User Experience
This doesn't get expressed enough. Many open-source tools and software give an interface
over the command line as they target other developers first. The UI which is then developed
is not good enough to impress end-users. Even if the software is feature-rich, a less
impressive experience bids adieu to users.
Documentation
One of the most troublesome issues with open-source software is documentation. There is
often inadequate documentation in projects which cause a great deal of inconvenience to new
users, contributors and adopters of the project. This is not the case with all, but many
projects. It mainly arises because contributors concentrate more towards working on the
project than on documenting it (which takes a great deal of time and decreases productivity).
Liabilities and warranties - With proprietary software, the developer usually provides
indemnification and warranty as part of a standard licence agreement. This is because they
fully control and copyright the product and its underlying code. Open-source software
licences typically contain only limited warranty and no liability or infringement indemnity
protection.
Hidden costs - Software that is free up-front but later costs money to run can be a major
burden, especially if you haven't considered hidden costs from the outset.
No Support Contracts Available - Another downside that should also factor into your
decision-making process is that most open-source vendors don't typically offer support
contracts. If you're used to paying a company to provide you with technical support and other
services, going open source will mean a change of habit.
Can be Risky - Releasing your source code openly and making it accessible to everyone can
invite the vulnerability in the software. Not all the members come with the mindset to benefit
the software, some may intend to harm the software with identity theft, virus transfers, and
other malicious practices
It’s not User – Friendly - There exists some open-source software that simplifies huge
problems be it computational or technical, but their Graphical User Interface (GUI) isn’t
pretty much easy. If you are willing to work on them you need to spend ample time learning
their software.
Less Personalized Support - In OSS everyone can freely edit or upgrade the software
according to their level of understanding. But since the work is volunteered, they don’t
provide the documentation of the code so the members may have difficulty in understanding
the code.
You need to pay sometimes - An open-source software is free at first but it can later costs
money if you face issues in implementing the software. The request to third-party support or
applications to set up or the maintenance of the software may charge you additionally
Compatibility issues - Many types of proprietary hardware need specialised drivers to run
open-source programs, which are often only available from the equipment manufacturer. This
can potentially add to the cost of your project. Even if an open-source driver exists, it may
not work with your software as well as the proprietary driver.
Risk of Vendor Lock-In - Open-source software can also prevent users from switching
vendors without making major changes or investing more time and money into the process.
This is because most applications are released under permissive licenses, which allow others
to use them freely and modify them as well.
While this limits your ability to go back on any decisions that have been made in choosing an
application for business purposes, it also provides some protection against vendor lock-in,
which could otherwise be quite costly over time.
In general, proprietary software doesn't provide end users or subscribers with access to its source
code. It can be purchased or licensed for a fee, but relicensing, distribution or copying is prohibited.
Most software is proprietary software and is produced by an independent software vendor (ISV). The
restrictions or conditions imposed by the vendor/developer on proprietary software is elaborated
within the software's end-user license agreement (EULA), terms of service agreement (TOS) or other
related use agreements. The user/organization must accept the agreement prior to installing or using
the software. The software developer/vendor can take legal action against the end-user/organization
for violating the EULA or TOS.
The source code of this kind of software is not visible to anyone except the owner. The owner can be
the developer or the organization releasing the software.
So even when you pay the fee to obtain the license, you don’t have any access and rights to view,
copy, distribute or modify the source code of the proprietary software.
In other words, you simply pay to get a “license to use as per the guidelines given by the owner”
nothing else.
It’s therefore subject to copyright laws, and only the author or owner has control over its
development, just like with any other product. Producing proprietary software provides a clear
business model – the owners sell their product and make money.
Proprietary software is software that legally remains the property of its creator, whether that’s an
individual, an organisation or a company. That means they own all rights to the product, including the
intellectual property rights to the source code: the code that makes the program run.
Product Stability: The software is stable because the development is totally the responsibility of the
owner. Hence, the software is stable in working. Moreover, it does not crash easily. Therefore, it is
better to use them for business purposes. (Its releases are stable throughout and the software does not
crash easily.)
Reliable: It can be relied upon during handling of critical processes.
Uniqueness: It is unique in nature, packed with multiple features and does not have much alternatives.
Customer Service: The users are paying for the software hence, it is the duty of the vendors to provide
customer service. Since the vendors are making money from the customers so, they cannot refuse to
provide any technical support.
Tailored support: For the user, paying for a product means better customer service. Closed source
vendors spend significant time and money fine-tuning specific products. Typically, closed source
software has fewer functions and a narrower application, meaning training and after-sale support is
more complete, accessible and effective.
Good user interface: Since the vendors depend on the customers to buy their software. Therefore, it is
important to build user-friendly software. Besides, there are many open-source software that people
can choose from. Hence, developers need to provide a good user experience. Therefore, this software
is easy to use. (Highly user-friendly and the software is customized to specific purposes).
Revenue: Since the users pay for the software hence, it is a great source of revenue for the developers.
It is costly in nature.
Redistribution is forbidden.
The lifespan of the software depends on the vendors. Hence, there may be a great loss while using this
software in business if the software is removed from the market.
The software is rigid in nature. it means that you cannot modify the features according to your needs.
The users have no right to share the software.
Even when you purchase the license, you have several restrictions on using the software and you can’t
modify it.
The usage of the software may be restricted like ‘can only be installed on one computer’. So
depending on the agreement, the installation of software on different workstations varies.
If it has any missing features or bugs, then you have to wait until they are resolved by the owner.
User dependency
As proprietary software is privately-owned, it means you have no control over the lifespan of the
product.
Less flexibility
Proprietary software is often a rigid, finished product, created for specific purposes. As such, it can be
difficult to tailor the software to your particular company needs or customise the software if this isn’t
already an option.
One of the significant drawbacks of proprietary software is that once the copyright holders stop
manufacturing it, it can disappear into the abyss. This type of software is known as ‘abandonware’,
the digital version of ‘orphaned works’. For businesses, abandonware is one of the risks of relying on
proprietary software – if your operations are based on a programme which discontinues, you’re in for
an expensive switchover.
Although it’s no longer being made, abandoned software will stick around for as long as computer
operating systems support it. Companies can, therefore, continue to use it if it works on their system,
but there won’t be any technical support available for problems, troubleshooting or bug fixing.
Examples of Proprietary Software:
Some of the most popular software programmes on the market are proprietary. Take
Microsoft Windows, revered in the computing world.
MacOS
iOS
Avast antivirus
Adobe Photoshop, illustrator and the rest of the software in the suite
Norton
Norton is the leading software developer when it comes to antivirus solutions. It’s a pioneer
in antivirus protection and cyber security, having over 50 million users across 150 countries.
It’s rated the number one best antivirus software of 2020, having won several awards from
online testing laboratories including AV-Test and the Anti-Malware Testing Standard
Organisation.
Benefits include cloud backups and storage, high-accuracy virus detection without false
flags, identity theft prevention and the option to manage all your devices in one online portal.
Bitdefender
Another top-rated antivirus software is Bitdefender. This software provides excellent virus
protection without being heavy on your computer. Other features include safety when
chatting online in popular social networks, highly rated virus detection and a function which
protects mobiles from physical theft. It scans networks quickly and also operates through a
VPN. To top it off, Bitdefender offers a basic free version with some impressive features.
McAfee
One of the most flexible closed source antivirus software is McAfee. Not only can you
resolve security issues remotely on PCs, but you can protect any number of devices with the
software. They also have a money-back guarantee – if they don’t remove all your malware,
you’ll get a refund. It’s also a good option for keeping
LastPass
Another popular password manager is LastPass. They offer a free version as well as a premium
version at an affordable price. Both versions will store all your
passwords securely across all of your devices, but premium features involve priority customer
support, 1GB of secure online file storage and enhanced multifactor authentication options. It works
on a range of platforms and operating systems, including Windows, macOS, Android and iOS
devices, allowing you to sync passwords between them, too. Its user interface has recently had a
makeover, now offering some advanced features.
ZohoAssist
One of the most competitively priced software packages for remote desktop access is ZohoAssist. It
boasts an impressive array of features, including video and voice chat as well as screen annotation for
collaborative work. You can access almost any device through the software offering maximum
efficiency. They have a tiered range of products available, from standard through to enterprise level.
It’s a particularly good choice for anybody working with sensitive data, as it offers fantastic security
integration options. your documents safe, storing them all in an encrypted folder.
The Open-Source Definition is a list of criteria written by the Open Source Initiative that software
must abide by in order to be called open-source, and get the certification mark.
Free Redistribution – No parties are restricted from selling or giving away a component.
Source Code – There must be an easy means of obtaining the source code.
Derived Works – The license must allow modifications and derived works.
Integrity of The Author’s Source Code – “The license must explicitly permit distribution of
software built from modified source code.”
No Discrimination Against Fields of Endeavor – It can’t discriminate against any person or group
making use of the software, no matter what they’re using it for.
Distribution of License – The rights to the program apply to all “whom the program is redistributed
without the need for execution of an additional license by those parties.”
License Must Not Be Specific to a Product – The program rights can’t be specific to a “particular
software distribution”.
License Must Not Restrict Other Software – The license can’t place restrictions on other software,
such as making other programs open-source if they’re built for commercial use.
License Must Be Technology-Neutral – The license must allow for any individual technology or
interface.
What is Shareware?
Shareware refers to proprietary software which is available to users for free under certain conditions.
/Shareware is demonstration software that you use for a specific evaluation period (usually 30 days)
without paying a fee. After the evaluation period expires, the shareware provider may require you to
purchase a license for the software or to quit using it.
/Shareware software is a software that are freely distributed to users on trial basis. There is a time
limit inbuilt in the software( for example- free for 30 days or 2 months). As the time limit gets over, it
will be deactivated. To use it after time limit, you have to pay for the software.
Software owners who distribute shareware often also have a commercial version of the same product,
in which case the shareware would have limited functions compared with the paid version. Other
shareware might represent the full paid product, but has a very limited period of use, as is the case
with many free trials. The idea behind shareware is to give users a chance to test out the product
before they invest in a license.
Its main advantage is that users can understand and know about the software before buying it.
Shareware programs are often provided without technical support and may have limitations on how
many times the program can be run.
Examples are WinZip, Adobe Acrobat 8 Professional, PHP Debugger 2.1.3.3, GetRight, etc.
Shareware are of following types:
Adware – Contains ads to generate revenue for the developers
Shareware pros:
Free to use.
Shareware cons:
Shareware doesn’t benefit from regular security and functionality updates as licensed
software.
One last thing to mention – neither freeware nor shareware authors don’t make the software
code available for studying or altering. Which brings us to the third software category: open-
source.
What is freeware?
Freeware is software that is free to use and download. Moreover, there are no restrictions on the use
limit, the number of times one can download the software, etc. Besides, it depends on the owner of the
software to pose the restrictions. Some organizations keep restrictions on distribution or modification
while others may not.
Freeware refers to software that requires no paid licenses to use the application, no fees or donations,
no restrictions on how many times you can download or open the program, and no expiration date.
Freeware is free software distributed under terms that allow anyone to download and use it for any
purpose without paying a fee or providing any support. Freeware is often developed by individuals
who want to share their work with others.
Freeware is proprietary software that is available for free, which means anyone
can download it and use it without paying a licensing fee. However, some freeware may
have restrictions on the way it can be used. Independent developers often develop freeware
as a way to get their software out to the public.
There are many reasons why people develop freeware, they may have created the program out of
personal interest or they may have been paid to create the program. Freeware programs are not always
well-written, however, some are quite good.
Freeware software has no EULA, license, or rights of any kind, which means that it can be
deployed on both home and enterprise machines.
Freeware is software that is distributed free of charge.
It is usually fully functional with no expiry date.
A great way to incentivize your potential customers (for soft makers and marketeers gunning
for paid licenses).
Offering a ‘lite’ version of the software to attract people towards the full version.
People who cannot afford to pay money can buy this software.
Freeware cons:
Limited functionality.
No way of reverse-engineering it since the source code is not made available.
Maintenance Charges: After selling the software the company has to spend money to maintain the
software and pay its developers.
Errors Handling: If there are any bugs the organization has to correct them free of cost.
Source Code Access: Users are not having any right on the source code. Hence, they cannot make
any changes according to themselves.
Copyright: The users need to follow certain copyright rules. Besides, they cannot use the software
without following these rules.
Adobe PDF
yahoo messenger
Google Talk
MSN messenger
Discord (IM used by the gaming community), Yahoo Messenger (rest in peace, my friend),
µTorrent, IrfanView, Groove Music, Winamp, DVD Shrink, CCleaner, VLC Player. LibreOffice
, Microsoft Edge etc.
Features of any open-source software closely align with the values of the open-source movement.
Open source
Open-source software must be released under an open-source license that meets certain distribution
criteria, such as the following:
Open design
Open design guarantees a transparent and open process for designing and planning software. It's about
letting the community drive the software’s design and feature roadmap. This can be challenging
because getting community consensus can be a time-consuming process. However, community-
agreed design leads to a better product that more effectively meets users’ needs.
Open development
Open development is the adoption of inclusive and transparent development processes that allow
everyone to participate as equals. Publicly accessible services bring visibility to development
activities. For example, open-source projects typically adopt a set of standards that clearly state the
metrics that a contribution will be evaluated against. This allows all software updates to be given
equal consideration, whether that update is from a first-time contributor or a senior developer.
Open community
Open community ensures that the software development community is an inclusive environment
where all voices are heard and anyone can rise to leadership positions. It balances the needs of both
developers and users by establishing common goals and building strong connections.
Community
An open-source community is a group of people who come together to achieve a common purpose.
Their shared values and goals guide decision making and drive the open-source project forward.
Transparency
Open-source projects ensure that everyone in the community has access to the information and
materials necessary for doing their best work. With awareness of the bigger picture, team members
make more effective decisions and build on each other's ideas and discoveries.
Open collaboration
Community projects encourage teamwork, so a group solves problems that individuals alone cannot.
For example, members in any open-source initiative contribute changes to improve what someone
else has built. You can also establish rules so others can modify the solution as needed in the future.
Rapid prototyping
An open-source project follows an iterative approach, in which team members create and share
prototypes at frequent intervals. Rapid prototyping encourages a culture of experimentation. You can
improve and carry forward changes that work and discard those that don't.
Inclusive meritocracy
The open-source movement encourages diverse perspectives and conversations. The community
makes decisions by consensus but also prioritizes success. The best ideas get more support and effort
from the open-source community.
What is open-source software?
Open source software, is software that is available for anyone to use, modify, share, and
build upon entirely free of charge.
Open source software refers to the software in which source code is visible to the public and
the software is usually free to use.
Anyone can use the source code, study how it works, distribute and/or modify the source
code to improve the performance of the software.
Open-source software is often developed in a collaborative environment where
developers constantly add, modify, or change it.
Famous examples of OSS include Linux, Android and Drupal, which are some of the biggest
names in their respective fields.
(Drupal is a popular content management framework used by websites like eBay and
Whitehouse.gov, while Linux is a popular alternative operating system.)
OSS is typically developed by teams of volunteers. This can be anyone from individual
programmers to large companies, improving the software organically.
For example, Github is a community and task management platform for developers
where they can collaborate on open source projects by fixing bugs and contributing
code. This allows people to develop their skills and learn from other developers.
Open source projects normally begin with a new idea, or additional functionality or
capability for an existing OSS component. The idea is quickly formed into a
prototype, and the software is released as soon as it runs. It’s a powerful system to
prioritise projects for the benefit of society, and there are already many open source
projects that help the non-profit world such as Khan Academy or the MIT Open
Agriculture Initiative.
Despite the potential for bugs and poor compatibility, this early release is quickly
improved by an online community, who liaise with the development team to note any
problems with the open-source code and the software. This development cycle
continues until the latest release is stable, with further work taking place to improve
the quality of the code in the long-term.
Advantages
The peer-review system improves quality and functionality (as long as the team
responds to feedback!)
It helps to level the playing field for smaller businesses and users, by saving them
time and money.
Security is arguably tighter than proprietary software, as any bugs are dealt with
as soon as they’re found by members of the community.
More secure
Stable
Helps in becoming a better programmer as you can learn and develop from the source code
to make new softwares.
Disadvantages
You can also face compatibility issues if you don’t have specialised drivers needed
to run the software.
Smaller projects can fail, due to a lack of user-generated feedback or the devs
losing interest.
Former Microsoft CEO Steve Ballmer expressed his distrust for the Linux OS on
multiple occasions when he was at the helm of the tech giant in the early 2000’s,
calling it a “cancer”. A few years later in 2005, Bill Gates said free software
developers were “a new type of communist” when asked to comment on the
possibility of sharing source codes and patents.
Examples of Open-source
The Open source movement has produced some of the most stable and widely used software packages
ever produced.
Apache HTTP web server
Moodle
OpenOffice
PHP
perl