alerque / decasify

A CLI utility, Rust crate, Lua Rock, Python module, and JavaScript module to cast strings to title-case according to locale specific style guides including Turkish support.
GNU Lesser General Public License v3.0
5 stars 0 forks source link

Consider re-licensing GPL → LGPL #8

Closed alerque closed 3 weeks ago

alerque commented 1 month ago

I originally envisioned this just as a CLI tool, and the GPL license exactly suites my tastes. However I quickly realized that for some use cases it would be easier to use as a library, and first the Rust, then the Lua, and now the Python library interfaces were born. The GPL does make use as a library a bit tough.

I would like to consider relaxing the GPL to be LGPL, at least for the library interfaces. The CLI could potentially stay GPL, but that needs unnecessary since it would just be some clap based parsing wrapper around the Rust library anyway.

The main difference would be allowing use of decasify as a shared library in other projects without either having to include a copy of the source (unless modified, in which case it should be published) or issues with the license being viral and needing to release the including project under a GPL license. This might have a significant impact on adoption since one can't use a pure GPL licensed library at all in a more permissively licensed project without creating an issue for the wider project.

As the only other outside contributor to date, @Patryk27 I would need a sign-off from you to make this happen. Would you be okay with this?

alerque commented 1 month ago

Also of some significance is the main external dependency at this point –used for the Daring Fireball style English implementation of title case– is the titlecase crate from @wezm which is even more permissively licensed as MIT.

Patryk27 commented 1 month ago

Sure, go ahead 🙂

alerque commented 1 month ago

Thanks. I think I'll go ahead with the change to LGPL.

I suspect that will be good enough. But just to keep an option in my back pocket in case someday a use case surfaces that requires something more permissive, would you also be okay with a future relicense to Apache/BSD/MIT or similar? I don't plan to actually do that that unless somebody presents a significantly convincing use case (e.g. I was thinking about the potential of being baked into Typst, Pandoc, etc. without requiring external linking for license compliance), but it's easier to ask for permission now while I have you (and any other contributors before their PRs are merged) than track folks down later should the need arise.

Patryk27 commented 1 month ago

I see - yeah, any license works for me, thanks for asking 🙂