Codeusa / Borderless-Gaming

Play your favorite games in a borderless window; no more time consuming alt-tabs.
GNU General Public License v2.0
5.58k stars 478 forks source link

Rights granted by the GPL cannot be retroactively retracted #312

Closed omcnoe closed 7 years ago

omcnoe commented 7 years ago

The GPL grants the public the right to code licensed under it, as long as changes are publicly available. You cannot retract this right for existing GPL licensed versions.

Issuing DMCA takedowns of code licensed under the GPL is illegal, and I'm sure will be looked down on strongly by the community. You really shouldn't try.

andrewmd5 commented 7 years ago

https://www.reddit.com/r/Steam/comments/6fsrhy/clearing_the_air_around_borderless_gaming/

I can understand your concern, most of the noise being made is because I announced I'd stop offering free releases while keeping the source code open. Borderless Gaming has already been on Steam for quite some time so I honestly saw no problem with this.

I tried to handle this gracefully at first, making the discussions public and purposefully shining a light on them. I didn't at any time try to hide my changes. As the conversations devolved into ad hominem and "gotcha" moments of my character, I just decided to exit stage left (more like tripped).

So here is what I'll do to resolve this:

So why did I switch to MPL? Trademarks and branding mostly, I don't want derivative works to use the Borderless Gaming brand if it isn't for personal use. The repository that was DMCA'd specifically did this while also removing all references to the original fork and myself which goes against the GPL.

cheatfreak47 commented 7 years ago

While that solution is considerably better @Codeusa it still doesn't make you look very good.

The only problem I have with this change overall is that you built a name for this software on it being an open source freeware program, and now you're backpedaling and selling it instead, and change the license so that any free versions have to change the name.

Even if you rewrite the program from scratch, making something new and calling it the same thing and selling it when it was free before is kind of scummy behavior.

And make no mistake- this change makes Borderless Gaming a commercial product instead of a freeware program, since you are using a license to restrict distribution of unofficial builds using the same name.

Do you think Borderless Gaming would be where it is now if you had been only selling it for $3.99 to begin with? If not, is it morally right to start selling this software now after it's built it's reputation for being a piece of freeware?

Do you know how many guides and wiki pages out there list this free and open source software as the best solution for running games in borderless windowed fullscreen that will be propagating a lie outright now because of your changes here?

andrewmd5 commented 7 years ago

@cheatfreak47 The software is still free and it is still open source. Saying I'm backpedaling seems disingenuous, I've offered free binaries for close to 5 years now. I have no plans to close this repo even after the rewrite and I have no plans to stop pushing new code. So in every sense of the term, this project is free and open.

Speculation as to why I've decided to host changes exclusively on Steam is just that. I refuse to dive into the details of my personal life and what circumstances forced my hand. I've done my best to accommodate people. The Steam version is DRM free, can be copied to other devices and even works off a USB.

I'm going to continue creating software the community finds useful.

cheatfreak47 commented 7 years ago

@Codeusa You are gating freely avaliable and easy to obtain compiled binaries of the latest version of the software behind a paywall to incentivise people lining your pockets, and actively making changes to the license to discourage forks that compile and distribute binaries.

On top of that, right after the license change you sent a DMCA takedown on one of the forks of this project already.

The average user isn't going to know how to compile the software from source, and to get the latest DRM Free officially released binary from the steam version requires someone to pay you the 3.99$ in the first place- and I'm sure you wouldn't be too happy if people started posting those publically.

It is not going to be free anymore after this in the absolutely most important sense: that after this, people will have to buy a copy of the software through steam get an easy to install, recent build of the program without having to go to the trouble of compiling it.

And no, it's not disingenuous to say that precisely because you offered free binaries for 5 years and now you've decided specially not to do that, and to make it more difficult for free binaries to be produced by third parties.

That, in my book, is the definition of backpedaling. Not only that but you backpedaled after you benefited from where your bike went.

Anyhow, I didn't come here to argue with you, I'm just telling you what this looks like to me, an average guy who used borderless gaming for years.

andrewmd5 commented 7 years ago

@cheatfreak47

DMCA takedown on one of the forks of this project

That was in clear violation of the GPL and close to infringing. The fork not only removed every reference of me from the repository, it removed my copyrighted headers from my code. This crosses the line and it was clearly done out of spitefulness. This project has been forked and mirrored hundreds of times and that is hopefully the only time I'll ever have to do that.

The average user isn't going to know how to compile the software

Then I ask the average user to pay a small premium for a utility they will likely use daily, or find a mirrored source elsewhere. I'm pretty sure Sourceforge has every version. I honestly wouldn't care if each new version was released outside of Steam by someone else. By all means, "pirate" the software.

I'm going to make sure people aren't being malicious or vindictive. It is one of the primary reasons I'm signing new Steam releases.

omcnoe commented 7 years ago

The entirety of the software will be rewritten under MPL.

There is no need for this, as the copyright holder you can license the whole project under MPL as long as you get agreement from all other contributors, or replace code written by contributors who do not agree.

What you CANNOT do is retroactively retract rights granted under the GPL, such as that now removed requirement that forks do not provide compiled binaries. As commits done before a valid license change to the MPL will still be under the GPL.

omcnoe commented 7 years ago

As you have removed LICENSE2.MD, this project is no longer violating the GPL. Sorry if I wasn't able to make that clear with my first comment, but LICENSE2.MD was the explicit GPL violation.

cheatfreak47 commented 7 years ago

@Codeusa if that's what he actually did, then that's fair enough.

ask the average user to pay a small premium for a utility they will likely use daily

And it's fine to ask, but the difference is, now people have to pay for these safe, legit, and official builds. Before, they did not. This makes Borderless Gaming a premium software now. Borderless Gaming made a name for itself as a free software with optional, non-intrusive ways to donate to you by paying for the steam build.

There are a lot of people that probably only bought the software to support you because this software is free, open, and accessible, and it's such a useful program that a lot of people use daily.

By making that the only method for official delivery, you are effectively making Borderless Gaming a commercial product, and that is a decision I just cannot agree with, because of the precedent that it had set as being a piece of freeware.

If you want to look at how to do steam released free/open software right, have a look at how ShareX does it.

andrewmd5 commented 7 years ago

@omcnoe I understand and in hindsight it was a pretty stupid decision. So I apologize, it was honestly a knee jerk reaction.

@cheatfreak47 I am disappointed that this change has turned you off from the software, but I can understand you have your principles and ideals and I respect that. I'm committed to keeping this software open regardless and I still want to create free tools for the community.

cheatfreak47 commented 7 years ago

@Codeusa It's fine really, we all have knee-jerk reactions sometimes.

And sorry if some of the things came off as mean spirited, I'm just boggled at your decisions here, I still am honestly.

In the end, I'll probably end up buying it anyway at some point during a sale because I use it so often already and I'm used to it, but that's the thing, I know if this software always costed 3.99$ I wouldn't have bothered with it, and that's troubling. I feel like this choice is going to hurt the user base for this software a lot more in the long run honestly.

I hope you'll reconsider this at some point, because I don't think it's a very well founded decision.

¯\(ツ)\

andrewmd5 commented 7 years ago

@SubstituteCS You violated the GPL by removing links to the original source and scrubbing references to myself out of the program/repo.

Due to the fact you've mentioned you're "looking towards legal council." I'm going to ask that you stop commenting on this issue until your council reaches out to me at which time I will provide him with my councils contact information.

andrewmd5 commented 7 years ago

I've removed your comment @SubstituteCS as I stated before please don't comment on this issue until your council has reached out. I cannot in good faith engage in a discourse while you're actively planning legal action. If you wish to become a witness against yourself, do it elsewhere.

andrewmd5 commented 7 years ago

For transparencies sake, I've reached out to every major contributor I could and asked them to grant me permission to re-license the software and transfer their copyright to me.

ExtReMLapin commented 7 years ago

つ ◕◕ ༽つ OR RIOT つ ◕◕ ༽つ

purpleidea commented 7 years ago

@Codeusa

I don't want derivative works to use the Borderless Gaming brand if it isn't for personal use.

I think you're confusing copyright law and trademark law. Go and get a registered trademark for your "brand" and keep the code base GPL2+.

andrewmd5 commented 7 years ago

@purpleidea GPLv2 does not expressly describes the allowance of using contributors' names, trademarks or logos, which is the issue. When this license was chosen I was never under the impression the project would become so popular.

MPLv2 better fits the future I see for this software.

UndarkAido commented 7 years ago

@codeusa Just make sure you tread incredibly lightly. I'd like to point to the past example of Bukkit, a system for adding plugins to Minecraft server. The whole of it is still locked under a DMCA request because a single contributer didn't agree with it being bought by Mojang when the project was going under. GPL is powerful beast.

pm79080 commented 7 years ago

@cheatfreak47 Commercial is not the antonym of Free Software.

Nevertheless, distribution through Steam will enslave users.

andrewmd5 commented 7 years ago

As yet another update, I've decided to adjust how releases will work. Rather than providing no compiled releases at all, I will do trailing releases were new major updates are pushed to Steam first and later at a fixed duration Github.

the 9.3 installers are up https://github.com/Codeusa/Borderless-Gaming/releases

cheatfreak47 commented 7 years ago

@pm79080 nice quadruple post. Commercial in terms of economics, refers to the express intent to make a profit, and not necessarily to benefit the public, although it can of course still do that.

Borderless Gaming built itself on being software to benefit everyone​, with donations being optional. It's for this reason I'm against this change.

@Codeusa that is a lot more reasonable, thanks for reconsidering. This is a great compromise, it gives extra value to the steam version, while benefitting the public on a consistent basis still. 👌

Dankman commented 7 years ago

http://www.groklaw.net/article.php?story=2006062204552163

"If` you change your mind and don't want to use the GPL any more, you can stop and use something else on new code going forward, and you can dual license your own code, but you can't redo the past and pull back GPL'd code. That's one of the beauties of the GPL, actually, that even if some individual gets a bug up his nose, or dies and his copyright is inherited by his wife who doesn't care about the GPL and wants to take it proprietary, or just to imagine for a moment, a Megacorp were to buy off a GPL programmer and get him to pretend to revoke the GPL with threats, and even if it were to initiate a SCO-like bogo-lawsuit (based perhaps on a theory under Copyright Law § 203, termination of rights -- lordy do we have to endure a living demo in some courtroom somewhere of every antiGPL theory found on every message board before they give up?), it doesn't matter ultimately, I don't think, as to what you can and can't do with the GPL. The GPL is what it is. Please don't use it if you don't like the terms."

the linked article has more info on this topic. Essentially, if you want to change the license, you can't revoke the rights of people who already forked it under GPL. You can change your license going forward, but that doesn't change the rights you granted in the past.

Additionally

http://gplv3.fsf.org/wiki/index.php/Compatible_licenses

might be of use to you

Dankman commented 7 years ago

https://www.mozilla.org/en-US/MPL/2.0/FAQ/

Q14: May I combine MPL-licensed code and (L)GPL-licensed code in the same executable program?

Yes, by creating a "Larger Work" under the terms of Section 3.3. In particular, three requirements must be met:

The software must not be “Incompatible With Secondary Licenses.” Software can become “Incompatible With Secondary Licenses” in one of two ways: the original author marks it as such by adding the file header in Exhibit B, or the original author published the software under MPL 1.1 and did not dual- or tri-license the code with the (L)GPL.

The Larger Work must be "a combination of Covered Software with a work governed by one or more Secondary Licenses." So you can't just say "I really prefer (L)GPL" - you must have a need to combine with another, existing GPL work. (This is different from a traditional dual-license, which does not require you to combine, and instead allows you to simply say "I've decided to be GPL-only.")

You must "additionally distribute" under (L)GPL. In other words, you must make the MPL-licensed source code available to your recipients under both MPL and (L)GPL. Someone downstream from your recipients can then take under (L)GPL-only or MPL-only. This is different from a traditional dual-license, which never requires publication under both licenses, and so always gives you the option of releasing incompatibly-licensed code.

No GPL-compatible license can perfectly preserve the original author's ability to reuse downstream derivatives, but the last two restrictions serve to increase the probability that such reuse can occur in the broadest possible set of circumstances.

We have written a document explaining how to do this in practical terms, i.e. what to do about license headers and so on.