- [Instructor] We've seen that all software nowadays
is built using some level of existing components.
These may be standard system libraries
provided by the vendor as part of the software,
or third-party components from open-source or other vendors.
When we develop our software applications,
we need to understand whether there are any licensing issues
that we need to be aware of.
Commercial software manufacturers
will often build in the requirement
for a license code to be entered
as part of software installation,
and these license codes may be for a set period of time
and need replacement on expiry.
This is quite visible.
However, there's another form of licensing
which is less visible.
We're used to the term copyright
to indicate the owner extends control of the software
even when a user has purchased it.
This may not be associated with financial gain,
but may require that the original owner is acknowledged
in the subsequent distribution
of the software in our products.
Another less well-known term is copyleft.
The use of this term goes back a long way to 1976
when developer Dr. Li-Chen Wang,
somewhat tongue in cheek,
added the distribution notice of his Palo Alto
Tiny BASIC programming language
copyleft all, wrongs reserved.
In 1989, Richard Stallman published
the original GNU General Public
License to accompany the GNU Operating System.
In explaining the licensing terms, the GNU GPL states
that the software is copyleft.
This is explicitly defined on the GNU website as shown.
In simple terms,
any software which incorporates the canoe libraries must
retain the free to use licensing
of the original new software.
We can't use copyleft software libraries in products we
wish to sell.
Whether we're dealing with copyright
or copyleft terms, we need to understand our obligations
that come with the software licensing.
Not only do corporates prosecute
for copyright infringements,
but we are now seeing the rise of copyright trolls
who make a living planting material
and waiting for it to be infringed.
We need to not only consider the license terms
of the software components we import into our code,
but also of any component that they've used.