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

I really like the GPL and I really care about software freedom.

I think the AGPL is nonfree. It attempts to redefine the provision of a service as the same as the provision of software. They are not the same thing at all.

I believe that software freedom includes the right to keep my own local modifications private, if I'm not distributing the software (but only using that software locally to provide a network service).



> ... keep my own local modifications private, if I'm not distributing the software (but only using that software locally to provide a network service).

Nuance: The AGPL allows you to keep your modifications private _if you're not distributing the software_. It simply considers over-the-network usage as "distribution". That is how it defines it, in the legal text. This makes sense in many cases, where software is written primarily or solely for the purposes of providing network services. Authors of such software need a way to define network access as "distribution", and they have the AGPL for such software.

> I believe that software freedom includes the right to ...

Similarly, the permissive-licenses camp also believes software freedom includes the right to some things that the copyleft camp does not provide. Fundamentally, it comes down to a tradeoff: between the rights of a developer and the rights of an end-user. The permissive-licenses spirit places the former over the latter, and the copyleft spirit does it the other way. But in both cases, software freedom is maintained, even if for at most one type of persons. Sadly, it is logically impossible to maintain software freedom for both developers and end-users.


How precisely is "over the network" defined? If I browse a website that has a Varnish cache in front of Apache running Wordpress am I using all three? Just one? If I upload a file via FTP and later a cron-job runs and processes that file via a software package and I later download the result did I interact with the "software package" in such a way as to count as over-the-network?


I don’t think there are clear cut answers. It has to be tried in court. The desire of the creator is sort of obvious, the discussion will be whether the creator can set that as a condition to use their IP or not. EULAs are a thing, so I wouldn’t dismiss the license so easily.


What about the users of the software you provide via the network, don’t they have the freedom to run, modify and study the software they are using? If you stop providing the service, don’t they have the freedom to run it somewhere else and keep using it as they did? When it comes to remote use of software, the freedom to copy and run is even more critical. Microsoft can’t prevent me from running windows 95, but google can sure prevent me from using gmail in future.


Assuming I'm an "evil ASP" in this model: I am not providing software via the network. I'm providing JSON (or protobuf or whatever), in response to questions.

Distributing software and providing a service via an API are not in any way the same thing. One is a noun and one is a verb!


Sure, they are not the same thing. I’m just pointing out that the freedom in free software is all about users having the freedom to do with the software they use as they please, not about the freedom of people hiding parts of how the software works. You are not evil, you’re just restricting your user’s freedom, which is neither wrong nor a crime.


The users have no rights to software that hasn't been provided to them. There's no "freedom" involved.

Imagine a situation where I provide a human based service: someone comes to me and asks me to add two numbers together. I return the next day and tell them the sum. They are not entitled to know whether I used pen and paper, computer, software, whatever. That's private information, and it's my freedom not to share information that's not relevant to that business transaction.

It actually has nothing to do with software.

I theorize that the AGPL isn't actually enforceable as a result. I don't know of any actual AGPL enforcements against service providers.


> They are not entitled to know whether I used pen and paper, computer, software, whatever.

You do realise that the AGPL does not apply to every software you could possibly ever use, and only to software whose copyright is held by someone else, that you downloaded, modified, and then used to answer such a question over a network, right? Sorry, I'm just bewildered at what you think the AGPL does, given your other responses in this thread so far.

But to use your very example: if you used another person (instead of pen and paper or whatever), asked them the sum of the two numbers you were given, and they said they'd give you the answer, but only if you introduce them to whoever originally asked you the question when you respond to them with the answer, and you said "Yes" to them (thus entering into an oral contract), and then went back privately to the original asker and gave them the answer, without introducing the two people to each other, then you're in breach of contract.


Er, what? There's nothing that seems unenforceable. Basically, if you run the software and people interact with it you must share with them what they are interacting with.

You can still have trade secrets. You just can't have a trade process. Realize in most cases, you run up against this because you took someone else's code and are running it for profit.


I don’t understand the analogy very well. But software is very different to the material world because it’s fungible and copying it is essentially free. I think a more appropriate analogy would be the mechanic that fixes your car explaining what they did so that you can fix yourself when you need.

Anyway, you’re not entitled to modify, copy, etc even if the software is distributed to you. Copyright exists exactly to guarantee that the creators have a monopoly over their creations and can more easily profit from them. It is just a consequence of that that users do not have the freedom of running, modifying, studying, etc the software they use as they see fit. You have to give them that freedom, if you want. By default you’re not required to do so, and you don’t want to, which is fair enough. AGPL is there for those who want to give the users even more freedom than the GPL gives them.

I don’t know if AGPL is enforceable or not. Using software remotely can be seen as a form of distribution, that’s what needs to be proven in court, I suppose. I don’t think it’s clear cut. Something like gmail using AGPL software seems a lot more likely to be a breach of the license than if someone publishes some graphs that were generated by a batch job linking to AGPL libraries.


If I type something on my keyboard, and as a result a computer at the other side of the world performs a computation to give me an answer, then I am definitely running software. Else you could say that the only software you're ever using is your computer screen, keyboard and mouse's firmwares - it's just making requests via a protocol (usb) to a cpu "somewhere" and the CPU answers on the screen via another protocol (hdmi)


> I am not providing software via the network. I'm providing JSON (or protobuf or whatever), in response to questions.

That's one way to look at it, but I think it's a distinction without a difference.

Take as an example a GPL library wrapped with a thin IPC interface (that is open sourced) which is used by a separate proprietary program running in its own process. Is this okay? What if they're running on two separate and independent microcontroller cores connected over the same memory bus? What about over a serial link? Add a few more OSI layers and you get to the AGPL.

In the end it's a matter of degree and its up to the author to decide where they want that line drawn for their project.


I think the point is that, if you don't send the GPL + IPC layer to user, then it is not counted as distribution. Certainly there is a distinction between distributing the full software and allowing network access to it, otherwise there would be no need for AGPL, as GPL would cover that too. The question is whether that requirement is actually something that's protected by law. I lean more towards it being protected. Otherwise, running a pirated version of some software and exposing it on the web wouldn't be considered ilegal either, and I'm pretty sure it is.


I think at the root of the issue is that "Freedom 0" and being against "SaaSS" as rms calls it, are incompatible. See https://www.gnu.org/philosophy/who-does-that-server-really-s...

The AGPL (and I would argue that even the GPLv3) attempt to restrict Freedom 0 to prevent "evil companies" (or if you want to word it differently "dumb customers") from foot gunning themselves. The AGPL and the GPLv3 would not be NEEDED if customers refused to use those products - but since the vast majority of people don't care about software freedom, the AGPL and GPLv3 try to prevent it - by restricting Freedom 0. Perhaps slightly, perhaps it's a good trade-off, but it's still a restriction.


This is a very clear and succinct way of putting it, and I think you're absolutely correct in your analysis.

I care a lot more about Freedom 0 than trying to "fix" the legitimate choices of customers and vendors.




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

Search: