1. Unit 1: Open Source Demystified: Introduction
Content
Unit 2: Open Source Operation & Potential Insight
Unit 3: How to join and contribute
Unit 4: Building Career and Competency
Unit 5: Open Source as a Culture
2. What is open source?
The term open source refers to something people can modify and share because its design is publicly
accessible.
The term originated in the context of software development to designate a specific approach to creating
computer programs. Today, however, "open source" designates a broader set of values—what we call
"the open source way."
• Open exchange: Sharing ideas freely with everyone.
• Collaborative participation: Working together as a team to solve problems and create solutions.
• Rapid prototyping: Quickly building and testing ideas to see what works best.
• Transparency: Being open about processes and decisions so anyone can understand them.
• Meritocracy: Valuing and rewarding contributions based on quality, not on position or authority.
• Community development: Creating a supportive environment where people help and learn from
each other.
3. History of OSS
The idea of sharing software freely started in 1983 with Richard Stallman, a programmer at MIT.
He believed that software should be open for everyone to:
1. See how it works.
2. Learn from it.
3. Make it better.
To support this, he created the GNU Public License (GPL). This license allowed people to freely
use, change, and share software, as long as they kept it free for others too. Stallman’s goal was to
create a completely free operating system.
Over time, this idea became popular, and in 1998, the Open Source Initiative was founded to
officially promote open and collaborative software development.
4. FOSS (Free and Open Source Software)
1984: The beginning of the Free Software movement.
1997: The term "Open Source" is coined.
Today: FOSS is used everywhere, from universities and labs to enterprises
and the mass market.
5. How does OSS Work?
Open source software (OSS) is code that is stored in a public place, called a repository, and is shared openly. This means:
1. Anyone can use the code as they wish.
2. People can contribute by improving the design or adding features.
Open Source Licenses
OSS comes with a license, which sets rules for how the code can be used, changed, and shared. Here are five popular
licenses:
1. MIT License: Very flexible and lets developers use and modify the code freely, even in proprietary software.
2. GNU General Public License (GPL) 2.0: Requires any modified code to be shared publicly under the same terms.
3. Apache License 2.0: Allows modification and distribution, even in commercial projects, with protections against patent
claims.
4. GNU General Public License (GPL) 3.0: An updated version of GPL with more protections and stricter requirements
for sharing modifications.
5. BSD License 2.0: Similar to the MIT License, allowing freedom in usage but with fewer restrictions.
7. Simple Timeline of Open Source
• 1950s-1960s:
Programmers freely shared code in early research projects.
• 1983:
Richard Stallman started the GNU Project to promote free software.
• 1989:
The GNU General Public License (GPL) was created to ensure software remained free to
share and modify.
• 1991:
Linux kernel, a key part of the Linux operating system, was released as open source.
• 1998:
The term "open source" was introduced, and the Open Source Initiative (OSI) was formed.
• 2000s:
Open source became popular with projects like Firefox, Apache, and MySQL.
• 2010s:
Platforms like GitHub made global collaboration easy, and companies like Microsoft
embraced open source.
8. What's the difference between open source software and other types of software?
Types of Software
1. Proprietary (Closed Source) Software:
○ Only the original creators or authorized parties can view, modify, or share the
source code.
○ Example: Microsoft Office or Adobe Photoshop.
○ Users must follow strict licenses, which limit what they can do with the software.
2. Open Source Software (OSS):
○ The source code is publicly available for anyone to view, copy, modify, or share.
○ Examples: LibreOffice and GNU Image Manipulation Program (GIMP).
○ Users also need to accept a license, but open source licenses are more flexible.
9. Why do people prefer using open source software?
Benefits of Open Source Software
1. Control:
○ Users have full access to the source code and can check it for anything unwanted.
○ They can modify it to fit their needs or preferences.
○ Even non-programmers benefit by using the software in ways that suit them, without
restrictions.
2. Training and Learning:
○ Open source helps budding programmers learn by studying real-world code.
○ Students can share their work, get feedback, and improve their skills.
○ Mistakes in the code are shared, helping others avoid similar errors.
3. Security and Stability:
○ With public access to the code, errors and vulnerabilities are quickly spotted and fixed by
the community.
○ Updates and improvements happen faster than in proprietary software.
○ A large community working on the code makes it more secure and reliable over time.
10. 4.Stability:
● Ideal for long-term projects since the source code is publicly available.
● Even if the original creators stop working on it, others can maintain or improve the software.
● It often follows open standards, ensuring compatibility and reliability over time.
5.Community Support:
● Open source software creates communities of users and developers who actively contribute to
its improvement.
● Unlike proprietary software fanbases, these communities are involved in creating, testing, and
enhancing the software.
● This collaboration makes the software stronger and more user-focused.
11. Some examples of OSS
∙ GNU/Linux
∙ Mozilla Firefox
∙ VLC media player
∙ SugarCRM
∙ GIMP
∙ VNC
∙ Apache web server
∙ LibreOffice
∙ jQuery
12. GNU/Linux:
● A free and open-source operating system.
● Known for being secure, customizable, and used widely on servers and desktops.
● Often referred to as Linux when paired with the Linux kernel.
Mozilla Firefox:
● A popular web browser.
● Known for its speed, privacy features, and open-source community-driven development.
VLC Media Player:
● A versatile media player that supports various video and audio formats.
● Open-source and free to use, it’s loved for its ability to play almost any file.
SugarCRM:
● A customer relationship management (CRM) software.
● Helps businesses manage interactions with customers and improve sales, marketing, and customer service.
GIMP (GNU Image Manipulation Program):
● A powerful, free tool for photo editing and graphic design.
● Similar to Adobe Photoshop, it’s used for tasks like image retouching, composition, and creation.
13. VNC (Virtual Network Computing):
● A remote desktop sharing software.
● Allows users to control another computer over a network, making it great for troubleshooting and support.
Apache Web Server:
● One of the most widely used web servers, hosting websites and web applications.
● Known for its stability, security, and flexibility in managing web traffic.
LibreOffice:
● A free and open-source office suite (word processor, spreadsheet, etc.).
● An alternative to Microsoft Office, it’s compatible with a wide range of file formats.
jQuery:
● A lightweight JavaScript library used for building web pages and web applications.
● Simplifies tasks like manipulating HTML, handling events, and animating elements.
14. Factor Open Source Closed Source
Price Free or low-cost, often with no licensing fees. Cost varies based on scale and
licensing terms.
Freedom to
Customize
Fully customizable depending on the
open-source license; may require technical
expertise.
Customizations are limited to
features provided by the company.
User-friendliness May require technical knowledge to use
effectively.
Typically user-friendly, with
design focused on adoption and
experience.
After-sales
Support
Community support via forums and mailing
lists; some projects have official support.
Dedicated customer support
through service-level agreements
(SLA).
Stability Depends on community involvement and
maintenance.
Usually stable, especially with
established companies; issues if
discontinued.
15. Total Cost of
Ownership (TCO)
Lower upfront cost with minimal or no
licensing fees; depends on the
maintenance level.
Higher total cost based on user base
size and licensing fees.
Community
Participation
Development, critique, and enhancement
driven by the community.
Closed community where only the
vendor manages changes and
improvements.
Security Code is open for review, enabling bug
detection, but vulnerabilities can still exist.
Security depends on the company
distributing the software, with
guarantees based on SLA. Security
flaws may arise, but the distributor is
responsible for fixes.
Vendor Lock-in No lock-in due to cost savings; may have
technical dependencies based on system
integration.
Vendor lock-in is common due to
large investments in proprietary
software, making it costly to switch
vendors or to move to an open-source
alternati
16. Interoperability Generally better due to collaborative
development and open standards.
Depends on the development
standards set by the vendor.
Enhancements or
New Features
Users can develop enhancements
themselves if needed.
Modifications require requests to the
software owner.
Financial Institution
Considerations
Often avoided due to concerns over
security, regulatory compliance, and lack
of warranty. Requires thorough
vetting(evaluation) if used.
Generally preferred due to reliability,
warranty support, and adherence to
industry regulations.
Warranty No warranty offered. Usually comes with a warranty,
providing security and liability
indemnity.
19. Advantages of open-source software
1.Free:Open-source software is usually free to use, with no licensing fees.
2. Flexibility:Developers can examine and modify the code to fix
problems or change features to fit their specific needs.
3. Stability:The code is publicly distributed, so even if the original developers stop working on it, the
community can continue to maintain and improve it.
4. Ingenuity:Programmers can build upon existing code, improve it, or create their own features and
innovations, making the software more versatile.
5. Community Support:Open source is supported by a community of developers who constantly update
and enhance the software, sharing fixes and features.
6. Learning Opportunities:New programmers can study the code, learn from it, and develop their skills by
contributing to open-source projects.
20. Disadvantages
1.Harder to Use:Setup can be challenging, and open-source software often lacks
user-friendly interfaces, making it harder for beginners to adopt.
2. Compatibility Issues:Open source may have problems working with proprietary
hardware due to the need for specialized drivers provided only by hardware manufacturers.
3. No Warranty or Liability Protection:Unlike commercial software, open source typically
doesn’t include warranties or liability indemnity(protection against loss), meaning users
must manage legal and compliance risks themselves.
4. Hidden Costs:Open source can lead to unexpected expenses for training, setting up
hardware, and data migration, which can offset its cost advantages.
23. Ten Myths and Facts about Open Source
Myth #1: All open source software is Linux.
Myth #2: OSS does not work together seamlessly with proprietary software.
Myth # 3: OSS is developed by students and enthusiasts and not “real” developers.
Myth # 4: OSS is less secure than proprietary software.
Myth # 6: There is no support for OSS.
Myth # 7: OSS is not scalable.
Myth # 8: No one gets paid for developing OSS.
Myth # 9: OSS is chaotic, undocumented and unrefined code.
Myth # 10: OSS is not enterprise-level software.
Myth # 5: OSS is a legal, licensing, and copyright nightmare.
24. Myth #1: All open source software is Linux.
Fact: OSS is not just limited to Linux. While Linux is a well-known open-source
OS, OSS also supports Windows, macOS, and many other platforms. Examples
include Firefox, Blender, and MySQL, which work across multiple operating
systems.
Myth #2: OSS does not work together seamlessly with proprietary software.
Fact: Many OSS tools integrate well with proprietary software. For example,
Docker works on both open-source Linux and proprietary Windows platforms. OSS
focuses on compatibility.
Myth #3: OSS is developed by students and enthusiasts and not “real” developers.
Fact: Many professional developers and companies contribute to OSS.
Organizations like Google, Microsoft, and Red Hat invest heavily in projects like
Kubernetes and OpenJDK. Enthusiasts also contribute, but it's not limited to them.
25. Myth #4: OSS is less secure than proprietary software.
Fact: OSS can be highly secure because the code is open for public review. This
allows communities to identify and fix bugs quickly. Projects like OpenSSL and
Apache are known for their strong security practices.
Myth #5: OSS is a legal, licensing, and copyright nightmare.
Fact: OSS uses well-defined licenses, such as MIT, GPL, and Apache License, that
dictate how the software can be used. These licenses ensure legal clarity while
keeping the software open for public use.
Myth #6: There is no support for OSS.
Fact: OSS has plenty of support options. You can find support through:
Online communities and forums like GitHub Discussions.
Paid services from companies like Red Hat or Canonical (Ubuntu).
Documentation provided with the software.
26. Myth #7: OSS is not scalable.
Fact: OSS is highly scalable and used by enterprises worldwide. Examples include
Linux, which powers servers at Google, and Apache Kafka, which handles large-scale
data streams for Netflix and LinkedIn.
Myth #8: No one gets paid for developing OSS.
Fact: Developers and organizations often get paid to work on OSS. Companies like
Google and IBM sponsor OSS projects, and platforms like GitHub and Patreon allow
developers to earn income.
Myth #9: OSS is chaotic, undocumented, and unrefined code.
Fact: Well-managed OSS projects have clear documentation, structured code, and a
review process for contributions. Popular projects like React and Linux Kernel are
excellent examples of polished, well-maintained OSS.
27. Myth #10: OSS is not enterprise-level software.
Fact: OSS powers many enterprise systems. For example:
Linux is the OS for most servers worldwide.
Kubernetes orchestrates containerized applications at scale.
MySQL and PostgreSQL are enterprise-level database solutions.
28. Myth #1: All open source software is Linux.
Fact: When people mentioned OSS, the quick and common
assumption about it is that OSS only runs on the Linux operating
system. It is a quick and easy assumption to make as many open
source programs are made with Linux availability as a prime
motivator. While open source and Linux are often seen together,
open source applications are not exclusive to it. OSS projects are
written for Windows and Macintosh operating systems as well, not
just for Linux. OSS works on platforms beyond these three as well
which makes sense as OSS, at its core, is for everyone.
29. Fact: This particular myth is perpetuated by — wait for it
— software developers. Simply put, this is not true. Open
source is not, nor ever has been, meant to compete with
proprietary code. Of late, many software developers are
incorporating open source into new software packages in
order to have OSS integrate smoothly with operating
systems and other applications. Granted, as with any
software, incompatibilities such as differences in data
formats or other areas can happen; but OSS integration
can happen so long as the development is there.
Myth #2: OSS does not work together seamlessly with proprietary software.
30. Fact: Here are just a few developers involved in developing OSS:
Myth # 3: OSS is developed by students and enthusiasts and not “real” developers.
31. Fact: The truth about security in any kind of
software, open source or otherwise, is that
security can be either good or bad depending
on its development. Proprietary software can
be insecure. OSS can be more secure than
other software packages. This is where OSS
benefits from a community of many
perspectives interested in its development.
Supporters of a project are pulling from a
wider base of knowledge, all invested in the
quality and overall security of the project.
When it comes to security, it is a priority to
always have your data protected, and as the
source code is distributed freely, anyone can
work on making it secure.
Myth # 4: OSS is less secure than proprietary software.
32. Fact: “Protecting” software is complicated
from the start as you can use patents, licenses,
and copyrights. It can all get a bit confusing
when to use which, and still preserve the open
source aspect of the project. How can
something be open and yet be protected? A
bit of a conundrum, isn’t it? Open source
utilizes a variety of licenses that keep the
project available to the public while still
employing legal protections of copyright and
patents.
Myth # 5: OSS is a legal, licensing, and copyright nightmare.
33. •Myth: There is no support for OSS.
•Fact: When you think about this misconception in context to the size of the
open source community (spoiler alert: it’s a global movement), it’s hard to
figure out where this originated from. Support for open source software works
differently from what people expect from other kinds of technical support for
commercial software. In fact, open source programs give you more options
for support as help can come from anywhere in the world. The best way to
describe technical support with OSS would be “It takes a village…” as
developers make themselves readily available to help.
34. •Myth: OSS is not scalable.
•Fact: Open source software may not have been initially designed to be
scalable, especially on a corporate level; but OSS has evolved in many ways
to where it is comparable with popular, commercial options. This also
includes scalability.
• With today’s OSS, developers have been able to adapt projects to scale
effortlessly from small, single-user endeavors to full, corporate networks.
Examples of some successful OSS projects include Apache, ZFSonLinux, and
WordPress. Another way that OSS remains scalable is how many dev teams
and experts from OSS projects being implemented into your business are
accessible when problems occur. What was once a truth, today’s OSS is the
definition of scalability.
35. •Myth: No one gets paid for developing OSS.
•Fact: It is boldly assumed that if software is free (as many OSS projects
are), then all aspects of the software are free. This includes the work that
developers invest into these projects. This is simply not true. Yes, many
OSS projects are passion projects for dev teams, but these developers are
not necessarily working for free. Developing software pro bono is not a
necessary attribute for working with open source. In fact, if OSS becomes a
regular part of day-to-day operations, corporations will sponsor the project’s
coders to ensure funding for it.
36. •Myth: OSS is chaotic, undocumented and unrefined code.
•Fact: OSS projects are regarded as “development by committee” as input on OSS
projects come from the community, but this is far from the truth. Yes, when classified
as open source, projects can thrive through public contributions in pull requests, but
all pull requests are vetted and approved by project managers.
• Contributions are tested, considered, and then approved; but pull requests do not
always have to be merged. Contributions can be denied. This doesn’t mean the
process is perfect. Project managers can disagree of merges, disagree on the direction
of a project, or simply have a falling out. This is when things can go south with an
OSS project. Communication between project managers is key in avoiding this.
37. •Myth: OSS is not enterprise-level software.
•Fact: What exactly is enterprise software? An oversimplified definition of
enterprise is a stable product serving the needs and demands of a large
organization. OSS’s license determines how your organization uses the
software, and corporate-friendly toolsets like Javascript, SQL, and Ruby on
Rails are common with OSS projects. Similarly, scalability (which we covered
earlier) is easily done with OSS projects.