Lesson 09
Freeware and Open Source
Freeware vs open source, CPython, distributions, and the sys module.
What you will learn
By the end of this lesson, you'll understand:
- What does freeware mean?
- What does open source mean?
- Why is CPython the standard implementation?
- What is the purpose of common Python distributions?
- How do you inspect your Python installation using the
sysmodule?
What is Freeware?
Freeware means software that can be downloaded and used free of cost from the official source.
For Python, the official download website is:
Official Website: www.python.org
You can download Python without purchasing a license.
Freeware means
- Free to download
- Free to install
- Free to learn
- No paid license required
Important: Freeware refers to cost, not necessarily the right to modify the software.
What is Open Source?
Open Source means the source code is publicly available for studying, improving, and customizing according to its license.
Because Python is open source, it has grown into one of the world's largest programming communities.
Industries benefiting from open source
- Education
- Artificial Intelligence
- Data Science
- Automation
- Web Development
- Scientific Research
CPython — The Standard Python
The standard implementation of Python is called CPython.
What is CPython?
CPython is the reference implementation of the Python language.
When you install Python from python.org, you're typically installing CPython.
Python Distributions
According to your source, companies customize CPython for specialized purposes.
These customized versions are called Python distributions.
| Distribution | Typical Use |
|---|---|
| Jython | Java-based applications |
| IronPython | .NET / C# applications |
| MicroPython | Microcontrollers |
| Anaconda | Data Science & Big Data |
| Stackless Python | Concurrency-focused applications |
1. Jython
Purpose: Java ecosystem — used when Python works alongside Java applications.
2. IronPython
Purpose: .NET ecosystem — integrates Python with C#-oriented applications.
3. MicroPython
Purpose: Embedded systems — runs Python on small hardware devices like microcontrollers.
4. Anaconda
Purpose: Data Science — popular for machine learning, analytics, and scientific computing.
5. Stackless Python
Purpose: Concurrency — designed for applications that require many concurrent tasks.
Freeware vs Open Source
This is an important interview topic.
| Freeware | Open Source |
|---|---|
| Free to download | Source code is available |
| Focuses on cost | Focuses on customization |
| No purchase required | Can study and improve code |
| Example: Python | Example: CPython |
Remember:
- Freeware = Free to use
- Open Source = Free to study and modify (under license rules)
Inspect Your Python Installation
Python provides the sys module for system information.
Example 1 — Executable Location
import sys
print(sys.executable)Example output:
/usr/bin/python3This tells you which Python interpreter is running your program.
Example 2 — Version Information
import sys
print(sys.version)Example output:
3.12.0 (main, ...)Example 3 — Copyright
import sys
print(sys.copyright)This displays the copyright information of your installed Python.
The sys Module Overview
| Attribute | Purpose |
|---|---|
sys.version |
Installed Python version |
sys.executable |
Interpreter path |
sys.copyright |
Copyright information |
These attributes help developers verify their environment.
Practice Exercise
Write one program that displays all three pieces of information.
import sys
print("Version:", sys.version)
print("Executable:", sys.executable)
print("Copyright:", sys.copyright)Sample output
Version: 3.12.0
Executable: /usr/bin/python3
Copyright: Copyright (c) Python Software FoundationKey Points
- Python is freeware because it can be downloaded without payment.
- Python is open source because its source code is publicly available.
- CPython is the standard implementation of Python.
- Different distributions serve Java, .NET, embedded, data science, and concurrency domains.
- The
sysmodule reveals your installed Python environment.
Interview Questions
- What is the difference between freeware and open source?
- What is CPython?
- Which Python distribution is commonly used for data science?
- Which distribution is designed for microcontrollers?
- What does
sys.executablereturn?
Summary
| Concept | Remember |
|---|---|
| Freeware | Free to download |
| Open Source | Source code available |
| Standard Implementation | CPython |
| Java Distribution | Jython |
| .NET Distribution | IronPython |
| Embedded Distribution | MicroPython |
| Data Science | Anaconda |
| System Module | sys |
Python's success comes from both being free to use and open to improve. The CPython implementation provides the foundation, while specialized distributions adapt Python for different industries.
Next
Next lesson: Robust Programming & Exception Handling — how Python prevents applications from crashing by handling runtime errors gracefully.