irungentoo / toxcore

The future of online communications.
https://tox.chat/
GNU General Public License v3.0
8.74k stars 1.27k forks source link

Relicencing the core to LGPLv3 instead of GPLv3. #58

Closed irungentoo closed 10 years ago

irungentoo commented 11 years ago

Does everyone agree?

ghost commented 11 years ago

I would HEAVILY HEAVILY HEAVILY advise against allowing your code to be relicensed. As said before, if you want to put Tox-compatible code on a device that doesn't allow you to license your code properly, then write new code.

ghost commented 11 years ago

Your input might be more helpful if you elaborated as to why you believe changing the license is a bad idea. I hope it's not merely because you ideologically committed to Stalllman's narrow perception of what qualifies as free software.

I believe (or at least hope) that everyone in this project has the software's best interests at heart and wishes to see it thrive. I don't realistically see how changing the license to something like BSD or Mozilla hinders it.

Regardless of the decision reached; I believe it's time to quit lolly gagging and make one. Why doesn't every individual who has contributed code cast a vote and settle this once and for all?

On Sunday, August 11, 2013 at 9:19, Miles Rout wrote:

I would HEAVILY HEAVILY HEAVILY advise against allowing your code to be relicensed. As said before, if you want to put Tox-compatible code on a device that doesn't allow you to license your code properly, then write new code.

— Reply to this email directly or view it on GitHub (https://github.com/irungentoo/ProjectTox-Core/issues/58#issuecomment-22458370).

ghost commented 11 years ago

@TheAustinHowell Well firstly, to me it sounds like you're "ideologically committed" to the whiny anti-Stallman lobby because you think that makes you cool and hip or something.

Licensing has absolutely nothing to do with pragmatism. The GPL exists because it's morally a good thing. It protects the freedom of users to modify their software and distribute those changes. It stops others from taking the software and releasing it without the source code, which is immoral because it allows those others to profit off the software without releasing the changes back to the community, and leads to fragmentation. If it's licensed GPL, it's much more difficult for the protocol to horrible fragment amongst a bunch of incompatible clients.

And again, there's ABSOLUTELY no reason to change the license. The license has no effect on it thriving. It's a reference implementation. Think of it as CPython. Someone else can write the Jythons, IronPythons, etc., if they want to use it on a different platform (for code or license reasons), or they think they have a better implementation strategy, or they think it'd be fun, or they can't integrate GPL'd code into a larger product - someone might want to integrate a Tox client into big messaging client without making the whole thing GPL'd, for example.

ghost commented 11 years ago

@TheAustinHowell Regardless of the decision reached; I believe it's time to quit lolly gagging and make one. Why doesn't every individual who has contributed code cast a vote and settle this once and for all?

I'm pretty sure @ollieh didn't want to relicense.

And you can't just unilaterally cut off the discussion with a "fuck it, we should just vote", just because people disagree with you.

ChlorideCull commented 11 years ago

@mrout Calm down. I would like to point out some things.

If it's licensed GPL, it's much more difficult for the protocol to horrible fragment amongst a bunch of incompatible clients.

No, because just as you said, they could implement their own versions of it. The most used implementation will be the one which specifies the protocol. Just see HTML. This is why we need a good, permissive license.

The GPL exists because it's morally a good thing.

I don't know about you, but I don't feel like keeping your source code or your modifications private are immoral. The GPL was born (according to me) because he is the biggest tinfoil hat I've ever seen. What we feel about the GPL and the GNU project is personal though, and should be left outside this discussion.


@TheAustinHowell is completely correct about voting now. This issue has been open for almost a month, it's time.

I will happily accept changing license to any version of LGPL.

hellekin commented 11 years ago

@ChlorideCull said "What we feel about the GPL and the GNU project is personal though, and should be left outside this discussion." Which is probably why @ChlorideCull said just before: "The GPL was born (according to me) because he is the biggest tinfoil hat I've ever seen."

Sorry, could not resist.

rodneyrod commented 11 years ago

@mrout You seem to believe that any license other than the GNU family of licenses can be easily closed off and integrated into a proprietary program when that is absolutely not the case. The Mozilla Public License v2.0 is an example of such a license. It has the same conditions as the LGPL (linking to the work is fine no matter the license, any changes to the work's code needs to be placed under the MPL and distributed as such if distributed, all binary and source distributions of the work must be accompanied with the source code or a location where it may be obtained).

The reason why a program licensed in such a way would be permitted onto the App Store is because the MPL doesn't have such a stringent 'Further Restrictions' clause or Tivoisation clause. Other than that, both licenses are pretty much identical with the added bonus that MPLv2 licensed code can be included in GPL2+ and LGPL2.1+ projects.

So as you can see, the project would not be transferring to a permissive license, but rather a more permissive (or less restrictive, you can pick) copyleft which offers all the same freedoms that the LGPL would provide.

ghost commented 11 years ago

@

On Sunday, August 11, 2013 at 18:44, Miles Rout wrote:

@TheAustinHowell (https://github.com/TheAustinHowell) Regardless of the decision reached; I believe it's time to quit lolly gagging and make one. Why doesn't every individual who has contributed code cast a vote and settle this once and for all? I'm pretty sure @ollieh (https://github.com/ollieh) didn't want to relicense.
And you can't just unilaterally cut off the discussion with a "fuck it, we should just vote", just because people disagree with you.

— Reply to this email directly or view it on GitHub (https://github.com/irungentoo/ProjectTox-Core/issues/58#issuecomment-22467898).

ghost commented 11 years ago

The LGPL isn't the GPL. Sorry, but the GPL protects the freedom of the user. The "tivoisation" clause is there because it protects the freedom of the user.

@ChlorideCull

I don't know about you, but I don't feel like keeping your source code or your modifications private are immoral.

Nothing about that is immoral. Distributing those changes while keeping them private is, because you're stopping others from modifying the code.

Calm down.
he is the biggest tinfoil hat I've ever seen.
What we feel about the GPL and the GNU project is personal though, and should be left outside this discussion.

So in other words, everyone else should calm down and keep their personal feeling to themselves, except you? Grow up.

ghost commented 11 years ago

@ChlorideCull Using a permissive license doesn't enforce a standard. A good, well-designed and easy to understand and implement RFC encourages people to adhere to a standard.

DavidVorick commented 11 years ago

I'm in support of moving away from the GPL. I don't think that we are actually protecting users by forcing proprietary companies away from our software. At my place of work, I have been restricted from using many tools that I like because the licences were not compatible with our proprietary work environment. This hurts me, even though I am not in control of the license of the code I write.

Do you really believe that availability will affect the market share of iOS? And even if it does, was it worthwhile? If open source licenses and software really are superior, they will triumph anyway. You are not helping by forcing your ideals onto your users. Why do we care if a proprietary company takes tox and throws on some closed-source stuff and the profits? Trademark restrictions protect the Tox name.

I would rather switch to Apache2. I would rather the code be available to whoever wants it for whatever purpose. The whole point of open source is that software is most valuable when it's available to everybody. GPL limits the scope of the software.

GPL to me is almost immature. The idea is that you are protecting the user, but in doing so you are disregarding the desires and intentions of every individual hoping to release proprietary software. The GPL is an attempt to coerce companies into using open source. I do not see the GPL in any other light than coercion.

I am not a fan of coercion. It does not make friends. It may get you what you want, but the people you coerced are not made friendly toward your community. They haven't switched because they 'saw the light', they switched because they felt forced to. We use open source in the first place because we didn't like being forced into whatever proprietary box they gave us. Why are we now forcing our own ideology back upon them?

Especially because the GPL hurts the immediate interests of Tox. Under the GPL, less people will be legally allowed to use Tox, and they will be barred from using the code in more ways. This means fewer eyeballs on the code, and fewer people seeing the ultimate goal of the code.

I think open source has enough virtues to succeed without coercive licenses like the GPL. And if your ideology needs coercive techniques to become popular and successful, then perhaps it is not the best ideology after all.

That's why I'm strongly pushing for the Apache2, or some similarly maximally-open license. Please don't force your own ideas upon others. If your ideas are superior, show them the light and make them want it.

aviau commented 11 years ago

Is a switch even possible anymore? We would have to convince everyone.

I really would like to see this project go the Appache path but lgpl is still better than gpl I guess...

Going for GPL by default might have been a mistake , switching is hard.

ghost commented 11 years ago

@DavidVorick

I'm in support of moving away from the GPL. I don't think that we are actually protecting users by forcing proprietary companies away from our software. At my place of work, I have been restricted from using many tools that I like because the licences were not compatible with our proprietary work environment. This hurts me, even though I am not in control of the license of the code I write.

That's your work's decision. If they choose not to use free software, even when what they produce isn't a derivative product, then they're obviously ignorant of licensing. That's not the open source developer's problem. Educate your workmates, educate your bosses. Make sure they know that they can use free tools without compromising the licensing of their software. Try to encourage them to release what they write as free software if you can, but if they don't want to do that, at least make sure they know they can use free software without things that are produced with it being made free.

Do you really believe that availability will affect the market share of iOS? And even if it does, was it worthwhile? If open source licenses and software really are superior, they will triumph anyway.

Congratulations for the most naive comment of the day. Nobody really thinks that availability of Tox will affect the market share of iOS, nor does that have anything to do with the licensing of Tox. As I've said numerous times, if people want to write non-free implementations of the Tox protocol, then I welcome them to do so. Messaging protocols are best when there are a variety of clients to choose from, with different feature sets, made by different people. If one group of people stop working on their client, you can swap to a new one. That's what I call a healthy protocol.

You are not helping by forcing your ideals onto your users.

Nobody is forcing you to only use Tox protocol clients that are GPL'd. They're forcing you to release changes to the reference implementation of the Tox protocol under a GPL-compatible license.

Why do we care if a proprietary company takes tox and throws on some closed-source stuff and the profits? Trademark restrictions protect the Tox name.

Nobody cares if a company produces a commercial Tox client, just like nobody cares if a company produces a commercial IRC client. But THIS PARTICULAR IMPLEMENTATION is GPL.

The trademark is protected so that only fully compliant Tox-compatible clients can advertise themselves as such.

I would rather switch to Apache2. I would rather the code be available to whoever wants it for whatever purpose. The whole point of open source is that software is most valuable when it's available to everybody. GPL limits the scope of the software.

That's nice. You're free to release an Apache2 Tox-compatible client. Go ahead. Go and do it. Nobody minds, nobody cares. If it's fully compatible with the Tox standard, you can even advertise it as such.

You're acting like it's a requirement to use this particular implementation of Tox. IT ISN'T.

GPL to me is almost immature.

That sort of comment is pretty immature, IMO.

The idea is that you are protecting the user, but in doing so you are disregarding the desires and intentions of every individual hoping to release proprietary software. The GPL is an attempt to coerce companies into using open source. I do not see the GPL in any other light than coercion.

I'd advise you to learn what 'coercion' actually means - nobody is forcing you to do anything. They're merely requiring that if you want to use a particular piece of code, then you must distribute those changes so everyone in the community can benefit from your improvements.

I am not a fan of coercion. It does not make friends. It may get you what you want, but the people you coerced are not made friendly toward your community. They haven't switched because they 'saw the light', they switched because they felt forced to. We use open source in the first place because we didn't like being forced into whatever proprietary box they gave us. Why are we now forcing our own ideology back upon them?

What the hell are you talking about? Nobody is forcing you to do anything. If you don't want to release your code as free software, then don't use GPL-licensed code. Write your own. That's a good thing. The more compatible clients, the better. The more compatible clients, the better. I don't know how to get it across to you better. The more compatible clients, the better.

Especially because the GPL hurts the immediate interests of Tox. Under the GPL, less people will be legally allowed to use Tox, and they will be barred from using the code in more ways. This means fewer eyeballs on the code, and fewer people seeing the ultimate goal of the code.

And now you're just stating falsehoods. _THAT IS ABSOLUTELY AND UNEQUIVOCALLY INCORRECT._

Tox is a PROTOCOL. If someone wants to use Tox on ANY platform, they need merely to write a client. It's not a complex protocol. A reference implementation should be GPL'd. Feel free to license any other code you write however you like, but a REFERENCE implementation should be GPL'd.

I think open source has enough virtues to succeed without coercive licenses like the GPL. And if your ideology needs coercive techniques to become popular and successful, then perhaps it is not the best ideology after all.

What an absolutely ridiculous thing to say.

I think social welfare has enough virtues to succeed without coercive methods of raising money like taxation. And if you ideology needs coercive techniques to become popular and successful, then perhaps it is not the best ideology after all.

See how ridiculous that is?

That's why I'm strongly pushing for the Apache2, or some similarly maximally-open license. Please don't force your own ideas upon others. If your ideas are superior, show them the light and make them want it.

You're strongly pushing for Apache2 because you have a fundamental misunderstanding of what Tox is. You seem to think it's a client - it's a protocol. You seem to think that using Tox and using this code are the same thing - this is a reference implementation of a protocol that can be freely implemented by anyone. In fact, it is encouraged to do so.

So please, if you're not happy with the license, or the development direction, or anything else, then WRITE. YOUR. OWN. CLIENT.

ghost commented 11 years ago

Also please note there are something like 74 contributors to the project.

Zanthas commented 11 years ago

@mrout You're right. It might be too late for a change, if any.

rodneyrod commented 11 years ago

@mrout

The LGPL isn't the GPL. Sorry, but the GPL protects the freedom of the user. The "tivoisation" clause is there because it protects the freedom of the user.

Granted, however since this discussion was raised it has become apparent that the LGPLv3 doesn't cover the primary reason why the license change was put forward, market proliferation. The MPL covers these changes adequately and with no loss of freedom for the receivers of the source and binary files.

And in regard to the Tivoisation clause, you have to look at where it would be applicable and how it effects the program you're licensing. It makes sense to license a kernel in this way, but all software platforms that Tox could target allow the user to install their own userspace applications, so this clause doesn't really effect Tox except by limiting market proliferation.

ghost commented 11 years ago

Hi, I have not read the whole discussion, but I think (L)GPL-2/3 is now a bad solution. Please read this:

http://www.openwall.com/lists/musl/2013/04/27/2 http://www.openwall.com/lists/musl/2013/04/29/13

And now a question for you: can you build a tox against nacl (Public domain) or libsodium (ISC license)? I think you already guessed that you can't!!! Do you have a permit for it??? You already know why nacl is public domain - Bernstein hates license issue. So does your current license provides FOSS exceptions??? If not, it ensures that no one will use it for serious applications.

We currently use the MIT license for musl-libc stuff (LGPL previously).

Best regards, Daniel

rodneyrod commented 11 years ago

@Zanthas If the VLC team could pull it off with a far larger pool of contributors, then Tox shouldn't have a problem.

optimumtact commented 11 years ago

I suggest we use the GAPAL license

ghost commented 11 years ago

@silentbits ISC is equivalent to simplified BSD. I can't think of any reason why you couldn't build GPL'd code against public domain or ISC'd code.

By the way, in English we just use one '!' or '?' at a time.

The current license in GPLv3, because it's the freest license that exists. End of story.

@rodneyrod didn't they have to remove a whole lot of code?

ghost commented 11 years ago

@mrout: ISC is equivalent to simplified BSD. I can't think of any reason why you couldn't build GPL'd code against public domain or ISC'd code.

Because the GPL will not allow it. If you want to mix GPL and BSD/ISC means that the other (BSD/ISC) also need to be licensed under the GPL - and here's the problem, because you do not have the copyright to the rest of the code. Libraries such as OpenSSL give you FOSS exceptions (Licensing section):

http://en.wikipedia.org/wiki/OpenSSL

btw. mrout - please read this:

http://www.openwall.com/lists/musl/2013/04/27/2 http://www.openwall.com/lists/musl/2013/04/29/13

rodneyrod commented 11 years ago

@mrout They had to remove some non-critical components (not sure which ones) from libVLC for the iOS release, however it didn't detrimentally effect the project either way, in fact their marketshare has increased due to the whole process.

ghost commented 11 years ago

It's a bit old text (2004): https://people.gnome.org/~markmc/openssl-and-the-gpl.html

Tox in the future will support audio/video - which will probably be referred to the codecs that are usually not under the GPL. So how do you want to solve this problem?

ghost commented 11 years ago

@silentbits I don't think you understand. The simplified BSD license doesn't stop you from redistributing under another license. That's why people use it. The issue is not using BSD-licensed libraries in a program licensed as GPL, the issue is using GPL-licensed libraries in a program licensed otherwise.

ghost commented 11 years ago

@mrout so tell me: suppose I want to write a tox client, with support for audio/video (Skype alternative) based on VP8 codec etc. (BSD). Whole statically linked (http://www.musl-libc.org/intro.html). If tox is GPL only and doesn't accept FOSS exceptions, can I legally use tox for such a project?

DavidVorick commented 11 years ago

I would love to write my own client and release it under apache2. Except that, any client I go off and write on my own is going to take a lot of time and effort that I don't have, and there's little reason to build an equivalent client when a perfectly good client is already under development. By writing in all caps and essentially telling me to fuck off and write my own client, you are alienating a potentially useful developer. And by doing this it's possible that you are alienating many more people than just me. You are hurting your client. Tox will only be able to succeed if it has a client that can compete with Skype. I want to see that client happen, and I want to see that client have the largest potential market share. The GPL license automatically alienates people.

The entire purpose of the GPL license is to 'encourage' people to use open source by forbidding code released under GPL from being sold as proprietary software. The end goal is to have the people who are using proprietary software switch to an open source model. And the goal is achieved by punishing them for releasing proprietary software. The punishment is that they can't include any GPL code in their proprietary program. The GPL is achieving a goal through punishment. I don't care what you call it (if the word coercion offends your sensibilities), it's an unfriendly method of getting people to release software under licenses that follow your personal ideals.

Even in this comment stream you are seeing people who want to do things with the code in this project yet they aren't sure that their project is compliant with the GPLv3 license. The GPL is a hassle for everybody, because not everybody is a lawyer and not everybody perfectly understands the full implications of the viral clause in the GPL.

I propose Apache2 but I'm almost equally happy with BSD/MIT. LGPL is better than GPL but I think it's best for the project to avoid GPL altogether.

If you want tox to succeed, you want as many people using it as possible, because tox is a tool for social interaction and depends on the network effect. If you want tox to suceed, it's going to need clients that are easy to set up and use. Part of being easy to set up and use is knowing that you aren't violating the client license. If you want your client to contribute to tox, it's going to be more helpful as a fully open non-viral license. The GPL is not a death sentence, but it does make life more difficult for many people. That's why I support a switch to a non-viral license.

ghost commented 11 years ago

Whether it is possible at all to use libsodium (ISC) ​​together with tox (GPL)? Libsodium doesn't provide GPL exceptions - see e.g. openssl's case. So with GPL instead of software freedom we have concerns. This is not freedom, it is (license) slavery.

@DavidVorick - LGPL doesn't allow you to static linking, which is often used in embedded/small systems.

aviau commented 11 years ago

@silentbits Using ISC with GPL is no problem according to the FSF (http://www.gnu.org/licenses/license-list.html#ISC). This means we can use libsodium safely.

ghost commented 11 years ago

@ReAzem, @mrout - You're right about the possibility of using the ISC with the GPL. I was wrong regarding the possibility of the use tox and libsodium (can be used any FOSS license - GPL etc.). The problem is, if someone wants to write their own client:

"When combining a GPL-ed program and BSD-ed (GPL-compatible) into a larger program, the larger program will have to be GPL-ed to meet both the requirement of the GPL-ed program and BSD-ed program."

http://en.wikibooks.org/wiki/FOSS_Licensing/Scenarios

btw. What do you think about the possibility of using FOSS exceptions, e.g.:

https://polarssl.org/foss-license-exception

rodneyrod commented 11 years ago

I also recommend that since the developer pool is growing and this issue isn't involving much discussion from the actual developers for a few weeks, and that the developer pool is growing, that this issue be given one more week and then either be resolved by the transition to a new license, or closed and the current license kept.

Time is of the essence in this situation.

ghost commented 11 years ago

@silentbits uninformed hyperbole like "This is not freedom, it is (license) slavery." is not appreciated.

rodneyrod commented 11 years ago

So has there been any development with this? If there hasn't, then this issue should be closed as none of the team seems to care enough to fix this.

ghost commented 10 years ago

We have: #730 now. Close this?

ReDetection commented 10 years ago

Could you please place a page in the wiki with summary of this discussion? Let's save time of many other people, please

stal888 commented 10 years ago

Executive summary: we didn't do shit.

ReDetection commented 10 years ago

Can you please briefly explain why and place it into wiki? As I understood, you want to keep this first implementation GPLed to force sharing improvements, aren't you? Also, how do you plan to go into apple appstore?

On 26 Jul 2014, at 05:53, stal notifications@github.com wrote:

Executive summary: we didn't do shit.

— Reply to this email directly or view it on GitHub.

hellekin commented 10 years ago

The Apple Store is not compatible with this software's license. Therefore, there's no plan to go there.

@ReDetection this ticket is closed. If you want to take the time to read everything and make a summary, you're welcome. But please don't derail developers from their tasks. As far as I can see, you're having your own issue with Apache License compatibility. Your personal preference in licensing terms should not allow you to derail developers from their work. Do your homework and read the thread. If you're an executive, though luck: the developers are not your secretaries.

ameenross commented 10 years ago

The Apple Store is not compatible with this software's license.

IANAL, but that seems to be exactly what the VLC iOS app does, as mentioned in #1064. Maybe this should be reconsidered?