Chapter 14 — Open Source Concepts: Exercise Solutions Guide
How to Use This Page
1. Attempt every exercise question on your own first — write your answer before looking here. 2. Compare your answer with the solution provided; focus on the reasoning, not just the final choice. 3. Re-read the Key Concepts section for a quick recap before exams. 4. Check the Common Mistakes section to avoid frequent errors that cost marks.
Key Concepts (Quick Recap)
- Open source software (OSS) — software whose source code is publicly available for anyone to view, modify, and redistribute.
- Proprietary software — software whose source code is closed; users buy a licence to use it but cannot modify or redistribute it (e.g., Microsoft Windows, Adobe Photoshop).
- FOSS — Free and Open Source Software; combines the principles of free software (freedom to use, study, modify, distribute) with open source (source code publicly available).
- FLOSS — Free/Libre and Open Source Software; emphasises the "libre" (freedom) aspect.
- GNU Project — started by Richard Stallman in 1983 to create a free Unix-like operating system; GNU stands for "GNU's Not Unix."
- GPL (GNU General Public License) — copyleft licence requiring derivative works to also be open source under GPL; most popular open source licence.
- LGPL (Lesser General Public License) — allows linking to non-GPL software; less restrictive than GPL; used for libraries.
- Popular open source software — Linux (OS), Apache (web server), MySQL (database), PHP (server-side scripting), Python (programming language), LibreOffice (office suite), Mozilla Firefox (browser).
- Freeware — free to use but source code is not available (e.g., Adobe Reader, Skype); not the same as open source.
- Shareware — free for a trial period, then payment required (e.g., WinZip trial).
- Advantages of OSS — no licence cost, community support, customisable, transparent, no vendor lock-in.
- Disadvantages of OSS — less user-friendly, limited official support, compatibility issues, security concerns with unknown contributions.
I. Choose the Best Answer (MCQs)
1. Software whose source code is available to the public for modification and redistribution is called: (a) Proprietary software (b) Freeware (c) Open source software (d) Shareware
Answer(c) Open source software Explanation: Open source software makes its source code publicly available, allowing users to view, modify, and redistribute it under the terms of its licence.
2. The GNU Project was started by: (a) Linus Torvalds (b) Dennis Ritchie (c) Richard Stallman (d) Tim Berners-Lee
Answer(c) Richard Stallman Explanation: Richard Stallman started the GNU Project in 1983 with the goal of creating a completely free Unix-like operating system.
3. GPL stands for: (a) General Public Licence (b) GNU Public Licence (c) GNU General Public Licence (d) Global Public Licence
Answer(c) GNU General Public Licence Explanation: GPL stands for GNU General Public Licence, the most widely used free software licence that ensures derivative works remain free.
4. Which of the following is a proprietary software? (a) Linux (b) Mozilla Firefox (c) Microsoft Windows (d) MySQL
Answer(c) Microsoft Windows Explanation: Microsoft Windows is proprietary — its source code is not publicly available and users must purchase a licence. Linux, Firefox, and MySQL are all open source.
5. LGPL is less restrictive than GPL because it allows: (a) Commercial sale (b) Linking with non-GPL software (c) Removing copyright (d) Closed distribution
Answer(b) Linking with non-GPL software Explanation: The Lesser GPL allows software to link with non-GPL programmes, making it suitable for libraries that can be used by both open and closed source projects.
6. Which of the following is NOT open source software? (a) Apache (b) Python (c) Adobe Photoshop (d) LibreOffice
Answer(c) Adobe Photoshop Explanation: Adobe Photoshop is proprietary software. Apache, Python, and LibreOffice are all open source.
7. FOSS stands for: (a) Free and Open Source Software (b) Free Operating System Software (c) Formatted Open Source Software (d) Free and Official Source Software
Answer(a) Free and Open Source Software Explanation: FOSS stands for Free and Open Source Software, combining freedom of use with open source code availability.
8. The Linux kernel was created by: (a) Richard Stallman (b) Linus Torvalds (c) Bill Gates (d) Steve Jobs
Answer(b) Linus Torvalds Explanation: Linus Torvalds created the Linux kernel in 1991. Combined with GNU tools, it forms the GNU/Linux operating system.
9. Shareware is software that: (a) Is always free (b) Is free for a trial period then requires payment (c) Has open source code (d) Is a type of hardware
Answer(b) Is free for a trial period then requires payment Explanation: Shareware allows free use for a limited trial period after which the user must purchase a licence to continue using it.
10. Which licence requires derivative works to also be open source? (a) BSD (b) MIT (c) Apache (d) GPL
Answer(d) GPL Explanation: The GPL is a copyleft licence, meaning any derivative works must also be distributed under the GPL, keeping the software free and open.
II. Fill in the Blanks
1. FOSS stands for Free and Open Source Software. 2. The GNU Project was started by Richard Stallman in 1983. 3. GPL is a copyleft licence that ensures derivative works remain open source. 4. LGPL (Lesser General Public License) allows linking open source libraries with non-GPL software. 5. Linux is an open source operating system kernel created by Linus Torvalds. 6. Software that is free to use but whose source code is not available is called freeware. 7. Apache is the most widely used open source web server software. 8. MySQL is a popular open source relational database management system. 9. PHP is an open source server-side scripting language used for web development. 10. Proprietary software is also called closed source software.
III. True or False
1. Open source software is always free of cost.
AnswerFalse "Free" in FOSS refers to freedom, not price. Some open source software can be sold commercially (e.g., Red Hat Enterprise Linux). 2. Proprietary software allows users to modify its source code. — False. Proprietary software keeps its source code closed; users cannot modify it. 3. GPL is a copyleft licence. — True. GPL's copyleft provision ensures that derivative works must also be distributed under GPL. 4. Freeware and open source software are the same. — False. Freeware is free to use but source code is not available; open source software has publicly available source code. 5. Python is an open source programming language. — True. Python is released under the Python Software Foundation License, an open source licence. 6. LGPL is more restrictive than GPL. — False. LGPL is less restrictive — it allows linking with non-GPL software, making it suitable for libraries. 7. The GNU Project aimed to create a free Unix-like operating system. — True. Richard Stallman started the GNU Project to develop a complete free operating system similar to Unix. 8. Shareware can be used indefinitely without payment. — False. Shareware is free only for a trial period; continued use requires purchasing a licence. 9. LibreOffice is an open source alternative to Microsoft Office. — True. LibreOffice is a free and open source office suite that provides similar functionality to Microsoft Office. 10. The BSD licence is more restrictive than GPL. — False. The BSD licence is more permissive — it allows code to be used in proprietary software with minimal restrictions.
IV. Match the Following
Set A:
| Column A | Column B |
|---|
| 1. Linux | (d) Open source OS kernel |
| 2. Apache | (e) Open source web server |
| 3. MySQL | (a) Open source RDBMS |
| 4. PHP | (c) Server-side scripting language |
| 5. Python | (b) General-purpose programming language |
Set B:
| Column A | Column B |
|---|
| 1. GPL | (c) Copyleft — derivatives must be open |
| 2. LGPL | (a) Allows linking with non-GPL software |
| 3. BSD | (e) Permissive — minimal restrictions |
| 4. Freeware | (d) Free to use, source code not available |
| 5. Shareware | (b) Free trial, then payment required |
V. Short Answer Questions
1. Define open source software and give two examples.
Answer
Open source software is software whose source code is made publicly available, allowing anyone to view, modify, and redistribute it under the terms of an open source licence. Two examples: Linux (operating system) and Mozilla Firefox (web browser).
2. What is the difference between freeware and open source software?
Answer
| Feature | Freeware | Open Source Software |
|---|
| Source code | Not available | Publicly available |
| Modification | Not allowed | Allowed |
| Redistribution | Not allowed | Allowed under licence |
| Cost | Free | May be free or paid |
| Examples | Adobe Reader, Skype | Linux, Apache |
3. What is the GNU Project?
Answer
The GNU Project was started by Richard Stallman in 1983 to create a complete, free Unix-like operating system. GNU stands for "GNU's Not Unix" (a recursive acronym). The project produced many essential tools (GCC compiler, bash shell, GNU utilities) that, combined with the Linux kernel, form the GNU/Linux operating system.
4. Differentiate between GPL and LGPL.
Answer
| Feature | GPL | LGPL |
|---|
| Full form | GNU General Public Licence | GNU Lesser General Public Licence |
| Copyleft | Strong — derivatives must be GPL | Weaker — allows linking with non-GPL |
| Use case | Standalone applications | Libraries and frameworks |
| Derivative works | Must be open source | Can be used in proprietary software |
| Restrictiveness | More restrictive | Less restrictive |
5. List any four advantages of open source software. 1. No licence fees — reduces cost significantly 2. Source code is transparent — can be audited for security 3. Community-driven — large developer community provides support and improvements 4. No vendor lock-in — users can switch providers or modify the software 5. Customisable — organisations can modify the software to suit their needs
6. What is FLOSS?
Answer
FLOSS stands for Free/Libre and Open Source Software. The "Libre" emphasises that "free" refers to freedom (liberty), not just zero cost. FLOSS ensures users have the freedom to run, study, modify, and distribute the software. Examples include Linux, LibreOffice, and Mozilla Firefox.
VI. Detailed Answer Questions
1. Compare open source software and proprietary software.
Answer
| Feature | Open Source Software | Proprietary Software |
|---|
| Source code | Publicly available | Closed/hidden |
| Modification | Allowed by anyone | Not allowed |
| Cost | Usually free or low cost | Requires paid licence |
| Distribution | Free under licence terms | Restricted by copyright |
| Support | Community-based | Official vendor support |
| Security | Transparent — can be audited | Relies on vendor for patches |
| Customisation | Highly customisable | Limited to vendor options |
| Examples | Linux, Apache, MySQL, Python | Microsoft Windows, Adobe Photoshop, MS Office |
| Vendor lock-in | None | High |
| Development model | Collaborative, community-driven | Centralised, company-driven |
2. Explain the GNU Project and its significance.
Answer
The GNU Project was launched by Richard Stallman in 1983 with the goal of creating a complete free Unix-like operating system. The name GNU is a recursive acronym for "GNU's Not Unix."
Key contributions:
- GCC (GNU Compiler Collection) — a free compiler for C, C++, and other languages
- Bash (Bourne Again Shell) — a free command-line shell
- GNU Core Utilities — free replacements for Unix utilities (ls, cp, mv, etc.)
- GPL (GNU General Public Licence) — the most popular open source licence
Significance:
- The GNU Project provided the essential tools and philosophy for the free software movement.
- Combined with the Linux kernel (created by Linus Torvalds in 1991), GNU tools form the GNU/Linux operating system used worldwide.
- The GPL licence ensures that software freedoms are preserved in all derivative works.
- The project laid the foundation for today's open source ecosystem.
3. Describe popular open source software with their uses.
Answer
| Software | Type | Use |
|---|
| Linux | Operating system kernel | Powers servers, desktops, smartphones (Android), supercomputers |
| Apache | Web server | Serves web pages; most popular HTTP server |
| MySQL | Database (RDBMS) | Stores and manages structured data; used in LAMP stack |
| PHP | Scripting language | Server-side web development; powers WordPress, Facebook (originally) |
| Python | Programming language | General-purpose: web, data science, AI/ML, automation |
| LibreOffice | Office suite | Word processing, spreadsheets, presentations — alternative to MS Office |
| Mozilla Firefox | Web browser | Open source browser focused on privacy and customisation |
| VLC Media Player | Media player | Plays almost any audio/video format |
| GIMP | Image editor | Raster graphics editing — alternative to Adobe Photoshop |
| WordPress | CMS | Powers over 40% of all websites on the internet |
4. Discuss the advantages and disadvantages of open source software.
Answer
Advantages: 1. Cost-effective — no licence fees; reduces total cost of ownership 2. Transparency — source code is open for security audits and quality verification 3. No vendor lock-in — users are not dependent on a single vendor 4. Customisable — organisations can modify code to meet specific needs 5. Community support — large developer communities provide fixes, updates, and help 6. Reliability — peer-reviewed code tends to have fewer bugs; issues are fixed quickly 7. Interoperability — open standards promote compatibility between systems
Disadvantages: 1. Limited official support — no guaranteed vendor support; relies on community forums 2. Less user-friendly — some OSS lacks polished interfaces compared to proprietary alternatives 3. Compatibility issues — may not work well with proprietary file formats or hardware 4. Security concerns — while code is auditable, unknown contributors may introduce vulnerabilities 5. Fragmentation — multiple forks and versions can confuse users 6. Learning curve — may require technical expertise to install and configure
5. Explain the different types of software licences: GPL, LGPL, BSD, and MIT.
Answer
| Licence | Type | Key Feature | Example Use |
|---|
| GPL | Copyleft | Derivative works must also be GPL | Linux kernel, GCC |
| LGPL | Weak copyleft | Allows linking with non-GPL software | GNU C Library |
| BSD | Permissive | Minimal restrictions; can be used in proprietary software | FreeBSD, Nginx (BSD-2) |
| MIT | Permissive | Very short and simple; almost no restrictions | jQuery, Node.js |
- GPL ensures software freedom is preserved across all derivatives — the strongest copyleft.
- LGPL is a compromise — it allows proprietary software to use open source libraries without requiring the proprietary code to become open source.
- BSD and MIT are permissive — they allow almost unrestricted use, including in proprietary products, with only a requirement to include the original copyright notice.
Common Mistakes
1. Equating "free software" with "freeware" — Free software is about freedom (to modify, distribute), not price. Freeware is free of cost but source code is not available. 2. Saying open source software can never be sold — Open source software can be sold commercially (e.g., Red Hat); the licence requires the source code to be available, not that it be free of cost. 3. Confusing GPL with LGPL — GPL is strict copyleft (all derivatives must be open source); LGPL allows linking with non-GPL software. 4. Calling Linux a complete OS — Linux is just the kernel. The complete OS is GNU/Linux (GNU tools + Linux kernel). 5. Mixing up shareware and freeware — Shareware is free for a trial period only; freeware is free to use but source code is not available. 6. Thinking all open source licences are the same — GPL, LGPL, BSD, and MIT have very different requirements regarding derivative works. 7. Forgetting the copyleft concept in GPL — GPL's key feature is copyleft, which ensures derivatives remain open source. Always mention this in exam answers.
Exam Checklist
- [ ] Can define open source software and differentiate it from proprietary software
- [ ] Know the difference between freeware, shareware, and open source software
- [ ] Can explain the GNU Project and its significance
- [ ] Understand GPL (copyleft) and LGPL (weak copyleft) with differences
- [ ] Can list and describe at least five popular open source software
- [ ] Can explain FLOSS and FOSS acronyms
- [ ] Know the advantages and disadvantages of open source software
- [ ] Can compare software licences: GPL, LGPL, BSD, MIT
- [ ] Understand Richard Stallman's and Linus Torvalds' contributions
- [ ] Can give at least three examples each of open source and proprietary software