0% found this document useful (0 votes)
32 views

Open Software SW Paradigm

The document discusses open source software and provides details about its definition, paradigm, use in practice, and business models. Open source software refers to software with source code that is freely available and can be modified. It has advantages like more rapid innovation, reliability, security, and affordability compared to closed source software. Many widely used programs like Linux, Apache, and Firefox are open source. Open source also has principles like free redistribution and access to source code. It is used in operating systems, web servers, databases, programming languages, and more. Companies like Google, Amazon, and Facebook extensively use open source in their products and services.

Uploaded by

melakmubetty
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views

Open Software SW Paradigm

The document discusses open source software and provides details about its definition, paradigm, use in practice, and business models. Open source software refers to software with source code that is freely available and can be modified. It has advantages like more rapid innovation, reliability, security, and affordability compared to closed source software. Many widely used programs like Linux, Apache, and Firefox are open source. Open source also has principles like free redistribution and access to source code. It is used in operating systems, web servers, databases, programming languages, and more. Companies like Google, Amazon, and Facebook extensively use open source in their products and services.

Uploaded by

melakmubetty
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 107

AASTU University

Department of Software Engineering

Open Source Software Paradigm

Prepared By Bekretsyon B. (M.Sc.)

1 1
Contents
 Introduction to Open Source
 Open source paradigm
 Open Source Software in Practice
 Economics of Open Source
 Open Source Business Models
 Benefits of Open Source
 pen-Source Software Criteria

2
Open-source software (OSS)
 A software whose source code is freely distributed with a license to use, study,
change and distributed to anyone for any purpose
 Software whose source code is available for modification or enhancement by anyone.
 Source code is available to users-usually free ($) or cheap to acquire and use
 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.
 Open-source software
 May be developed in a collaborative, public manner
 Any one can contribute to OSS project by submitting code changes, bug reports,
documentation reports updates
 Any capable user is able to participate online in development

3
Cont’d
 There are two broad categories of open-source licenses, permissive and copyleft.
 Permissive licenses originate in academia.
 They grant the rights to modify and distribute with certain conditions.
 These academic licenses usually require attribution to credit the original authors
and a disclaimer of warranty.
 Copy left licenses have their origins in the free software movement.
 Copy left also requires attribution, disclaims warranties, and grants the rights to
modify and distribute.
 The difference is that copy left demands reciprocity. Any derivative works must be
distributed with the source code under a copy left license.

4
Open source paradigm
 The is a set of assumptions, concepts, values, and practices that constitutes a
way of developing and distributing software.
 It is based on the idea that software should be freely available to everyone, and that
anyone should be able to use, modify, and distribute it without restriction.
 The open source paradigm is often contrasted with closed source paradigm,
 Software is developed and distributed by a single company or organization.
 In closed source model, source code of software is not available to public, and
users are only able to use the software in the way that the developer
intended.

5
Cont’d
 Open source paradigm has a number of advantages over closed source paradigm.
 First, it allows for more rapid innovation and development.
 When source code of software is freely available, anyone can contribute to its improvement.
 This leads to faster development cycle, and to more innovative and useful software products.
 Second, open source paradigm makes software more reliable and secure.
 When many people are able to examine and modify the source code of a software program, any bugs or
security vulnerabilities are more likely to be found and fixed quickly.
 Third, open source paradigm makes software more affordable.
 Open source software is typically distributed for free, or at a very low cost.
 This makes it more accessible to people and organizations in developing countries, and to individuals and
small businesses.

6
Cont’d
 In addition OSS has a number of advantages over closed source software
 Innovation: OSS is more innovative than closed source software because anyone can contribute to
its development. This means that new features and bug fixes are often added to OSS projects more
quickly than to closed source projects.
 Reliability: OSS is more reliable than closed source software because its source code is open to
scrutiny by anyone.This means that bugs are more likely to be found and fixed quickly.
 Security: OSS is more secure than closed source software because its source code is open to
scrutiny by anyone. This means that security vulnerabilities are more likely to be found and fixed
quickly.
 Cost: OSS is often free to use, modify, and distribute. This makes it a good option for
individuals, small businesses, and organizations in developing countries.

7
Cont’d
 Open source paradigm has been very successful in software development industry.
 Many of the most popular and widely used software programs in the world, such as Linux operating
system,Apache HTTP server, and Mozilla Firefox web browser, are open source.
 It has also been adopted in other fields, such as hardware development, education, and scientific
research.
 Here are some of the key principles of the open source paradigm:
 Free redistribution: Anyone should be able to freely redistribute the software, both in its original
form and in modified forms.
 Source code access: source code of software should be freely available to everyone.
 Modification:Anyone should be able to freely modify software and redistribute modified versions.

8
Cont’d
 Integrity of the author's source code: The license must guarantee that integrity of the author's
source code is maintained. This means that the license must not allow for the distribution of
modified versions of the software under different terms than the original license.

 No discrimination against persons or groups: The license must not discriminate against any person
or group of persons.

 No discrimination against fields of endeavor: The license must not prohibit anyone from using the
software for any particular purpose.

 Distribution of the license: The rights attached to the software must apply to all to whom the
software is redistributed, without the need for additional permission from the copyright holder.

 Technology-neutral: The license must not be specific to any particular technology or programming
language.
9
Cont’d
 The open source paradigm has had a profound impact on the world.
 It has made software more accessible, reliable, and secure.

 It has also led to the development of some of the most important and innovative software
products in the world

10
Open Source Software in Practice
 Open source software (OSS) is used in a wide variety of ways in practice.

 Some of the most common uses include:


 Operating systems: Many of the most popular operating systems in the world, such as Linux, Android, and mac
OS, are open source.

 Web servers: Apache HTTP server, which powers over half of all websites on the internet, is open source.

 Database servers: MySQL and PostgreSQL database servers, which are used by millions of websites and
applications, are open source.

 Programming languages: Many popular programming languages, such as Python, Java, and PHP, are open source.

 Web browsers: Mozilla Firefox and Chromium web browsers, which are used by hundreds of millions of
people around the world, are open source.

11
Cont’d
 Office suites: The LibreOffice office suite, which is a free and open source alternative to Microsoft
Office, is used by millions of people around the world.
 Graphics software: The GIMP image editor and Inkscape vector graphics editor are free and open source
alternatives to Adobe Photoshop and Illustrator.
 Video games: Many popular video games, such as Minecraft and Dota 2, are open source.
 In addition to these general-purpose OSS applications, there are also many specialized OSS applications
that are used in a variety of industries and fields of research. For example, there are OSS applications
for:
 Software development: There are many OSS applications that are used by software developers, such as
integrated development environments (IDEs), version control systems, and testing frameworks.

12
Cont’d
 Data science: There are many OSS applications that are used by data scientists, such as
programming languages, statistical software, and machine learning libraries.
 Scientific research: There are many OSS applications that are used by scientists in a variety of
fields, such as physics, chemistry, and biology. OSS is also used in many other ways, such as in
hardware development, education, and government.
 Here are some specific examples of how OSS is used in practice:
 Google: Google uses OSS extensively in its products and services. For example, the Android
operating system, Chrome web browser, and Kubernetes container orchestration platform are all
open source.
 Amazon: Amazon uses OSS in many of its cloud computing services, such as AWS Lambda and
Amazon Elastic Compute Cloud (Amazon EC2).

13
Cont’d
 Facebook: Facebook uses OSS in many of its products and services, such as the React JavaScript
library and the GraphQL query language.

 Netflix: Netflix uses OSS extensively in its streaming platform. For example, the Netflix streaming
client is built on the open source Chromium web browser.

 NASA: NASA uses OSS in many of its space missions. For example, Mars Rover uses the open source
Linux operating system.

 OSS is an essential part of modern software development landscape. It is used by millions of


people and organizations around the world to create and use innovative and powerful software
products and services.

14
Open source business models
 Model used by companies that are involved in the development of open source software to keep
themselves financially viable and successful.
 Today these companies compete with traditional proprietary(closed) software companies for
investor’s money on the stock markets.
 Traditional software companies get revenue by the sale of the software they create, they earn money
for each copy of the software sold.
 Traditional software business models monetize software by either directly selling software products
or by providing software development services

Business models for Proprietary software


 How about open source software companies?

15
Cont’d
 Initial roots of open source software were sowed by either community projects which had mutual
sharing or funded by government contracts

 Companies began to explore new economic models, different from traditional commercial software
to succeed in the competitive software market.
 Companies involved in the development and promotion of open source software
 There are many different open source business models, but some of the most common include:

16
Split open source (Open core)
 This model involves releasing the core functionality of the software as open source, while keeping
certain advanced features or modules proprietary.
 There is a core portion of the software which is available as open source. This core provides the base functionality.Then
there are other portions or extensions that are built on top of or extend the functionality provided by the core. The
latter is licensed under commercial or proprietary licenses and sold like typical proprietary software.

 Companies that use this model typically charge for support, training, and customization of software.

17
Cont’d
 Many POSS companies choose the Apache or Mozilla open source license when they want to
follow this business model, since these licenses allow this kind of intermixing where some parts can
be open source and other parts proprietary.

 This model is used by many commercial software companies that participate in open source
including IBM. In fact, IBM is an acknowledged leader in this space.

 Does this mean IBM is a POSS company?


 A company is considered a POSS when most of its revenue comes from open source software sales. Since
this is not the case for IBM it would not be considered a POSS company by that definition. Probably the
best example of IBM’s successful usage of this open source business model is Eclipse – the world’s default
IDE and tooling platform.

18
Product specialists
 Company that supported an OSS project either by creating it from start or contributing and
maintaining it, can generate revenue from it by providing training and consulting services to
customers.

 If the OSS provides to a domain that is very complex, and it achieves good adoption, there can be
significant revenue to be made from providing training and consulting services.

19
Cont’d
 For example, this may be the case with business intelligence software (as compared to wiki
software). By the very nature of being the creators and maintainers of the software, it follows that
they would be the experts, and hence the best trainers and consultants in the market. The OSS
can achieve this position with minimal spending on marketing efforts.

20
Platform providers(Software as a service (SaaS))
 With this model, the company hosts and manages the open source software for customers, and charges them a
subscription fee.

 This can be a good option for companies that don't have the resources or expertise to manage the software
themselves.

 An example of a POSS company using this business model is Zend, "the PHP company". Zend provides a
platform fully tested to develop PHP applications.

21
Dual Licensing
 In this model, the open source software is licensed by the POSS company under both, an open source
license as well as a commercial license.

 In this model the POSS company generates revenue when it sells the open source software under a
commercial license.

22
Cont’d
 As a developer, you may want to consider this if you are planning to make code contributions to an
open source project that has dual license.

 You will be giving the POSS company the right to make money directly out of your contribution by
commercially licensing your code.

 Of course if the POSS company plans to accept your contributions they will ask you to sign a legal
document which states that you have given them the rights to do so.

 MySQL, JBoss and SugarCRM are examples of POSS companies that employ the dual licensing
business model.

23
Business model relationship to license
 we analyze the above mentioned business models, the relationship these models have
is vis-à-vis to open source licenses.
 In the bottom quadrants, the business model is tied to the license of the open source software.
Dual licensing applies only when the open source software is GPL-licensed, and Split Open Source /
Commercial products when the open source software is Mozilla-based.
 However the business models in the top quadrant have no bearing on the license of the open
source software itself.

24
Benefits OPEN SOURCE SOFTWARE
 Open-source software (OSS) is software that is released under a license in which the copyright holder grants
users the rights to use, study, change, and distribute the software freely to anyone and for any purpose.

 This makes OSS a valuable tool for individuals and organizations alike, offering a range of advantages over
proprietary software.

 Cost-Effectiveness: OSS is typically much more cost-effective than proprietary software.

 No licensing fees to pay, and software can be installed and used without any restrictions.

 This can save organizations a significant amount of money, especially when deploying
software on a large scale.

 Lower costs of marketing and logistical services are needed for OSS. It is a good tool to promote a
company's image, including its commercial products. The OSS development approach has helped produce
reliable, high quality software quickly and inexpensively

25
Cont’d
 Transparency and Security
 OSS is more transparent than proprietary software because the source code is open
for anyone to inspect.

 This allows users to see how the software works and identify any potential security
vulnerabilities.

 The community of OSS developers can then quickly fix these vulnerabilities, making
OSS software generally more secure than proprietary software.

 Flexibility and Customization:


 OSS is more flexible than proprietary software because users can modify the source
code to meet their specific needs. This can be particularly useful for organizations
with unique requirements that cannot be met by off-the-shelf software.
26
Cont’d
 Community Support:

 OSS is supported by a large and active community of developers who are willing to help users
troubleshoot problems and contribute to the development of the software.

 This can be a valuable resource for organizations that do not have the internal resources to
support their own software.

 Innovation and Collaboration:

 OSS fosters innovation and collaboration because developers from all over the
world can contribute to the codebase. This can lead to the development of new
features and bug fixes that would not be possible with a proprietary software
development model.

27
Cont’d
 Vendor Lock-in:

 OSS eliminates vendor lock-in because organizations are not dependent on a single vendor for support or
updates. This give organizations more control over their IT infrastructure and save them money in long run.

 In addition to these general advantages, OSS also offers specific benefits for different types of users. For example,
businesses can use OSS to reduce their IT costs, improve their security posture, and comply with regulations.

 Developers can use OSS to learn new technologies, contribute to the community, and build better software. And
individuals can use OSS to customize their computers, get free access to high-quality software, and support the
development of open-source projects.

 As a result of its many advantages, OSS is becoming increasingly popular. It is now used in a wide range of
applications, from web servers and operating systems to mobile apps and business software. OSS is a powerful
tool that can help individuals and organizations achieve their goals in more cost-effective, secure, and flexible way.

28
Cont’d
 Here are some additional benefits of open-source software:
 It can be more reliable than proprietary software: Because the source code is open for anyone to inspect, OSS
can be more rigorously tested and debugged than proprietary software. This can lead to fewer bugs and a
more reliable user experience.
 Typically has thousands of independent programmers testing and fixing bugs of the software.

 Open source is not dependent on the company or author that originally created it. Even if the company fails, the code continues
to exist and be developed by its users. Also, it uses open standards accessible to everyone; thus, it does not have the problem of
incompatible formats that may exist in proprietary software.

 It can be easier to integrate with other software: OSS is often more modular than proprietary software,
making it easier to integrate with other software applications. This can be useful for organizations that need to
create complex systems using multiple software components.
 It can be more versatile: OSS can be used in a wider range of environments than proprietary software. For
example, OSS can be run on a variety of hardware platforms and operating systems.

29
Cont’d
 It is flexible because modular systems allow programmers to build custom interfaces, or add new
abilities to it and it is innovative since open-source programs are the product of collaboration among
a large number of different programmers. The mix of divergent perspectives, corporate objectives, and
personal goals speeds up innovation.

30
Open-Source Software Criteria
 Open Redistribution : The license must allow anyone to redistribute the software or sell it as part of
a distribution. But no royalties or license fees may be charged.

 Source Code : The source code of the software must be available in a clearly readable form.

 Derived Work: The license must allow modifications and derived works and permit their
redistribution under the same terms as the original software.

 Integrity of the author’s Source code: While the license must permit the distribution of software with
modified source code, it may require that derived works carry a different name or version number.

 No discrimination against fields of endeavor: No The license must not restrict the use of the software
for certain purposes or fields of endeavor, such as being used in a business.

31
Cont’d
 No discrimination against persons or groups: The license must not discriminate against any person or
group of persons.
 Distribution of license: The license must apply to everyone to whom the software is redistributed. No
additional licenses may be issued.
 License must not be specific to a product: The license must not depend on whether the software is
part of a particular distribution. It must also apply if the program is used independently or
redistributed together with other software.
 License must not restrict other software: The license must not place restrictions on other software
that is distributed with the licensed software.
 License must be technology-neutral: The license must not restrict the distribution of the software to
a specific technology.

32
Exercises
1) A definition of open source?

2) What is open source software (OSS)?

3) What is the difference between open source software, free software, and
proprietary software?

4) What are the main differences in open source licenses?

5) What are the advantages of open source software?

6) Is open source software secure? Explain Why?

7) Write a short note on open standards

8) What is FOSS? What are the benefits of using FOSS?

33
Chapter Two

Comparisons with other software licensing


/ development models
Prepared By Bekretsyon B. (M.Sc.)

34
Contents
 Closed source / proprietary software
 Free software
 Open-source versus source-available
 Open-sourcing

35
Closed source / Proprietary software
 Proprietary software is computer software which is the legal property of one party.

 The terms of use for other parties is defined by contracts or licensing agreements.

 These terms may include various privileges to share, alter, dissemble, and use the software and its
code.

 Closed source is a term for software whose license does not allow for the release or distribution of
the software's source code.

 Only the binaries of a computer program are distributed and the license provides no access to the
program's source code.

 The source code of such programs is usually regarded as a trade secret of the company.

 Access to source code by third parties commonly requires the party to sign a non-disclosure
agreement.

36
Cont’d
 Under closed source model, source code must be hidden from the public and competitors who might otherwise
reproduce, study or modify the code, either to resell the product, learn from the product or for other reasons.

 Software companies that follow closed source model see it as a way to protect their products from software
piracy or misuse, from reverse engineering and duplication, and to maintain competitive advantage

 Closed source software usually is developed and maintained by a team who produces their product in a compiled
executable state, which is what the market is allowed access to

 The primary business model for closed-source software involve the use of constraints on what can be done with
the software and the restriction of access to the original source code.

 The end result is that an end-user is not actually purchasing software, but purchasing the right to use the
software.

 To this end, the source code to closed-source software is considered a trade secret by its manufacturers

37
Open source / Free software
 Open-source software
 Software for which source code is freely available with license to study, change and further distributed to
any other individual for any purpose
 OSS is something which you can modify as per your needs, share with others without any licensing
violation burden.
 When we say Open Source, source code of software is available publicly with Open-Source licenses
which allows you to edit source code and distribute it.
 The key fact that makes OSS different from proprietary software is its license.
 The license indicates how the software may be used.
 OSS is unique in that it is always released under a license that has been certified to meet the criteria of
the Open-Source Definition.
 In contrast, creators of proprietary(closed) software usually do not make their source code available to
others to modify.

38
Cont’d
 OSS is unique in that it is always released under a license that allows users to access, modify and
redistribute the source code.

 Source code is a specialized language that allows software developers to create and modify computer
programs.

 If you do not have legal access to the source code, then the program cannot be changed or moved to
a different kind of computer

39
Cont’d
 The group adopted the Open Source Definition for open-source software, based on the Debian Free
Software Guidelines, which in turn was based on The Free Software Definition.
 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

 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 complicated source code is not allowed. Intermediate forms such as the output of a
preprocessor or translator are not allowed

40
Cont’d
 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

 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

 No Discrimination
 Against Persons or Groups the license must not discriminate against any person or group of persons

41
Cont’d
 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

 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

 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
42
Cont’d
 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

 License Must Be Technology-Neutral

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

43
Free Software
 Software that respects users' freedom and community.

 Users have the freedom to run, copy, distribute, study, change and improve the software.

 May be packaged and distributed for a free. "free" refers to the ability to reuse it, modified or
unmodified, as part of another software package.

 As part of ability to modify, users of free software may also have access to source code. Thus, “free
software” is a matter of liberty, not price.

 The best known example of free software is Linux, an operating system that is proposed as an
alternative to Windows or other proprietary operating systems.

 Free software is easily confused with freeware, software that can be freely downloaded and used but
which may contain restrictions for modification and reuse.

44
Cont’d
 Program is free software if the program's users have the four essential freedoms:

 The freedom to run the program as you wish, for any purpose.

 The freedom to study how the program works and change it so it does your computing as you
wish. Access to the source code is a precondition for this.

 The freedom to redistribute copies so you can help others

 The freedom to distribute copies of your modified versions to others.

 A program is free software if it gives users adequately all of these freedoms. Otherwise, it is non free.

 Free software does not mean non-commercial. A free program must be available for commercial use,
commercial development, and commercial distribution.

45
Cont’d
 The freedom to run the program, for any purpose (freedom 0)
 Placing restrictions on the use of Free Software, such as time ("30 days trial period", "license expires January
1st, 2004") purpose ("permission granted for research and non-commercial use", "may not be used for
benchmarking") or geographic area ("must not be used in country X") makes a program non-free

 The freedom to study how the program works, and adapt it to your needs (freedom 1)
 Placing legal or practical restrictions on the comprehension or modification of a program, such as mandatory
purchase of special licenses, signing of a Non-Disclosure-Agreement (NDA) or - for programming languages
that have multiple forms or representation - making the preferred human way of comprehending and editing a
program ("source code") inaccessible also makes it proprietary (non-free). Without the freedom to modify a
program, people will remain at the mercy of a single vendor

 The freedom to redistribute copies so you can help your neighbor (freedom 2)
 Software can be copied/distributed at virtually no cost. If you are not allowed to give a program to a person in
need, that makes a program non-free. This can be done for a charge, if you so choose

46
Cont’d
 The freedom to improve the program, and release your improvements (and modified versions in
general) to the public, so that the whole community benefits (freedom 3)

 Not everyone is an equally good programmer in all fields. Some people don't know how to program
at all. This freedom allows those who do not have the time or skills to solve a problem to indirectly
access the freedom to modify. This can be done for a charge

 These freedoms are rights, not obligations

 Free Software does not exclude commercial use

 If a program fails to allow commercial use and commercial distribution, it is not Free Software

 A growing number of companies base their business model completely or at least partially on Free
Software

 Free Software makes it legal to provide help and assistance, it does not make it mandatory

47
Public Domain Software
 Is any software that has no legal, copyright or editing restrictions associated with it.

 It is free and open-source software that can be publicly modified, distributed, or sold without any restrictions.

 SQLite, I2P and CERN are popular examples of public domain software. As well as Many different items can be
labelled as public domain. For instance, books, speeches, poems, artwork, songs, and videos can all be made
freely available to the public.

 Public domain refer to software programs that are offered to the public without copyright restrictions.

 Copyright protection in public domain may have expired, been released by author, or never existed in first place.

 Public domain software has no ownership and is available for use, modification and commercialization by anyone.

 It is intentionally or voluntarily uncopyrighted, unpatented and is unrestricted by its developer/author.

 It is different from free software and freeware that does has copyrights and patents associated with it

48
Cont’d
 Public domain software is similar to open source software, in which source code of a program is made publicly
available. However, open-source software, while freely distributed, still retains the original developer's copyright.
 This means the developer can change the redistribution policy at any time. Public domain software is also similar
to freeware, which refers to software offered at no charge.
 However, like open-source software, freeware programs are still protected by copyright.
 Therefore, users may not redistribute the software unless they receive permission from the original developer.
 Since there are many similarities between freeware, open source, and public domain software, the terms are often
used interchangeably.
 However, there are important legal differences between the licenses, so it is important for developers to choose
the correct license when releasing software programs.
 Public domain software, which offers the least legal protection, is most often published by individuals or
educational institutions, rather than companies.
 When software is offered as public domain, it is often labelled "PD" or may include a Public Domain Mark (PDM).

49
The Free Software Foundation & GNU Project
 The FSF (Free Software Foundation)

 The FSF was founded in the early eighties by Richard M. Stallman, researcher at MIT's Artificial
Intelligence laboratory.

 The foundation's objective is to develop free software- software that you can freely copy, use,
modify, and redistribute as you wish.

 The only condition is that source code of these programs must be freely available on demand.

 It is important to understand that the term Free in Free Software Foundation does not refer to
price, but to freedom.

 These programs can be bought and sold, but there is always a legal way to obtain them gratis.

50
Cont’d
 The GPL (General Public License)

 Specifies the conditions under which all GNU software is distributed.

 The LGPL (Library General Public License) was the corresponding license used for sub-program
libraries,

 The GNU Lesser General Public License is the new replacement for the LGPL.

 These licenses specify that GNU software may be copied, modified, and redistributed in any manner
as long as the source code remains freely available

 The main advantage of software distributed under these conditions is that if you wish to improve
the program, you may; and you may redistribute your new and improved version. Thus, everyone
benefits.This leads to programs of excellent quality, written by dozens of different people

51
Cont’d
 The GNU Project

 Its objective is to develop a complete operating system, distributed under the conditions of the GPL.

 This operating system uses some UNIX concepts but is not UNIX.

 Richard Stallman started this project on his own right after he founded the FSF.

 The first part of the project was to program the editor with which he could then program the
rest of the software. That editor is the now famous GNU Emacs. He then wrote a C compiler to
compile his operating system. That would be the famous GCC. Since then, many people have
joined him to write all sorts of programs. The operating system itself, known as HURD, has
recently become available.

 In addition to the main GNU programs, there are GNU versions of most of the UNIX utilities.

 The GNU versions are often more powerful and reliable than their proprietary counterparts.

52
Cont’d
 OSS is unique in that it is released under a license that allows users to access, modify and redistribute the source
code.
 As interest in using Emacs was growing, other people became involved in the GNU project, and they decided
that it was time to seek funding once again. So, in 1985 they created the Free Software Foundation (FSF), a tax-
exempt charity for free software development.
 The FSF also took over the Emacs tape distribution business; later it extended this by adding other free
software (both GNU and non-GNU) to the tape, and by selling free manuals as well
 Most of the FSF's income used to come from sales of copies of free software and of other related services (CD-
ROMs of source code, CD-ROMs with binaries, nicely printed manuals, all with the freedom to redistribute and
modify), and Deluxe Distributions (distributions for which we built the whole collection of software for the
customer's choice of platform).
 Today the FSF still sells manuals and other gear, but it gets the bulk of its funding from members' dues.You can
join the FSF at fsf.org.

53
Cont’d
 Free Software Foundation employees have written and maintained a number of GNU software
packages.

 Two notable ones are the C library and the shell. The GNU C library is what every program running
on a GNU/Linux system uses to communicate with Linux. It was developed by a member of the
Free Software Foundation staff, Roland McGrath. The shell used on most GNU/Linux systems is
BASH, the Bourne Again Shell (1), which was developed by FSF employee Brian Fox.

 GNU Project was not just about tools or a development environment. Their goal was a complete
operating system, and these programs were needed for that go

54
Chapter Three

Legal Matters: Licenses, Copyrights,


Trademarks and Patents
Prepared By Bekretsyon B. (M.Sc.)

55 55
Open Source Dev’t Model Licenses and Patents
 What is a License?
 The simplest explanation is that open-source licenses are legal and binding contracts between the
author and user of a software component, declaring that the software can be used in commercial
applications under specified conditions.
 The license is what turns code into an open-source component. Without an open-source license,
the software component is unusable by others, even if it has been publicly posted on GitHub
 Each open-source license states what users are permitted do with the software components, their
obligations, and what they cannot do as per the terms and conditions.
 This might sound pretty straight forward, but there are over 200 open-source licenses out there
so good luck keeping them all organized.
 Varying in complexity and requirements, it is up to organizations to choose which licenses are
most compatible with their policies to ensure that they remain compliant.

56
Cont’d
 These licenses are intended to permit, and to encourage the contributions of others to the project.

 However, one of the first open development projects relied, at least at the beginning, on a relatively
small number of closely-knit developers.

 This project was Richard Stallman’s plan to develop a complete operating system modelled after the
Unix operating system but written entirely in free code.

 The main problem in this context is that open-source licenses are subjective.

 Their interpretation depends on the technical usage of the licensed software.

 Therefore, it’s difficult to determine the legal risks of using open-source software, especially for
developers, who are not usually legal experts. What developers need is a broad classification of
licenses based on the risks they pose in terms of legal compliance

57
Important Foss License
GNU General Public License (GPL)
 Is the most popular open source license around.
 Richard Stallman created the GPL to protect the GNU software from becoming proprietary, and
it is a specific implementation of his "copyleft" concept.
 GPL is a copyleft license.
 Means any software written based on any GPL component must be released as open source.
 The result is that any software that uses any GPL open-source component (regardless of its
percentage in the entire code) is required to release its full source code and all of the rights to
modify and distribute the entire code.
 There has always been some confusion regarding what constitutes a ‘work based on’ another work,
which in turn triggers the GPL reciprocity obligation.
 The FSF tried to add more clarity to GPLv3 as to when the reciprocity obligation is triggered.
 The FSF even wrote a new GPL license, the Affero license, to address a specific confusion
58 referred to as “ASP loophole”.
Cont’d
 In addition, the FSF tried to increase the compatibility of the GPLv3 with other licenses.

 To combine two codes into a larger work, both the programs must permit it.

 If such rights are granted by both the programs' licenses, they are compatible. By making the GPLv3
more compatible, the FSF expanded development options.

The Apache License

 Is an open-source software license released by the Apache Software Foundation (ASF).

 It’s a popular and widely deployed license backed by a strong community.

 Allows you to freely use, modify, and distribute any Apache licensed product. However, while doing
so, you’re required to follow the terms of the Apache License.

59
Cont’d
Berkeley Software Distribution (BSD)

 BSD Licenses or the original BSD License and its two variants - the Modified BSD License, and the Simplified
BSD License/FreeBSD License are a family of permissive free software licenses.

 The BSD License lets you freely modify and distribute your software’s code in the source or binary format as
long as you retain a copy of the copyright notice, list of conditions, and the disclaimer.

Common Development and Distribution License (CDDL)

 CDDL is an open source license published by Sun Microsystems to replace the Sun Public License (SPL).

 It is inspired by the Mozilla Public License (MPL). Sun used to release its free software / open-source projects
under its Sun Public License (SPL) before it turned to rely upon the CDDL in 2004. CDDL is often dubbed as
a cleaned-up version of the MPL and is made to facilitate reusability.

 You’re free to reproduce and distribute any original or derivative works of any software licensed under CDDL.

 However, you must not remove or make any changes to any copyright, patent or trademark notices contained
in the software.You must also retain any notices of licensing or any descriptive text giving attribution to any
60 contributor or the initial developer.
Cont’d
Eclipse Public License (EPL)
 The EPL is an open-source license developed by the Eclipse Foundation.
 It’s derived from the Common Public License (CPL).
 The Eclipse codebase now available under the EPL was formerly licensed under the CPL.
 The EPL license is a copyleft license. If you modify an EPL’ed component and distribute it in the
source code form as part of your program, you’re required to disclose modified code under the EPL.
 If you distribute such a program in its object code form, you’re required to state that the source
code can be made available to the recipient upon request.You’re also required to share the
method for requesting the source code.
 The Eclipse Foundation makes clear that, in their opinion, ‘merely interfacing or interoperating’ with
an Eclipse plugin does not make your code a derivative work of the plugin

61
Cont’d
MIT License

 MIT is one of the most permissive free software licenses.

 You can do whatever you want with software licensed under the MIT license - only if you add a copy
of the original MIT license and copyright notice to it.

 Its simplicity is the reason behind its high adoption rate among developers

62
Copyright
 Property right given that protects original work of authorship
 Bundle of rights granted to a creator providing him with exclusive rights over his original artistic and literary
creation.
 It is not necessary copyright be registered, it is attached automatically to any original artistic work.
 When idea of a creator is converted to material form, the same immediately gets protected under copyright.
 For a work to be copyrighted, it is necessary that the work is original work of literature, drama, music, or any
other art having artistic value.
 While copyright protects the material form of an idea it does not protect the idea in itself.
 It is essential and of significant importance, that permission is sought and the same is granted by the copyright
owner before it is republished or reproduced.
 The bundle of rights granted to the copyright owner includes
 The rights to reproduce, copy, publish, communicate, and translate the copyrighted work. Such a right is a
natural right granted to the owner of the artistic work immediately on the making of the same

63
Copyleft
 Type of copy right license that allows anyone to use , modify and distribute a work, as long as they do so under
the same license

 Most of the creative works, including software programs and codes, comes within the domain of copyright
protection and therefore can be copyrighted.

 However, it is to be noted that software and programming is an area where already existing programs many-a
times are used as a base to build new software or program.

 It is for this reason; many software owners tend to grant a license to its users a license allowing them to modify
and alter their work. Such permission and license can be referred to as Copyleft

 Copyleft can be said to be a specific kind of a license that allows free use of copyrighted material but under
certain terms and conditions, granted by the owner of the copyright himself.

 For instance, software having a copylefted license can be modified, used, distributed, or reproduced provided
the source code kept open and available to the public.

 A copylefted software must be transferred with a similar copyleft license to all its successive users and the
64 license also shall mandate any modification to the software shall be copylefted in a similar manner.
Cont’d
 Copyleft is license that provides original work to a third person giving him certain rights like copying and
modifying and any new work carved out based on such original work shall have copyleft license in similar manner.

 The main objective of a copyleft license is to provide people with opportunities to use and modify an original
work, and later grant a similar set of rights to all other interested people.

 Thus, any person who receives a copylefted work and then modifies the same, he cannot restrict the rights to
himself alone over the modified work.

 The concept of copyleft came as a refreshing idea on the free movement of workers.

 It broadens the area by not just restricting the rights over the work to a single individual or a small group of
people but including all the people having an interest in the work and are ready to comply with the conditions of
the copyright license agreement.

 So Copyleft is an option derived within the domain of copyright laws itself, providing a little bit of freedom and
liberty, that allows users to modify and distribute the software and the program, which was surely not possible
with the traditionally copyrighted programs

65
Patents
 Property right that grants the owner the exclusive right to make, use, or sell an invention for limited period of time

 Unlike the holder of an Open-Source license, the owner of a patent has exclusive rights over the patented software.
No one else can make, use, modify, or sell patented software, and the source code is not available to the public.

 Patent rights give the holder control over who uses software and for what purpose.

 Though software developers can protect their work using both copyrights and patents, copyrights only
protect the code itself. Patents, however, protect the program's functionality

 Patents are better than copyrights for software developers because they protect the program regardless of the code
and language used. In comparison, copyrights aren't very practical for developers. If you want to release Open Source
software while retaining some rights, a copyright only gives you power over someone who steals your work verbatim.

 The original idea of a patent was to give the innovator who develops the idea a monopoly of time in which she/he can
benefit by commercial exploitation of the patent, protect by legal means from other wishing to copy the idea.

66
Cont’d
 But long ago, this has become buried in legal, cultural, administrative, and practical difficulties

 We have been patents being used as a means of proxy business-competition – with a recent Wired
article exposing the battle lines of patent-warfare in smart phone market as big player jostle for
position – so Apple sues HTC (used in many Android phones), Nokia sues Apple, Kodak sues Apple,
Research in Motion (makers of BlackBerry) & Samsung while Palm and Apple argue over patents:

 The intention is to promote the rapid adoption and adaptation of ideas, benefit the inventors and
reward the whole process of research and development.

 However, over the past two decades, changes in the way patents are attributed and patent holders’
increasingly aggressive tactics have created a situation that some claim is choking, rather than
promoting, innovation.

 What makes the problem intractable is that today it is impossible to design a high-end tech product
that does not include others’ patents

67
Cont’d
 Software patents do not appear to show a strong effect on FOSS developer motivation in general.

 This is true for both camps in the software patent debate: the presence of software patents has no
positive effects on monetary and skills-related motivation, as argued by proponents; it also does not
show negative effects on joy- and self-expression-related motivation, as argued by opponents.

 In contrast and counter-intuitively, joy-related motivation seems to be positively influenced by the


presence of software patents.

68
Problem with Traditional Commercial Software
 First, it ought to be noticed that the business software industry is one of the biggest and most significant ventures
on the planet. The ascent of the Open-Source development doesn't spell the finish of the business software
industry. Numerous individuals contend that business software can be strengthened by the utilization of open-
source strategies. Business software is intended to give an item worth paying to and its majority is. Regardless of
its sticker price, business software is frequently in demand

 Business products will be refreshed much of the time to mirror the fluctuating requests of the market and client
needs. These necessities can prompt software rehearses that rework and change the product too as often as
possible or disperse beta forms as business attempts bringing about high paces of bugs in early forms.

 Some business programs are over structured and written in messy code prompting enlarged, slow, running
projects. Open Source by differentiating is driven by the necessities of the end clients. Along these lines, their code
is regularly of a predominant bore than that of software engineers in the business condition. There is likewise
generally an extremely broad level of input as the software engineers test their products with a wide system of
individuals

69
Cont’d
 At the point when source code is accessible, it tends to be checked against different "secondary passages" and other
security openings that might be deliberately or accidentally left in the closed source programming. In the past, such
gaps have been found in different exclusive items, including software, utilized by the legislature. Having source code
additionally implies that the product can be effectively ported to run under various processors, gadget or OS.

 Another issue with customary business software is its closed nature. There is generally no or restricted opportunity
to alter the copyrighted item.

 Additionally, organizations frequently power clients to follow update ways that they may not wish to follow. Open-
source Software empowers the person to tweak the product to his end needs in all opportunities.

 Another vigorously censured part of business software is that clients are regularly secured to an item because to
continue utilizing information documents you are frequently compelled to keep on utilizing a similar program. If you
wish to impart documents to clients that have overhauled, you frequently need to update yourself or be discounted as
unessential. Since open-source programming permits contending projects to share various information record types,
there is no motivation to be caught into any one program. If a more current adaptation has another record group, at
that point there regularly are converters that permit clients of more established variants to keep up their information
documents forward-thinking

70
Internationalization
 Internationalized software must enable easy porting to other locales. A locale defines language and specific
cultural conventions.
 In the private international law rules for transfer and license contracts has shown that it is hardly possible to
anticipate the applicable law for Copyright Assignment CAs or Copyright License Agreement CLAs when it
comes to legal disputes.
 The first source of uncertainty is the lack of internationally accepted principles of private international law.
European, US and Japanese courts apply different conflict-of-law rules for the different legal issues raised by
CAs/CLAs.
 A second source of ambiguity is the lack of precise conflict rules in legislation or case law within the analysed
jurisdictions with regard to transfer or license contracts. This makes it hard to predict which law will finally be
applicable to the legal questions at stake, even if one could anticipate whether a European, US or Japanese
court will be called to hear the case.
 A third source of legal problems relates to the boundaries of party autonomy in international copyright law. For
some of the most crucial aspects of CAs/CLAs, e.g., the question of whether copyright or” joint authorship” in
a work can be assigned, the territoriality principle precludes any choice of law. Thus, the parties’ latitude to
reduce the complexity of their relationship by a contractual choice is restricted.

71
Open source Government
 The concept of open government preaches a government which is highly transparent and offers mechanisms for
continual public scrutiny.
 Open government envisions increased citizen participation and collaboration in all government proceedings
through the application of modern and open technologies.
 The origin of this concept is traced back to the Age of Enlightenment/ Reason in the 17th and 18th centuries
when the seeds of rights of free speech, expression and assembly were sown in many western nations. In the
1950s and 60s, certain laws such as freedom of information were passed which intended to foster transparent,
accessible and accountable government culture. These laws came to be known as ‘sunshine’ laws.
 If the future is a walk towards an open government, opensource technologies will perhaps play the most
significant role.
 Applications of open-source software extend from computer hobbyists to professional businesses, but the
public sector has not always been embracing open-source technologies.
 The reason is perhaps the misconception that open-source software is time-consuming and offer unsupported
solutions.
 The following advantages of using open-source software in government may allay these unfounded concerns:

72
Cont’d
 Flexibility: Agencies can tailor open-source products, adding to or modifying the code to fit their specific needs.
These modifications can include security patching for critical vulnerabilities measured in hours. Similar vendor
products don’t offer this flexibility.
 Matches Competitors : Having many sets of eyes on the code means open-source tools’ capabilities and
functionality compete exceptionally well with commercial software.
 Affordability: Open-source software usually is available at a much lower price point than buying a commercial
product. In all cases, it is free, and valuable support options are available for popular packages.
 Proven Track Record : Many open-source products are proven by having accumulated strong communities of
developers over a long period of time. An example is Linux, where a large group of people, including employees of
established companies, watch over security and can work with government agencies to ensure software’s safe use
 High Quality: Government can be assured of high quality — defined by good testing and code review — if the
open-source technology is supported by a solid developer community.
 Accessed to Skilled Labor: Using open-source software may unlock a wider base of prospective IT talent to
government agencies. The number of Linux specialists, for example, gives open-source users greater access to
skilled technology labor

73
Cont’d
 Transparency is considered the traditional hallmark of an open government, meaning that the public should have
access to

 Agencies also can connect easily to open-source software communities online. It will be obvious which
communities are developing robust products, because participants in the better communities will be actively and
consistently engaged.

 Frequency of commits, releases and mailing list traffic are all excellent indicators of community health in the
open-source world. Also consider the size and diversity of companies that support a product directly through
financial contribution or support and indirectly through employee involvement. government held information and
be informed of government proceedings.

74
Open Source Government
 Open source can be seen as a technical expression of democratic government as open source is a result of public
accessibility, open exchange and collaborative participation. It thrives on transparency, meritocracy and community
development. The goal of open source and democracy is loosely the same – ensure more control and create a
better future.

 Open-source software has so many potential benefits that in many cases, agencies should at least consider it
when technology is a factor in solving problems or expanding services. And because open-source software is so
pervasive, all major products are graded just as commercial products are. To find open source software reviews,
government agencies can access information technology research conducted by organizations such as Forrester
and Gartner. These independent firms do deep dives to analyze technology products, including open-source
software.

 Five open-source software products that can aid government: For agencies that want to consider open-source
software, five tools in particular offer significant potential advantages to government:

75
Cont’d
 Open Stack is a set of tools that allows users to create, automate and manage both public and private clouds at
minimal expense. This technology, originally developed by NASA, is a good example of government developing
open-source software to meet a particular agency need, and then putting the software back into the open-source
community so others can add to and benefit from it. With Open Stack is a set of tools that allows users to create,
automate and manage both public and private clouds at minimal expense. This technology, originally developed by
NASA, is a good example of government developing open-source software to meet a particular agency need, and
then putting the software back into the open-source community so others can add to and benefit from it. With
Open Stack government can set up its own cloud to hold data it doesn’t want in a public cloud

 Jenkins is a continuous delivery tool that builds and tests software after every change. Once development and
testing are complete, Jenkins can deploy new code to production with the push of a button, so there’s no down
time in making the upgraded product available to constituents.

 Spacewalk automates hardware and software inventorying, and software installations and updates for Linux
server environments. By using Spacewalk and Linux together, an agency can maintain a lowrisk security posture by
deploying monthly patches at the touch of a button

76
Cont’d
 Docker 1.0 was released in mid-2014, and the buzz around it has yet to die down. This tool “containerizes”
applications with everything they need to run, allowing them to be moved around the cloud and ensuring they will
run as well in one technology environment as in another. Like putting cargo into a container makes it easier to
move from place to place, Docker streamlines the process of moving from a legacy server to the cloud or moving
from one cloud server to another. This reduces government costs by preventing agencies from being held captive
by an existing cloud provider’s price

 Drupal, an open-source content management system, is used to build websites and author content. Used by 37
percent of .gov websites, Drupal was the CMS technology of choice for the state of Colorado, whose proprietary
tool had become inflexible and unstable after reaching more than one hundred customers on the platform. The
legacy solution also had been purchased by a large company, and its price was expected to increase significantly.
After the state conducted an analysis of alternatives, Drupal stood out. With more than 1 million users worldwide,
it offers ample online resources and contractors available for support, provides a relatively simple interface, is
adequately flexible to support growth without significant investment and reduces the required implementation
time by nearly 15 times. The effort has been wildly successful, and the state government portal has launched three
distributions of Drupal to 174 state agencies in Colorado in the past two years

77
Cont’d
 Like any technology product, open-source software is not right for every application in every government agency.
But its capability for transforming the delivery of digital government services means there is a best-use place for
open-source software in every government technology portfolio

78
Open Source Ethics
 Drupal, an open-source content management system, is used to build websites and author content. Used by 37
percent of .gov websites, Drupal was the CMS technology of choice for the state of Colorado, whose proprietary
tool had become inflexible and unstable after reaching more than one hundred customers on the platform. The
legacy

79
Open Source Ethics
Ethical Issue with OSS

 Lack of Motivation: One concern with open-source software is the lack of motivation to produce quality work.
Because most of the OSS developers are not paid, one may claim that these developers may not be motivated to
produce reliable and good quality software. The opponents of OSS claim that if the software is not reliable then it
may affect society negatively and thus not help enhance technology as much as their "reliable" commercial
counterparts.

 However, proponents of OSS disagree with this point. They argue that having multiple sets of eyes on code, and
having it open to the public results in programmers coding better. They claim that the whole culture surrounding
OSS thrives on the developer's desire for recognition of work from colleagues or utilitarian approach to
information and learning and thus they are at least as likely to produce quality code as their colleagues who earn
more salaries through commercialized software.

80
Exercise
1) Define the following terms

i) Copyright

ii) Copy left

iii) License

iv) Patent

2) List at and explain least three license types in OSS

3) Five open-source software products that can aid government

81
Chapter Four

Chapter 4: Types of open source software


for small businesses and enterprises
Prepared By Bekretsyon B. (M.Sc.)

82
Contents
 Operating systems
 Web servers
 Database systems
 Mobile development frameworks
 Big data analytics tools
 Office software suites
 Content management systems (CMSs)
 Enterprise resource planning (ERP) tools
 Customer relationship management (CRM) systems
 How to select an open source software?

83
Open Source Software
 Open source software is software in which the source code is also available along with the software.

 Users have the right to view, modify, and enhance this code, no license is required for the software, the
software can be cost-free or chargeable and user can also share the software without any license violation.

 People buy this software due to certain reasons.These reasons are

 The results are of quite high quality.

 Users can easily change the software according to requirements.

 It is more secure

 Long term use

 Transparency

 Affordable

 Help in developing skills


84
Cont’d
 Operating System
 Linux
 Android
 ReactOS
 Web Servers
 Apache HTTP Server
 Apache Tomcat
 Lighttpd
 Node.js
 Database Systems
 MySQL
 SQLite
 Apache Hive
 Maria DB
85
Cont’d
 Mobile Development Frameworks
 Ionic
 React Native
 Flutter
 Xamarian
 Office Software Suites
 Apache OpenOffice
 Libre Office
 Content Management Systems
 WordPress
 Django

86
Open Source Database Technologies
 Traditionally, databases have been proprietary tools provided by Oracle, IBM, Microsoft, and a number
of other smaller vendors.
 Over recent years though, and especially for new projects, open-source databases and database
management tools have steadily grown in maturity and importance. In many cases, open-source
database software includes both database software, and the database management tools needed to
support the database.
 As open-source databases become adopted by more and more companies for large-scale enterprise
projects, there has been a concomitant 90 rise in the availability of skilled DBAs, with extensive
knowledge of these platforms to be able to assist with mission-critical deployments.
 In addition to the obvious cost savings, open-source database software have largely reached feature
parity with their proprietary cousins.
 The open-source model also allows for heavy customization and community development, which
makes the software very flexible compared to proprietary database software.
 Training materials are also often provided for free by user communities

87
Cont’d
 Some of the most common features provided by open-source database software include:
 Relational and Non-relational Databases
 Support for Multiple Platforms
 Supports databases and database management
 Data Security
 Data Collaboration
 Pricing Information
All open-source database software options are available for free to businesses that can support them
independently.
 That said, a number of open-source database options offer paid support, hosting, or monitoring. Pricing
depends highly on which features are needed by the organization.
1) MySQL
 MySQL is by far the most popular open-source database out there.Vendors often include it in software packages as the
application database. Even Oracle’s own Virtual Machine software runs on MySQL.
 MySQL is an open-source relational database management system. It is frequently used in web applications and is even one
of the pillars in the LAMP open-source web application software stack (Linux, Apache, MySQL, Perl/PHP/Python). Even
websites created in WordPress or Drupal use it as their database.

88
Cont’d
2) PostgreSQL
 PostgreSQL is a powerful, open-source object-relational database system that uses and extends the SQL
language combined with many features that safely store and scale the most complicated data workloads.
 The origins of PostgreSQL date back to 1986 as part of the POSTGRES project at the University of California
at Berkeley and has more than 30 years of active development on the core platform.
 PostgreSQL has earned a strong reputation for its proven architecture, reliability, data integrity, robust feature
set, extensibility, and the dedication of the open-source community behind the software to consistently deliver
performant and innovative solutions.
 PostgreSQL runs on all major operating systems, has been ACID-compliant since 2001, and has powerful add-
ons such as the popular PostGIS geospatial database extender.
 PostgreSQL has become the open-source relational database of choice for many people and
organizations.
 Getting started with using PostgreSQL has never been easier - pick a project you want to build and let
PostgreSQL safely and robustly store your data

89
Cont’d
3) MariaDB
 Server MariaDB Server is one of the most popular database servers in the world.
 It’s made by the original developers of MySQL and guaranteed to stay open source.
 Notable users include Wikipedia, WordPress.com and Google. MariaDB turns data into structured
information in a wide array of applications, ranging from banking to websites.
 Originally designed as enhanced, drop-in replacement for MySQL, MariaDB is used because it is fast,
scalable and robust, with a rich ecosystem of storage engines, plugins and many other tools make it
very versatile for a wide variety of use cases.
 MariaDB is developed as open-source software and as a relational database it provides an SQL
interface for accessing data.
 The latest versions of MariaDB also include GIS and JSON features

90
Open-Source Web development-LAMP
 LAMP is an open-source Web development platform that uses Linux as the operating system, Apache as the Web
server, MySQL as the relational database management system and PHP as the object-oriented scripting language.
(Sometimes Perl or Python is used instead of PHP)
 Because the platform has four layers, LAMP is sometimes referred to as a LAMP stack. Stacks can be built on
different operating systems. Developers that use these tools with a Windows operating system instead of Linux
are said to be using WAMP; with a Macintosh system, MAMP; and with a Solaris system, SAMP.
 What is the LAMP Stack?
 The widely popular LAMP stack is a set of open-source software used for web application development.
 For a web application to work smoothly, it has to include an operating system, a web server, a database, and a
programming language.
 The name LAMP is an acronym of the following programs:
 Linux Operating System
 Apache HTTP Server
 MySQL database management system
 PHP programming language
 Each represents an essential layer of the stack, and together they can create a database-driven and dynamic

91
website.
Cont’d
 The illustration below can help visualize how the layers stack together: Four Components of LAMP Stack

 Linux
 Linux is the operating system layer and the backbone of the LAMP stack.
 All the other components of the stack run on top of this foundation.
 You can efficiently manage the rest of the stack components on different operating systems such as Windows,
macOS, and others. However, Linux has become the front-runner for web development not just because it is
open source, but also due to its flexibility, customization and easy to use technology.
 Also, the programming language and database management used in developing a website may dictate the
platform you choose to build it on. PHP and MySQL are better suited for Linux. On the other hand, SQL,
ASP.NET, and ASP work more efficiently on Windows.

92
Cont’d
 Apache
 Apache HTTP Server is a web server software that runs on top of the Linux operating system.
 It is the most widely used server, powering more than half of the websites on the internet.
 The role of the web server is to process requests and transmit information through the internet, using HTTP.
 An alternative to Apache is NGINX, a web server whose popularity has been continually increasing
since 2008.
 Whether you go for one or the other depends on what kind of material you want to serve on a
webpage, as well as the hosting.
 NGINX is a better choice for static content. When it comes to dynamic content, there is a minor
difference in performance between the two.
 Also, Apache is commonly used by shared hosting users, whereas NGINX is mainly used for virtual
private servers, dedicated hosting or cluster containers.

93
Cont’d
 MySQL
 SQL (Structured Query Language) is the most prevalent query language out there. A query is what
we call a request for information or data stored in your database table. MySQL earned its
reputation as an acclaimed database system as it supports SQL and relational tables. By doing so, it
makes it much easier to establish dynamic enterprise-level databases.
 Consider MySQL if you:
 Need to change the content of your website often
 Have a lot of user-contributed content
 Rely on user feedback
 Have a lot of content that needs to be stored and easily retrieved
 Another relational database management system that can be part of the LAMP platform is MariaDB.
Both are quite similar, and MariaDB claims to be completely compatible with MySQL, allowing users
to transfer their database without any complications or losses. Deciding between the two comes
down to whether you feel more comfortable storing data with a large corporation (MySQL under
the direction of Oracle Corp) or a completely open-source solution (MariaDB)
94
Cont’d
 PHP (Hypertext Pre-processor)
 PHP is a programming language which has the role of combining all the elements of the LAMP stack and
allowing the website or web application to run efficiently.
 When a visitor opens webpage, server processes the PHP commands and sends results to visitor’s browser.
 PHP is the fourth layer of the original stack because it interacts exceptionally well with MySQL.
 It is commonly used for web development because it is a dynamically typed language, making it fast and easy
to work with.
 This feature may be especially appealing if you are a beginner. The reason why PHP is so convenient to use
is that it can be embedded into HTML enabling to jump in and out of it as you wish.
 In the LAMP stack, the P can also refer to two other programming languages – Perl or Python.
 All three are simple, yet useful, dynamic tools for creating environments in which you can successfully
develop applications.
 Nowadays, there is a wide variety of scripting languages to choose from, including JavaScript, Ruby, and many
more.

95
Cont’d
 Advantages of a LAMP Stack
 The LAMP stack consists of four components, all of which are examples of Free and Open-Source
Software (FOSS).
 As they are free and available for download, it attracts the attention of many users who wish to
avoid paying large sums of money when developing their website.
 Because it is FOSS, the source code of the software is shared and available for people to make
changes and improvements, enhancing its overall performance.
 The LAMP stack has proven to be a secure and stable platform thanks to its vast community that
contributes when any problems arise.
 What makes it so attractive is that you can easily customize the stack and interchange the
components with other open-source software to suit your needs.

96
Containerization Technologies
 Docker is a software platform for building applications based on containers — small and lightweight execution
environments that make shared use of the operating system kernel but otherwise run-in isolation from one
another.
 While containers as a concept have been around for some time, Docker, an open-source project launched in
2013, helped popularize the technology, and has helped drive the trend towards containerization and micro-
services in software development that has come to be known as cloud-native development.
 What are containers?
 One of the goals of modern software development is to keep applications on the same host or cluster isolated
from one another so they don’t unduly interfere with each other’s operation or maintenance.
 It can be difficult, thanks to the packages, libraries, and other software components required for them to
run.
 One solution to this problem has been virtual machines, which keep applications on the same hardware
entirely separate, and reduce conflicts among software components and competition for hardware
resources to a minimum.
 But virtual machines are bulky—each requires its own OS, so is typically gigabytes in size— and difficult to
maintain and upgrade.

97
Cont’d
 Containers, by contrast, isolate applications’ execution environments from one another, but share the
underlying OS kernel.
 They’re typically measured in megabytes, use far fewer resources than VMs, and start up almost immediately.
 They can be packed far more densely on the same hardware and spun up and down en masse with far less
effort and overhead.
 Containers provide a highly efficient and highly granular mechanism for combining software components into
the kinds of application and service stacks needed in a modern enterprise, and for keeping those software
components updated and maintained.

98
Cont’d
 What is Docker?
 Docker is an open-source project that makes it easy to create containers and container-based apps.
 Originally built for Linux, Docker now runs on Windows and MacOS as well.
 Components used to create Docker-containerized applications- Docker fil & Docker Image
 Docker file
 Each Docker container starts with a Docker file. A Docker file is a text file written in an easy-to-understand syntax
that includes the instructions to build a Docker image (more on that in a moment).
 A Docker file specifies the operating system that will underlie the container, along with the languages, environmental
variables, file locations, network ports, and other components it needs-and, what the container will actually be doing
once we run it.
 Docker image
 Once you have your Docker file written, you invoke Docker build utility to create image based on that Docker file.
 Whereas the Docker file is the set of instructions that tells build how to make the image, a Docker image is a
portable file containing the specifications for which software components the container will run and how.
 Because a Docker file will probably include instructions about grabbing some software packages from online
repositories, you should take care to explicitly specify the proper versions, or else your Docker file might produce
inconsistent images depending on when it’s invoked. But once an image is created, it’s static.

99
Development Tools
Docker: The first and still most popular container technology, Docker's open-source containerization engine
works with most of the products that follow, as well as many open-source tools
 Docker Enterprise : this set of extensions not only adds features to Docker, but also makes it possible for
Docker (the company) to add commercial support. If you need a support matrix to know exactly which versions
of what software are supported—and a phone number to call if things go wrong— then Docker Enterprise might
be for you.
 CRI-O: the first implementation of the Container Runtime Interface, CRI-O is an incredibly lightweight, open-
source reference implementation.
 rktlet : the aforementioned rkt, redesigned and retooled to use the CRI as rktlet, now has a set of supported
tools and community to rival Docker.
 Containerd : A project of the Cloud Native Computing Foundation, containerd was an early container format.
More recently the developers of containerd built a CRI plugin that lets Kubernetes run containerd in the same
way it runs rktlet or CRI-O
 Microsoft Containers: Positioned as an alternative to Linux, Microsoft Containers can support Windows
containers under very specific circumstances. They generally run in a true virtual machine and not in a cluster
manager like Kubernetes

100
IDES
 What is Container Management Software?
 Container management platforms facilitate the organization and virtualization of software
containers, which may also be referred to as operating-system-level virtualizations.
 Developers use containers to launch, test, and secure applications in resource-independent
environments.
 Containers house components of applications, libraries, or groups of source code that can be
executed on demand.
 The management platforms help users allocate resources to optimize efficiency and balance system
workloads.
 Containers provide a flexible, portable platform to organize, automate, and distribute applications
 Companies use container management software to streamline container delivery to avoid the
complexities of interdependent system architectures.
 The tools are scalable and can greatly improve the performance of widely distributed applications.

101
Cont’d
 Amazon Elastic Container Service (Amazon ECS): Amazon EC2 Container Service (ECS) is a
container management service that supports Docker containers and allows users to easily run
applications on a managed cluster of Amazon EC2 instances.
 Mirantis Kubernetes Engine (formerly Docker Enterprise): is the fastest way to modern apps
at enterprise scale. Mirantis Kubernetes Engine is the industry-leading and only container platform
providing a simple, as-a-service experience and a central point of collaboration across dev and ops to
build, share and run modern applications. Schedule a live demo at: www.mirantis.com/demo
 Google Kubernetes Engine (GKE): Deploy, manage, and scale containerized applications, powered
by Kubernetes
 AWS Fargate: AWS Fargate is a technology for Amazon ECS and EKS that allows you to run
containers without having to manage servers or clusters. AWS Fargate removes the need for you to
interact with or think about servers or clusters. Kubernetes Kubernetes is a Linux container
management tool.
 IBM Cloud Kubernetes Service: Advanced capabilities for building cloud-native apps, adding
DevOps to existing apps, and relieving the pain around security, scale and infrastructure management.

102
Cont’d
 Azure Kubernetes Service (AKS: is a solution that optimizes the configuration of popular open-source tools
and technologies specifically for Azure, it provides an open solution that offers portability for both users
containers and users application configuration.
 Portainer: is the definitive open-source UI for simplifying Kubernetes, Docker, Swarm, and ACI container
management.
 Simplicity without compromise - run and manage your complex Kubernetes and Docker environments in a
simple, low code/no code manner.
 Get the best of both worlds - some developers support Kubernetes, while others prefer Docker Swarm or
ACI for container orchestration.
 Portainer helps manage all these environments from a single product. Let devs be devs - developers and
DevOps don't always blend. With Portainer's easy low code/no code UI, DevOps can quickly deploy apps
without having indepth knowledge of Kubernetes or Docker Swarm.
 Rancher: is an open-source platform for managing containers that provides a full set of infrastructure services
for containers, including networking, storage services, host management and load balancing, work across any
infrastructure, and make it simple to reliably deploy and manage applications.

103
Open Solaris
 OpenSolaris is an open-source operating system, similar in scope to GNU/Linux and BSD, but
descended from the proprietary Solaris operating system from Sun Microsystems.
 OpenSolaris as divided into three distinct but related aspects: the code, the distributions, and the community.
 Features of Solaris
 Security: includes some of the world's most advanced security features, such as Process and User Rights
 Management: Trusted Extensions for Mandatory Access Control, the Cryptographic Framework and Secure
by Default Networking that allow you to safely deliver new Solutions consolidate with security and protect
mission-critical data
 Performance: Solaris delivers indisputable performance advantages for database, Web, and Java technology-
based services, as well as massive scalability, shattering world records by delivering unbeatable
price/performanceadvantages.
 Networking: With its optimized network stack and support for today’s advanced network computing
protocols, Solaris delivers high-performance networking to most applications without modification.
 Data Management: Solaris offers dramatic advances in file system and volume management by delivering
virtually unlimited capacity and near zero administration

104
Cont’d
 Interoperability: Understanding that businesses today rely on a mix of technologies from a variety of
vendors, Solaris provides tools to enable seamless interoperability with hundreds of heterogeneous hardware
and software platforms
 Observability: The Solaris release gives you Observability into your system with tools such as Solaris
Dynamic Tracing (DTrace), which enables real-time application debugging and optimization Platform Choice:
Solaris is fully supported on more than 900 SPARC based and x64/x86-based systems from top manufacturers,
including systems from Sun, Dell, HP, and IBM
 Virtualization: The Solaris OS includes industry-first virtualization features such as Solaris Containers, which
let you consolidate, isolate, and protect thousands of applications on a single server
 Availability: Solaris features, such as Predictive Self-Healing, support automatic diagnosis and recovery from
hardware and application faults, maximizing system uptime. Support & Services: Offering a broad portfolio of
world-class services, Sun can help you extract maximum value from the Solaris Operating System.

105
Free BSD
What is FreeBSD?
 FreeBSD is an operating system for a variety of platforms which focuses on features, speed, and stability. It is
derived from BSD, the version of UNIX® developed at the University of California, Berkeley. It is developed and
maintained by a large community.
 Cutting edge features
 FreeBSD offers advanced networking, performance, security and compatibility features today which are still
missing in other operating systems, even some of the best commercial ones.
 Powerful Internet solutions
 FreeBSD makes an ideal Internet or Intranet server. It provides robust network services under heaviest loads
and uses memory efficiently to maintain good response times for thousands of simultaneous user processes.
 Advanced Embedded Platform
 FreeBSD brings advanced network operating system features to appliance and embedded platforms, from
higher-end Intel-based appliances to ARM, PowerPC, and MIPS hardware platforms. From mail and web
appliances to routers, time servers, and wireless access points, vendors around the world rely on FreeBSD’s
integrated build and cross build environments and advanced features as the foundation for their embedded
products. And the Berkeley open-source license lets them decide how many of their local changes they want
to contribute back
106
Cont’d
 Run a huge number of applications
 With over 33,000 ported libraries and applications, FreeBSD supports applications for desktop, server,
appliance, and embedded environments.
 Easy to install
 FreeBSD can be installed from a variety of media including CD ROM, DVD, or directly over the network
using FTP or NFS.
 FreeBSD is free
 While you might expect an operating system with these features to sell for a high price, FreeBSD is
available free of charge and comes with the source code.
 Contributing to FreeBSD
 It is easy to contribute to FreeBSD. All you need to do is find a part of FreeBSD which you think could be
improved and make those changes (carefully and cleanly) and submit that back to the Project by means of a
bug report or a committer, if you know one. This could be anything from documentation to artwork to
source code.

107

You might also like