hello I'm Gary Sims from Andrew
authority now you may have heard of open
source you may even know that Android is
based on open source and you may have
heard of a license called the GPL sadly
you may also over learned that some
companies don't respect the GPL license
so what is all this about on what does
it mean for us well please let me
explain
now whenever a program at writes a
program for any platform they start by
typing in the programming language into
a text file and this text file is known
as the source code and the source code
then goes through a compiler and out the
other end pops an executable the program
that she sort of double-click on or you
tap on to run inside of your PC or your
laptop or your smartphone or whatever
now there are two ways of which software
can be developed one is a proprietary
closed system which means that you have
programmers they write all the code and
everything remains closed everything
remains private and secret to that
company and they just ship the binary
the final executable so if you think
about companies like Microsoft and Apple
and Adobe when you run their programs
when you run office when you run
Premiere Pro you're only just running
the executable they've given you and
that's plays an important part in the
ecosystem that we have today but there's
an alternative way to developing
software which is called the open source
model and with the open source model
after you ship the final executable to
the user you also ship the source code
and say here is the source code that we
use to create this product now just
because you ship the source code doesn't
mean it goes into the public domain it
means that you can attach a license to
it saying these are the conditions for
this source code that we have put out
there for you to see now there are two
main types of licenses that govern how
this source code is controlled the first
one is called the good new general
public license the GPL and basically the
GPL is a social contract between the
users those who actually use this
software and the developers those who
develop the software and the contract is
this will give you the source code you
can run it you can modify it you can
study it you can
you can ship it and develop it and send
it off to other people you can do what
you like but with one condition and that
condition is that the changes you make
to the code also has to be shipped on in
the next stage and what that basic as it
protects the developers that their work
remains always out there under the GPL
and it will always be under the GPL
because every project that is based on
that that continues that the develops
that also remains under the GPL now
there is an aspect of the GPL that
sometimes catches people out and that's
this if I write a million lines of my
own proprietary code I have rip put a
lot of effort into it and I want to ship
a final product but I include GPL code
inside of it then actually under that
license all my code has to be released
under the GPL you can't mix proprietary
software and GPL software together now
because of this it's actually sometimes
come under quite an attack in fact in
2001 Steve Ballmer who was then the CEO
of Microsoft said that Linux because of
the GPL was like cancer and everything
it touched was infected now actually
that's not really true but the point
he's trying to make is that you can't
mix GPL code and proprietary code
together it's just unfortunate that he
use those kind of terms now mainly when
developers have mixed the code either by
mistake the suit is pointed out they
remove the GPL code and write the code
themselves so they can continue shipping
their product in a proprietary fashion
and that's absolutely fine now there's a
second type of license which is much
more permissive license and the most
popular one is called the BSD license
and BSD for Berkeley software
distribution which comes from the
University of California Berkeley map
was used one of the original versions of
Unix that was shipped now under the BSD
license he says you can do whatever you
like in this code you can modify it you
can change it you can improve it you can
run it the only condition is that if you
distribute it my further on you need to
maintain the notices that say this was
originally developed by this user and
that you have modified it that basically
means you just have to keep the
copyright notices intact inside of the
program and in fact because of its
permissive use you find BSD license
source code all over the place it's
included in Mac OS is including the iOS
it's including lots and lots of places
in fact if you open up the
knowledge moves file inside mac OS there
are pages and pages and pages of
acknowledgments that are basically just
reproductions of this bsd license code
that acknowledges that some of it was
written by this person's eyes ribbon and
it's pages and pages and pages of it but
the point is this permissive license
allows you to do whatever you like you
can mix it with proprietary software
code and it there's no consequence just
as well as your knowledge where you got
that code from now the other license to
be aware of is the Apache 2.0 license
and that's because the majority of the
Android open source product is licensed
under the Apache 2.0 license it is a
permissive license like the BSD license
and basically says you can do whatever
you want with it but it also grants the
everybody a worldwide royalty-free right
to use that software and because Android
is based on that that's why companies
like Samsung and LG and Sony and whoever
can take the Android source code and
produce their own version of Android and
nobody comes knocking on their door
saying hey give us the source code for
how you tweaked Android give us the
source code for how you implement that
feature because I don't have to because
that is the license that Google
intentionally chose for Android
now while the android framework is under
Apache 2.0 the Linux kernel that runs at
the heart of Android that interface
between the hardware and the rest of the
framework is actually licensed under the
GPL now if you want to sign what role a
kernel plays I have a video all about
kernels which I recommend you watching
I'll link it just up here now because it
under the GPL it basically means that
any company that uses Android with Linux
has to publish their changes also under
the GPL now what happens is sometimes
there are OMS who ship Android handsets
which means they have developed a
handset they're using Linux they're
using Android and they are selling these
for a commercial gain for profit and
they're not publishing their changes to
the limits kernel which means they are a
GPL violator now of course there are a
whole bunch of legal reasons why this is
not good because it is a license that
they accept when they start to ship
these products but actually the more
important thing is that this is a social
contract and the social contract is
simple the
companies have stood on the shoulders of
giants people who before them have
developed for 20 years now the Linux
kernel and they have sweat in sometimes
I'm sure they've cried and they have
banged their head and they have worked
on this Linux kernel and they have
developed this amazing system that we
use today and the majority of the
contributions have not been paid living
in their own free time doing it because
they wanted to do it and when an OEM
comes along and starts building a
handset building a product and start
selling it for profit and the Chairman's
getting rich and the shareholders are
getting rich and everybody's doing what
they're doing from a commercial point of
view and they're not shipping back their
changes they are breaking a legal
contract yes but they are breaking a
social contract and when you break a
social contract you are eating away at
the very fabric of society you're eating
away they're a fabric of community it
becomes a social injustice how come a
guy who worked ten years ago writing a
piece of Linux kernel in his own free
time how come they get to stand on his
shoulders and they don't even bother to
respect the license that he freely or
she gave that source code into the open
source community so companies that break
the GPL are actually companies that are
unethical and immoral it's not a big
thing all they're asking is you've got
all of the android framework for free
you've got all of that software for free
you could always compatibility with the
Play Store and all these things for free
all they're asking is that the changes
you made of the kernel at the very
bottom get published and if you can't
sum up the energy just to publish those
changes then there's something seriously
wrong with you so to sum up then open
source is a model whereby people who
write code publish it out there for
people to see
but that publication is governed by a
license and there are different types of
licenses GPL BSD apache2 there's other
ones like Netscape and Mozilla and MIT
there's a whole bunch of them but the
main principle is that if you're using
the GPL the requirement is that you
publish your changes we could put it
another way freely you have received so
freely
you must give and a company that can't
even respect that one ethic needs to
take a long hard
look at who they are on what they're
doing my name's go since Ryan Groth
wrote it and I hope you enjoyed this
video if you did please do give it a
thumbs up also don't forget to subscribe
to and Roy Rogers YouTube channel it's
better if you hit that Bell icon there
so you get a notification every time we
release a new video and last but not
least please to go over to andrew
authority comm because we are your
source for all things Android
We are a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for us to earn fees by linking to Amazon.com and affiliated sites.