- MCP server with stdio transport for local use - Search episodes, transcripts, hosts, and series - 4,511 episodes with metadata and transcripts - Data loader with in-memory JSON storage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
134 lines
24 KiB
Plaintext
134 lines
24 KiB
Plaintext
Episode: 184
|
|
Title: HPR0184: License Pt1: GNU GPL v3
|
|
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr0184/hpr0184.mp3
|
|
Transcribed: 2025-10-07 13:09:26
|
|
|
|
---
|
|
|
|
Hello, welcome to another exciting episode of Hacker Public Radio.
|
|
My name is Dan Washco, it's been a while, and today I'm going to be starting a new series on software licensing.
|
|
I'm not done with the boot process series yet, but we'll get back to that a little bit in the future.
|
|
But I wanted to start talking about software licensing and cover a lot of the licenses out there today.
|
|
I'm primarily free and open source licenses so that people have a better understanding of what's available, what they can use, and what it means for the software and the community surrounding it.
|
|
So today, the first episode, I'm going to start with the probably one of the more popular ones, and often misunderstood, which is the GNU GPL software license.
|
|
And to get an understanding of this license and what it means and how it applies, it helps to have a brief history around the license and also understanding some of the philosophy behind what is called free software.
|
|
Now, GNU stands for GNU is not UNIX, which is a recursive acronym, and it was coined by Richard Stahlman in 1984, but who is this Richard M. Stahlman guy?
|
|
He was a hacker from the early 70s, and he worked at the MIT and at that time, the culture around programming and hacking was a shared culture where engineers, programmers worked together, shared their work, and somebody wrote a program.
|
|
They pretty much made it available in source code so that someone else could come along and take that a program and adopt it for their needs and make modifications to it.
|
|
And all this began changing around the early 80s, mid 80s, when vendors began closing their software, and they weren't sharing anymore.
|
|
And this was in a sense no more helping your neighbor, which is the culture that Richard M. Stahlman had been educated in.
|
|
Now, Stahlman didn't like what was happening, and one of the biggest examples he used in his essays is that he acquired a printer and at the department he was working on.
|
|
And that printer was extremely difficult to get working with their systems, and he asked the manufacturer for the source code so he could modify the drivers for the printer to make it work with the software and systems that they had, but they refused to provide him with that.
|
|
So I believe he hacked together his own driver for the printer to be able to make it work, but nevertheless that left a bad taste in his mouth. He was not pleased with those restrictions.
|
|
He also felt it was unethical for all the software going around these days, which used to be open and shareable, was now being closed, and he was at a crossroads.
|
|
He could just fall in line behind everybody else and develop software in a closed environment and provide proprietary software to everybody and forget all the sharing nonsense, or he could ditch software, engineering all together, no more, you know, and take another job.
|
|
Well, he kind of took the middle road between those two and said he wants to look back on his life and feel positive about what he did and feel that he did it in an ethical way.
|
|
And thus he founded what's called the GNU, which is GNU is not UNIX, and the idea was to create a free UNIX software system, which includes the operating system and the tools surrounding it. That was his goal.
|
|
So he started writing applications and making a source code available. One of the first ones was popular editor EMAX, and he released it as free software.
|
|
Now again, what we mean by free software is not free as in price, okay, but free as an unfettered software.
|
|
It's software that you can get into, look at the source code, modify the source code, and share with anybody, and every person that acquires a free software has those same rights.
|
|
Now the four freedoms that they talk about with free software are freedom number zero, the freedom to run the program for any purpose, so you're not restricted in any way for running the program.
|
|
Freedom number one, freedom to modify the program, the suture needs, so and with this freedom, that means you requires access to the source code, so you can modify the application to suit your needs.
|
|
Freedom number two, which is the freedom to redistribute copies of the program to everybody else to share, and finally freedom number three, which is the freedom to redistribute your modified versions of the software.
|
|
And again, what is required for all these blocks, except for freedom number zero, but was required for the freedoms to work properly, is access to the source code and the ability to redistribute the source code without restriction.
|
|
Now, he also coined the term copy left, which is the opposite of copy right, so whereas copy right protects the original author or creator of the work, copy left in a sense, essence protects not only the original creator in some way, but everybody downstream, the people who acquire the product, the work, the users and further developers.
|
|
So instead of protecting the rights of the copy developer, it protects the rights of the copy user.
|
|
The four freedoms and the prevention of restricting any of the four freedoms to anyone else, it secures those four freedoms, so modifications essentially have to be free, and any inclusions with the software have to be free.
|
|
So to help with producing the GNU free software operating system, and to ensure that it would maintain, be able to be maintained beyond him, he founded the free software free software foundation around 1985.
|
|
And what they were used to do was to provide the funds to develop the GNU tools, which were the going to be the software and operating systems surrounding the free software OS, and they were making their money from selling the free software, manuals and stuff like that, and their ultimate goal was to provide a completely free operating system.
|
|
Now, originally, they were working on, and it's still under development, a kernel called the herd, and it was not running as smoothly as they liked, but they had all these other wonderful tools, the GNU tools set EMAX, the GNU compiler, similar versions of tools that were available under other Unix operating systems.
|
|
Basic command sets, but were superior and often in different ways were available under the GNU software, so but they didn't have a unifying kernel until that was really ready for prime time use until Linux came along and they sort of adopted Linux kernel as the heart of the free operating system, and they called it the GNU Linux operating system.
|
|
Anyway, let's get back to how this applies to the license. Well, they realized that free software needs to be protected, so the four freedoms they need to be protected and they could reduce it, their software under a permissive license, but it's possible that under a lot of the permissive licenses out there, their software could end up in a closed system, and thus people downstream would not benefit, so they needed to protect the rights of the users, that was their goal.
|
|
And thus they came up with what is called the GPL. So under the GPL, let's take a quick run through of the GPL and we'll sum it up when we're finished, but first off, the GPL provides the user with the permission to obtain and run unmodified versions of the source code.
|
|
Now, that means that the output of the program is not necessarily covered under the license unless it constitutes a governed work. So if the output of a program constitutes as a governed work, it would have to be also be covered under the GPL, but the majority of the software that we run doesn't really fall into that clause.
|
|
The GPL permits you to modify the source or contract others to modify the source for you, so long as no further conditions restricting the rights provided by this license are applied.
|
|
So what that means is primarily if you modify the source or contract somebody else to modify the source, you can't provide further restrictions that violate the permissions of the GPL.
|
|
You may permit others to run GPL covered works for you, provided they do so in a way that does not apply further restrictions or conditions to the rights granted under the GPL.
|
|
So in a sense, that means with like a shared hosting environment, somebody could provide you with GPL software to run if you give them permission to do that, provided that they don't in turn put restrictions on your ability to use the software in a way that would violate the GPL for your purposes.
|
|
And not circumvent the rights of covered works through technological means, thus restricting the rights to run covered works on a device which makes use of covered source.
|
|
That's what we're talking about, they talk about with the Tivoization clause right there, essentially what that comes down to is if you provide a system that includes GPL software, you must also allow a person to run modified versions of that software on the system.
|
|
You can't prevent them from doing that and I'll come back to that in a few minutes is one of the criticisms to the GPL.
|
|
Okay, you may come there verbatim copies of covered source as you receive it in any medium provided you appropriately publish on each copy the copyright notice and keep intact the original GPL license in any non permissive terms associated with the source.
|
|
Additionally, you may or may not opt to charge for the media. So if you're providing GPL software, you must also provide in some way copies of the source.
|
|
Be that you provide them with a copy along with the binary or the ability for the person to acquire from you either the original copy or your modified source in some format.
|
|
Be it download off your website or you can have a CD mail to them or a disk or whatever and you are permitted to charge or not charge for that access or that medium.
|
|
But you must provide it to them in some way.
|
|
You are permitted to modify the source code so long as you follow these guidelines. You must document your modifications and the work were applicable.
|
|
You must include the GPL license and keep intact all notices from the original source.
|
|
You must license the entire work as a whole under the GPL. If the work has interactive interfaces, each must display the appropriate legal notices.
|
|
But if the original program did not already include this, your work does not need to make them do so.
|
|
All right, if the covered software is compiled as part of an aggregate work, that is included on a storage media or other distribution or other applications, kind of like a distribution.
|
|
And does not comprise of a larger program but remains independent than the other software may be included in an aggregate that does not require to be licensed under the GPL.
|
|
That is if there is other software to be included, you can include with it so long as that software doesn't make use of any GPL source or any of the libraries used by the GPL covered under the GPL.
|
|
So if it doesn't touch any GPL stuff is okay.
|
|
Okay, now you can include the covered work in a binary or object form so long as you make the original source available either with the binary form or accessible via the internet or through an option to acquire on media for a period of no less than three years after distribution.
|
|
So that means if you are going to convey somebody a GPL program in binary format, you must provide them access or a way to acquire the source or the modified source that was used to compile that binary in some format for up to three years after it was distributed to them.
|
|
So just keep that in mind.
|
|
Up to three years, that's what they require you.
|
|
If you receive a copy of covered code either in original or modified form that includes further restrictions, you may remove said restrictions under the GPL.
|
|
So if somehow somebody distributed to you, GPL software and applied further restrictions on it, you have the right to remove those restrictions.
|
|
Okay, first off, they shouldn't do that because it violates the GPL.
|
|
So under the GPL, you can remove those restrictions.
|
|
You do not have to accept the GPL license to run GPL software but you must accept the license in order to propagate GPL software.
|
|
You can violate, not accept the GPL license, you can violate it any way you want and still use the software provided that you do not distribute the software.
|
|
If you distribute the software, you then accept the license of the GPL and thus are required to ensure that that software remains proper or adheres to the GPL and any restrictions are removed.
|
|
Now patents were a hot topic with GPL version three and before we talk a little bit about patents here, we must consider a definition of what is a contributor.
|
|
Now a contributor is one who is an authorized patent holder or who has authorization by the patent holder who makes available patented technologies for distribution under the GPL.
|
|
So somebody who either holds the patent or who is authorized by the patent holder either writes a program or modifies a GPL program and releases it including the patented technologies under the GPL license.
|
|
Now what this means is that one, the contributor must allow and grant non-exclusive worldwide royalty for use of the covered works that he or she distributes.
|
|
So if you distribute something, if you own a patent on something you distribute it under GPL software, you are granting everybody an non-exclusive royalty free worldwide usage of that work.
|
|
So any allowances that you grant with the patent go to everybody.
|
|
If you knowingly convey patent of works, then the license you were granted is automatically conveyed to all recipients authorizing them the same rights under the GPL.
|
|
So if you acquire patented technology and you make use of it in GPL software and you distribute that software, you are also distributing the rights you were given to use that patented technology to everybody else royalty free worldwide non-exclusive access.
|
|
You may not convey patented works under which doing so would limit the terms of the GPL.
|
|
So if you take a piece of software covered by the GPL and you apply patented technologies to it, while you can still use that for yourself, you cannot distribute that technology if it would violate the patents.
|
|
All right.
|
|
So that in a nutshell covers patents and we'll come back to some of this as we summarize it in just a minute.
|
|
Now if conditions are opposed on you that require you to limit the permissions provided for by the GPL, you may not convey the work under the GPL.
|
|
That's simple enough. If you can't adhere to the license, you may not distribute that work under the license.
|
|
It makes perfect sense. Does it not? So let's break it down. Essentially what we're looking at here is a GPL was instituted to protect the four freedoms of software, the ability to run the program for any purpose, the ability to modify the program, which means get access to the source code, and the ability to distribute either modified or unmodified versions of the source code,
|
|
before which once distributed, people maintain those same freedoms. And that is at the heart of it is the copy left and that is protecting the end user or the recipient of the software so that they have the same rights that you had with the original software.
|
|
That's it at the heart of it. If you want to use GPL software, if you use the GPL license, you must further continue with the GPL license. So your work must adhere to the tenets of the GPL and allow for everybody to use the four freedoms.
|
|
Some of the criticisms that have been levied against it is, well, if how do you expect me to make money writing GPL software is one of the largest criticisms I've heard, how can you expect to earn money? Now, the whole concept of software license and paying for an application and essentially not paying for the application, but being paid for a license to run the application.
|
|
I started occurring in the mid 80s and really flourished in the 90s, particularly with Microsoft and Apple and their use of proprietary licenses, along with the big boy Unix companies deck and all those other companies.
|
|
There used to be a sharing culture now, it was a closed culture, free software wants to ensure that if you're going to use free software that you're going to continue to propagate and provide everybody else with those same rights, you're not going to close it off.
|
|
So, whereas the model of proprietary software is you pay for the right to run the software, the model of the free software kind of turns that around is you're not paying for the right to run the software, you can still sell free software.
|
|
Okay, you can sell copies of it in a packaged format, for instance, look at the distributions out there, you can buy a copy of a Ubuntu in Best Buy, you can buy a copy of Mandraiva or a copy of OpenSus, as Susa Enterprise Linux, you can buy copies of that in their collections of free software.
|
|
So, it turns software as a business into software as a service. So, generally you're not paying for the software, you wouldn't charge somebody for the software, you charge them for some kind of service surrounding the software, be it support, be it distribution and packaging, you can charge them for manuals, with the understanding that that person can turn around then and make those things available to anybody else.
|
|
Now, granted, if you're packaging it in a nice format and providing a manual, it makes it a lot more difficult for somebody to turn around and provide that to somebody else for free on a wide scale basis.
|
|
So, it kind of turns the software model around on its head, and while that business model might be great for a Red Hat or another distribution company or a larger work out there like OpenOffice that people can start building a business around, it might be more difficult for you throwing something together like an RSS aggregator in your basement, you know, hacking away at it, releasing it on a GPL and expect to get paid.
|
|
Before, you can acquire donations or anything, but you can be contracted to modify the source. You know, you wrote the program, who better knows how to modify it than you. So, not only does it help with getting your skills honed and getting your name out there, but you can achieve more work from it that way through customization of the source code.
|
|
So, that's one criticism. You can make money. It can be difficult though. So, be it. You don't have to, you know, a lot of companies here are companies saying, well, if we start using software, GPL software, we have to release all the modifications and changes we make to it.
|
|
Well, yes and no, number one, you do not have to release any modifications you make to GPL software if you do not distribute that GPL software.
|
|
So, if you're a company and you create an in-house application using GPL software and integrate it with your patented system and you don't distribute it, you don't have to release the source code, you use it in-house.
|
|
But if you're going to distribute that software, you will have to release the source code. It's required by the license. If you're not interested in releasing source code under, you know, using doing that, sharing your software, don't release it under the GPL, don't use other people's work, don't build on the GPL.
|
|
If you choose to release your software under the GPL and distribute it or not even distribute it but just release the source code, it has its benefits.
|
|
You get a worldwide developer community that might take interest in your project and provide contributions and expand on it or make changes to it to improve it in ways that you might not have the facilities to do or of even thought of and providing you with more assets to your software.
|
|
All right. So, some of the other criticisms that have been levied at the GPL involved the whole T-voization clause which we talked about a few minutes ago.
|
|
GPL 2 didn't account for T-voization. What that basically means, and they call it T-voization because it was largely a problem with when T-vo came out.
|
|
It made use of a Linux kernel and GPL software and a closed hardware system that didn't allow you to modify and run modifications very easily to it.
|
|
In fact, they started to restrict people from being able to run modified software on a T-vo. So, GPL version 3, it doesn't prevent a company from attempting to restrict unmodified versions of software running.
|
|
It says that if you're going to use GPL software and somebody wants to modify it, you must provide them with the means to be able to run the modified source on their hardware, be it that you have to provide them with the cryptographic keys or some other way to allow them to run the modified software.
|
|
You can make it by request so that people who get the component and attempt to do it are prevented from doing running modified source unless they come to you and request the keys to be able to do it and if they do, you must provide it to them if you're running GPL version 3 software.
|
|
DRM, GPL doesn't prevent you from writing DRM. They consider it kind of, you know, it's a restrictive technology, the free software foundation consensus restrictive. So, it's not ideal for them, but you can write DRM technology using GPL software with the understanding that because you're releasing the source code, somebody can modify that source code and release the, you know, the technology or the source code to break that DRM.
|
|
You can't be prevented from doing so.
|
|
Ah, all right. Under the GPL, you are allowed the same source code for any application under the GPL and modified to your needs and you're permitted to run the work for any purpose that you want. Just remember that. That is the big deal with the GPL. It's the sharing license.
|
|
Now, it's important to understand that the freedom number zero is the ability to run the application or the software for any purpose.
|
|
So, another criticism that has been levied at the GPL is that it doesn't protect running, you know, users who make, who elect to use software as a service.
|
|
For instance, a Gmail, Facebook, any of those software as a service companies that run GPL software for you are not required under the GPL 2 or version 3 to release the source code.
|
|
Okay, because that would violate freedom number zero. And I've heard Evan Moglin say this in his many talks and if you ever get a chance to hear him speak, he's a wonderful order.
|
|
And it's clearly stated that the software as a service loophole is not really a loophole. It's not covered under the GPL. It's not a restriction or violating the GPL for Google to run Gmail for you and not provide you with the source code.
|
|
Because freedom zero provides the user the ability to run the software for any purpose and even if that includes running it for somebody else.
|
|
Okay, they're not providing you with the source. Okay, they're not distributing the software to you. They're providing you with the service to which you agree for them to run software for you, the free software.
|
|
Therefore, it's not a violation of the GPL rights. It can be a violation of your conflict of freedoms there is what he says.
|
|
But you are giving them the permission, the freedom to run the software for you. So they are not in violation of the GPL version two or version three. And that is very important to note.
|
|
I'm going to cut it off there because that's about 30 minutes of GPL talk. Again, best information for the GPL, go to GNU.org and you can read all about the free software foundation, the philosophy behind it, Richard Stallman, the GPL license there.
|
|
There are a few other GPL license that lesser GPL and the AGPL, which I will think I will cover next time and how they apply it to GPL. But just remember, the GPL is there to protect as a copy left license there to protect the four freedoms.
|
|
It means that so long as you give the person permission to run the software for whatever they want, provide them with the source code, they can modify the source code and they are not account for any other restrictions or remove any of the permissions provided by the GPL.
|
|
Should they elect to distribute it or you distribute it? That's all you need to do. It's a sharing license. It is an unfettered license is what it's for.
|
|
If you have further questions, hit up our forum at thelinuxlink.net and you can ask questions there. You can email me at the end at thelinuxlink.net. If you feel that I've misconvade some information, which I will correct the next time around if I feel necessary.
|
|
If not, have a great day. Check out the license for yourself. If you are interested in becoming a member of Hacker Public Radio, get in touch with the guys there. If you have anything you want to say, add, like to hack around anything. We're always looking for new people to come on board and share their experiences, great opportunity. Keep hacking away and have a great day. Thanks for listening. Bye bye.
|
|
Thank you for listening to Hacker Public Radio. HPR is sponsored by Kero.net so head on over to caro.net for all your hosting needs.
|
|
Thanks for listening.
|
|
Thanks for listening.
|