Skip to main content
MahiDev — Learn. Build. Become AI-ready.

Lesson 09

Freeware and Open Source

Freeware vs open source, CPython, distributions, and the sys module.

Beginner10 min

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 sys module?

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.

Study, improve, and customize open source Python

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.

CPython is the standard implementation

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

Jython and the Java ecosystemJython and the Java ecosystem

Purpose: Java ecosystem — used when Python works alongside Java applications.

2. IronPython

IronPython and .NET applicationsIronPython and .NET applications

Purpose: .NET ecosystem — integrates Python with C#-oriented applications.

3. MicroPython

MicroPython on microcontrollersMicroPython on microcontrollers

Purpose: Embedded systems — runs Python on small hardware devices like microcontrollers.

4. Anaconda

Anaconda for data scienceAnaconda for data science

Purpose: Data Science — popular for machine learning, analytics, and scientific computing.

5. Stackless Python

Stackless Python for concurrencyStackless Python for concurrency

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

python
import sys

print(sys.executable)

Example output:

text
/usr/bin/python3

This tells you which Python interpreter is running your program.

Example 2 — Version Information

python
import sys

print(sys.version)

Example output:

text
3.12.0 (main, ...)
python
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.

python
import sys

print("Version:", sys.version)
print("Executable:", sys.executable)
print("Copyright:", sys.copyright)

Sample output

text
Version: 3.12.0
Executable: /usr/bin/python3
Copyright: Copyright (c) Python Software Foundation

Key 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 sys module reveals your installed Python environment.

Interview Questions

  1. What is the difference between freeware and open source?
  2. What is CPython?
  3. Which Python distribution is commonly used for data science?
  4. Which distribution is designed for microcontrollers?
  5. What does sys.executable return?

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.