Hacker News new | past | comments | ask | show | jobs | submit login

> I modify the program so that it includes a simple HTTP interface.

Now your program supports two different shells[1]. Your original window-style (probably graphical) user interface is a popular type of shell. The new shell uses HTTP for transport, probably in a style derived from the block oriented terminals like the IBM 3270[2].

While these are very different types of shells which support very different sets of features, the are both common ways to interact with computers. The person using the HTTP interfaces is using a shell on your computer to run programs, and thus is a user of the chess program. The limitation of only being able to run one program only makes the HTTP interface a very limited shells, which isn't relevant to the {,A}GPL.

> I've seen people argue that the person coming in over the net is a "user"

Yes, because the person coming in over the net is a user if the program. The person that is at the local terminal is also a user of the program. Being a user doesn't require physical locality or a particular type of interface.

> because AGPL is not trying to impose any requirements on them

Correct. The GPL licenses are copyright licenses, not some sort of EULA. They only impact the person who is distributing the software, or in the particular case of the AGPL, the person providing the network service. The latter is important because of the trend bypass the user's* freedoms (even the remote user). The AGPL closes the loophole of using a Service as a Software Substitute (SaaSS[3]) to avoid the usual distribution of the software.

> It is trying to impose a requirement on me

Only if you allow other people to use the software. (or if you distribute it and need a license for copyright reasons)

> imposing a requirement on me violates my freedom

No requirement is imposed on you for using the software. The AGPL only requires that you provide the other people that uses the software through your new interface the same freedom.

[1] https://en.wikipedia.org/wiki/Shell_%28computing%29

[2] https://en.wikipedia.org/wiki/IBM_3270

[3] https://www.gnu.org/philosophy/who-does-that-server-really-s...




> Correct. The GPL licenses are copyright licenses, not some sort of EULA. They only impact the person who is distributing the software, or in the particular case of the AGPL, the person providing the network service.

Distribution is one of the exclusive rights copyright law gives to the copyright owner. Hence the need for a license from the copyright owner to allow others to distribute.

What copyright rights do you think are implicated in interacting with a program over a network, particular in a case like my hypothetical chess program where the interaction is just exchanging small amounts of data? The only one I see that can maybe apply is the public performance right. How that applies to computer programs is not clear under current caselaw. My recollection is that it is generally believed it would apply to things like video games, where someone observing the "performance" would be seeing copyrighted elements of the video game. For things like databases, communications programs, and the like, trying to apply the public performance right is much more questionable.

Calling GPL a copyright license makes sense, because the acts that trigger obligations under GPL are acts that require permission from the copyright owner. AGPL triggers on those, and on providing network access, which unless the public performance right can be made to apply does not generally require copyright owner permission. That puts AGPL into EULA-like territory.

> The latter is important because of the trend bypass the user's* freedoms (even the remote user). The AGPL closes the loophole of using a Service as a Software Substitute (SaaSS[3]) to avoid the usual distribution of the software.

That's Stallman's updated position. His earlier view was that software (even proprietary software) on a server does not limit the freedom of those who use the program remotely:

RMS> ...a proprietary program on a web server that somebody else is running limits his freedom perhaps, but it doesn’t limit your freedom or my freedom. We don’t have that program on our computers at all, and in fact the issue of free software versus proprietary [only] arises for software that we’re going to have on our computers and run on our computers. We’re gonna have copies and the question is, what are we allowed to do with those copies? Are we just allowed to run them or are we allowed to do the other useful things that you can do with a program? If the program is running on somebody else’s computer, the issue doesn’t arise. Am I allowed to copy the program that Amazon has on it’s computer? Well, I can’t, I don’t have that program at all, so it doesn’t put me in a morally compromised position.

(http://radar.oreilly.com/2006/08/open-source-licenses-are-ob...)


> The only one I see that can maybe apply is the public performance right. How that applies to computer programs is not clear under current caselaw.

Anyone is free to bet money on it. Streaming cases has been done in several countries, and the outcome was expected. The argument for lets-play often discuss classical assets like images and sound, but the purpose of the artistic work in a game is the full experience. A networked chess program that anyone can use for free would be more akin to a pirate version of Steam than a lets-play. The installation directory just happen to be remotely rather than locally.

> interaction is just exchanging small amounts of data

I can encode a video to be just small amounts of data in comparison to the original. I have yet to see any infringement case where the amount of data is relevant, except in the pirate bay case where that argument failed.


When editing before posting, I omitted some qualifications I had intended to include. By "small amounts of data", I meant small amounts of data that contain no copyrighted elements whose copyrights are owned by the owner of the program's copyright.


When it comes to software, "no copyrighted elements" is not clearly defined.

For example, the output of a word processor is clearly not copyrighted by the word processor author. Most people agree to this.

However, if I created a remote login system where millions of users could access one and the same windows word installation, I would likely get sued by Microsoft. Even if the small amounts of data that is streamed through remote control has no copyrighted elements that is owned by Microsoft, the fact is that I am evading the copyright of Word and undermining the market value for the program (or at least thats what I suspect the lawyers should say).

This is generally where clear lines end, and the fuzzy world of legal opinions of juries/judges starts. The output of a word processor program not the same as the output of remote controlling said program. Evading the copyright through remote control doesn't sound as something a judge would look favorable on, and in the end it is the infringer that need to convince the judge and jury that their activity is within the license/law, or that the usage is within reasonable expectations.




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

Search: