rndusr / stig

TUI and CLI for the BitTorrent client Transmission
GNU General Public License v3.0
554 stars 24 forks source link

urwid modifications license #224

Closed VorpalBlade closed 2 years ago

VorpalBlade commented 2 years ago

Hi,

I found this repo while reading urwid/#226. I'm interested in using some of these urwid fixes and extensions for my own project, specifically the scrollbar (scroll.py and any required changes needed to use that) and parts of urwidpatches.py.

I notice your code is licensed under GPL3, but urwid is LGPL-2.1. As my project (a text adventure game engine) will likely be Apache or LGPL, I cannot use these changes as is and would need to rewrite them. Would you be willing to dual license these files under LGPL-2.1 (same as urwid itself) or some other non-copyleft license?

Best regards, Vorpal

EDIT: tabs.py is really neat too (though not something I need for my current project)

rndusr commented 2 years ago

I would like to say no for ideological reasons.

But I'm gonna say yes because I originally planned to get all of this upstream into urwid, and that would make my code LGPL anyway. If I had succeeded, you wouldn't have to ask, and you shouldn't be punished for my failures.

Have fun with your project!

PS: I know you didn't ask, but I think it's strange someone would pick urwid for a new project and maybe you missed these somehow:

https://github.com/Textualize/rich https://github.com/Textualize/textual https://github.com/prompt-toolkit/python-prompt-toolkit

VorpalBlade commented 2 years ago

Thanks a lot!

I had a look at textual+rich. There are some great ideas in it, but it is exceedingly badly documented. It also doesn't seem to handle floating popups (something urwid has, with either overlay or the popup target support). Finally the API is apparently not stable (there is talk of a css branch).

As for prompt-toolkit, I missed that one. I was not aware it had alternate screen mode (which I need for some non-standard features I plan to incorporate, such as support for cloning the main character and having two side by side adventures where you play coop with yourself) I might take a look at it before proceeding with my (relatively early) urwid approach.

I also looked at notcurses, but it appears to be much lower level and the python API is a bit of a mess, with there being two APIs, and the default one is the deprecated one.

rndusr commented 2 years ago

I haven't used textual/rich myself, but it looks very promising. The bad documentation could be because it's still pretty young, but that's just a guess.

prompt-toolkit I've used and I can recommend it. It's very flexible and you can probably do anything with it, but it's mostly targeted to text stuff and not so much for ASCII art.

I haven't been following urwid development for a while, but a few years ago the original author finally threw in the towel. There were some people working on it, but it's pretty old and it didn't look like anyone had plans to modernize it.

stig has some serious performance issues with long lists, and I think that's at least partially urwid's fault.

Just my two cents.

VorpalBlade commented 2 years ago

I ended up using prompt_toolkit instead. Ran into issues with long formatted text displays though, but there was a third party control I could use as a workaround for that.

Closing this issue, and thanks for pointing out prompt_toolkit.