Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is why we have AGPL and GPLv3. You can TiVoize the kernel, but you have to provide the user land, at minimum.

In a MIT only world, you would have no source of anything. So not only you can’t build a signature-free version of the kernel for educational purposes, you can’t even have it.

This is a corporation paradise.



Unfortunately, AGPL is a non-free license, which dictates how one may run the program when not redistributing any of its code. It's a clumsy attempt to attack a certain problem in the social computing sphere using software licensing. (You know the adage about every problem looking like a nail when the only tool you have is a hammer.)

Open source licenses are characterized by the fact that you don't have to read them, let alone agree with them, merely in order to obtain the software and use it. These licenses "kick in" when you redistribute.

The AGPL can only be litigated as a closed license; i.e. the argument being that if the defendant does not use the program in accordance with the license, their copy is infringing, the same like a cracked version of Photoshop. Whether you are allowed to have a copy or not depends on how you are using it.

A successful AGPL litigation would mainly succeed in proving to the world that the license is nonfree, which would be evident from the arguments that would necessarily have to be used, and the reasoning necessarily expressed in the verdict.


Like it or not, AGPL is a free software license. It only says that even if you provide the service as a SaaS, you share the code if you change it.

You may dislike that particular family of licenses, but it doesn’t allow you to give false information about it. Maybe it’s not intentional, so you need to refresh your understanding. We’re humans, and our brains are not tapes. Knowledge distorts. I experience the same.

GPL says something simple: “Modified the code? Share it. Oh, BTW, you can’t change the license.” The rest is legalese.


It curtails one of the four essential freedoms that form the core of the Free Software Foundation's definition of Free Software:

https://www.gnu.org/philosophy/free-sw.html

"The freedom to run the program as you wish, for any purpose (freedom 0)."

If you modified the software, there are restrictions on running it; you cannot run the program as you wish, for any purpose.

It looks like an open and shut case to me. The place where the AGPL comes from doesn't meet the free software definition coming from the same place.

It might meet your personal definition of what is free, but that doesn't fix the above hypocrisy.


What usage purpose is prevented in LGPL software? The whole point of GPL-type licenses may seem hypocritical to you ("boo hoo I can't use someone else's code without contributing my changes back!") but it's a well-reasoned strategy to prevent theft of code from a GPL project.


The "Lesser GPL" (preceded by "Library GPL") doesn't prevent usage, to my knowledge; it isn't hypocritical with regard to freedom zero.

It allows certain combined works to be redistributed whose redistribution would be forbidden by the GPL, like proprietary, closed-source programs dynamically linked to a LGPLed library.

Given a GPLed library, you can make such a combined work anyway, and use it; but you may not redistribute it.

The LGPL is more free than the GPL, whereas the AGPL is nonfree.

In 2016, the Cygwin project LGPLed its libraries (DLLs). That was great news; that meant I could bundle a BSD-licensed program without having to put a GPL license on the combined work as a whole and cast doubts about how it could be used (since it is a programming language implementation, needing to be redistributed by downstream developers).

I immediately started working on a fork of the Cygwin DLL that would enable it to serve as a more native-looking run-time for Windows applications. I could build the program on Cygwin (and make a regular Cygwin package), but also ship exactly the same executable as a Windows application by bundling it with the modified cygwin1.dll.

The LGPL is good.

In computer science, there is the question whether P =? NP.

Likewise, we have the question GPL =? LGPL; would the GPL's unreasonable exclusion of dynamic linking hold up in court, or would it fall, reducing GPL to LGPL?

I'm of the opinion that everything library-like should use the LGPL rather than the GPL (if it must use some kind of GPL). The LGPL is what the GPL should be (if it legally isn't already anyway).

The LGPL is better for promoting free software. If some developer has a choice between a proprietary library and a free one, it's counterproductive to slap a GPL on the free one to steer them to the other one.

Obviously, the LGPL is used for platform libraries like Glibc, based on similar reasoning, which is probably also why Cygwin sobered up and switched to LGPL. Because banishing proprietary programs from linking to the libraries that comprise free platforms would be counterproductive. You just lose user base and mind share.


My bad, I accidentally typed LGPL when I meant AGPL. I do actually know what these licenses entail in general, despite the typo. I kinda wonder if it was autocorrect that screwed it up.


The extra provisions of the AGPL do not get triggered based on how you run the program, they get triggered when you modify the program. You definitely don't need to read the AGPL to run the software. Please check out the text of the AGPL rather than repeating what people say about it.


You don't need to read the GPL, or any other free software license, to modify a program and to run it.


Modifying a program is illegal under copyright law, so yes you do need to read the license before doing that.


No, copyright law doesn't say anything about privately modifying a work. Only about distributing derived works.

It would behoove you to check the license in order to confirm that whoever gave it to you had the right to do so.

Beyond confirming that you have a legit copy, you don't have to be concerned with the license at all, if you're not redistributing anything.

The vendors of proprietary software and their lawyers dreamed up this idea that a license can lapse based on the user's non-redistributing uses of the work. For instance, if the user reverse-engineers the binary code to understand how it works, then they become unlicensed, the idea then being that they are perpetrating copyright infringement by continuing to have a copy.

The AGPL falls into this category.

The restriction itself does not come from copyright law; copyright law doesn't say things like that allowing network users to interact with a software program is an infringing activity, or that reading the work to understand it is infringing activity.


AFAICT, American copyright law does say "To prepare derivative works based upon the work" is not allowed, and doesn't say anything about private derivatives being an exception to that.

https://en.wikipedia.org/wiki/Copyright_law_of_the_United_St...

Certainly if you privately modify it is going to be unlikely for someone to find out you did that, but that doesn't make it any less illegal.


Preparation means getting ready for something. here, that almost certainly means redistribution.

You're not breaking the law if you scribble notes in the margin of a textbook; that's just crazy. Even if you pass that on to a friend, for that matter.

Anyway, if a license tries to rely on such draconian doctrines to prevent uses, it's obviously not a free license.


That is definitely not what the word prepare means in that sentence. Its more like the meaning in the phrase "prepare a meal".


I'm guesssing that likely intent is so that the authorities could raid a large scale copyright infringment operation, and obtain convictions based on evidence of perparation alone. I.e. not have to catch anyone red-handed redistributing the prepared materials.

Kind of like how cops in some places in America can evidently arrest someone for DUI if that person merely walks to their car with their car keys, intending to sleep inside until sober.


The GPLv3 doesn't prevent what TiVo did (break proprietary software after installing modified GPLed software), and GPLv2 requires users be able to install modified GPL software, so a "TiVoised" kernel is a GPLv2 violation.

https://sfconservancy.org/blog/2021/mar/25/install-gplv2/ https://sfconservancy.org/blog/2021/jul/23/tivoization-and-t... https://events19.linuxfoundation.org/wp-content/uploads/2017... Behan-Webster-1.pdf




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: