Do you think open source software and free software are the same?
Well, stay tuned for this episode to see how very different the two are.
>> You're watching ITproTV.
[MUSIC]
>> Hello and welcome to another exciting episode here at ITproTV.
This is your Linux Essentials series and
in this episode we're gonna be talking about what is open source.
And joining us to tell us all the information we need to know is Don Pezet.
How's it going, Don?
>> It is going great and I'm ready to dive into this topic again.
And we've already addressed it
a little bit like the difference between open source and free software, but
there's a couple other terms that you're gonna see floating around out there.
So in this episode, we're gonna take a look at each one.
So we understand the difference between open source, free, commercial, and
some of the ways that those titles can affect the software that we use.
>> So what are the, I think you just mentioned the the primary categories of
software is open source, free and what was the other one?
>> Commercial? >> Commercial, okay.
>> And most people don't even worry about the open source side of things.
They just worry about free and commercial, right?
I think in the other episode we focused a little more on what open source was.
The neat thing about open source software, you get the software and you get all
the source code and you can look at it and see it and know exactly what's going on.
And you'll hear a lot of people on the Internet say how great that is like I
don't have to worry about secret backdoors in my software cuz I have the source code.
But the reality is a Linux distribution has millions of lines of code.
Nobody has read all of the source code.
I feel confident in saying that Linus Torvalds has not read all the source code.
>> Yeah. >> It's just not possible.
I mean, it's millions of lines of code.
So while that is a potential ability, like you could do it, most people don't.
So most people don't actually really care whether it's open source or not.
They're more concerned about is it free or do I have to pay for it?
And that's kind of the big difference between free and commercial software.
Now, a lot of free software is open source as well.
So that's really, really common.
Those two go hand in hand.
But sometimes there's free software that's not open source, right?
So that is a possible thing that can happen there is you get the software for
free, but you can't see that source code.
Same thing happens on commercial too.
Sometimes you get commercial software that you pay for, and you get the source code.
But you're not allowed to use that source code or change it because it's commercial
software, you're paying for the right to have it.
That's far, far less common though than the other way around.
Let me give you a couple of examples of these.
One example,
get logged in my station here, is Office suites, productivity suites, right?
Your average end user, they use things like Microsoft Word and
Microsoft Excel, right?
That is commercial closed source software.
So Microsoft has Word, Excel, PowerPoint, all these great utilities, right?
And you can run them on Windows and Mac OS and
supposedly a Linux version is coming out.
But even if you don't do that, you can still use the web-based
version of Word and Excel on any operating system, right?
So here's a whole productivity suite that I could use even when I'm running Linux.
But it's commercial software, not free.
And that means I have to pay for it and it's closed source.
I don't get the source code.
Now for a lot of businesses, they're okay with that.
And even for a lot of individuals like me, I'm okay with that because I know that
Microsoft Word for example, is a really good word processor and
Microsoft Excel is a really good spreadsheet program.
But if you can't afford it, it doesn't matter how good it is.
>> Yeah. [LAUGH]
>> Or if you're trying to deploy
on 1,000 workstations, $8 a month doesn't sound like a whole lot, but
if you've got 1,000 workstations, that's $8,000 a month.
>> Wow, yeah. >> That's a lot.
>> Yeah.
>> It adds up fast.
So looking for free alternatives is an important thing.
And when you first move to Linux, let's say you take the plunge today.
You format your laptop and you load Linux on it.
One challenge you're gonna bump into is that a lot of the commercial software you
used only worked on Windows or only worked on Mac OS and doesn't work on Linux.
So we've got to find a Linux equivalent of that software,
some kind of alternative we can use to fill in that void.
And there's actually a lot of good alternatives.
So for example, instead of Microsoft Office, maybe I use LibreOffice.
And LibreOffice is a free productivity suite.
>> I believe Libre means free.
>> It does. >> Yeah.
[LAUGH] >> Yep,
this is actually a kind of a longer story right?
Cuz it was originally developed by Sun Microsystems as commercial software,
they open sourced part of it and that became OpenOffice.
And then Oracle started getting a little too involved in the direction
of OpenOffice, and that upset a few people, so they split it off, so
this is the second time it's been split off, to become LibreOffice.
Totally free and open source.
You can use this individually or commercially.
You've got the source code, you could rename it.
This can become AubriOffice and
[LAUGH] we'll create a whole personalized distribution here.
>> Yeah, just for me.
[LAUGH] >> So, it has a word processor.
It has a spreadsheet program.
It has a presentation program for people that would use PowerPoint.
So it snaps in and it replaces those pieces.
It even as replacements for like Microsoft Access and so on and
you can make use of it.
Now it looks very, very similar to Microsoft Office.
So in theory somebody could move from one product to the next and
not have to go through a huge retraining,
not a big learning curve to be able to use that software.
And here it's totally free.
And there's actually a version of LibreOffice that runs on Windows too.
So you could be running Windows or Mac OS and still run LibreOffice on top of it.
It's kinda separate from the whole Linux idea.
But this is an example of free and open source software and identifying that
alternative is something that a lot of people are going to have to go through.
So we'll have another episode coming up where we explain how to find that
alternative software.
But these two examples right here really kind of personify that whole idea of
commercial versus free and open source software.
>> Okay, so how does open source fit into this picture?
>> All right, so when we're talking about Linux,
one of the things is I keep saying it, it's the Linux operating system.
But because Linux is free and it's open source.
>> Right. >> Anybody can take the Linux kernel and
then package it with other tools to make a full blown operating system.
And when they do that, they get to make a choice.
They can either keep their product free and open source or they can go commercial.
>> Okay.
>> The way the license is written for the Linux kernel, it says, hey,
anybody can use this, you can do whatever you want.
But if you find some way to make it better,
you need to send that back to us so we can put it into our kernel, right?
So that the open source community benefits from the work of even some of these
commercial entities, right?
One of the best examples of that is Red Hat Enterprise Linux.
I've got their web page pulled up right here.
Red Hat Enterprise Linux is developed by a company called Red Hat.
It's a version of Linux that costs money.
If you want to run Red Hat Enterprise Linux workstation on your laptop,
I think it costs $150, if I remember right.
If you want to run the server, I believe it's $600 or $700.
It costs money and there's pieces of it that are closed source that you can't see.
Some of the Red Hat utilities that are built into it,
you can't see what that code is.
But it is running the Linux kernel and it is running
the GNU tool set and a lot of other open source products that are in there.
Well, what Red Hat does is they find ways to make it better.
They find security fixes and patches and bug fixes.
And every time they find one, they then send that back
to the original Linux kernel team and they implement those changes there too.
So the Linux kernel is getting better and
better every day based on the commercial efforts of somebody like Red Hat.
Now that's called sending changes upstream.
So the original kernel development area
that's still maintained today by Linus Torvalds, that's considered true Linux.
And everything else is considered downstream from that, right?
So changes made to the kernel go downstream and affect everybody.
>> Mm-hm.
>> But then a downstream operating system can send changes back upstream,
and- >> Like a salmon?
>> Like a salmon, they go back to their home.
>> Right.
>> And Linus at that point, or his team, can look and say yeah,
we'll take that change, that's a good one.
Or no, we're not taking that, that's crazy.
>> Okay, so some sort of filter system for that.
>> Exactly. >> Okay.
>> Yep, and that's important because there's some Linux distributions out there
like Kali Linux.
Kali Linux is used by a lot of pen testers, and pen testers are penetration
testers, they are security experts that are looking at how to break into networks.
Most Linux distributions are trying to be as secure as possible but Kali Linux,
because of its nature has all sorts of unsafe stuff in it.
And we wouldn't want those changes coming back upstream,
it usually weakens security.
So there's a choice that gets made, right, before that is allowed to come back in.
Now, where things get really challenging with Linux is that as long as everything
that's in there is open source and free, it's really easy to mix the code together.
But that doesn't always work out because sometimes software is free, but
not open source.
And let me give you an example there.
Intel.
Intel manufactures a ton of WiFi adapters, right?
Aubri, you have a Mac.
>> I do. >> And
in your Mac the WiFi adapter is made by Intel.
I've got a Lenovo, my WiFi adapter is made by Intel.
>> Okay. >> And so they make them, Broadcom and
a few other companies, but Intel makes some of the best ones.
Well they have a Linux driver so I'm on Intel's support webpage.
And if I scroll down right here I'll find all the various wireless
adapters they make and they are appropriate Linux firmware or
driver right alongside of them.
And it even tells you which kernel it's designed for.
Here's the driver for 5.2 or 4.14 or so on.
Each one is kind of laid out there.
So for my example, I'm on a Red Hat machine,
so I don't actually know what Kernel I'm running so let's find out.
So if I do a u name -a, I'm running, let's see,
5.3, so actually I'm running a pretty new kernel.
So 5.3, I would see this driver here is made for
5.2+ so that's the one that I would need to take, right?
And so here it is, I can download it.
But the Intel wireless driver is free, I can just download it and install it,
right?
Cuz they make their money on the hardware.
I've already bought the hardware so they've already made their money.
But it's not open source.
>> Okay. >> It is a binary that I'm downloading.
And that means I don't really know what's inside that file.
I don't know, is there malicious code in there?
I don't know. I know when I turn it on,
my wireless adapter works.
That's good, right?
>> Yeah.
>> But I don't know if it's doing other things.
And I can't modify or change it at all because it's distributed
as a binary file that it's kind of like encrypted.
It's called compiled, where they take the source code and they compile it
into a machine format that the computer understands but we as humans don't.
So I can't interact with that in any way.
And that's a bit of a risk.
If you're a super privacy nut, and
you really want to make sure your data is safe.
You can't guarantee that with this WiFi driver.
>> Okay, yeah.
>> Because it would be simple for them to put an extra line in there that says, hey,
when you talk to the network, send one copy of the data to the server
you're talking to, send the other copy back to Intel or whoever.
And you would have no way.
I mean, maybe if you're watching on the network, you'd catch it.
But in the OS, you'd have no way of seeing that.
So that's the risk that you take.
So this is free software that is not open source.
The Linux kernel, on the other hand, that one is free and open source.
So let's just pull up the Linux kernels source code.
They have a repository that is publicly available right here on GitHub.
And so I can go on to GitHub and pull this up.
And so it's github.com/torvalds/linux and
right here is all the source code for the kernel.
And you can browse in, you can read every single file,
you can see what changes were made, who made the change, why they made the change.
There's actually an issue tracker up here that contains any thing that's
being reported.
And this area here that says pull requests,
a pull request is when somebody is suggesting a change.
They're saying, hey, I think you should make this change to the kernel.
>> Mm-hm. >> And then Linus and
his team go through and they either or approve or decline the changes.
So this is that gatekeeper and it's all publicly visible.
You see it happening, so there's no secrets, right?
It's a lot to keep track of, but you could, it's all there.
So this is an example of something that is free and open source, full visibility.
You can do what you want and you can even fork it.
Notice this one's been forked 29,000 times, really hard to see that.
>> So it's like a fork in the road,
not like a- >> Yeah.
>> A fork with four prongs, yeah.
[LAUGH] >> Right, yep.
So you've got your original one and then it splits into two.
So you've got the original that's still maintained.
They call that the master branch.
>> Okay.
>> And then any of the other ones that are branched out, in this case 29,000.
So if you think about it, maybe I'm gonna make a, I did this last year.
I made a little controller for the Christmas lights on my tree.
I had this idea of trying to sync the lights to music,
which it's way easier to just go and buy one of those sets that's already made.
Don't build your own, it's a pain.
But I took a stab at it.
Well, I wanted to have a kernel that was customized to the hardware that I was
using and I didn't want to have to mess around with some of the updates.
And so I just forked, one of these 29,000 is me and
I forked it to create my copy to support that tree.
Now my copy is basically dead because only I used it.
>> Yeah. >> So most of these 29,000 aren't
really used somewhere else.
But there are other vendors like Red Hat or Canonical, Debian, where they actually
are using these to create operating systems that are very active even today.
So that's all fully visible and that's a big part of being open source.
>> You know, quick question, you keep saying Linus and his team.
Are they volunteers, cuz we said that a lot of it is just volunteer-based, right?
>> So they are volunteers.
There is a nonprofit organization kind of built around this.
And you'll hear every now and then about the Linux Foundation.
And the Linux Foundation is kind of a not for
profit organization that people donate millions of dollars to every year.
>> Yeah. >> And so some of these
people are volunteers but they get paid.
And so there's not many people that exclusively just work on Linux.
A lot of the time it's somebody who's working for
a company that's developing a Linux-based product.
And then they're kicking code back.
So they're just kind of sharing.
>> Okay. >> So they'd be considered a volunteer
because they are being paid by somebody,
they're just not being paid by the Linux Foundation.
>> Okay, so, back to what we were talking about.
Are there any benefits to pick one over the other?
>> It depends on your own personal dreams and desires.
And every company has their mission, vision, values and all that stuff.
To be honest with you, for a lot of people,
it doesn't really make a difference, right?
If I want to write a letter, it doesn't matter to me if I'm in Microsoft Word or
LibreOffice.
I can write a letter in either one.
One doesn't cost me money, but if my company's already paying for
Microsoft Word, I'm not gonna look at it and say, well, I'm not gonna use that.
I'll use them.
But it's all the same, right?
Where it really does make a big difference though is in the world of privacy and
in the world of finances.
>> Okay. >> So if I'm working in the cloud, for
example, I might have ten servers, and
then my web server also now it goes viral, right?
It's hosting some video that people love or a meme or something like that and
now I need 1,000 servers.
Well in the cloud I can spin up 1,000 servers with the snap of a finger.
If I'm running a free operating system,
I just create 1,000 more servers and I'm done.
But if I'm running a commercial operating system like Windows, I've got to pay for
a license for every one of those machines that I spin up, right?
And so that becomes a big challenge.
So when I'm dealing with money and
finances, I'll typically want to go the open source side of things.
The other side is privacy.
If you are a government agency, you need to know that your data is secure.
If you're a hospital, you need to make sure your patient data
is being safely stored and not sent anywhere else.
Well, if you're running a commercial product on Microsoft Windows,
you don't really know what's going on behind the scenes, right?
And a lot of antivirus software takes your files and
sends copies of them back to the headquarters to be scanned and tested.
And so you could potentially be leaking customer or patient data.
>> Yeah, that'd be bad.
>> You could be violating HIPAA compliance, you don't know.
With open source software,
you can actually I guarantee that stuffs not happening because you see it.
So there are times where you will absolutely prefer that.
And you can find other ones,
I think I mentioned Richard Stallman in another episode.
He is a huge proponent of free software and so
he gets out and talks about stuff all the time.
He put together a special operating system, well,
he's really the driving person behind GNU.
>> Okay. >> So he created that,
the GNU tool set that sits on top of the Linux kernel, it creates a distribution.
And they actually have a whole article on their webpage explaining why we don't
endorse other systems.
And so what they're saying is look, we create GNU but
we don't endorse any particular kernel and that's because every one of them has
some kinda rule or restriction that they don't like.
They're super, super picky about this stuff.
Yeah, they want everything to be absolutely, totally, completely free.
So they go through and they kinda list all that here, right, explaining
that most operating systems don't have a policy of only including free software.
They might be mostly free software, but then they have like an Intel WiFi
driver or something that's not free or not public, open source, whatever.
And now you can't guarantee the privacy of that system.
There are some OS's out there like OpenBSD where they are 100% free from
beginning to end and open source.
You have complete and total visibility in there.
But most operating systems don't do that, right?
And he actually takes it, well they, the whole GNU organization takes it a step
further, they have their own operating system called GNU Hurd.
And GNU Hurd was developed just a little bit ahead of Linux, if I remember right,
but basically around the same time back in the very, very early 1990s.
But it didn't catch on and the main reason was their strict adherence to
a completely free and open source operating system.
That made hardware support a nightmare cuz most hardware drivers are not open source.
And so that slowed this one down and it's why Linux overcame it.
And now, most people in the Unix world, they know the Linux name,
they don't know the GNU Hurd name.
But it is still supported,
the latest version came out just a couple of months ago.
So still developed.
>> All right, so what is open source, it's very different from free software.
So Don, could you give us a little recap on what we just learned?
>> Yeah, so we talked about the major categories and where they matter, right?
So we talked about commercial software, where you have to pay for it and
it's typically closed source.
Talked about open source software where you have access to the source code,
you can do whatever you want.
And we talked about free software where we don't have to pay for it but
we're not necessarily guaranteed to get that source code.
Which means we don't necessarily know what's going on behind the scenes.
And then hopefully you understand the scenarios where those are appropriate so
you can make sure you're selecting the right software for your solution.
>> All right, thank you so much, Don, for guiding us through that and
thank you all out there for watching.
Signing off for ITProTV, I've been your host, Aubri Spurgin.
>> And I'm Don Pezet.
>> And we'll see you next time.
>> Thank you for watching ITproTV.
[BLANK AUDIO]