odkq / pabled

text editor for the terminal written in python, with 2048!
3 stars 0 forks source link

LICENSE #1

Closed tony closed 10 years ago

tony commented 10 years ago

Cool urwid + pygments example! Can you release this under MIT instead of gplv3?

odkq commented 10 years ago

it's not urwid but raw ncurses

MIT? why?

tony commented 10 years ago

I stand corrected. I'm looking around to see terminal UI implementations in python. I'm interested in hearing why you picked a vim clone and how you came to the design decisions + where you plan on taking it.

MIT, BSD or anything more permissive would allow the code to be shared more freely.

I'm studying ncurses applications, this is very educational.

Thank you for your work, man!

odkq commented 10 years ago

I use vim and sometimes nvi for code editing. In some spare time i just wanted to know how difficult it would be to make a workable vi implementation i could use.

curses/ncurses as a terminal abstraction library is great -- even if nowadays all we use are xterm's (or derivatives) and linux vga consoles, there was a time where zillions of different kinds of serial terminals with their different control sequences where in use and you could make your program 'portable' among them by using ncurses. Have you ever tried to run a modern ncurses TUI program in an old VT320 terminal? It will just work. It was as great a technology for hardware abstraction as is nowadays OpenGL for graphic cards.

As for the license, this is the matter for many holy wars, but GPL allows by far more 'freedom' of sharing, in the sense that anyone using the code must also release their improvements to the public. Being it not a library that propietary software could make use of (nor a frontend framework or something like that) how could it be made more free by making it MIT? the only freedom added is the freedom to 'modify and lock'. Anyway this code is just an example and I doubt no commercial/free application could evolve from it.

tony commented 10 years ago

GPL allows by far more 'freedom' of sharing, in the sense that anyone using the code must also release their improvements to the public.

I used to think the same thing.

Being it not a library that propietary software could make use of (nor a frontend framework or something like that) how could it be made more free by making it MIT?

I also used to think that. Especially since I rely on GNU tools daily and GNU/Linux for over a decade. However eventually I saw more of the open source world.

It wasn't until sites like github, which provided a friendly pull request system that made suggesting patches much easier. I was surprised to see how liberally licensed software projects thrive. SQLAlchemy, Flask, Werkzeug, Twisted, Requests, Saltstack. Bootstrap. NodeJS. FreeBSD. Django. V8. Go. Cython. LESS. Android. These are not evil people, they appear to be active projects.

I don't feel anything wrong with the Playstation 4 using FreeBSD. I feel proud to see collaboration happened, people came together and made something, they never had to have a license force them.

I feel that gradually, permissive licenses will be used more often to the benefit of everyone, resulting in a higher quality, more uniform computing experience. Even if they don't want to adopt GPL. It's not a Versus - after all, MIT code can be used in GPL software. :)

tony commented 10 years ago

. Have you ever tried to run a modern ncurses TUI program in an old VT320 terminal? It will just work. It was as great a technology for hardware abstraction as is nowadays OpenGL for graphic cards.

I have not, I am still trying to wrap my mind around the nature of what a VT* terminal is. I'm also trying to see how ncurses abstracts the many terminals - and what that has to do with termcap / colors showing.

Here are some interesting python curses programs:

odkq commented 10 years ago

Indeed, Sony and Apple used bsd to base their products arguably to not be forced to release their patches and drivers -- as google/android must since it uses the linux kernel wich is GPL

Not being able to run Linux in a Playstation because Sony they decided not to, and not being able to use freely the modified FreeBSD they reaped from an open source community is in fact a big argument favoring GPL.

Most of the other examples you cited are libraries or web frameworks for wich being GPL would prevent commercial usage (not only commercial modification without sharing) For that there is also LGPL but MIT/Apache/BSD licenses are more common.

Putting it again in context, imagine Bram Moolenar's Vim. Would it be better for the vim users for vim to be licensed MIT instead of GPL(wich it is)? This is, if a company makes a modification in 'their vim' (for example, the one included with Mac OS X) and I am not able to reuse the modification, would it be good for me as a user? Or will I be locked on the decisions of a third party that wasn't even the original author of the software?

Apple uses many GPL'd packages (starting by GCC itself), and many BSD packages as the original 4.4BSD kernel itself. If they took the BSD kernel and modified it without releasing the modifications, I can not see why they would not do the same with those gpl'ed packages if it was not because of the license itself.

tony commented 10 years ago

@odkq I use GNU/Linux, gnu coreutils, gnu make, every day.

The bottom of the manpage $ man make:

22 August 1989.

Thank you for conversation, man.

Tony

odkq commented 10 years ago

Another nice python + ncurses program for your research (this one useful and finished) is cplay

https://github.com/holizz/cplay

Also there are many other programs using ncurses and written in C you probably already know, such as midnight commander or alpine.