This is only a preview of the February 2025 issue of Silicon Chip. You can view 43 of the 104 pages in the full issue, including the advertisments. For full access, purchase the issue for $10.00 or subscribe for access to the latest issues. Items relevant to "High-Bandwidth Differential Probe":
Items relevant to "Wireless flashing LEDs":
Articles in this series:
Items relevant to "Transistor tester":
Articles in this series:
Items relevant to "The PicoMite 2":
Items relevant to "IR Remote Control Keyfob":
Articles in this series:
Items relevant to "Programmable Frequency Divider":
Items relevant to "TRF-One AM radio":
Purchase a printed copy of this issue for $13.00. |
GAMES
IMAGES
OPERATING SYSTEMS
LLVM AI
Tensor Flow
DATA
DOSBox
GNU Thunderbird VLC
7-Zip
FFmpeg
VIDEO
SPICE
DEV
ARCHIVES
GIMp
3D OpenPGP
FreeCAD Notepad++
Open-Source Software
Open Street Maps
Blender
PRODUCTIVITY
AV1
SIMS
FreeDV
EMAIL
OPUS
By Dr David Maddison, VK3DSM Firefox
Linux Audacity CHROMIUM WINE
AUDIO LibreOffice
WEB PCB
You may have used free/open-source software in the past, but you might not be aware of
the variety and quality of free software available. You could also be wondering: why would
anyone go to the huge effort of creating software, only to give it away for free?
I
n our article on Repairable Electronics, we
described open-source hardware, that is,
hardware where the plans and parts
are all freely available (July 2024 issue;
siliconchip.au/Article/16320). We also
briefly discussed open-source software
in that article, because of the way it
relates to the hardware. This article
will provide a lot more detail on that
subject.
Part of the inspiration for this article
is the wide variety of excellent free and
open-source software that’s available.
Many people think that they need to
pay for software to get something that’s
useful and works well.
While it’s true that some free/opensource software can be ‘unfinished’,
much of it these days is actually very
good with decent stability, many features and possibly a very polished
user interface.
While modern commercial software
can be very capable, compared to earlier software, it can be quite ‘bloated’
(taking up a lot of CPU, memory and
disk space), buggy, insecure, concerns
about privacy (eg, spying on users),
or can force users to create online
accounts. Because of this, many people today are looking to alternatives.
The high cost of much commercial software is now also a concern,
especially as some of it is no longer
available for purchase. You may have
to subscribe to it, at a cost that can
increase rapidly and unpredictably.
In some cases, this can mean paying
10
Silicon Chip
more in one year than you used to
pay for a piece of software outright
(ie, that you could use more-or-less
indefinitely).
Due to the poor testing of much
commercial software, many end users
don’t like being unpaid testers. Software bugs cost a lot of time and money,
as does endlessly upgrading hardware
to cope with the demands of often inefficient and bloated software.
One big advantage of using opensource software is that the source
code can be audited by third parties
to ensure that it doesn’t do anything
nefarious and it isn’t full of security
flaws.
Another reason to use open-source
software or operating systems is that
they may support older versions of
hardware than commercial versions
of software. For example, many people find their perfectly good and relatively new printers or scanners become
obsolete with new operating system
upgrades.
The latest version of Linux will run
happily on 10-year-old hardware. The
same cannot be said for the latest version of Windows, which often won’t
even install on a computer that’s just
a few years old!
Another great reason to use opensource software is that it often has
cross-platform support, meaning it
will typically run on Windows, Linux
or macOS. That makes it more universal and also means that you can decide
Australia's electronics magazine
to change operating systems (eg, from
Windows to Linux or macOS) and continue to use the same software. The
interfaces are usually even similar
across platforms.
With open-source software, if it
doesn’t support a platform you use,
since you have access to the source
you may even be able to ‘port’ it to
a different operating system. Having said that, it usually isn’t a trivial
process.
For all of the above reasons, a social
movement has developed for people
to voluntarily get involved in the production and distribution of free software. It isn’t necessarily inferior in
terms of features to commercial software, either.
FOSS
One alternative to traditional commercial software is so-called “free and
open-source software” or FOSS.
FOSS is software that is distributed
“under a license that grants the right
to use, modify, and distribute the software, modified or not, to everyone free
of charge”. The mere availability of
source code does not necessarily mean
software is FOSS unless the other conditions are met.
FOSS is a broad-ranging term for
software that is mostly distributed
under the terms of licenses from either
the Free Software Foundation (www.
fsf.org) or the Open Source Initiative
(https://opensource.org/osd).
siliconchip.com.au
These organisations have slightly
different philosophies.
The Free Software Foundation
The Free Software Foundation
defines four essential freedoms of free
(FOSS) software, originally developed
by Richard Stallman:
1 The freedom to run the program
as you wish, for any purpose.
2 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.
3 The freedom to redistribute copies so you can help others.
4 The freedom to distribute copies
of your modified versions to others.
By doing this, you can give the whole
community a chance to benefit from
your changes. Access to the source
code is also a precondition for this.
You can read a collection of Stallman’s essays on open-source principles at www.gnu.org/doc/fsfs3-hardcover.pdf
Open Source Initiative
software
The Open Source Initiative defines
open-source software according to the
ideas of Bruce Perens as requiring the
following:
1 Free distribution.
2 The source code must be freely
available and not obfuscated in any
way.
3 Derived works must be allowed.
4 Integrity of the author’s source
code must be maintained, with limitations on modifying it or indicating
when it is.
5 No discrimination against people
or groups.
6 No restrictions on where or how
the software is used.
7 The same license applies to all
people to whom the software is distributed.
8 The software license applies to
all products derived from a particular
software distribution.
9 The license may not restrict what
software is distributed along with a particular operating system ‘distribution’.
10 The license must be technology
neutral.
Examples of software licenses from
the Open Source Initiative are Apache
License 2.0, BSD 3-Clause and BSD
2-Clause Licenses, all versions of the
GPL (GNU General Public License),
siliconchip.com.au
all versions of the LGPL (GNU Lesser
General Public License) and Mozilla
Public License 2.0 (used for Firefox
and Thunderbird, among others).
Licensing
Both FOSS software and Open
Source Initiative software are issued
under license agreements, although this
doesn’t generally involve any physical
paperwork. It is automatic when you
download the software, perhaps after
agreeing to its terms and conditions.
Common open-source licenses used
by various organisations include the
Apache License, BSD License, GNU
General Public License, GNU Lesser
Public License, MIT license and the
Mozilla Public License.
There are two broad categories of
license for free and open-source software: permissive and copyleft (see
below).
Permissive licenses generally come
from academia and have minimal
restrictions. Copyleft licenses come
from the free software movement and
typically require distribution of the
software and derivative works with
attribution and source code. Both
types usually have a warranty disclaimer (then again, so does most commercial software).
Copyleft
Copyleft is a concept of granting certain rights for use of copyrighted works
such as sharing, modifying, copying or
redistributing them. Author attribution is required and is usually incorporated in the source code files along
with full license conditions. Copyleft
allows people to freely use the copyrighted product, but does not allow
them to own it or earn royalties from it.
Naming confusion &
ideological differences
Both the FOSS and Open Source
Initiative have the words “open
source” in their names, which leads
to some confusion between the two
approaches, although this is of little
practical consequence.
There are important differences
between the views of the Free Software Foundation and the Open Source
Initiative. A basic difference is that
FOSS software is always free, but Open
Source is not necessarily so (but usually is). There may be copyright issues
or distribution restrictions of various
kinds. See www.gnu.org/philosophy/
open-source-misses-the-point.html for
more on this.
In terms of the practical differences
to users of these two forms of software,
there are few differences to be concerned with. They are mostly ideological and lie with the proponents of the
two movements.
There may be costs
While the software we talk about
is generally free, there may be a cost
if it is distributed by a commercial
organisation who that offers technical or other support. For example,
WordPress is free software, but there
are companies that charge for hosting
and/or technical support for it.
Similarly, there are versions of
Linux such as Red Hat Enterprise
Linux (RHEL) that cost money. They
Fig.1: examples of FOSS software running on Fedora Linux with the KDE
Plasma desktop environment: Firefox, Dolphin file manager, VLC media player,
LibreOffice Writer, GIMP and KCalc. Source: https://w.wiki/BsLi
Australia's electronics magazine
February 2025 11
may be used on supercomputers or
in major commercial or government
enterprises. There can also be charges
for some other large enterprise software installations where support by
commercial organisations is offered.
Public domain software
Public domain software was popular from the 1950s to the 1990s. It still
exists, but has been mostly replaced by
FOSS and Open Source licenses. Software that has been placed into the public domain has no ownership, licensure, or any other restriction placed
on it whatsoever.
It became mostly obsolete due to
changes in copyright laws in the
United States and elsewhere with the
implementation of the Berne Convention, which meant that all original
works are by default copyright protected and required an explicit waiver
to enter into the public domain.
Freeware
Freeware is software that is distributed without charge, but unlike FOSS
or Open Source software, the source
code is not typically available. Freeware can be full-featured, or it might
be from a commercial source, as a type
of “sampler” to encourage purchase
of a more capable version of the software (eg, see the DaVinci Resolve entry
below). It may come with restrictions
on the way it’s used.
Shareware
Shareware is proprietary software
that either has a trial version available, or has limited functionality. It
might be supported by advertisements
or a purchase of a more capable or
less restricted version. It might display some mark in the output, such
as a watermark or logo. Source code
is usually not available.
In the rest of the article, we will
not necessarily distinguish between
FOSS and Open Source software or
other types of free software, although
we will try to mention which category
each entry falls under.
● The Brazilian government, which
moved from Windows to Linux.
● Austria, which uses OpenOffice
products and Linux.
● The German armed forces, which
use Matrix for internal communications.
Examples of free and/or
open-source software
Naturally, it would be impossible
to list or review all available software.
The following will hopefully give you
an idea of the fantastic variety of free
and open-source software that’s available. We’ll break down the different
types of software into five categories:
● General software, that will be of
interest to most readers
● Engineering & mathematical software, that we expect will also be useful to many of our readers
● Operating systems
● Development/back-end software,
which will be most interesting to those
who are more into computers and software development
General software
We’ll start things off by covering
open-source software available for most
common day-to-day tasks such as document editing, web browsing, email etc.
Productivity software
LibreOffice (www.libreoffice.org
& Fig.2) is a free and open-source set
of productivity programs including
a word processor (Writer), a spreadsheet program (Calc), a presentation
program (Impress), a drawing program
(Draw), a database access program
(Base), an equation editor (Math) and
a charting module.
It is a ‘fork’ of Apache Open Office,
but LibreOffice is more actively maintained and has a few more features. We
use LibreOffice extensively as it provides all the features we need with an
easy-to-use interface at no cost.
LibreOffice Calc is the spreadsheet
program that comes as part of LibreOffice. It supports 1,048,576 rows and
16,384 columns. It can read and write
Microsoft Excel files, except those
parts (if any) that contain Microsoft
proprietary Visual Basic for Applications (VBA), which may have to be
rewritten in Apache OpenOffice Basic.
Notepad++ (https://notepad-plusplus.org) is a free & open-source text
editor program that’s intended to be
similar to but much more powerful
than Microsoft’s Notepad app that
comes with Windows.
OnlyOffice (www.onlyoffice.com) is
a collaborative online office suite that
includes document, spreadsheet and
presentation editors, plus a PDF creator, editor and form filler.
Scribus (https://sourceforge.net/
projects/scribus) is free, open-source
desktop publishing software. If you
want to publish a book or magazine,
it might be a good place to start.
Sumatra PDF (www.sumatrapdf
reader.org) is a lightweight, opensource PDF reader. Being lightweight,
it is much faster to load and use than
programs like Adobe Acrobat.
Adoption by governments
Various governments worldwide
have adopted free and open-source
software. Examples include:
● Massachusetts, USA, which has
adopted the OpenDocument standard.
● The US White House, which uses
Linux and Drupal on its web servers.
12
Silicon Chip
Fig.2: the LibreOffice Calc spreadsheet program. Source: www.libreoffice.org/
discover/screenshots
Australia's electronics magazine
siliconchip.com.au
Web Browsers
Brave (https://brave.com & Fig.3)
is a free and open-source browser
released under the Mozilla Public
License. It is privacy focused with a
strong level of privacy protection, and
blocks most ads and website trackers with its default settings. Optional
ads can be turned on, which earn
users “Basic Attention Tokens” that
can be used as a cryptocurrency currency token (based on Ethereum) or
to make donations to various websites
and creators.
Chromium (www.chromium.org)
is the open-source web browser that
Google Chrome, Microsoft Edge, Samsung Internet and Opera are based on.
Firefox (www.mozilla.org/firefox) is
a privacy-focused free and open software browser that runs on Windows,
macOS, Linux, Android and iOS. It
automatically blocks most ad trackers.
It also works with Google products
such as Gmail and docs and offers
a “Facebook container” extension
(https://addons.mozilla.org/addon/
facebook-container) to stop Facebook
tracking you around the web. Screenshots can also be made from within
the browser. Firefox is the successor of
one of the original web browsers, Netscape Navigator, introduced in 1994.
There are also many privacy-focused
forks of Firefox such as Librewolf and
GNU IceCat.
Tor browser (www.torproject.org)
has a slogan that goes, “You have a
right to SEARCH without being followed”. It is strongly privacy focused
and is designed for safe and anonymous web browsing.
It operates over the Tor overlay network, itself built with free and opensource software, designed for anonymous communication via ‘onion routing’ through a network of volunteer-
operated relays which create random
paths for your internet data. This is all
encrypted, making tracing and tracking of personal data very difficult for
hostile parties like malicious hackers.
Its main disadvantage is said to be
its slow browsing speed due to the
nature of the volunteer-operated onion
routing it uses.
Communications & email
Matrix (https://matrix.org) is a
communications protocol to provide secure, decentralised instant
messaging, Voice over IP (VoIP) signalling and Internet of Things (IoT)
siliconchip.com.au
Fig.3 (upper): the Brave web browser on several devices. Source: https://brave.
com/static-assets/images/optimized/features/images/Browser-2-1.png
Fig.4 (lower): a sample screen of the Mozilla Thunderbird email client. Source:
www.thunderbird.net
communications, including bridging
together existing communications.
It is used by the French Government
and the German Armed Forces, among
others.
Mozilla Thunderbird (Fig.4 & www.
thunderbird.net) is a free and opensource email client and personal information manager. It also has newsgroup
integration, a news feed, a calendar
(“Lightning”) and an instant messaging client. It will run on Windows,
macOS, FreeBSD and Linux.
It supports all common email standards such as POP, IMAP, LDAP, S/
Australia's electronics magazine
MIME and OpenPGP. The mail file
format it uses is MBOX with MSF
(Mail Summary File) but emails can
be exported in EML format and others such as text, CSV, PDF and HTML.
Drawing, painting, animation &
image manipulation
Blender (www.blender.org & Fig.5)
is a well-regarded 3D graphics program
that runs on Linux, macOS, Windows
and other operating systems. It is suitable for making animated films, 3D art,
creating 3D-printed models, motion
graphics, visual effects and other uses.
February 2025 13
It has become an industry standard
program of sorts.
Darktable (www.darktable.org) is
an open-source digital photography
workflow application for that runs
on Windows, Linux or macOS. It can
also integrate with GIMP (see below).
Inkscape (https://inkscape.org) is
a vector graphics editor for Linux,
macOS and Windows, similar to
Adobe Illustrator or CorelDRAW.
GIMP (GNU Image Manipulation
Program, www.gimp.org & Fig.6) is a
free and open-source image manipulation program for Linux, macOS and
Windows. It is considered by many to
be a substitute for Adobe Photoshop (it
can perform many similar functions).
It can be used for image manipulation, image editing, free-form drawing, conversion of different image
file formats and other tasks. It can
also be enhanced using third-party
plugins and the use of scripting. A new
major version, GIMP 3.0, is planned
to be launched soon and includes
many improvements, such as non-
destructive editing, that solve complaints by people who are used to using
similar features in Photoshop. There
is a good video on the new features at
https://youtu.be/1HoZjHn8gVU
Krita (https://krita.org/en/ & Fig.7)
is a free and open-source graphics manipulation program for raster
graphic art and 2D animation that runs
on Windows, macOS, Linux, Android,
ChromeOS and Haiku. Some people
prefer Krita over GIMP as an alternative to Photoshop.
Audio, codecs, transcoders &
media players
Ardour (https://ardour.org) is a
(mostly) free and open-source digital
audio workstation (DAW) as used by
recording engineers and music producers. It’s similar to commercial music
production programs you might have
heard of, like Ableton Live or Cubase.
Audacity (www.audacityteam.org
& Fig.8) is a free and open-source
audio editor and recorder said to be
the world’s most popular program of
its type. It works on Windows, macOS
and Linux and supports all major
audio formats. There are many thirdparty plugins available for it.
Codec is short for coder/decoder. It
is a piece of software that is involved
in digitising, compressing, decompressing, storing or decoding audio or
video data and is also used for streaming. Many codecs are proprietary and/
or patented, but many free and opensource codecs have been developed,
such as the following:
● AV1 (https://aomedia.org/av1/) is
a video codec developed as a royalty-
free and open-source alternative to
HEVC (H.265).
● Codec 2 is a speech codec
for low-bandwidth applications at
700-3200bits/s.
● MP3 was developed by Fraunhofer
Fig.5: Blender is a
3D modelling suite,
but also doubles as a
video editor. Source:
https://docs.blender.
org/manual/en/latest/
getting_started/
about/index.html
Fig.6 (below): a
sample screen of the
GIMP image editing
software. (1) main
toolbox, (2) tool
options, (3) image
editing window, (4)
brushes, patterns,
fonts and history, (5)
layers, channels and
paths.
Fig.7: an example below of artwork
made using Krita. Source: https://
krita.org/en/
14
Silicon Chip
Australia's electronics magazine
siliconchip.com.au
IIS (siliconchip.au/link/ac2n) and
originally required licensing fees.
Since the patents expired worldwide
by 2017 it is now free and open-source.
● Ogg Vorbis (https://xiph.org/
vorbis) is a free, open-source alternative to MP3. They also published
FLAC, a popular lossless audio codec,
plus two video codecs, Theora and
Daala.
● OpenH264 (www.openh264.org)
is an open-source implementation of
the standard H.264 video compression
system by Cisco Systems.
● Opus (https://opus-codec.org) for
audio compression, including speech.
● uvg266 is an open-source H.266
video encoder (https://github.com/
ultravideo/uvg266).
● x264 and x265 are a free & opensource video encoder for H.264 &
H.265 respectively.
● VPX (www.webmproject.org/
tools) is a free & open-source implementation of the WebM video codec.
FFmpeg is another important opensource project that combines numerous open-source codecs and related
software to create a cross-platform
video & audio recording/converting/
streaming/playback library. It is used
by many open-source media players.
Handbrake (https://handbrake.fr) is
a popular open-source video encoding
and transcoding tool. It runs on Windows, macOS or Linux and can convert from just about any video format
to any other.
The media player mpv (https://
mpv.io & Fig.9) has an opaque control
scheme, but provides a lot of control
for users who want to tinker.
VLC (www.videolan.org/vlc) is a
multimedia player that can play an
enormous variety of media file formats, discs, webcams, devices and
video and audio streams and comes
with the necessary codecs for most
applications. It runs on platforms such
as Android, Linux, iOS, macOS, Unix
and Windows.
Video editing, streaming & capture
DaVinci Resolve is not open-source
but it does have a free version (www.
blackmagicdesign.com/products/
davinciresolve). You have probably
seen it advertised in this magazine;
it was developed by Australian company Blackmagic Design (based in
Melbourne). We have used it and think
it is excellent. There is a paid version
that would be great for professional
siliconchip.com.au
Fig.8 (above):
a screenshot of
Audacity showing
spectrograms of an
audio clip. Source:
https://w.wiki/BsLk
Fig.9 (right): a sample
screenshot of the
mpv media player
playing Casablanca,
which is in the public
domain. Outside of
a few basic controls
on the bottom bar,
everything else
requires hotkeys to
use.
Fig.10: a sample screen from OBS Studio, an open-source video streaming
platform.
Australia's electronics magazine
February 2025 15
Fig.11 (left): a sample screenshot of
the video editor Shotcut. Source:
www.shotcut.org
Fig.12: a sample screen of the 7-Zip
compression/archiving program.
use; the free version is suitable for
a range of tasks from beginners to
advanced users.
OBS Studio (https://obsproject.com
& Fig.10) is free and open-source software for video recording and livestreaming. It runs on Linux, macOS and
Windows. It can capture images and
video from sources such as the computer screen, windows, images, text,
browser windows, webcams, capture
cards and others. It is widely used by
streamers on platforms like YouTube
& Twitch.
SimpleScreenRecorder is a Linux
screen recorder program to record
the operation of programs and games
(siliconchip.au/link/ac2o).
ShareX (https://getsharex.com) is
a free and open-source program for
screen capture and sharing of the output to other users. It has been likened
to a superior replacement for the Windows Snipping Tool.
Shotcut (www.shotcut.org & Fig.11)
is a free and open-source cross-
platform video editor. It runs on Linux,
macOS and Windows. It offers numerous features and supports a wide variety of formats. Among many uses, it
could, for example, be used to make
YouTube videos.
Even though the final version of VirtualDub (www.virtualdub.org) was
released in 2013, it is still a popular
video processing and stream capture
program with hundreds of third-party
plugins written for it. Forks (additional developments branches) have
been produced for VirtualDub, such as
VirtualDub2 (www.virtualdub2.com).
Compression and archiving
7-Zip (www.7-zip.org & Fig.12) is a
free and open-source file compression
16
Silicon Chip
and archiving tool that achieves
greater compression than standard
ZIP archives (although it also supports
the ZIP format). It was developed by
Igor Pavlov and first released in 1999.
There is a Windows graphical (GUI)
version, plus a command-line version
for Linux and macOS.
It supports the following formats: 7z (its own format), GZIP, XZ,
BZIP2, WIM, ZIP and TAR. It can also
unpack (but not pack) files in APFS,
AR, ARJ, CAB, CHM, CPIO, CramFS,
DMG, EXT, FAT, GPT, HFS, IHEX,
ISO, LZH, LZMA, MBR, MSI, NSIS,
NTFS, QCOW2, RAR, RPM, SquashFS,
UDF, UEFI, VDI, VHD, VHDX, VMDK,
XAR and Z formats. Files can also be
encrypted.
The 7z format uses LZMA and
LZMA2 compression, and files have
a self-extracting capability.
Cross-platform software
Wine (www.winehq.org) is a compatibility layer for POSIX-compliant
operating systems like Linux, macOS
and BSD to enable Windows applications to run on them.
One of its advantages is that it will
run early Windows programs as far
back as Windows 3.1, which will
probably not run on current versions
of Windows, so it is a way to continue
to use legacy programs that may not
have a current equivalent.
WINE, along with associated tools
like Proton, allow many Windows
games to run on Linux. This has made
it quite a popular gaming platform;
for example, the Steam Deck portable gaming system runs Linux and
has access to thousands of games,
many of which were only designed
for Windows.
Australia's electronics magazine
File transfer software
FileZilla (https://filezilla-project.
org) is a free and open-source file
transfer application for Windows,
Linux and macOS. It supports the FTP
and FTPS (FTP over SSL/TLS) protocols and can connect to SFTP servers.
There is also FileZilla Server for creating FTP/FTPS servers.
FreeFileSync (https://freefilesync.
org) is a freeware program for folder
comparison and synchronisation. It’s
useful for creating backup copies of
files or synchronising sets of working files between different locations.
It is open source and available for
Linux, macOS and Windows. Donors
get access to a version of the program
with some additional features. We use
it and find it quite good.
LocalSend (https://localsend.org)
is an open-source, cross-platform file
sharing system, including support
for transferring files between mobile
devices and computers using Bluetooth.
NextCloud (https://nextcloud.com)
is a content collaboration program that
provides functions like Google Drive
and similar when used with office
suites like integrated Collabora Online
or OnlyOffice.
ProjectSend (www.projectsend.org)
is a private web-based file sharing program that runs from a server.
Encryption software
Cryptomator (https://cryptomator.
org) is used for encrypting cloud drives
from the client’s side. That way, if the
data on the cloud server is compromised, it is still safe as only the client
holds the encryption key. It is available for Android, Linux, iOS, macOS
and Windows.
siliconchip.com.au
Fig.13: part of the
Open Street Map
map of Melbourne.
Note how even
buildings are
shown.
GnuPG (GNU Privacy Guard, https://
gnupg.org) is an encryption suite
that uses the OpenPGP standard (see
below).
KeePass (https://keepass.info) is a
free and open-source password manager purely for Windows. There are
also popular cross-platform forks of
it such as KeePassXC.
OpenPGP (www.openpgp.org) is
said to be the most widely used email
encryption standard. It is defined
by the OpenPGP Working Group of
the Internet Engineering Task Force
(IETF). It is available for Android, iOS,
Linux, macOS and Windows.
VeraCrypt (www.veracrypt.fr/en/
Home.html) is for on-the-fly encryption, to create a virtual encrypted disk
that works like a regular disk although
it is actually a file. In addition, it can
encrypt actual disks.
Mapping and navigation software
Open Street Maps (OSM, www.
openstreetmap.org & Fig.13) is a
geographic database from the OpenStreetMap Foundation published
under an Open Database License.
It can be used as a mapping app on
mobile phones and is particularly
useful in the absence of phone coverage, as the map database is held
within the device. It can also be used
online. Data is provided by a community of users, and anyone can become
a contributor.
Fonts and typefaces
There are many fonts and typefaces
that are open-source and can be used
freely without charge or restrictions
(see Fig.14). These are available from
various sources, such as:
https://github.com/showcases/fonts
https://open-foundry.com
https://fonts.google.com
Virtual machine software
DOSBox (www.dosbox.com) is a
DOS emulator for running old software on modern systems.
Proxmox VE (www.proxmox.com),
QEMU (www.qemu.org), VirtualBox
(https://www.virtualbox.org) by Oracle and Xen (https://xenproject.org)
are all popular, free and open-source
virtualisation systems that let you run
multiple operating systems on a single
computer simultaneously.
Virus and anti-malware
ClamAV (www.clamav.net) is an
open-source antivirus engine for
scanning emails for trojans, viruses
and malware. Other open-source
anti-virus packages exist but nothing
full-featured, likely due to the effort
required to constantly monitor for
new viruses and malware, develop
antidotes for them and to update antivirus files.
Video games
There are some open-source computer games, such as SuperTuxKart,
Mindustry, OpenTTD, UFO: Alien
Invasion and OpenXcom. Two we
have tried are:
OpenTTD (www.openttd.org &
Fig.15) is an open-source game based
on the commercial game Transport
Tycoon Deluxe. Like OpenXcom
(below), optional improvements,
graphics, music and add-ons have
been contributed to enhance the game.
While the original Transport Tycoon
Fig.14: an example of a typeface
called Chunk, reminiscent of old
American West woodcut typography.
Source: https://github.com/
theleagueof/chunk
Fig.15 (right): a screengrab from
version 1.9 of OpenTTD. Source:
www.openttd.org/screenshots/1.9coldice_3
siliconchip.com.au
Australia's electronics magazine
February 2025 17
Deluxe only ran under Windows or
DOS, OpenTTD can be played on Windows, macOS, Linux and Android.
OpenXcom (https://openxcom.org)
is an open-source clone of the 1994
DOS game X-COM: UFO Defence (also
known as UFO: Enemy Unknown). It
is widely regarded as one of the best
turn-based strategy computer games
of all time.
OpenXcom require a copy of one of
the original games (XCOM or Terror
From the Deep) to run but is a modern
Windows program with many bugfixes
and improvements over the original.
It has the same ‘look and feel’ as the
original but is more fun due to many
‘quality of life’ improvements that
have been implemented in the spirit
of the original.
The Battle for Wesnoth (www.
wesnoth.org) is another open-source
strategy game.
application for Linux, macOS and
Windows.
GNU Octave (https://octave.org/
index.html & Fig.16) is an alternative
to MATLAB and mostly compatible
with it. It runs on Linux, macOS, BSD
and Windows.
Gnuplot (http://gnuplot.info &
Fig.17) is a free and open-source program to produce 2D and 3D plots of
functions, data and data fits. It runs
on Linux, macOS, Windows and
other systems. It was first released in
1986 and is still under active development.
Despite being free and open-source,
its source code is copyrighted and
distribution of a modified version is
not permitted. Such restrictions are
permitted under Open Source Initiative licenses. Despite the name, it is
unrelated to the GNU Project. Apart
from working as a stand-alone plotting program, it is used as a plotting
engine by a number of other packages
and websites.
ParaView (www.paraview.org) is
a versatile multi-platform scientific
visualisation program developed by
Sandia National Laboratories, Kitware Inc and Los Alamos National
Laboratory.
R (www.r-project.org) is a language
and environment for statistical computing and graphics made by GNU. It
is similar to the S language and environment that was developed at Bell
Laboratories.
Miscellaneous
There is a Linux project called
OpenPrinting (https://openprinting.
github.io) to support IPP (Internet
Printing Protocol) for printing to local
network or internet-connected printers. It also supports legacy printers
with appropriate drivers.
Engineering & mathematical
software
Engineering & maths software
are heavily dominated by paid and
closed-source software such as Altium
Designer, AutoCAD and MATLAB.
However, there are a surprising number of good alternatives.
Computer-aided design software
FreeCAD (www.freecad.org &
Fig.18) is a free and open-source CAD
program mainly for mechanical engineering design, although it can be used
in other areas, such as architecture
Graphing, visualisation & analysis
Gephi (https://gephi.org) is a network analysis and visualisation
or electrical engineering. It runs on
Windows, macOS and Linux. See the
video titled “Learning FreeCAD with
These Basic Steps” at https://youtu.be/
rglvJH9z5ng
KiCad (www.kicad.org & Fig.19) is a
free and open-source electronic design
automation (EDA) suite for Windows,
macOS and Linux.
It can create circuit diagrams and
comes with a large library of symbols.
It can then perform checks to ensure
they follow basic electrical rules such
as check for output pin conflicts, missing drivers and unconnected pins and
create a “netlist”, which defines the
connectivity of the circuit.
Once a circuit has been drawn, you
can then use it to lay out a PCB, using
a built-in library of component footprints (it also has matching 3D models). It can import, export and migrate
to and from other CAD (computer-
aided design) tools.
Its PCB editor includes an interactive layout router, side-by-side visualisation of the circuit and layout,
design rules checks, trace length tuning for high-frequency designs and a
footprint editor. It also has a 3D viewer
to examine the proposed PCB design
with components in place.
LibrePCB (https://librepcb.org) is
another open-source ECAD program
similar to KiCad. Some people say
it has a better library manager than
KiCad and is easier to use in other
ways.
CircuitMaker (www.altium.com/
circuitmaker) and EasyEDA (https://
easyeda.com) are two examples of
free PCB design software that we have
mentioned in the magazine in the
past, but they are not open-source.
We reviewed CircuitMaker in the
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
10
5
10
5
0
0
-5
-10
-5
-10
Fig.16: a sample screen from GNU Octave, an opensource alternative to Matlab.
18
Silicon Chip
Fig.17: a sample plot from gnuplot. Source: https://gnuplot.
sourceforge.net/demo_5.4/pm3d_lighting.html
Australia's electronics magazine
siliconchip.com.au
Fig.18 (left): a sample screen from
FreeCAD v1.0. Source: https://wiki.
freecad.org/screenshots
Fig.19 (below): a PCB design and
3D rendering underway in KiCad.
Source: https://docs.kicad.org/master/
en/pcbnew/pcbnew.html
January 2019 issue (siliconchip.au/
Article/11378).
3D modelling software
OpenSCAD (https://openscad.org)
is a solid 3D CAD modelling program
that will run on Windows, macOS and
Linux. It is not an interactive modelling program, but rather, the user
describes an object using a scripting
language (see Fig.20) and renders the
3D model from that. There is a video
showing creation of a simple object
titled “3D Modeling with Code! The
best demo (OpenSCAD)” at https://
youtu.be/KrFttd5D1cw
RepRap or replicating rapid prototyper (https://reprap.org) is a project to develop low-cost 3D printers that can print their own components; the Skeinforge ‘slicing’ program was developed as part of this.
While Skeinforge now appears to be
obsolete, several open-source slicing
programs exist. Two we have used
are Slic3r (https://slic3r.org) and PrusaSlicer (https://github.com/prusa3d/
PrusaSlicer).
Open-source 3D printer operating
firmware is another important facet of
the RepRap project. The Marlin firmware (https://marlinfw.org) is designed
to run on an Arduino Mega board and
is compiled using the open-source
Arduino IDE.
siliconchip.com.au
SPICE (Simulation Program with
Integrated Circuit Emphasis) is opensource software for circuit simulation,
developed at the University of California, Berkeley. It is very powerful but a
little difficult to set up and use.
Linear Technology’s GUI version,
LTspice (siliconchip.au/link/ac2p), is
not open source but it is free and it is
popular because it is so easy to use,
and comes with lots of builtin component models. Since LTspice only
runs on Windows, Ngspice (https://
ngspice.sourceforge.io) is a free and
open-source alternative that also runs
on Linux, macOS and other operating
systems.
Amateur radio
FreeDV (https://freedv.org & Fig.21)
is a free and open-source digital voice
app for SSB amateur radio.
It can run on Windows, Linux and
macOS. It is helping the transition
from analog to digital voice modes of
HF amateur SSB, the previous major
Fig.20: a sample screen of OpenSCAD showing its scripting language; insert is a
3D printer modelled using OpenSCAD. Source: https://i.materialise.com/en/3ddesign-tools/openscad & https://github.com/martinbudden/BabyCube
Australia's electronics magazine
February 2025 19
Fig.21: a screenshot of the FreeDV digital voice app for SSB
amateur radio. Source: https://freedv.org
transition being from AM to SSB in
the 1950s and 1960s.
Unlike many other digital modes,
the voice codec used by FreeDV is not
proprietary and is also open source. It
uses neural net speech coding (LPCNet) and provides 8kHz of audio bandwidth while using only 1.6kHz of RF
bandwidth. It is thought to be the first
use of such neural net speech encoding
for real-world applications.
MMANA-GAL (http://gal-ana.de/
basicmm/en) is an antenna design program that is free for non-commercial
use but is copyrighted by the author,
although the source code is available.
WSTJ-X (https://wsjt.sourceforge.
io/wsjtx.html & Fig.22) implements
Fig.22: a sample screen from the WSTJ-X digital radio
software. Source: https://wsjt.sourceforge.io/wsjtx.html
several popular amateur radio digital
modes such as FST4, FST4W, FT4,
FT8, JT4, JT9, JT65, Q65, MSK144 and
WSPR. It also has one called ECHO
for detecting your own radio signals
reflected from the moon when you try
to ‘moon bounce’. It runs on Windows,
macOS and Linux.
Data Acquisition
LDAQ (Lightweight Data Acquisition, https://github.com/ladisk/LDAQ
& Fig.23), is a Python-based toolkit for
data acquisition that is said to be powerful and user-friendly. It is intended
for use by researchers, engineers or
hobbyists. It works in all Python environments.
Fig.23: a sample screenshot of the LDAQ data acquisition software. Source:
https://github.com/ladisk/LDAQ/blob/master/docs/source/images/FRF_
visualization.gif
20
Silicon Chip
Australia's electronics magazine
OpenDAX (https://opendax.org) is
an open-source framework to build
parts of data acquisition systems such
as distributed control systems (DCS),
programmable logic controllers (PLCs)
and supervisory control and data
acquisition (SCADA) systems. The
authors describe the software as not yet
ready for mission-critical applications.
Operating Systems
Android is based on Linux (see
below) and its basic implementation
is open-source. We discussed some
open-source versions of Android in
our article on privacy phones (June
2024; siliconchip.au/Article/16280),
GrapheneOS (https://grapheneos.org).
FreeDOS (https://freedos.org) is an
open source DOS-compatible operating system for IBM-PC compatible
computers. It is intended for running
legacy software and embedded systems.
Microsoft has released the MS-DOS
v1.25, v2.0 and v4.0 source code under
an MIT license for others to view and
experiment with. See https://github.
com/microsoft/MS-DOS
Open Network Linux and SONiC
are open-source network operating
systems (www.opennetlinux.org &
https://sonicfoundation.dev). A commercial example (not open source) of
a network operating system is Microsoft Windows Server.
GNU (www.gnu.org) is a collection
of hundreds of items of free software
siliconchip.com.au
that can be used as a Unix-like operating system or as parts of an operating system. It includes applications,
libraries, developer tools and games.
GNU is the original free software
concept project by Richard Stallman,
started in 1983, with software development starting in 1984 and the free
software philosophy published as the
GNU Manifesto in 1985 (www.gnu.
org/gnu/manifesto.html). The release
of the GNU suite was the first time an
operating system could be run using
free software.
The completed GNU components
(except for the kernel, the core part of
an operating system) led to the independently created Linux operating
system, developed by Linus Torvalds
from 1991, which is now the main use
for these GNU components. Linux is
released under a GNU license, and
the Linux kernel is what is most used
with the GNU software components.
According to GNU, Linux should be
called GNU/Linux because it wouldn’t
work without both sets of components
(see www.gnu.org/gnu/linux-and-gnu.
html). Linux is actually the name of the
kernel of the Unix-like GNU operating
system (created by Linus Torvalds),
not the entire operating system itself.
While it is certainly true that the
Linux kernel would not exist without
GNU’s tools, and that it relies on many
of their libraries to be useful, we’re
referring to it as Linux for brevity (it’s
a somewhat controversial topic).
Linux is an enormously popular
alternative to commercial operating
systems like Windows. It is available
in around 1000 distributions (‘distros’), each tailored to particular uses
or tastes, with different applications
included. Some Linux distributions
may contain commercial software, as
Linux has commercial and industrial
applications as well, but most distros
contain free and open-source software.
If you want to migrate to Linux,
as I might do in the near future, you
can try ‘live’ distros that you can
install on a USB stick or other removable media without altering the data
on your computer. Distros that can
be used live include Debian, SUSE,
Ubuntu (Fig.24), Linux Mint, MEPIS
and Fedora Linux.
Some distributions specifically
for live use include Knoppix, Puppy
Linux, Devil-Linux, SuperGamer,
SliTaz Linux and dyne:bolic. As for
which distribution to use, that would
siliconchip.com.au
Fig.24: an example of the Ubuntu Linux desktop. Source: www.dreamhost.com/
blog/linux-distros
Fig.25: most of the world’s top supercomputers run some version of Linux,
including the Summit supercomputer at Oak Ridge National Laboratory in the
United States, which runs RHEL. Source: https://w.wiki/BsLo
need a whole article in itself, however
Ubuntu (https://ubuntu.com) is considered a good choice for beginners;
it does come with some proprietary
device drivers, although it is still free.
Another distribution cited as being
suitable for beginners, which is based
on Ubuntu, is Linux Mint. Ubuntu, in
turn, is based on Debian.
Apart from home users, many scientific, commercial and industrial users
employ Linux, including on supercomputers, the International Space
Station and SpaceX vehicles (Dragon,
Falcon 9 and Starship).
Australia's electronics magazine
You can watch a video explaining
why one Windows user switched to
Linux and the basics of Linux Mint at
https://youtu.be/fDDtBKOqTKI
Traditionally, supercomputers
(Fig.25) ran proprietary operating systems. Today, most run some variant
of Linux, such as Red Hat Enterprise
Linux (RHEL). RHEL is a commercialised version of Linux but it is based
on the free and open-source Fedora
Linux and CentOS Stream versions
of Linux.
AlmaLinux (https://almalinux.org)
is a FOSS substitute for RHEL. Some
February 2025 21
supercomputers use other versions of
Linux, such as Ubuntu.
Development and
back-end software
Compared to the old days of paid
compilers and software demos distributed on physical media, there is
a lot of choice for people who want
free software.
Compilers & development software
Git (https://git-scm.com) is a free &
open-source distributed version control system that can be used for software development or any other time
a set of text files will undergo many
revisions, possibly by a team of people.
Subversion or svn (https://subversion.
apache.org) is another similar free &
open-source tool that we use (because
we find it easier than git).
The GNU Compiler Collection
(GCC, https://gcc.gnu.org) is a collection of free compilers for Ada, C,
C++, D, FORTRAN, Go, Objective-C,
Objective-C++ and Rust for various
operating systems and computer architectures. GCC compilers are used for
most GNU projects and for the Linux
kernel, along with many other opensource projects.
LLVM (www.llvm.org) and its frontend Clang is a compiler for C languagues (C, C++, CUDA etc). It also is
the default compiler for macOS.
Processing (https://processing.org)
is a combined graphics library and
integrated development environment
intended for graphical programming.
We used it for our LED Christmas Tree
project in the December 2018 issue,
but you will probably be more familiar with it as the basis for the Arduino IDE.
Python (www.python.org) is a
dynamically typed, high-level programming language that many people
like because it is easy to learn and use
but much more powerful than languages like BASIC. Like many modern
programming languages, it is also an
open-source project. MicroPython is a
variant of it that runs on microcontroller boards like the Raspberry Pi Pico.
Visual Studio Code (https://code.
visualstudio.com) or VS Code is an
open-source integrated development
environment (IDE) released by Microsoft. It is based on their earlier proprietary Visual Studio program but
can run in Windows, Linux, macOS
or even a web browser.
22
Silicon Chip
Databases
MySQL (www.mysql.com) is a free
and open-source relational database
management system. It is available
under either a free and open-source
licence or a proprietary licence.
PostgreSQL (www.postgresql.
org) is a free and open-source relational database management system,
which claims to be the world’s most
advanced. We think PostgreSQL is
very well designed and well worth
looking into if you need a relational
database.
One of its most impressive features
is that it supports most concurrency
features without any locking, meaning it is almost immune to deadlocks,
something that can be a real problem
in other database systems. Instead, it
uses a versioning system. This allows
you to do things like take a ‘snapshot’
to back up the entire database while it
is in active use!
Web Content Management &
Servers
Apache (https://httpd.apache.org) is
the “number one HTTP [web] server on
the internet”, although it was recently
overtaken in popularity by NGINX.
Together, the two packages power over
60% of all web servers.
Apache is one of the earlier opensource projects and, as such, even
created its own class of open-source
licence that is now used by other projects (the Apache license mentioned
earlier). There is also Apache Tomcat
(https://tomcat.apache.org), which is
an ‘evolution’ of the Java EE (enterprise applications) platform.
Drupal (www.drupal.org) is web
content management software that is
used by the US White House and 14%
of the top 10,000 websites worldwide
(see siliconchip.au/link/ac2q).
WordPress (https://wordpress.org &
Fig.26) is a very popular web content
management system and blog software that is free and open-source. It is
supported by about 60,000 (or more)
plugins from other developers.
Artificial intelligence
There are quite a few open-source
AI models and tools, although some AI
models claimed to be open source do
not meet accepted standards of opensource software.
Open source models:
● Stable Diffusion (https://stability.
ai/stable-image & Fig.27), which is free
for non-commercial or limited commercial use. It generates images from
a text description.
● The source code for GPT-2 is publicly available but the trained model
and data is not (https://github.com/
openai/gpt-2).
● GPT-NeoX and GPT-J are pretrained language models.
● Llama by Meta (Facebook, www.
llama.com) is listed as open-source
and includes pre-trained models. It
can be used for commercial applications but has restrictions around
licensees with “greater than 700 million monthly active users in the preceding calendar month”.
Open source libraries/frameworks:
● TensorFlow (www.tensorflow.org
& Fig.28), a software library for deep
learning and artificial intelligence.
● PyTorch (https://pytorch.org),
a library for machine learning and
Fig.26: WordPress has a large amount of pre-made themes that can be used to
quickly create a website. Source: https://wordpress.com/themes
Australia's electronics magazine
siliconchip.com.au
Fig.27: some example images generated by Stable Diffusion 3.5. Source: https://stability.ai/news/introducing-stablediffusion-3-5
deep learning for applications such
as vision and natural language processing.
● Scikit-learn (https://scikit-learn.
org/stable/), a machine-learning
library for predictive data analysis.
● Hugging Face Transformers
(https://github.com/huggingface/
transformers), a collection of models
for text-based tasks such as answering questions, summarisation, image
classification, object detection, speech
recognition and audio classification.
Open-source datasets:
● ImageNet (https://image-net.org),
an image library for object recognition
research.
● Common Crawl ‘crawls’ the web
and stores the data in its archives
(https://commoncrawl.org), which are
made freely available to researchers
and developers. It has stored 250 billion web pages over the last 17 years,
with 3-5 billion pages added every
month. This data can be used to train
artificial intelligence models.
Cluster & grid computing
A computer cluster is a potentially
very large collection of computers that
are managed to act as a single large
computer.
Computer clusters are used for
calculation-intensive tasks such as scientific computing (eg, weather prediction, protein folding or fluid dynamics) rather than tasks with high input/
output requirements like databases.
Most supercomputers these days use
computer clusters.
Grid computing utilises the capacity of numerous individual computers
to perform individual parts of various
computational tasks. The capacity
utilised might be otherwise unused;
‘spare’ CPU cycles are ‘donated’ to a
distributed computing project such as
BOINC or SETI<at>home.
Apache Mesos (https://mesos.
apache.org) is software to manage
computer clusters. Twitter used to use
Apache Mesos, but now uses Kubernetes.
A Beowulf Cluster is a supercomputer made from many inexpensive
computers, generally running Linux
and other free and open-source software such as Open MPI, a message passing interface, and Open
Source Cluster Application Resources
(OSCAR) high-performance computing management software.
BOINC (Berkeley Open Infrastructure for Network Computing, https://
github.com/BOINC/boinc) is an opensource project to facilitate distributed
grid computing projects. It was originally developed to manage SETI<at>
home, which analyses radio telescope
data via millions of PCs worldwide.
It has now been expanded to other
distributed computing projects in the
areas of astrophysics, biology, environment, linguistics, mathematics, medicine and others.
Kubernetes (https://kubernetes.io)
is a containerised application management system that was originally
SC
authored by Google.
Fig.28: an image (left) after applying 10 iterations of DeepDream (right) that was trained on dogs. DeepDream is
implemented using TensorFlow. Source: user MartinThoma – https://w.wiki/5fek
siliconchip.com.au
Australia's electronics magazine
February 2025 23
|