claytonwramsey / dumpster

Cycle-tracking garbage collector library for Rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Consider switching to LGPL

claytonwramsey opened this issue · comments

I might consider moving dumpster over to a LGPL license for this collector, especially if there are people interested in it who are constrained by the license. However, I won't do so unless there's any people who show some desire for this to change. Feel free to reply with feedback if you have license opinions.

Do you intend GPLv3-only or GPLv3+ ? I would generally prefer the latter. (By the time any future GPL4 comes along, it may turn out to be annoying to ask all your contributors to relicence.)

You probably want to add a license= to your Cargo.toml for this, eg

license = "GPL-3.0-or-later"

Thanks! The license is already included in the Cargo.toml files per-crate. However, I'll update the readme shortly with the provisions for GPLv3 or later.

Take this with a grain of salt, I'm exploring using a GC library but haven't committed to it yet.

While my current project wouldn't have any issues with GPL I wouldn't want to get used to using it and be caught flat footed working on a commercial project where GPL isn't an option. I prefer MIT/BSD/ISC. rust-gc is MPL which while also restrictive seems workable, and I think LGPL is similar... (not super familiar with the details)

/Sorry to continue this yet-another-rehearsal of the usual stale licence arguments.

commercial project where GPL isn't an option

Of course, the GPL can be perfectly suitable for commercial software. I have much GPL'd software that was supplied to me on a commercial basis (the OS supplied with my laptop, and much of my phone's operating system, for example).

But: when making licencing decisions you are making a choicer between the interests of different people - often, people whose interests are opposed.

Licences like the GPL aim to (and generally do) serve the interests of the users of computers.

When people complain that it's inconvenient, what they usually mean it is that it is inconveniencing them by hindering them from inconveniencing users.

Of course we're all software developers here. So one apparently-selfish approach might be to say "well it's most convenient for me to learn libraries I can use even if I go to work for (maximally obnoxious control-freak megacorp)". I don't think this is a winning strategy in the long run, and anyway I prefer to take the high road.

@claytonwramsey I'd like to understand your intent behind choosing GPL. Are you concerned about this library being used in a closed-source project?

If not, and you just want to make sure that no one can make modifications to dumpster without contributing them back, then MPL (the license of choice for core components of the Rust toolchain) may be a good option.

My current reasoning behind using the GPL is that I use it by default for all my projects. The MPL sounds like a very good choice, especially since it meshes well with what the Rust community does already. I'll strongly consider switching to MPL on the next release.

I am currently writing a library that uses dumpster and that must be licensed as Apache 2.0 with LLVM exceptions (as it is compiler technology), and I did not notice that dumpster is licensed under GPL, which is incompatible with this license. The MPL on the other hand is compatible.

I have typically seen Rust projects dual license with Apache 2.0 and MIT to combine patent protection with broad user compatibility, but as far as I am concerned the MPL seems suitable as well. Are you intending to change the license any time soon? Otherwise I can rewrite my library to not use dumpster but it's a bummer :)

As a side note, because GPL licenses are not compatible in the backward direction with Apache 2.0 (Apache 2.0 dependencies in GPL projects are compatible, GPL dependencies in Apache 2.0 projects are not), I think this could be a wider issue for dumpster to be adopted in most open source Rust projects.

Thanks for reaching out! I had stalled on changing the license since I didn't think anybody was using this library, but since it helps you, I'm happy to change it! I'll make a new version with the changed license shortly.

This is much appreciated! Thank you. Don't forget you need approval from previous code contributors if you change the licensing terms. I believe this would only be @anna-hope and @MWPuppire here.

This is much appreciated! Thank you. Don't forget you need approval from previous code contributors if you change the licensing terms. I believe this would only be @anna-hope and @MWPuppire here.

Looks like it's already happened, but I approve the change.

MWPuppire has also surrendered their code, so it's no issue.