Closed urras closed 9 years ago
Question: Do you want them to release their sourcecode of their app (not changes to Toxcore) under GPL only? That means We/You can use it freely, of course, but it would prevent you from distributing it on Apple's AppStore. What if original dev resigns. But he App is good and enjoys high popularity? You'd want to maintain and improve it. You can do that, as you got it as GPL, but you cannot make it available to the users out there, at least not via AppStore. So IMHO force to release under dual license, or you would have to ask all the app devs to sign an agreemtne aftwards about relicsensing, just like you ar edoing here now.
Also: Original toxcore's license commit comment says " Licenced the code under the GPL for now. " for now? Also, your current license allows for "version 3 of the License, or (at your option) any later version.". I don't think, iOS devs should be tied to only v3.0 in outr draft here, but get the same "or later" option, in order to account for future developments.
ps: when I write Toxcore, I basically meant Tox (toxcore, toxav, ...)
pps: Sorry for spamming
sorry, I don't have an iPhone, so I don't know about their AppStore, but it seems they don#t require source code. if that is the case (and hoping that it will remain so), you could also get away with a much shorter text, simply stating that binary-only distribution only via AppStore is possible under any license, as long as source code of the application gets released (and send to TF) under this license we're talking about (GPL + extra binary license)
This way Tox sourcecode retains only its original licenses, which would be .GPL plus this binary-only license. And their apps would bear the same, meaning they are free software (GPL when we receive them; though not free software for those who only got a binary copy via AppStore, but that can't be changed due to AppStore), and could yet be redistributed by you on AppStore too. So the devs or any other entitity could still in theory develop the app and sell copies of it, but there'd always be a free version that could be optained from TF. Ideally they'd also distribute source with every binary, then it would be free and would not require the ToxFoundation at all, but that would be in an ideal world. I see that an AppStore is for Apps, not source.
(You wouldn't even prohibit redisitribution of the binaries, as it's not an issue and you anyway introduce all this exception only for getting tox more widely disstributed)
oh, Idea: what if toxfoundation ever ceases to exist? Maybe the developers should host some download location for source themselves and provided a note of that license plus a link to the download location with every binary copy too? But that might repell some devs, as well. it#s just food for thought. As you see it's not at all an easy issue. Either permissive licenses or copyleft, but a perfect middleway is really impossible. There can be a compromise, but it will always be what it is: a compromise, never a perfect solution.
Oh, and of course, add a note that the free release needs to be free of charge. (GPL-license does not prohibit charging, it just makes it very unlikely as anyone who bought a copy could sell it for half the prise or give it away for free.) And maybe the binary should be free of cost too? MAYBE. Counterargument is that they invested work into their clint and maybe have costs for the AppStore account, or that earning could motivate developping it further. But be sure "we" get a free copy of it anyhow, as they benefit from Tox.
I think that Tox should stay under the GPL and put up with not having iPhone support unless using a third-party implementation of the protocol. Tox is free software and needs to encourage free software. Dual licensing, using contributor agreements or copyright assignment is also a quick way to kill off potential contributors and create a cathedral rather than a bazaar.
Adding an exception that specifically gives a certain group of people the ability to use the code in such a way that others can't is anti-freedom. Those that freedom for a little temporary popularity deserve neither freedom nor popularity. If you really care about iPhones, move away from the GPL and use a more permissive license.
Edit 2: I originally wrote about how nobody's listed the problems with the Apple license as an edit, but after reading up on them, it looks as if the only way to have Tox run on an iPhone is to make it proprietary software. Is that what you really want? Maybe it'd be better to look in to ways to make it easy to jailbreak phones to install Tox on them.
I've been chatting on IRC about this for a while. To me it looks like adding an exception would do much more harm long-term than good it does short-term. Sure you get some users, but in effect Tox is proprietary software. Proprietary software controlled by Apple's usage rules.
If Tox gets popular, suddenly Apple has all the reason in the world to influence Tox lest Tox lose its position in the Apple Store. Sure you might have source code for Tox in this proprietary state, but Apple may add terms to require running it with an associated piece of spyware or within a sandbox.
If Tox doesn't get popular, suddenly there's a gaping hole in the licensing for no good reason. Either way, Apple gets the exclusive ability to dictate Tox's terms in the Apple Store. Is this what you want as a project? Tox needs to decide if Apple influences it or freedom does.
@aaannndddyyy Thanks for the suggestions! I've pushed the latest changes the I think will work. @Jookia I think you need to read what @TheLastProject said. The license of Toxcore will remain GPLv3, and we're trying to make this exception as strict as possible. The exception will allow @dvor to use Toxcore in his iOS client only if he distributes the source code under a GPL compatible open source license. We're not trying to take anyones freedom away or anything, we're just trying to make it so that everyone has the ability to use Tox, even if they use a non-free platform.
@urras The fact is that Tox would be proprietary software when distributed through the store, with limited freedoms. Despite the fact you'd be able to get a copy of the source code, you'd be running proprietary software. This isn't just about open source, this is about freedom. The freedom to run the software for whichever purpose you like, freedom 0. Fundamentally the Apple store restricts this, which means Tox will be proprietary software which Apple controls through its license agreement. What if one day Apple decides their users can't use it without giving up keys? In addition, this is specifically to Apple iOS. What about future stores that impose restrictions? Will we have to do another one of these? This isn't about running Tox on a non-free platform. It's about choosing between letting users miss out on freedom just to gain some overall popularity in the short term.
Forfeiting user freedoms of a program specifically intended to protect user freedom is not how you should be doing this. You should be working with users to know the issues, and encouraging jail breaking in order to have their freedoms through an alternative application store.
Edit: I've also heard there are tools to self-sign compiled applications using developer kits, so you can install homebrew on a locked down device.
+1 for encouraging Jailbreaking. The vast majority of phones and tablets are Android anyway. Not that I want iOS users to be forgotten about, but Apple is the one making things difficult here. Not you guys. If people want the glory of Tox, they'll have to Jailbreak.
On 2014-09-26 09:45, Jookia wrote:
@urras [1] The fact is that Tox would be proprietary software when distributed through the store, with limited freedoms. Despite the fact you'd be able to get a copy of the source code, you'd be running proprietary software. This isn't just about open source, this is about freedom. The freedom to run the software for whichever purpose you like, freedom 0. Fundamentally the Apple store restricts this, which means Tox will be proprietary software which Apple controls through its license agreement. What if one day Apple decides their users can't use it without giving up keys? In addition, this is specifically to Apple iOS. What about future stores that impose restrictions? Will we have to do another one of these? This isn't about running Tox on a non-free platform. It's about choosing between letting users miss out on freedom just to gain some overall popularity in the short term.
Forfeiting user freedoms of a program specifically intended to protect user freedom is not how you should be doing this. You should be working with users to know the issues, and encouraging jail breaking in order to have their freedoms through an alternative application store.
Reply to this email directly or view it on GitHub [2].
Links:
[1] https://github.com/urras [2] https://github.com/irungentoo/toxcore/issues/1064#issuecomment-56962963
@Jookia @im-grey The masses don't know how to Jailbreak their phones, and the masses are our target audience. I really, really wish that we didn't have to go through this, but we want people to be able to use Tox on any platform.
@Jookia I don't think the MPL is considered a proprietary software license. Or do you mean the exception itself? IANAL, but that doesn't seem to be the case either.
I would like to see the exception limit the license that the app may be distributed under via the appstore. Something like "provided it is distributed under the MPL".
Don't think forcing jailbreaking down iPhone users' throats would work either, no matter how much we prefer a jailbroken iPhone over an "Apple approved, walled garden" iPhone.
@Jookia It's one thing to give people their freedom (I'm all for that) but Tox is supposed to be a replacement for Skype, and should be as easy to install on iOS as any other device.
Not to mention, jailbreaking is limited to iOS 7 and below, with no jailbreak for newer devices. We would be limiting our target audience greatly.
EDIT: Perhaps it's a good idea to make Tox iOS clients available through jailbreaking in our early alpha and beta releases, however the final/finished versions should be on the proper appstore.
https://www.fsf.org/blogs/licensing/more-about-the-app-store-gpl-enforcement
All software distributed through the application store imposes apple's restrictions, which violate freedom 0. Tox has to be distributed under apple's terms when done through the application store, thus losing freedom 0. The end-user gets a proprietary application, subject to Apple's terms. Sure they could download a GPLv3 copy, but without jail breaking they'd only have the proprietary copy. This isn't about distributing the source, it's about the ability for people to use Tox for whichever purpose they want. Tox would be at mercy of Apple's terms.
I mean, look:
(i) You shall be authorized to use iTunes Products only for personal, noncommercial use.
(ii) You shall be authorized to use iTunes Products on five iTunes-authorized devices at any time, except for Content Rentals (see below).
(iii) You shall be able to store iTunes Products from up to five different Accounts at a time on compatible devices, provided that each iPhone may sync tone iTunes Products with only a single iTunes-authorized device at a time, and syncing an iPhone with a different iTunes-authorized device will cause tone iTunes Products stored on that iPhone to be erased.
(iv) You shall be authorized to burn an audio playlist up to seven times.
(v) You shall not be entitled to burn video iTunes Products or tone iTunes Products.
(vi) iTunes Plus Products do not contain security technology that limits your usage of such products, and Usage Rules (ii) – (v) do not apply to iTunes Plus Products. You may copy, store, and burn iTunes Plus Products as reasonably necessary for personal, noncommercial use.
According to GNU
[The MPL] is a free software license.
The MPL is also compatible with, or at the very least allowed, on the iOS appstore.
Yes, the MPL is a free software license. So is the GPL. The problem is that distributing through the store means you combine with Apple's license to make a non-free license due to restrictions being imposed.
I understand that the appstore EULA imposes further restrictions, but I'm not quite sure I understand what you mean. Do you have a link to an article that explains it for people who are not lawyers? In any case, if you put it that way, it sounds like the appstore EULA is incompatible with any free license.
Yes, I think that's the case. Which is why you need the ability to license the Tox code to a non-free (proprietary) license, which is what the exception would be for. The link I posted above goes in to discussion about how the GPL has a specific problem with the store as it's resistant to having additional restrictions put on it.
@Jookia That's my point, the article is specifically about the GPL. The MPL so far is compatible with the appstore. It is also a free license, and not a proprietary license.
VLC, for example, uses the MPL for the appstore, and as mentioned before, they licensed libvlc under the LGPL
The reason the MPL is compatible with the store, is that you can take the code and re-license it under non-free terms. Which is what the app store does.
See, that doesn't seem to be true, as the MPL is (partially) copyleft: https://www.mozilla.org/MPL/2.0/FAQ.html#distribute-other-peoples-binaries
"Compatible with the app store" in this case means "Apple is allowed to add incredibly restricted terms of use to the software, despite whatever freedoms may have been granted by the original license".
So any software in the app store is effectively proprietary, even if its upstream license is libre. That's why the MPL is compatible and the GPL is not: MPL allows sub-licensees to remove freedoms, why the GPL was expressly and specifically created to grant any and all users all of the original freedoms granted.
Hmm, actually upon reading the points here and then reading the terms of the MPL, it appears to me that the MPL is also incompatible with the app store (and thus the current VLC app is illegal):
If You distribute Covered Software in Executable Form then: You may distribute such Executable Form under the terms of this License, or sublicense it under different terms, provided that the license for the Executable Form does not attempt to limit or alter the recipients’ rights in the Source Code Form under this License.
All distribution of Covered Software in Source Code Form, including any Modifications that You create or to which You contribute, must be under the terms of this License. You must inform recipients that the Source Code Form of the Covered Software is governed by the terms of this License, and how they can obtain a copy of this License. You may not attempt to alter or restrict the recipients’ rights in the Source Code Form.
Hmm, on the other hand, the rights granted are:
to use, reproduce, make available, modify, display, perform, distribute, and otherwise exploit its Contributions, either on an unmodified basis, with Modifications, or as part of a Larger Work
So maybe the app store doesn't violate the MPL... unless "reproducing" is a right violated by point (ii) of the app store terms...?
What if Antidote just uses the MIT license? Is anyone against that?
While I get the complaints against freedom, I don't think that keeping Tox off iOS because the platform mistreats users makes sense. If we don't give iOS users Tox, we'll force them to use alternatives which are completely proprietary, even upstream, and way worse for "user freedom and privacy". Looking at it like that, gaming the Apple App Store is the lesser of two evils.
I'm personally okay with Antidote being MIT-licensed, even though it's not my vote to make.
What makes Tox so "proprietary" if it gets on the App Store? There's still source code on Github, and you only give binaries to Apple so they can't really change anything. The most they can do is reject your app if it breaks some guidelines.
If you're really scared about the big "proprietary" thing with the app store, just compare the damn binaries once its up there. Aside from code signing differences and other small stuff, the app will be the exact same. I don't see why you're so scared about "freedom" when nothing happens.
Oh, MPL is partly copyleft? I must've been thinking of another license them. MPL might not be compatible. The MIT license doesn't really help for just Antidote. The bottom line is to get Tox in to the app store, you'll have to have the core and client distributed under a proprietary license, whether using an exception to allow GPLed code to be turned proprietary or moving to a permissive license.
Keeping Tox off iOS is not anybody's goal here, nor is judgment about how its users are treated or a rush for glory. This question is whether or not we're willing to make Tox proprietary and restricted by Apple's terms rather than free software in certain cases in order to gain market share. What use is a client that can't freely be used? Right now it couldn't be used on more than five devices or for commercial purposes.
On my little soapbox, I don't think it's worth it. The goal I'd like to see met is to have a way of having people easily install a free version of Tox on their iPhone. This is a wider problem than just being Tox-specific, this applies to all free software on iOS battling a walled garden. This is a bigger problem than just Tox, and it's almost another project entirely. I'd promote jail breaking devices with easy tutorials and a way to easily install Tox, which would work across more than just iOS. Tox could use it's power to explain this and advocate liberation as more people demand a port.
@Jman012 No need to put it in quotes, software is proprietary if it doesn't have all four freedoms. This isn't just about source code or security, it's about political and legal use of software. No amount of security can stop Apple from taking away your ability to use Tox because they feel like it.
I authorize @irungentoo and/or @dvor to cast a vote in my name on this issue.
9192: that's why i only outlined my idea. I wrote it rather ocmplete so nothing gets lost, but in a way it needs to be reformaulated, so that noone simply takes it and uses it, but consults a lawyer. thing is though, that before consulting a lawyer you need to know what is it what you want. the lawyer then can formulate it, but he needs to know the exact intentions you have.
re MIT: permissive licenses grant everyone the right to turn it into closed source, and no GPL submission can be requested. So it would make tox even more unfree than the above discussed dual licensing approach.
And while I agree that it's not nice of Apple to restrict users' freedom, not to have tox available at all restrict freedom even more. So for iOS users the choice is between limited freedom and no freedom at all. Allowing limited use of tox on iOS is better than no use at all, this is more freedom!
(Jailbreaking is not an option for many users I know. Most of them have not even once opened a terminal)
I offer two versions, one "lite", under Apple rules, and one "full", required jailbreak. As like it happens in Android with "rooting".
@9192 As @Proplex said before, we're taking this issue very seriously. Stop using sockpuppeting accounts please. You're bringing up some really valid points, but the fact that you've created multiple accounts to comment on this issue raises concern about your credibility. Regardless, thank you for contributing to the conversation. @Enelar Interesting idea, but that's not what we really want to do. A full version on the App store is much more desirable.
@9192 I'm not taking peoples freedoms lightly at all. You've already created @9415 and @nfkd. The exception in its current state probably isn't perfect, which is why I'm asking for peoples input. As far as lawyers go, I'm not sure what we're going to do. Lawyers are pretty expensive, but the price of protecting peoples freedoms is priceless.
@9192 I basically said that I vote the same way as @irungentoo and @dvor do, unless they do it differently.
Well, granting permission on a project by project basis might be a better solution. That way, you could make a license file that makes the entire greater work GPL, and then have an editable notice referenced in the license file but not actually part of it, something along the lines of 'Approved Projects for Copyleft Exemption' agreed to by the Tox Foundation. A very limited license could be granted for specific use with those approved projects, and it could also include a 'kill clause' that can nullify all of these exemptions e.g. in case something happens to the Tox Foundation.
Okay, so according to Marc Jones from the Software Freedom Law Center, a GPL exception is not possible because Apple imposes additional restrictions through the Terms of Service that are incompatible with the GPL. So, we might have to re-license Toxcore under a more permissive license (MIT, MPL, etc.). This would also allow us to push apps to the Windows phone store, Mac store, etc. I want to hear what you guys think about this, and if we need to change licenses, what license we might chose.
@rodneyrod Are you absolutely sure that would work? I think people would prefer that over having to use a permissive license.
That kinda boils down to my suggestion before. Stop trying to reinvent the wheel and just do what VLC did. They licensed their core LGPL and then dual-licensed the app (MPL and GPL). I don't know to what extent that is a tried and tested model, but it does still seem to work for VLC.
Note that I'm not a stakeholder, by the way. Just trying to help find a viable solution.
So, how many people would be against the idea of re-licensing Toxcore under the LGPL, and why would you be against it?
I would; I prefer that all clients are necessarily libre software. LGPL allows proprietary clients.
I would be more in favor of, but still against, an exception of some sort.
You mean all clients based on libtoxcore
? As nothing prevents anyone from creating a proprietary implementation of the Tox protocol.
You mean all clients based on libtoxcore?
Yes.
As nothing prevents anyone from creating a proprietary implementation of the Tox protocol.
True.
I agree with the sentiment, as I prefer the GPL to the LGPL as well. I just doubt that the alternative (a self-written exception) is viable.
How about a middle-ground? Can't an LGPL license to toxcore just be granted to selected projects? It sure sounds simple enough.
Regardless of what you do or license, any implementation of Tox in the Apple store regardless of license is going to have freedom 0 removed, thus making the versions users get proprietary. It's not possible to distribute free software through the Apple store. This is what the GPL is upset about.
From the discussion here it doesn't look like people care that Tox is free software, only that the source code is available. That's fine, but the bigger issue is that Tox would be misrepresenting itself as a free software project if it's released as proprietary software to a demographic of people. This is regardless of whatever licensing arrangement you can come up with to make it happen.
I think exceptions are hypocritical and give more powers to some than others, which is very against the free software way. It also prevents forks appearing on the system if you can't build a proprietary version. So re-licensing to a license that reflects all this such as the LGPL is fair to everyone and treats everyone equally. Freedom for some developers to license the code to what others can't isn't fair.
I don't think Tox should be re licensed. I think a separate proprietary implementation would be fine, and help the community more in creating a standard system.
Are you suggesting a complete re-implementation of Tox under an LGPL license, just to get a Tox client on the appstore? Or do you wanna wait until someone creates an app that is completely proprietary and does not make its source available at all? If the latter, would you use such a client?
Are you suggesting a complete re-implementation of Tox under an LGPL license, just to get a Tox client on the appstore?
I'm suggesting we don't put Tox on the Apple store, lest it be proprietary.
Or do you wanna wait until someone creates an app that is completely proprietary and does not make its source available at all?
This isn't about the source being available, it's about it being non-free. This is what I'm talking about. Free software is for users, open source is for developers.
If the latter, would you use such a client?
Sure. If a client's being honest and saying it's proprietary software, I'd use it. I mean in this scenario I own an iPhone that isn't rooted so obviously I'm fine with it. But if it presented itself as free software while it wasn't, I'd stray from it.
This isn't about the source being available, it's about it being non-free. This is what I'm talking about.
Well, a major part of software freedom is about the source being available to the user, so I'm not quite sure what you're trying to say with this. And how many users will actually take the app and send the files to friends, as opposed to just sending the link to the appstore?
Free software is for users, open source is for developers.
That is just not true.
Sure. If a client's being honest and saying it's proprietary software, I'd use it.
Now you lost me. While you're such a strong advocate of free software, you still have no problem using proprietary software at all.
Well, a major part of software freedom is about the source being available to the user, so I'm not quite sure what you're trying to say with this.
You made it as if showing the source was the problem. It's not. Being able to use Tox for whatever purpose you want (including commercial purposes) is the problem, and the Apple store forbids that.
And how many users will actually take the app and send the files to friends, as opposed to just sending the link to the appstore?
Again, this isn't the issue. The issue is of use.
That is just not true.
I don't really think users care about the source code benefits rather than the ability to freely copy, share and use their software. But that might just be an anecdote. My point is that there's two different perspectives here and I'm arguing for the freedom, not the source code.
Now you lost me. While you're such a strong advocate of free software, you still have no problem using proprietary software at all.
I'm not a free software advocate. Here's roughly what I'm arguing in point form:
I'd like to throw in one point here.
Everyone may have their own views about "free" or "proprieatary", this is a somewhat religious matter, I for instance would not use proprietary software either. While these concerns may be valid, let's skip this part for now and look at the actual purpose of the Tox project.
It aims to provide a secure and trustworthy implementation that should be available to everyone. I think this is the central goal.
Now, forcing clients to release their code, no matter under which license would be a very strong point towards trustworthiness.
Especially these days you simply can not trust closed source code, period. And I am not saying that from a "because corporations are evil" perspective, even if some of them are, but rather from the fact that these days they may be forced to put in backdoors and all sorts of crap and they won't be even allowed to inform the public about that.
So, I think forcing clients to provide the sources is the way to go in terms of trustworthiness and security. This would ensure that the code can be reviewed by the community, hiding evil things there would not be easy.
I'm not saying that the freedom topic does not matter, but I think one has to look at those points separately and decide which one is more important for the project.
I think I'm missing some crucial part of your argument, Jookia. A user obtaining an app through the App Store has already agreed to give up their freedom in exchange for access to the software within. As I understand, that exchange applies only to software obtained through the App Store. If that's the case, then all of the user's freedoms can be preserved* if we require that the app is also made available under the terms of the GPL through an alternative distribution channel. Apple may dictate how you use the bits downloaded from their server, but as long as those bits are available elsewhere under the terms of the GPL then it seems to me that the software itself remains free (its essentially just dual-licensed).
*From what I understand, this isn't true strictly speaking since the binary distributed through the App Store will not be bit-for-bit identical to one distributed through other channels (so that particular binary still violates your freedoms). It seems like a minor quibble to me, but I don't want to neglect its existence.
In that situation, you'd have a GPL version of the software (free) and a proprietary version (through the Apple store with its license.) The problem is that users with Apple phones or whatever can't use the GPL version, only the Apple store version. They only have access to the proprietary version.
This isn't about the software itself remaining free, it's about distributing a proprietary version of it.
I'm sorry, I'm going to be a bit blunt.
Please use your completely proprietary, backdoored implementation of Tox for iOS. But the rest of us want one that guarantees some form of freedom, even if some of those freedoms are removed by evil Apple.
If that's what the Tox project wants to happen, that's fine by me. It's ultimately up to developers if they release proprietary versions of Tox, but it'd be saddening and a blow to free software considering Tox has been pushing itself as free software.
I don't see anyone suggesting to create a proprietary Tox client. An MPL licensed app is decidedly free software. Apple merely removes some freedoms when redistributing the app, which no app developer is directly responsible for.
I don't see anyone suggesting to create a proprietary Tox client. An MPL licensed app is decidedly free software.
Not if it's put on the Apple store.
Apple merely removes some freedoms when redistributing the app, which no app developer is directly responsible for.
No, but users in the end get proprietary software which Tox would promote as free software.
In order to publish Antidote in the Apple app store and Test Flight, Toxcore needs to make a GPL exception. However, we need permission to add an exception from the following people who have contributed to Toxcore:
The exception can be viewed here If you hereby agree to these changes, say so in this thread.