Giter VIP home page Giter VIP logo

Comments (10)

mattgperry avatar mattgperry commented on May 19, 2024

Hi @madjam002

My intention is that if you're using Popmotion as part of a library that you're not selling commercially, then you can use it unhindered, for free.

I understand the problems this raises if someone were to use your library in a commercial project. I'm just trying to figure out a funding model that will allow sustainable development and support of Popmotion, which it currently doesn't have. So this licence isn't meant to restrict use to non-commercial projects, its meant to enable use by everyone.

I hadn't properly considered this specific use-case, as I say my intention isn't to stop other free frameworks from using Popmotion. I'll look into rewording the licence, as long as Popmotion is used in good faith then I want people to share their frameworks as freely as they would under an MIT licence.

from popmotion.

madjam002 avatar madjam002 commented on May 19, 2024

Okay, to be honest I don't feel comfortable using a library which doesn't have an open source license, and I was only using the easing side of things anyway so I'll just look into rolling my own.

from popmotion.

mattgperry avatar mattgperry commented on May 19, 2024

No worries. I imagine that's for the best then anyway, the easing alone's probably no more than 1-2kb.

from popmotion.

mattgperry avatar mattgperry commented on May 19, 2024

@madjam002 Probably too late for your current project but I'm now following the Packery model of dual-licensing, so from now on there's an explicit GPLv3 license to safeguard open source use.

from popmotion.

madjam002 avatar madjam002 commented on May 19, 2024

@InventingWithMonster I think you're missing the point here. I'm no lawyer, but open source states that you can't restrict what projects your library can be used in.

6. No Discrimination Against Fields of Endeavor
The license must not restrict anyone from making use of the program in a specific field of endeavor. For example, it may not restrict the program from being used in a business, or from being used for genetic research.

Rationale: The major intention of this clause is to prohibit license traps that prevent open source from being used commercially. We want commercial users to join our community, not feel excluded from it.

You've chosen GPLv3 as your open source license, but GPLv3, as it's an open source license, states that you cannot restrict your library's usage.

http://www.gnu.org/licenses/gpl-faq.html#NoMilitary

The packery license page makes no sense by the looks of it:

If you release the modified version to the public in some way, the GPL requires you to make the modified source code available to the program's users, under the GPL.

Releasing your project that uses Packery under the GPLv3, in turn, requires your project to be licensed under the GPLv3. If you are okay with this, feel free to use Packery under the GPLv3, without purchasing a commercial license.

GPLv3 says that if you modify or redistribute your code which is licensed under GPLv3, the redistributed/modified code needs to have the same license. But by using Popmotion in my own project, I'm not distributing or modifying Popmotion so my own project does not need to be open source. If I distribute my project along with Popmotion, then it does need to be licensed under GPLv3.

So using Popmotion is out of the question for me, as my library is MIT licensed, and I do not want to restrict its usage whatsoever. But by using Popmotion, if someone wanted to bundle my software with it, that would contain Popmotion.

I think dual licensing a library is unfair as it could lead people to believe that they can use it in open source libraries/projects, but really they are getting themselves into a whole world of trouble.

I'd say either go down the fully commercial route or open source route.

from popmotion.

mattgperry avatar mattgperry commented on May 19, 2024

@madjam002

open source states that you can't restrict what projects your library can be used in.

No, it doesn't:

  1. Your excerpt is talking about fields of industry, not business models, so we can ignore that.
  2. "Open source states" - OSS is not a homogenous set of rules.
  3. GPLv3 itself explicitly places restrictions on what projects your library can be used in.

So using Popmotion is out of the question for me, as my library is MIT licensed, and I do not want to restrict its usage whatsoever.

Actually using any GPLv3 software is out of the question for you, because it forces derivative works to also be open source and that naturally takes precedence over the permissive nature of MIT (which would allow commercial use). This is why they call it a "sticky" license.

I think dual licensing a library is unfair as it could lead people to believe that they can use it in open source libraries/projects

They can. I chose the GPL license specifically for this purpose and people can use Popmotion under this license, as long as they abide by the restrictions of the GPLv3 license.

I'd say either go down the fully commercial route or open source route.

This isn't an esoteric licensing model based on Packery's misreading of copyright law. MySQL, Magnolia and Magento also use a similar model and it works pretty well for them.

Edit:

really they are getting themselves into a whole world of trouble.

Sorry, this is FUD. Please provide one single solitary example of this.

from popmotion.

madjam002 avatar madjam002 commented on May 19, 2024

@InventingWithMonster Sorry, I didn't mean to come across the wrong way, my comment was more of a dump of what I was thinking at the time.

Your excerpt is talking about fields of industry, not business models, so we can ignore that.

Like I said, I'm not a lawyer, but the excerpt that I posted from OSS does state "The major intention of this clause is to prohibit license traps that prevent open source from being used commercially" which indicates that it's talking about fields of industry and business models.

Actually using any GPLv3 software is out of the question for you

You're right actually, thanks for clarifying that.

GPLv3 itself explicitly places restrictions on what projects your library can be used in.

Can you point me in the right direction where I can see this for myself? I think there is confusion here is in the term "derivative works". Magento and MySQL do not have a similar model as, correct me if I'm wrong, they do not restrict commercial usage, but offer a commercial license as an alternative which includes enterprise level support amongst many other things.

You do not need a commercial license for MySQL if you're using it commercially, same with anything that has this dual license model such as Neo4j.

See https://www.gnu.org/licenses/gpl-faq.html#GPLRequireSourcePostedPublic

In theory I could use Popmotion commercially without a commercial license, and if I modify Popmotion or distribute it, as long as the derived works are licensed under GPLv3 to the people receiving the software (so not necessarily open source), we're all good because I haven't violated any of the license.

I don't mean to shoot you down or anything, this is just my (probably wrong) interpretation of OSS and GPLv3. You've created an awesome library, I just think that if you want to go down the commercial route in any form, you should just go for a custom license to avoid confusion like this. Open source is fantastic because it allows people to come together and collaborate on software which anyone can use for any purpose, and as soon as you start charging per project for commercial use, that's against one of open source's core values.

And no OS is not a set of rules, but I'm pretty sure that it's criteria for licenses for them to qualify as "open source licenses".

from popmotion.

mattgperry avatar mattgperry commented on May 19, 2024

Can you point me in the right direction where I can see this for myself? I think there is confusion here is in the term "derivative works".

The GPL FAQ goes through restrictions extensively. But we're talking front end code, so "derivative" code, or more specifically code that "uses" other code, is more often than not also a redistribution, or it will be if you're concatenating/minifying as you should be.

So someone could use Popmotion as a dependency and ship their code as MIT, but when someone uses both Popmotion and this other plugin it either has to be GPL or they can pay for Popmotion and use a permissive license.

Magento and MySQL do not have a similar model as, correct me if I'm wrong, they do not restrict commercial usage, but offer a commercial license as an alternative which includes enterprise level support amongst many other things.

From Oracle themselves:

Oracle makes its MySQL database server and MySQL Client Libraries available under both the GPL and a commercial license. As a result, developers who use or distribute open source applications under the GPL can use the GPL-licensed MySQL software, and OEMs, ISVs and VARs that do not want to combine or distribute the MySQL software with their own commercial software under a GPL license can purchase a commercial license.

Exactly what I'm proposing. In a similar vein:

In theory I could use Popmotion commercially without a commercial license, and if I modify Popmotion or distribute it, as long as the derived works are licensed under GPLv3 to the people receiving the software (so not necessarily open source), we're all good because I haven't violated any of the license.

Yes, absolutely. This is what the MySQL license stipulates too. I don't really care if someone does this because I know the code is going back into the community, which is why I explicitly chose an open source license for this purpose.

Open source is fantastic because it allows people to come together and collaborate on software which anyone can use for any purpose, and as soon as you start charging per project for commercial use, that's against one of open source's core values.

You're coming at this from an emotional or ideological point of view rather than one grounded in facts. Charging for commercial use is not against open source's core values:

  1. The GPL license explicitly permits commercial use (as long as this is licensed under GPL too).
  2. MIT allows pretty much anything, including commercial use.

As mentioned, I've chosen GPL specifically because it forces derivative works to be open source. I don't care if someone is to use Popmotion in a product that made them money, as long as it's licensed under GPL and thus in turn helping others further the state of UX on the web.

Likewise the commercial license ensures that people who gain the most from Popmotion and return the least - closed source vendors - give back in a different way (financially). I've spent two years making this in a vast amount of my free time. That's not helping make the state of the UX on the web better, because I have limited time and that is currently choking development. Which seems a bit antithetical to making the thing in the first place, no?

So it's fine to disagree on some kind of moral platform, even if I personally think it's derived from a misunderstanding about why I'm making this and why I've made this license. But it's a bit strong to say this is against open source principles when that's factually incorrect, and it's frankly misguided to suggest a custom license when GPL offers creators a clear and common set of terms under which they can develop the platform. If anything, I see this particular dual-license approach as a far stronger way of supporting open source than an MIT license for the reasons I've just outlined.

from popmotion.

madjam002 avatar madjam002 commented on May 19, 2024

Ah yeah you're right, I was using Popmotion in Node so there was no redistribution like on the client side, thanks for clarifying.

You've outlined some solid points about why you've chosen to dual license it, and I understand that you've spent a significant amount of time working on this so would like to see some return on it. Furthermore, the prices you're charging are not unfair whatsoever.

from popmotion.

mattgperry avatar mattgperry commented on May 19, 2024

@madjam002 It's not so much making a return as the ability to work on it full time and give it the time investment I'd like. But anyway, thanks for the debate, it's honestly helped me understand more about all this stuff too.

from popmotion.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.