From ales.guzik at gmail.com Wed Jan 4 09:11:47 2012 From: ales.guzik at gmail.com (=?UTF-8?B?0JDQu9C10YHRjA==?=) Date: Wed, 4 Jan 2012 11:11:47 +0200 Subject: [clfswm-devel] Tile managed children keep position bug fix Message-ID: (defun update-layout-managed-children-keep-position (child parent) (let ((managed-children (frame-data-slot parent :layout-managed-children)) (managed-in-parent (get-managed-child parent))) (dolist (ch managed-in-parent) (unless (child-member ch managed-children) (setf managed-children (append managed-children (list ch))))) (setf managed-children (remove-if-not (lambda (x) (child-member x managed-in-parent)) managed-children)) (setf (frame-data-slot parent :layout-managed-children) managed-children) managed-children)) -- Regards, Ales Guzik ------------------------------------------------------------ e-mail: ales.guzik at gmail.com skype: ales-guzik tel: +375 29 5751103 From pbrochard at common-lisp.net Wed Jan 4 22:17:04 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Wed, 04 Jan 2012 23:17:04 +0100 Subject: [clfswm-devel] Tile managed children keep position bug fix In-Reply-To: (=?utf-8?B?ItCQ0LvQtdGB0YwiJ3M=?= message of "Wed, 4 Jan 2012 11:11:47 +0200") References: Message-ID: <871urfi04f.fsf@common-lisp.net> ????? writes: > (defun update-layout-managed-children-keep-position (child parent) > (let ((managed-children (frame-data-slot parent :layout-managed-children)) > (managed-in-parent (get-managed-child parent))) > (dolist (ch managed-in-parent) > (unless (child-member ch managed-children) > (setf managed-children (append managed-children (list ch))))) > (setf managed-children (remove-if-not (lambda (x) > (child-member x managed-in-parent)) > managed-children)) > (setf (frame-data-slot parent :layout-managed-children) managed-children) > managed-children)) > Welcome on this list and thanks a lot for fighting this inattention error. Regards, Philippe From pbrochard at common-lisp.net Fri Jan 6 23:02:04 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 07 Jan 2012 00:02:04 +0100 Subject: [clfswm-devel] CLFSWM license In-Reply-To: (madnificent@gmail.com's message of "Fri, 6 Jan 2012 16:10:32 +0100") References: Message-ID: <87zke0juz7.fsf@common-lisp.net> madnificent at gmail.com writes: > Hello, > Hi. > > I was looking at CLFSWM and I find the concept interesting. I've > hacked the source code so the symbol manipulation works correctly in > most cases (allegro's modern mode will still crash it when changing to > another WM though). I have more hacks planned. However, I'm not at > all comfortable with the GPL license in a lisp system. As shown with > CLISP, it is a recipe for legal issues. > First, thanks a lot for your interest in CLFSWM. Any hack and bug fix is welcome! > I personally release all code under the BSD license as I, as a > programmer, understand the license and know what I'll be allowed to > do. I also value the fact that the code which I have written can be > used in the companies in which I work. I know I will not get sued for > odd things I don't understand (again, read the mailing between RMS and > the CLISP author to see how lawyers's reasoning is different from > ours). If you really want an obligatory (and to my view > condescending) license, I'd be willing to contribute under the LLGPL > (the Lisp Lesser Gnu Public License) which is most likely what you > intend to have if you are convinced the GPL is the only way to go. > For what it's worth, in any company I've worked in so far, using and > contributing to BSD code was praised, GPL not so much (due to legal > issues). > > Though it's true that CLFSWM probably won't survive in a business > context, it makes all the more sense to publish it in a liberal > license which will not give either of the devs problems if something > would happen. > > > Thanks for considering this, > CLFSWM is under the GPL licence for historical and personal reason (mainly, I do not care of proprietary software). It is inspired by Stumpwm which is under the GPL licence. I've used few code from it and from Eclipse. This code is relatively easy to find: $ egrep -nri "eclipse|stumpwm" * AUTHORS:23:Stumpwm: http://www.nongnu.org/stumpwm/ contrib/clfswm:23:# Original code and idea: http://stumpwm.antidesktop.net/cgi-bin/wiki/SetUp README:4: and [2]Stumpwm. Many thanks to them). README:108: 2. http://www.nongnu.org/stumpwm/ src/tools.lisp:569:(defun find-free-number (l) ; stolen from stumpwm - thanks src/keysyms.lisp:3:;; This file is part of stumpwm. src/keysyms.lisp:5:;; stumpwm is free software; you can redistribute it and/or modify src/keysyms.lisp:10:;; stumpwm is distributed in the hope that it will be useful, src/version.lisp:4:;; Borrowed from Stumpwm src/xlib-util.lisp:174:;;; Workaround for pixmap error taken from STUMPWM - thanks: src/xlib-util.lisp:178:;; in stumpwm. So far the only slot that seems to be affected is src/xlib-util.lisp:397:;;; Stolen from Eclipse src/netwm-util.lisp:67:;;; Taken from stumpwm (thanks) There is also the contrib/clfswm script from Xavier Maillard which is also based on Stumpwm code and under GPL licence. All that said, I'm really attached to the GPL licence even for Common Lisp code (BTW I've placed another Common Lisp project under the LLGPL licence). For now, I do not want to change the CLFSWM licence. So if you want to contribute to CLFSWM, you'll have to place your code under the GPL licence if you want to have it merged in the CLFSWM core code. Another solution is to make your hack in the contrib/ directory and place it in the licence of your choice. Also, CLFSWM (and Stumpwm I suppose) are placed under the GPL licence because they're expected to be run in free Common Lisp implementation (I regularly test CLFSWM in many of them) but not in closed source Common Lisp implementation. Indeed this is not a closed response and we have to discuss this on the clfswm-devel mailing list (in CC) with others. It'll be sad to loose a contributor. Regards, Philippe > Aad Versteden > > > PS: if you'd like to chat about it, feel free to add me on google > talk, or hop by on irc.freenode.net and send me, madnificent, a /msg > :) > Hmm, I'm not a lawyer and I'm not sufficiently fluent in English to discuss this question on IRC in a comfortable manner. Please continue this discussion on the clfswm-devel mailing list. From pbrochard at common-lisp.net Sat Jan 7 00:38:25 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 07 Jan 2012 01:38:25 +0100 Subject: [clfswm-devel] CLFSWM license In-Reply-To: (madnificent@gmail.com's message of "Sat, 7 Jan 2012 00:44:38 +0100") References: <87zke0juz7.fsf@common-lisp.net> Message-ID: <87fwfsjqim.fsf@common-lisp.net> madnificent at gmail.com writes: > Hello Philippe Brochard, > > > My main issue with this is that all code which is ran in the same lisp > image will need to be placed under the GPL. That being said: placing > things in the contrib directory doesn't solve anything. It might > solve something in a C world where things are linked differently, but > the trick doesn't work in Lisp. If not for that, the GPL would still > not be to my liking, but it would certainly be acceptable for this > sort of software (and probably not only this). The LLGPL tries to > solve this (though I must say that it hasn't had to stand up in court > either and it still scares me to death as I probably still > misinterpret it). > I've read those legacy problems (and [1] also) some times ago. This is for this reason I have made another of my project under the LLGPL licence as well resumed here http://common-lisp.net/faq.shtml#lgpl. But Stumpwm is under the GPL licence and so this is natural for CLFSWM. > For what it's worth: My stance against the GPL is not against free > software, I vastly prefer free software over proprietary software. As > such I use free/libre Common Lisp implementations (my preference goes > out to SBCL and CCL). I do *not* consider the GPL to yield free > software. The legalese is not at all what it means for computer > scientists, if it can mean anything to us. I kindly suggest you take > a look at [1], a section of the mails between rms and the CLISP author > in order to understand why the GPL doesn't work together with Common > Lisp. The main issue with that in my mind wasn't even that I found it > to be unfair, it was that judges read a different license when they > see the same words. The GPL can be seen as stating "the code must be > free". The MIT/BSD license can be seen as stating "the programmer > must be free". I prefer to be free myself, instead of having code > which is forced to be free. Furthermore the moment at which code > needs to be shared is complete madness, it allows for easy misuse > (look at Google and TiVo for instance). Therefore, in my mind, > there's little good to the GPL aside from the marketing mechanism > behind it. Again, I do like sharing code. I often do! I like the > mindset which says that, together, we can get further, faster. > There's one world and we programmers should stick together for most of > it. However, having a long and complicated license is likely not the > way to go, small companies can't afford to analyse or defend it. If > there were a way to go, it certainly wouldn't be GPLv2. > As said before, I prefer the GPL over the BSD (or a less restrictive license than the GPL) because it grants that my code will stay free for others. In a user point of view, I prefer the 'user freedom' instead of the 'programmer freedom' and this is why I place a lot of my code under the GPL license. On an other hand, I really like the conciseness of the BSD licence and there is very few chances that CLFSWM will be used in a proprietary manner and I'll keep CLFSWM free (GPL or BSD). We have to discuss this on the mailing list with others contributors. I'm not really against a change to the BSD licence but I can't take this decision alone. Best regards, Philippe > > Best regards, > > Aad Versteden > > > [1] http://clisp.cvs.sourceforge.net/viewvc/clisp/clisp/doc/Why-CLISP-is-under-GPL > > > > On Sat, Jan 7, 2012 at 12:02 AM, Philippe Brochard > wrote: >> madnificent at gmail.com writes: >> >>> Hello, >>> >> Hi. >> >>> >>> I was looking at CLFSWM and I find the concept interesting. ?I've >>> hacked the source code so the symbol manipulation works correctly in >>> most cases (allegro's modern mode will still crash it when changing to >>> another WM though). ?I have more hacks planned. ?However, I'm not at >>> all comfortable with the GPL license in a lisp system. ?As shown with >>> CLISP, it is a recipe for legal issues. >>> >> First, thanks a lot for your interest in CLFSWM. >> >> Any hack and bug fix is welcome! >> >> >>> I personally release all code under the BSD license as I, as a >>> programmer, understand the license and know what I'll be allowed to >>> do. ?I also value the fact that the code which I have written can be >>> used in the companies in which I work. ?I know I will not get sued for >>> odd things I don't understand (again, read the mailing between RMS and >>> the CLISP author to see how lawyers's reasoning is different from >>> ours). ?If you really want an obligatory (and to my view >>> condescending) license, I'd be willing to contribute under the LLGPL >>> (the Lisp Lesser Gnu Public License) which is most likely what you >>> intend to have if you are convinced the GPL is the only way to go. >>> For what it's worth, in any company I've ?worked in so far, using and >>> contributing to BSD code was praised, GPL not so much (due to legal >>> issues). >>> >>> Though it's true that CLFSWM probably won't survive in a business >>> context, it makes all the more sense to publish it in a liberal >>> license which will not give either of the devs problems if something >>> would happen. >>> >>> >>> Thanks for considering this, >>> >> CLFSWM is under the GPL licence for historical and personal reason >> (mainly, I do not care of proprietary software). >> It is inspired by Stumpwm which is under the GPL licence. I've used few >> code from it and from Eclipse. This code is relatively easy to find: >> >> $ egrep -nri "eclipse|stumpwm" * >> AUTHORS:23:Stumpwm: http://www.nongnu.org/stumpwm/ >> contrib/clfswm:23:# Original code and idea: http://stumpwm.antidesktop.net/cgi-bin/wiki/SetUp >> README:4: and [2]Stumpwm. Many thanks to them). >> README:108: ? 2. http://www.nongnu.org/stumpwm/ >> src/tools.lisp:569:(defun find-free-number (l) ? ? ? ? ?; stolen from stumpwm - thanks >> src/keysyms.lisp:3:;; ?This file is part of stumpwm. >> src/keysyms.lisp:5:;; stumpwm is free software; you can redistribute it and/or modify >> src/keysyms.lisp:10:;; stumpwm is distributed in the hope that it will be useful, >> src/version.lisp:4:;; ?Borrowed from Stumpwm >> src/xlib-util.lisp:174:;;; Workaround for pixmap error taken from STUMPWM - thanks: >> src/xlib-util.lisp:178:;; in stumpwm. So far the only slot that seems to be affected is >> src/xlib-util.lisp:397:;;; Stolen from Eclipse >> src/netwm-util.lisp:67:;;; Taken from stumpwm (thanks) >> >> There is also the contrib/clfswm script from Xavier Maillard which is >> also based on Stumpwm code and under GPL licence. >> >> All that said, I'm really attached to the GPL licence even for Common >> Lisp code (BTW I've placed another Common Lisp project under the LLGPL >> licence). >> For now, I do not want to change the CLFSWM licence. So if you want to >> contribute to CLFSWM, you'll have to place your code under the GPL >> licence if you want to have it merged in the CLFSWM core code. >> Another solution is to make your hack in the contrib/ directory and >> place it in the licence of your choice. >> Also, CLFSWM (and Stumpwm I suppose) are placed under the GPL licence >> because they're expected to be run in free Common Lisp implementation >> (I regularly test CLFSWM in many of them) but not in closed source >> Common Lisp implementation. >> >> Indeed this is not a closed response and we have to discuss this on the >> clfswm-devel mailing list (in CC) with others. It'll be sad to loose a >> contributor. >> >> Regards, >> >> Philippe >> >> >>> Aad Versteden >>> >>> >>> PS: if you'd like to chat about it, feel free to add me on google >>> talk, or hop by on irc.freenode.net and send me, madnificent, a /msg >>> :) >>> >> Hmm, I'm not a lawyer and I'm not sufficiently fluent in English to >> discuss this question on IRC in a comfortable manner. Please continue >> this discussion on the clfswm-devel mailing list. From pbrochard at common-lisp.net Sat Jan 7 00:41:17 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 07 Jan 2012 01:41:17 +0100 Subject: [clfswm-devel] CLFSWM license In-Reply-To: (madnificent@gmail.com's message of "Sat, 7 Jan 2012 00:55:00 +0100") References: <87zke0juz7.fsf@common-lisp.net> Message-ID: <87aa60jqdu.fsf@common-lisp.net> madnificent at gmail.com writes: > Oh, just stating: > > I'm fully open towards a mixed license thing. IE: in the WebOS > community, all patches were published under the MIT license (even > those which extended the linux kernel), so as to allow for HP to take > over these patches if it was good for them. That basically yielded a > mixed licensing strategy. All code we wrote was MIT and could thus be > incorporated without a legal team, though some of the stuff which > happened on the linux kernel ended up being upstreamed as GPL, because > the Linux kernel repository is GPL. In the same way, I wouldn't mind > it if CLFSWM would be GPL for all pieces of code which were taking > from other GPL projects (if anyone would care enough to open CLFSWM up > to MIT, they'd have to rewrite those portions into something else), > and MIT for the specific portions. That would at least yield a system > which can be opened up in the future if sufficient interest would be > there to do so. > Oh, here I clearly prefer one licence (GPL, BSD or another free one) than a mix which complicate the contributions understanding. best regards, Philippe > > Best regards, > > Aad Versteden > > On Sat, Jan 7, 2012 at 12:44 AM, madnificent wrote: >> Hello Philippe Brochard, >> >> >> My main issue with this is that all code which is ran in the same lisp >> image will need to be placed under the GPL. ?That being said: placing >> things in the contrib directory doesn't solve anything. ?It might >> solve something in a C world where things are linked differently, but >> the trick doesn't work in Lisp. ?If not for that, the GPL would still >> not be to my liking, but it would certainly be acceptable for this >> sort of software (and probably not only this). ?The LLGPL tries to >> solve this (though I must say that it hasn't had to stand up in court >> either and it still scares me to death as I probably still >> misinterpret it). >> >> For what it's worth: My stance against the GPL is not against free >> software, I vastly prefer free software over proprietary software. ?As >> such I use free/libre Common Lisp implementations (my preference goes >> out to SBCL and CCL). ?I do *not* consider the GPL to yield free >> software. ?The legalese is not at all what it means for computer >> scientists, if it can mean anything to us. ?I kindly suggest you take >> a look at [1], a section of the mails between rms and the CLISP author >> in order to understand why the GPL doesn't work together with Common >> Lisp. ?The main issue with that in my mind wasn't even that I found it >> to be unfair, it was that judges read a different license when they >> see the same words. ?The GPL can be seen as stating "the code must be >> free". ?The MIT/BSD license can be seen as stating "the programmer >> must be free". ?I prefer to be free myself, instead of having code >> which is forced to be free. ?Furthermore the moment at which code >> needs to be shared is complete madness, it allows for easy misuse >> (look at Google and TiVo for instance). ?Therefore, in my mind, >> there's little good to the GPL aside from the marketing mechanism >> behind it. ?Again, I do like sharing code. ?I often do! ?I like the >> mindset which says that, together, we can get further, faster. >> There's one world and we programmers should stick together for most of >> it. ?However, having a long and complicated license is likely not the >> way to go, small companies can't afford to analyse or defend it. ?If >> there were a way to go, it certainly wouldn't be GPLv2. >> >> >> Best regards, >> >> Aad Versteden >> >> >> [1] http://clisp.cvs.sourceforge.net/viewvc/clisp/clisp/doc/Why-CLISP-is-under-GPL >> >> >> >> On Sat, Jan 7, 2012 at 12:02 AM, Philippe Brochard >> wrote: >>> madnificent at gmail.com writes: >>> >>>> Hello, >>>> >>> Hi. >>> >>>> >>>> I was looking at CLFSWM and I find the concept interesting. ?I've >>>> hacked the source code so the symbol manipulation works correctly in >>>> most cases (allegro's modern mode will still crash it when changing to >>>> another WM though). ?I have more hacks planned. ?However, I'm not at >>>> all comfortable with the GPL license in a lisp system. ?As shown with >>>> CLISP, it is a recipe for legal issues. >>>> >>> First, thanks a lot for your interest in CLFSWM. >>> >>> Any hack and bug fix is welcome! >>> >>> >>>> I personally release all code under the BSD license as I, as a >>>> programmer, understand the license and know what I'll be allowed to >>>> do. ?I also value the fact that the code which I have written can be >>>> used in the companies in which I work. ?I know I will not get sued for >>>> odd things I don't understand (again, read the mailing between RMS and >>>> the CLISP author to see how lawyers's reasoning is different from >>>> ours). ?If you really want an obligatory (and to my view >>>> condescending) license, I'd be willing to contribute under the LLGPL >>>> (the Lisp Lesser Gnu Public License) which is most likely what you >>>> intend to have if you are convinced the GPL is the only way to go. >>>> For what it's worth, in any company I've ?worked in so far, using and >>>> contributing to BSD code was praised, GPL not so much (due to legal >>>> issues). >>>> >>>> Though it's true that CLFSWM probably won't survive in a business >>>> context, it makes all the more sense to publish it in a liberal >>>> license which will not give either of the devs problems if something >>>> would happen. >>>> >>>> >>>> Thanks for considering this, >>>> >>> CLFSWM is under the GPL licence for historical and personal reason >>> (mainly, I do not care of proprietary software). >>> It is inspired by Stumpwm which is under the GPL licence. I've used few >>> code from it and from Eclipse. This code is relatively easy to find: >>> >>> $ egrep -nri "eclipse|stumpwm" * >>> AUTHORS:23:Stumpwm: http://www.nongnu.org/stumpwm/ >>> contrib/clfswm:23:# Original code and idea: http://stumpwm.antidesktop.net/cgi-bin/wiki/SetUp >>> README:4: and [2]Stumpwm. Many thanks to them). >>> README:108: ? 2. http://www.nongnu.org/stumpwm/ >>> src/tools.lisp:569:(defun find-free-number (l) ? ? ? ? ?; stolen from stumpwm - thanks >>> src/keysyms.lisp:3:;; ?This file is part of stumpwm. >>> src/keysyms.lisp:5:;; stumpwm is free software; you can redistribute it and/or modify >>> src/keysyms.lisp:10:;; stumpwm is distributed in the hope that it will be useful, >>> src/version.lisp:4:;; ?Borrowed from Stumpwm >>> src/xlib-util.lisp:174:;;; Workaround for pixmap error taken from STUMPWM - thanks: >>> src/xlib-util.lisp:178:;; in stumpwm. So far the only slot that seems to be affected is >>> src/xlib-util.lisp:397:;;; Stolen from Eclipse >>> src/netwm-util.lisp:67:;;; Taken from stumpwm (thanks) >>> >>> There is also the contrib/clfswm script from Xavier Maillard which is >>> also based on Stumpwm code and under GPL licence. >>> >>> All that said, I'm really attached to the GPL licence even for Common >>> Lisp code (BTW I've placed another Common Lisp project under the LLGPL >>> licence). >>> For now, I do not want to change the CLFSWM licence. So if you want to >>> contribute to CLFSWM, you'll have to place your code under the GPL >>> licence if you want to have it merged in the CLFSWM core code. >>> Another solution is to make your hack in the contrib/ directory and >>> place it in the licence of your choice. >>> Also, CLFSWM (and Stumpwm I suppose) are placed under the GPL licence >>> because they're expected to be run in free Common Lisp implementation >>> (I regularly test CLFSWM in many of them) but not in closed source >>> Common Lisp implementation. >>> >>> Indeed this is not a closed response and we have to discuss this on the >>> clfswm-devel mailing list (in CC) with others. It'll be sad to loose a >>> contributor. >>> >>> Regards, >>> >>> Philippe >>> >>> >>>> Aad Versteden >>>> >>>> >>>> PS: if you'd like to chat about it, feel free to add me on google >>>> talk, or hop by on irc.freenode.net and send me, madnificent, a /msg >>>> :) >>>> >>> Hmm, I'm not a lawyer and I'm not sufficiently fluent in English to >>> discuss this question on IRC in a comfortable manner. Please continue >>> this discussion on the clfswm-devel mailing list. From pbrochard at common-lisp.net Sat Jan 7 00:43:51 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 07 Jan 2012 01:43:51 +0100 Subject: [clfswm-devel] CLFSWM licence change? Message-ID: <8762gojq9k.fsf@common-lisp.net> As discussed with Aad Versteden, what to you thing about a CLFSWM licence change from the GPL to the BSD (or another free one)? Best regards, Philippe From ales.guzik at gmail.com Sat Jan 7 14:18:17 2012 From: ales.guzik at gmail.com (Ales Guzik) Date: Sat, 7 Jan 2012 16:18:17 +0200 Subject: [clfswm-devel] Two layouts Message-ID: Here is two layouts i've hacked for myself. Just thought it may be interesting for someone here. It redefines two already existing layouts. First one is a small hack on tile-layout so it switches between horisontal and vertical tiling depending on whether width or height is longer, so child frames tend to be squarish. (defmethod tile-layout (child parent) (let* ((managed-children (update-layout-managed-children child parent)) (pos (child-position child managed-children)) (len (length managed-children)) (d1 (ceiling (sqrt len))) (d2 (ceiling (/ len d1))) (nx (if (> (frame-rw parent) (frame-rh parent)) d1 d2)) (ny (if (> (frame-rw parent) (frame-rh parent)) d2 d1)) (dx (/ (frame-rw parent) nx)) (dy (/ (frame-rh parent) ny)) (dpos (- (* nx ny) len)) (width dx)) (when (plusp dpos) (if (zerop pos) (setf width (* dx (1+ dpos))) (incf pos dpos))) (values (round (adj-border-xy (+ (frame-rx parent) (truncate (* (mod pos nx) dx))) child)) (round (adj-border-xy (+ (frame-ry parent) (truncate (* (truncate (/ pos nx)) dy))) child)) (round (adj-border-wh width child)) (round (adj-border-wh dy child))))) Another one is tile-space-layout rewrite so space between screen border and frame is the same as between frames (now space between frames twice as large as between screen border and frame) (defun tile-space-layout (child parent) "Tile Space: tile child in its frame leaving spaces between them" (with-slots (rx ry rw rh) parent (let* ((managed-children (update-layout-managed-children child parent)) (pos (child-position child managed-children)) (len (length managed-children)) (d1 (ceiling (sqrt len))) (d2 (ceiling (/ len d1))) (cols (if (> rw rh) d1 d2)) (rows (if (> rw rh) d2 d1)) (col (mod pos cols)) (row (floor pos cols)) (space-percent (or (frame-data-slot parent :tile-space-size) 0.05)) (col-space-total (* rw space-percent)) (row-space-total (* rh space-percent)) (col-space (floor col-space-total (1+ cols))) (row-space (floor row-space-total (1+ rows))) (child-width (floor (- rw col-space-total) cols)) (child-height (floor (- rh row-space-total) rows)) ) (values (round (print (adj-border-xy (+ rx col-space (* (+ col-space child-width) col)) child))) (round (print (adj-border-xy (+ ry row-space (* (+ row-space child-height) row)) child))) (round (print (adj-border-wh child-width child))) (round (print (adj-border-wh child-height child))))))) -- Regards, Ales Guzik ------------------------------------------------------------ e-mail: ales.guzik at gmail.com skype: ales-guzik tel: +375 29 5751103 From stayvoid at gmail.com Mon Jan 9 00:53:27 2012 From: stayvoid at gmail.com (Stayvoid) Date: Mon, 9 Jan 2012 03:53:27 +0300 Subject: [clfswm-devel] clfswm.ebuild Message-ID: Hi there! Is there a .ebuild of CLFSWM? My attempt to write it was unsuccessful. Cheers. From pbrochard at common-lisp.net Mon Jan 9 22:04:04 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Mon, 09 Jan 2012 23:04:04 +0100 Subject: [clfswm-devel] Two layouts In-Reply-To: (Ales Guzik's message of "Sat, 7 Jan 2012 16:18:17 +0200") References: Message-ID: <878vlg4jor.fsf@common-lisp.net> Hi, very nice job. I've added a new layout menu entry for your tile layout that I've called mixed tile layout. Thanks a lot! Committed in your name. Best regards, Philippe Ales Guzik writes: > Here is two layouts i've hacked for myself. Just thought it may be > interesting for someone here. It redefines two already existing > layouts. > First one is a small hack on tile-layout so it switches between > horisontal and vertical tiling depending on whether width or height is > longer, so child frames tend to be squarish. > [...] > Another one is tile-space-layout rewrite so space between screen > border and frame is the same as between frames (now space between > frames twice as large as between screen border and frame) > [...] > From pbrochard at common-lisp.net Mon Jan 9 22:24:16 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Mon, 09 Jan 2012 23:24:16 +0100 Subject: [clfswm-devel] clfswm.ebuild In-Reply-To: (stayvoid@gmail.com's message of "Mon, 9 Jan 2012 03:53:27 +0300") References: Message-ID: <87wr90346n.fsf@common-lisp.net> stayvoid at gmail.com writes: > Hi there! > Hi, welcome on this list. > Is there a .ebuild of CLFSWM? > >From me, no. From others, I don't know. > My attempt to write it was unsuccessful. > Can you describe where you failed? Send us your backtrace. You have some build example in Debian: http://packages.debian.org/sid/clfswm or in Archlinux: http://aur.archlinux.org/packages.php?ID=14565 And I know that Xavier Maillard has a slackbuild. The main problem, I think, is the CLX packaging. Let us know. > > Cheers. > Best regards, Philippe From madnificent at gmail.com Tue Jan 10 02:39:47 2012 From: madnificent at gmail.com (madnificent) Date: Tue, 10 Jan 2012 03:39:47 +0100 Subject: [clfswm-devel] clfswm.ebuild In-Reply-To: <87wr90346n.fsf@common-lisp.net> References: <87wr90346n.fsf@common-lisp.net> Message-ID: On Mon, Jan 9, 2012 at 11:24 PM, Philippe Brochard wrote: > stayvoid at gmail.com writes: > >> Hi there! >> > Hi, welcome on this list. > >> Is there a .ebuild of CLFSWM? >> > From me, no. From others, I don't know. > >> My attempt to write it was unsuccessful. >> > Can you describe where you failed? Send us your backtrace. > > You have some build example in Debian: http://packages.debian.org/sid/clfswm > or in Archlinux: http://aur.archlinux.org/packages.php?ID=14565 > And I know that Xavier Maillard has a slackbuild. > > The main problem, I think, is the CLX packaging. > > Let us know. > >> >> Cheers. >> > Best regards, > > Philippe > > _______________________________________________ > clfswm-devel mailing list > clfswm-devel at common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel Hello stayvoid, You may want to take a look at buildapp [1] (SBCL only) or cl-launch [2] to help you with the process. If you want to construct it by building an image, you should be able to build the image and dump the core right before calling clfswm:main. The display information is gathered when that function is being called. A quick test here revealed that there's still an /AUTHORIZATION ISSUE/, perhaps the capitalization will make someone else will respond to this. The rest of this post should give you the general idea though. In an environment in which you can require 'clfswm (which means you need the correct libraries available), you should be able to run the following for a lisp image: # sbcl --eval "(require 'clfswm)" --eval '(sb-ext:save-lisp-and-die "clfswm.core" :executable t)' This will generate a file named clfswm.core which you can execute to get an sbcl image with clfswm loaded. You can run # clfswm.core --eval (clfswm:main) to boot up clfswm. You could place that command in a script: #!/bin/sh /opt/clfswm/clfswm.core --eval "(clfswm:main)" which you could then feed to startx I hope this gets you started. It may help if you attach the buildscript in a reply. Aad Versteden PS: You'll likely want to have use flags for each of the currently supported lisp distributions. From madnificent at gmail.com Tue Jan 10 02:56:08 2012 From: madnificent at gmail.com (madnificent) Date: Tue, 10 Jan 2012 03:56:08 +0100 Subject: [clfswm-devel] CLFSWM on ECL Message-ID: Hello, I got CLFSWM running on ECL's current HEAD [1] on Ubuntu 11.10 and it seemed best to document the progress: # ./configure --with-x --enable-threads --with-clx # make # sudo make install The current ECL (which lists as version 11.1.1) has support for a :wait when calling run-program. The latest commit of my github fork contains the needed patch to make CLFSWM not freeze when running an application [2][3]. ECL seems to do just fine for CLFSWM, though it has frozen on me once for no apparent reason. Frame resizing feels slower on ECL than it does on SBCL though. Best regards, Aad Versteden [1] sha1 id: 606449eba0cb9f70a4f66e8cc56fa7e5c45512bb from git://ecls.git.sourceforge.net/gitroot/ecls/ecl [2] sha1 id: e4245092735a24edf47c860d4437a71a10fc80d1 from https://madnificent at github.com/madnificent/clfswm.git [3] https://github.com/madnificent/clfswm From madnificent at gmail.com Wed Jan 11 15:44:29 2012 From: madnificent at gmail.com (madnificent) Date: Wed, 11 Jan 2012 16:44:29 +0100 Subject: [clfswm-devel] clfswm.ebuild In-Reply-To: References: <87wr90346n.fsf@common-lisp.net> Message-ID: On Tue, Jan 10, 2012 at 3:39 AM, madnificent wrote: > On Mon, Jan 9, 2012 at 11:24 PM, Philippe Brochard > wrote: >> stayvoid at gmail.com writes: >> >>> Hi there! >>> >> Hi, welcome on this list. >> >>> Is there a .ebuild of CLFSWM? >>> >> From me, no. From others, I don't know. >> >>> My attempt to write it was unsuccessful. >>> >> Can you describe where you failed? Send us your backtrace. >> >> You have some build example in Debian: http://packages.debian.org/sid/clfswm >> or in Archlinux: http://aur.archlinux.org/packages.php?ID=14565 >> And I know that Xavier Maillard has a slackbuild. >> >> The main problem, I think, is the CLX packaging. >> >> Let us know. >> >>> >>> Cheers. >>> >> Best regards, >> >> Philippe >> >> _______________________________________________ >> clfswm-devel mailing list >> clfswm-devel at common-lisp.net >> http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel > > > Hello stayvoid, > > > You may want to take a look at buildapp [1] (SBCL only) or cl-launch > [2] to help you with the process. ?If you want to construct it by > building an image, you should be able to build the image and dump the > core right before calling clfswm:main. ?The display information is > gathered when that function is being called. ?A quick test here > revealed that there's still an /AUTHORIZATION ISSUE/, perhaps the > capitalization will make someone else will respond to this. ?The rest > of this post should give you the general idea though. > > In an environment in which you can require 'clfswm (which means you > need the correct libraries available), you should be able to run the > following for a lisp image: > # sbcl --eval "(require 'clfswm)" --eval '(sb-ext:save-lisp-and-die > "clfswm.core" :executable t)' > > This will generate a file named clfswm.core which you can execute to > get an sbcl image with clfswm loaded. ?You can run > # clfswm.core --eval (clfswm:main) to boot up clfswm. > > You could place that command in a script: > #!/bin/sh > /opt/clfswm/clfswm.core --eval "(clfswm:main)" > which you could then feed to startx > > I hope this gets you started. ?It may help if you attach the > buildscript in a reply. > > > Aad Versteden > > > PS: You'll likely want to have use flags for each of the currently > supported lisp distributions. Hello, Ignore my comments about the authorization issue, this was due to some local debugging which was laying around here. The proposed code should work. If you paste your ebuild script somewhere and I'll take a look at it. There's also the option of building CLFSWM with the scripts included in the distribution. I load it manually so I don't know much about that. The references of the previous post had to be: [1] http://www.xach.com/lisp/buildapp/ [2] http://www.cliki.net/cl-launch Best regards, Aad Versteden From v.plechinger at gmail.com Wed Jan 11 20:34:03 2012 From: v.plechinger at gmail.com (Valentin Plechinger) Date: Wed, 11 Jan 2012 21:34:03 +0100 Subject: [clfswm-devel] Clfswmrc Message-ID: Hello everyone, I'm trying to get clfswm to fit me after I picked it up again. Can some people provide me with their clfswmrc for inspiration? It would be appriciated. On a different subject I remember one thing that bugged me the last time I used this wm. It was very annoying to get functions to work in both main and second mode. Is there a way to make this work smoother? (I had to redefine run-or-raise the last time if I remember correctly and some other issues) Best Regards From pbrochard at common-lisp.net Wed Jan 11 22:10:33 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Wed, 11 Jan 2012 23:10:33 +0100 Subject: [clfswm-devel] CLFSWM on ECL In-Reply-To: (madnificent@gmail.com's message of "Tue, 10 Jan 2012 03:56:08 +0100") References: Message-ID: <87aa5tdh5y.fsf@common-lisp.net> madnificent at gmail.com writes: > Hello, > Hi, > > I got CLFSWM running on ECL's current HEAD [1] on Ubuntu 11.10 and it > seemed best to document the progress: > > # ./configure --with-x --enable-threads --with-clx > # make > # sudo make install > > The current ECL (which lists as version 11.1.1) has support for a > :wait when calling run-program. The latest commit of my github fork > contains the needed patch to make CLFSWM not freeze when running an > application [2][3]. ECL seems to do just fine for CLFSWM, though it > has frozen on me once for no apparent reason. Frame resizing feels > slower on ECL than it does on SBCL though. > I test clfswm on ECL from time to time and I have experienced the same feeling with frame resizing. Maybe we have to dig this. I'll merge your work on the main clfswm repo soon. > > Best regards, > Best regards, > Aad Versteden > Philippe > > [1] sha1 id: 606449eba0cb9f70a4f66e8cc56fa7e5c45512bb from > git://ecls.git.sourceforge.net/gitroot/ecls/ecl > [2] sha1 id: e4245092735a24edf47c860d4437a71a10fc80d1 from > https://madnificent at github.com/madnificent/clfswm.git > [3] https://github.com/madnificent/clfswm > > _______________________________________________ > clfswm-devel mailing list > clfswm-devel at common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel From pbrochard at common-lisp.net Wed Jan 11 22:18:47 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Wed, 11 Jan 2012 23:18:47 +0100 Subject: [clfswm-devel] Clfswmrc In-Reply-To: (Valentin Plechinger's message of "Wed, 11 Jan 2012 21:34:03 +0100") References: Message-ID: <871ur5dgs8.fsf@common-lisp.net> Valentin Plechinger writes: > Hello everyone, > Hi, > I'm trying to get clfswm to fit me after I picked it up again. > Can some people provide me with their clfswmrc for inspiration? > It would be appriciated. > here is mine: http://common-lisp.net/project/clfswm/dot-clfswmrc There is still some test in comments and I use surf from Suckless as my main web browser instead of uzbl. > On a different subject I remember one thing that bugged me the last > time I used this wm. > It was very annoying to get functions to work in both main and second mode. > Is there a way to make this work smoother? (I had to redefine > run-or-raise the last time if I remember correctly and some other > issues) > Feel free to report any problem here. We can think how to make things better. Best regards, Philippe > Best Regards > > _______________________________________________ > clfswm-devel mailing list > clfswm-devel at common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel From ales.guzik at gmail.com Thu Jan 12 06:54:48 2012 From: ales.guzik at gmail.com (Ales Guzik) Date: Thu, 12 Jan 2012 08:54:48 +0200 Subject: [clfswm-devel] Transparent background for empty frames Message-ID: Hi. Is there any way to make frames without windows draw transparent background instead of black? -- Regards, Ales Guzik ------------------------------------------------------------ e-mail: ales.guzik at gmail.com skype: ales-guzik tel: +375 29 5751103 From ales.guzik at gmail.com Thu Jan 12 10:23:54 2012 From: ales.guzik at gmail.com (Ales Guzik) Date: Thu, 12 Jan 2012 12:23:54 +0200 Subject: [clfswm-devel] Clfswmrc In-Reply-To: References: Message-ID: Hi. You may find mine setup here https://github.com/alesguzik/home/blob/master/.clfswmrc Here is what it looks like: https://plus.google.com/photos/112776652217889137974/albums/5696684730317865025 Actually, i don't think that my timing-based autostart is really good idea, but I haven't found any better way to start apps in predefined frames. On Wed, Jan 11, 2012 at 11:34 PM, Valentin Plechinger wrote: > Hello everyone, > I'm trying to get clfswm to fit me after I picked it up again. > Can some people provide me with their clfswmrc for inspiration? > It would be appriciated. > > On a different subject I remember one thing that bugged me the last > time I used this wm. > It was very annoying to get functions to work in both main and second mode. > Is there a way to make this work smoother? (I had to redefine > run-or-raise the last time if I remember correctly and some other > issues) > > Best Regards > > _______________________________________________ > clfswm-devel mailing list > clfswm-devel at common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel -- Regards, Ales Guzik ------------------------------------------------------------ e-mail: ales.guzik at gmail.com skype: ales-guzik tel: +375 29 5751103 From madnificent at gmail.com Thu Jan 12 20:46:57 2012 From: madnificent at gmail.com (madnificent) Date: Thu, 12 Jan 2012 21:46:57 +0100 Subject: [clfswm-devel] CLFSWM licence change? In-Reply-To: <8762gojq9k.fsf@common-lisp.net> References: <8762gojq9k.fsf@common-lisp.net> Message-ID: On Sat, Jan 7, 2012 at 1:43 AM, Philippe Brochard wrote: > As discussed with Aad Versteden, what to you thing about a CLFSWM > licence change from the GPL to the BSD (or another free one)? > > Best regards, > > Philippe > > _______________________________________________ > clfswm-devel mailing list > clfswm-devel at common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel Dear list, The license change was a request on my end. I'll try to give a short overview of my understanding of the options and my personal preference. This is legal stuff, so it takes a while to read through it. I'm not trying to start a flame war. Legal issues are complex, I don't claim to know all about it. If you are a lawyer or judge, feel free to enlighten me. The contenders -------------- - GPLv2 GPLv2 basically states that the code itself must be free and must remain free when licensed to others. It requires that all code which links to this code (in terms of lisp, that's all code in the image) is released under a compatible license. AFAICT this means you can only use the code in lisps where only code is loaded under a GPLv2 compatible license [2]. [1] contains an exemplary case. - GPLv3 GPLv3 basically states that the code itself must /really/ be free. Except, it doesn't really do that. It also removes your right to use any patents on the software you have provided the license for. I don't see a statement which explicits that this only holds for the portions of the code you wrote yourself, nor do I see something stating that it only holds to patents which you hold yourself. It's a tad vague for me as a non-lawyer. Though at least the talks RMS gave about it talk about aggressors and non aggressors, so I guess you might be safe. I may be missing it, IANAL. The GPLv3 also clearly shows that the FSF is ready to attack single individual companies by changing the GPL according to their needs. - AGPL AGPL basically holds itself to the rules of its underlying GPL license but also states that if the software is ran on a server (and it's not distributed), that the source code must also be released. At least, that's what I make of it. So this means that you're /really/ really free, I guess. - LGPL LGPLvX drops the requirement that applications which link to your application need to be under the same license. But this doesn't work for lisp for one reason or another, therefore it seems we need to pick LLGPL to get the same effect. The LLGPL hasn't had any tests in court AFAIK, but at least someone with some legal knowledge has thought about it. - 3 clause BSD Both BSD and MIT licenses take a different stance on copyright. Instead of requiring that the code is free, they require that the coder is free. 3 clause BSD states that you can do whatever you want with the software, given that you say where you got it from and that you don't use the names of those that helped write it in the promotion of your product. It's incompatible with any GPL license, as it puts restrictions on how you can distribute it (being, you can't promote it with the names of the authors). As a non-lawyer, I think I understand this license. I can comprehend the letters which are in there and convert them into a logical system. - 2 clause BSD / MIT In short this says: here's the code, have fun with it. It doesn't actually require much of anything, you just get the code. This is the easiest license to understand. I'm fairly certain that it won't come back and haunt me. - (GPLvX) or any future version The "any future version" qualifier states that when the FSF creates a new GPL license, whichever shape or form it takes, the user may pick that license as well. This sounds like a smart idea, because it means that users can get the benefits of any future version of the GPL. Stop. This means that *users* can pick any future version of anything that the FSF deems fit later on. Contemplate on this for a second. It means you'll have to comply with anything the FSF makes up for you in the future. Like say, you, the programmer, must defend the code in any copyright claims or lawsuits placed against those using the code. Or, just for the whack of RMS's dream, all other code you write must be released under the same license. Perhaps a future version of the GPL will state that MIT was good enough all along. Maybe the FSF is in need of funding and finds it funny to require money from you in their later licenses. Perhaps it'll state that the BigCorp which bought the FSF feels that they are entitled to the code without giving anything back. Or just, to give you a choice, all your base are belong to us. Anything goes. IANAL, but that's basically what you're saying. Anything. The free software foundation has (perhaps rightfully, yet still) targeted individual contractors in their licenses. What this states is that, if RMS goes whack, you're prepared to go mental with him. I have yet to meet the first person with whom I agree on everything, every time. A common answer is "but it won't get that far", yet sadly written agreements are only important when things go wrong. What we have now ---------------- Currently CLFSWM is released under the in my opinion ludicrous GPLv3 or any future version. I have stated my dislike for the 'or any future version' portion in the previous section, I think I have made my point there (you are free to disagree). While this license certainly has the marketing and legal machine of the FSF behind it, many big projects have explicitly chosen to stay away from it. One notable project is the Linux kernel, but there are many many others. There are several issues with the GPLv3 for us. None of the code in the project can, AFAICT, be distributed in non-free lisps. Though again the subject is a bit hazy as any code "which users are reasonably expected to have" do not need to fall under the same license, seriously I have no idea where that line is drawn. Even if the users would want to share the code to get CLFSWM working on those lisp implementations, they are not allowed to do so. I don't use non-free implementations myself, but I prefer to have the choice. I want to be left free as a programmer. Again, I'm not certain of this, I don't fully understand the GPLv2, let stand the GPLv3. Just look online about the vast amount of writing there is on the interpretation of the GPLv3, it's normal that I don't. That probably means that it has been researched, but it also means that I don't know what I'm getting into. And that's my main issue against the GPL. I don't understand the license. It is *way* too complex for my tiny little brain to understand. I thought I understood, but then I read [1] and suddenly I realized that I don't understand it at all. The last thing I want, is give code /for free/ to people I don't know and get sued for things I don't understand. It scares me. It really does! I don't even know what I'm allowed to do in the contributions directory. I don't want to get sued in the future for the code I write and I don't even know if I'm actually allowed to release under the MIT license in there. You may think you know, but I'd prefer to hear it from a seasoned lawyer before I take my bet on it. Lastly, I don't think you really have to hold a gun against someones head and shout at them "NOW BE FRIENDLY BIATCH!", you can learn to be friendly and share with each other without the odds of getting tasered in the sack. In fact, I don't think they really call it sharing when you ask for someone on the street to 'share' their iPad with you when you're pointing a gun at them. What I prefer over all else --------------------------- I prefer to understand what I'm opening myself up against. And that means that I prefer the MIT license. I understand the MIT license. If there were anything simpler than that which allows others to use, extend and share tho code, I'd probably pick that. Chances are extremely slim that a company is going to get rich on the code base of CLFSWM. So why limit the options of our users? Why raise the chance of getting sued for something you don't understand? I don't see the benefits of a less liberal license here. Your opinion may obviously be different. Perhaps it pollutes the ideal of a world full of GPL software. I personally believe that a lot of great ideas would never be formalized into software, if they'd need to open up their source. The proliferation of online services is a hint towards this. Obviously, it is nothing more than an assumption. I have no studies to back it up. I also believe that companies do give back to the community when their changes don't provide them with a tactical advantage. It is simply more cost-effective to send patches upstream. Monetary gain is something companies tend to understand, risk is something they tend to avoid. Though again, CLFSWM will most likely not be confronted with this issue anyways. Given that users are more inclined to /share/ extensions than to keep them for themselves, it may even help the development of CLFSWM itself. Say that the hook system is separated into a standalone library. Other players which don't use CLFSWM may use it in their systems, even if they were proprietary. The advancements which they make into the hooks system can, and likely will, still be shared and thus make CLFSWM better than what it is. This is obviously not exclusive to CLFSWM. Lastly, I really want the users to be free. If they want to spray-paint tables with it: enjoy! I don't care what you do with it. If you want to print it and flush it down the toilet: fine! I hope it makes you smile. The complex legal situation --------------------------- Given the fact that some code has been used from the stumpwm project and some other code has been used from other projects, you have to thoroughly consider what needs to happen in order to keep everything working and legally sound. Or at least something that seems legal. Any change (including the one in which you pick GPLv2 libraries and put them in a library which is under the GPLv3) needs to be studied before claiming that you can just pick the code and alter the license. It could be that some parts need to be rewritten or split off. Splitting things off brings us to another interesting subtopic. Due to QuickLisp it has become a lot simpler to split up a single application into multiple systems and packages (besides, it could be a single tarball to download without QuickLisp too). Currently most of CLFSWM seems to be in a single package, everything is in one system. Various systems can have various licenses. Perhaps this could ease the transition towards a more liberal licensing scheme and perhaps it could make us use and share more open code (like Alexandria). A common ground --------------- As I have heard, some of the users on this list are heavy proponents of the GPL. A common ground is obviously the LLGPL, as it at least gives users the freedom to have a bit of freedom in what they want to do with the libraries. I don't fully understand the license and thus it still scares me off, but it would make me feel less uncomfortable. A scheme in which multiple licenses are used for various portions of CLFSWM seems like a viable option for me too. Anyone using the full CLFSWM system will then be forced to use the most oppressing license (GPLv3 or later), for various smaller portions the compatible MIT license could be used. By all means, I do suggest we drop the "or any future version" of the license we have now. If you want to allow swift upgrades, then the only sensible thing to do is to give all rights to the code to Philippe Brochard and let him take the responsibility of upgrading the license when necessary. It would be absolutely awesome if I could hear each contributor's preference and the reason for his preference! I'm eagerly waiting to hear from all of you. Best regards, Aad Versteden [1] http://clisp.cvs.sourceforge.net/viewvc/clisp/clisp/doc/Why-CLISP-is-under-GPL [2] Practically speaking, GPLv2 is only compatible with 2-clause BSD, which is the same as MIT, or other (L)GPLv2 code. AFAIK GPLv2 and GPLv3 are incompatible. Kindergarten psychology tells me pictures work better: http://www.gnu.org/licenses/quick-guide-gplv3-compatibility.png Expat is the name the FSF uses for what everyone else calls the MIT license. From stayvoid at gmail.com Thu Jan 12 21:33:33 2012 From: stayvoid at gmail.com (Stayvoid) Date: Fri, 13 Jan 2012 00:33:33 +0300 Subject: [clfswm-devel] CLFSWM licence change? In-Reply-To: References: <8762gojq9k.fsf@common-lisp.net> Message-ID: I'm advocating for the GNU GPLv3 or any future version. > And that's my main issue against the GPL. I don't understand the > license. It is *way* too complex for my tiny little brain to > understand. It's written in such way to protect users' (including the author) freedom from various legal tricks. Watch this: http://www.youtube.com/watch?v=E5G7FU5j2Uc > I don't even know what I'm allowed to do in the contributions directory. You can ask the FSF: http://www.fsf.org/about/contact/email The main goal of the GNU GPL is to protect people from the proprietary software. If you let them to use some non-free programs, then you'll support the proprietary software. There are a lot of people who don't understand the importance of the free software. The GNU GPL is a hack to protect their freedom too. Cheers. From madnificent at gmail.com Thu Jan 12 21:49:59 2012 From: madnificent at gmail.com (madnificent) Date: Thu, 12 Jan 2012 22:49:59 +0100 Subject: [clfswm-devel] CLFSWM licence change? In-Reply-To: References: <8762gojq9k.fsf@common-lisp.net> Message-ID: Hello Stayvoid, On Thu, Jan 12, 2012 at 10:33 PM, Stayvoid wrote: > I'm advocating for the GNU GPLv3 or any future version. "any future version" is a no-go for me. >> And that's my main issue against the GPL. I don't understand the >> license. It is *way* too complex for my tiny little brain to >> understand. > It's written in such way to protect users' (including the author) > freedom from various legal tricks. > Watch this: http://www.youtube.com/watch?v=E5G7FU5j2Uc I don't understand the legal writing, I understand their explanation. As RMS has a very limited view on what the world should look like, I find it hard to trust his opinions on his own work. So it may be cool that they limit all sorts of legal tricks, but that also makes sure I'm really certain I don't understand what I'm getting myself in to. >> I don't even know what I'm allowed to do in the contributions directory. > You can ask the FSF: http://www.fsf.org/about/contact/email Yes you can, but still I don't understand it myself. For something I'm doing for free, it feels really really odd. > The main goal of the GNU GPL is to protect people from the proprietary > software. If you let them to use some non-free programs, then you'll > support the proprietary software. There are a lot of people who don't > understand the importance of the free software. The GNU GPL is a hack > to protect their freedom too. Proprietary software isn't the root of all evil. If it were, then you wouldn't be using a gmail address right now. For a *lot* of things it makes more sense to share code, but sometimes, it doesn't. Forcing people to be free isn't exactly making them free. In the same way an exorcism doesn't really free people. Nor does freeing people from any given religion. Freedom is having the choice. But in essence both did free people from something we assumed they had to be freed of. The GPL doesn't give freedom to users, it takes it away. :-) Freedom means having a choice. And although the FSF does it's best to make sure you understand that the GPL is giving you freedom, it really is taking it away. > > Furthermore I'm not prepared to be held responsible over potential violations of *future* versions of the GPL license, whatever they may be. Any future version is a clear no-go for me, from a contributor's point of view. > > > Cheers. > > _______________________________________________ > clfswm-devel mailing list > clfswm-devel at common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel Best regards, Aad Versteden From stayvoid at gmail.com Thu Jan 12 22:34:18 2012 From: stayvoid at gmail.com (Stayvoid) Date: Fri, 13 Jan 2012 01:34:18 +0300 Subject: [clfswm-devel] CLFSWM licence change? In-Reply-To: References: <8762gojq9k.fsf@common-lisp.net> Message-ID: > "any future version" is a no-go for me. > Furthermore I'm not prepared to be held responsible over potential > violations of *future* versions of the GPL license, whatever they may > be. ?Any future version is a clear no-go for me, from a contributor's > point of view. Future versions are for those people who want to distribute the copies. For example, there will be some new legal tricks in the future. So you have to provide people a chance to choose between the GNU GPL 3 or the advanced version. You can't get sued for that because you've chosen the GNU GPL 3. > I don't understand the legal writing, I understand their explanation. You should try to understand. Or you can ask a lawyer to help you. > Proprietary software isn't the root of all evil. No, it's not, but there are a lot of things which depend on the software. Computers are everywhere nowadays. > If it were, then you wouldn't be using a gmail address right now. It's a temporary email. I hope to use my own in the near future. > For a *lot* of things it makes more sense to share code, but sometimes, it doesn't. I don't think so. Could you provide an example? > Forcing people to be free isn't exactly making them free.?In the same way an > exorcism doesn't really free people.?Nor does freeing people from any > given religion. Freedom is having the choice.?But in essence both > did free people from something we assumed they had to be freed of. > The GPL doesn't give freedom to users, it takes it away. :-) Do not sneer, please. The choice means that you have four essential freedoms. It's not a real freedom if you have to choose between the free software and the proprietary software, because the latter restricts you. > Furthermore I'm not prepared to be held responsible over potential > violations of *future* versions of the GPL license, whatever they may > be. ?Any future version is a clear no-go for me, from a contributor's > point of view. You will not be responsible if you don't violate the license. Ask a lawyer if you aren't sure. It's very important. I hope you'll agree with me. Cheers. From madnificent at gmail.com Thu Jan 12 23:22:02 2012 From: madnificent at gmail.com (madnificent) Date: Fri, 13 Jan 2012 00:22:02 +0100 Subject: [clfswm-devel] CLFSWM licence change? In-Reply-To: References: <8762gojq9k.fsf@common-lisp.net> Message-ID: Hello Stayvoid, On Thu, Jan 12, 2012 at 11:34 PM, Stayvoid wrote: >> "any future version" is a no-go for me. >> Furthermore I'm not prepared to be held responsible over potential >> violations of *future* versions of the GPL license, whatever they may >> be. ?Any future version is a clear no-go for me, from a contributor's >> point of view. > Future versions are for those people who want to distribute the copies. > For example, there will be some new legal tricks in the future. So you > have to provide people a chance to choose between the GNU GPL 3 or the > advanced version. > You can't get sued for that because you've chosen the GNU GPL 3. Yes, the distributors can pick the new license. The new license can say something to which the authors of the code must adhere. My agreement between me and the distributors is the agreement which the *distributor* picks. Hence, I'm signing a contract of which I don't know what's in it yet. I try not to sign legal documents for which the content isn't written yet. >> I don't understand the legal writing, I understand their explanation. > You should try to understand. Or you can ask a lawyer to help you. I can, I must then pay him. I'm providing code, free. Furthermore I'll be placing my trust in those that parse the license, hence there's a big possibility for error, depending on how the court judges interpret the rules. Why would I possibly want to endanger myself in this situation? >> Proprietary software isn't the root of all evil. > No, it's not, but there are a lot of things which depend on the > software. Computers are everywhere nowadays. The omnipresence of computers seems unrelated. >> If it were, then you wouldn't be using a gmail address right now. > It's a temporary email. I hope to use my own in the near future. > >> For a *lot* of things it makes more sense to share code, but sometimes, it doesn't. > I don't think so. Could you provide an example? It's obviously complex to state that it is impossible, but implausible for sure. Thing is: there rarely are examples in which both a closed and an open source version exist simultaneously. In my interpretation keeping the source on your own servers is the equivalent of closed source software. It doesn't matter that you used any GPL code, if you're not sharing the code of your web service, you're essentially as closed as can be. I'm sure you can agree on that. Take just about any tech startup, many wouldn't succeed if they didn't have their unique product to offer. The key there is that they provide a little benefit, to many people. Whenever that happens, it doesn't make sense to open source everything, you would only sell it to one person, so you'd only be able to sell a little benefit (not worth much) instead of many little benefits. I myself am involved in such a startup company. It doesn't mean we don't try to share wherever possible, but whatever we build that provides us our competitive edge, is not shared. We aim to build an affordable Business Intelligence solution. An example in which I'm not involved in is Wunderlist. Another is aerofs or the windsoc api. The costs of building these things and showcasing that it is a viable product, need to be payed back. Later open source solutions may arise. As a user I'd prefer them all to be open sourced. But if I'd want them to be from the start, then they wouldn't have been built in the first place. Making these projects a sensible business decision (in the real world, we need to pay for our food) generally means that you kind of have to keep stuff for yourself for a while. The only big company that I followed which went open source by the heart of it was Sun, and they kind of flunked. >> Forcing people to be free isn't exactly making them free.?In the same way an >> exorcism doesn't really free people.?Nor does freeing people from any >> given religion. Freedom is having the choice.?But in essence both >> did free people from something we assumed they had to be freed of. >> The GPL doesn't give freedom to users, it takes it away. :-) > Do not sneer, please. > The choice means that you have four essential freedoms. It's not a > real freedom if you have to choose between the free software and the > proprietary software, because the latter restricts you. MIT is not proprietary, it does *not* restrict you. Please. It is *not* pro GPL or pro proprietary software. >> Furthermore I'm not prepared to be held responsible over potential >> violations of *future* versions of the GPL license, whatever they may >> be. ?Any future version is a clear no-go for me, from a contributor's >> point of view. > You will not be responsible if you don't violate the license. > Ask a lawyer if you aren't sure. > > It's very important. I hope you'll agree with me. Yes it is. And no I do not agree with you. > > Cheers. Best regards, Aad Versteden > > _______________________________________________ > clfswm-devel mailing list > clfswm-devel at common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel From pbrochard at common-lisp.net Fri Jan 13 23:11:07 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 14 Jan 2012 00:11:07 +0100 Subject: [clfswm-devel] CLFSWM licence change? In-Reply-To: (madnificent@gmail.com's message of "Thu, 12 Jan 2012 21:46:57 +0100") References: <8762gojq9k.fsf@common-lisp.net> Message-ID: <878vlbqjuc.fsf@common-lisp.net> Hi, First I've made CLFSWM under the GPLv2 and then GPLv3 because CLFSWM is based on Stumpwm (GPLv2 or later), Eclipse (GPL) and Tinywm (Public Domain). As explained before, it do not share too much code with Stumpwm and none with the two later. My point of view on licence: I like the GPLv3 because, as a user, it gives me the four freedoms and I'm sure to keep them. My code can't be converted in proprietary software. Every developer is *constrained* to share its code with us. The 'or later' close is good for me (as a user) because if the new licence version gives me more freedom I can apply the new version immediately but if I don't like it, I can use the software in its current version. As a developer, the GPL grants me that my code will be always free with the four freedoms. I'll not waste my energy with the fear to have my code used by others in proprietary software and not shared with us. On the 'or later' close, please, read this if not already done: http://www.gnu.org/licenses/gpl-faq.html#VersionThreeOrLater Maybe a problem with CLFSWM under the GPL is that you have to run CLFSWM under a GPL compatible Lisp implementation. But CLFSWM is made to run under free software like GNU/Linux or BSD. As stated before I'm not against proprietary software user: do what you want. So this restriction may be too heavy. This is why I've placed some other Common Lisp projects under the LLGPL licence. On the other side, I like the BSD/MIT licence because they're more simple and gives all freedoms to the developer. The 'do what you want with the code but keep my author name' is appealing. In conclusion: The GPLv3 is good for me (of course :) ) but an other licence is maybe acceptable if there is a lot of request in this direction. Another thing. At its beginning, I've stated that CLFSWM will be developed in a fork based method because it's really very personal: "Fork it and do what you want with it". There is no configuration file at this time and the configuration has to be done with grep on the code :) I've changed to a more conventional method because the fork based method do not ease the version upgrade: it's hard to follow. Best regards, Philippe madnificent at gmail.com writes: [...] > Dear list, > > > The license change was a request on my end. I'll try to give a short > overview of my understanding of the options and my personal > preference. This is legal stuff, so it takes a while to read through > it. I'm not trying to start a flame war. Legal issues are complex, I > don't claim to know all about it. If you are a lawyer or judge, feel > free to enlighten me. > > > > The contenders > -------------- > - GPLv2 > GPLv2 basically states that the code itself must be free and must > remain free when licensed to others. It requires that all code which > links to this code (in terms of lisp, that's all code in the image) is > released under a compatible license. AFAICT this means you can only > use the code in lisps where only code is loaded under a GPLv2 > compatible license [2]. [1] contains an exemplary case. > > - GPLv3 > GPLv3 basically states that the code itself must /really/ be free. > Except, it doesn't really do that. It also removes your right to use > any patents on the software you have provided the license for. I don't > see a statement which explicits that this only holds for the portions > of the code you wrote yourself, nor do I see something stating that it > only holds to patents which you hold yourself. It's a tad vague for > me as a non-lawyer. Though at least the talks RMS gave about it talk > about aggressors and non aggressors, so I guess you might be safe. I > may be missing it, IANAL. The GPLv3 also clearly shows that the FSF > is ready to attack single individual companies by changing the GPL > according to their needs. > > - AGPL > AGPL basically holds itself to the rules of its underlying GPL > license but also states that if the software is ran on a server (and > it's not distributed), that the source code must also be released. At > least, that's what I make of it. So this means that you're /really/ > really free, I guess. > > - LGPL > LGPLvX drops the requirement that applications which link to your > application need to be under the same license. But this doesn't work > for lisp for one reason or another, therefore it seems we need to pick > LLGPL to get the same effect. The LLGPL hasn't had any tests in court > AFAIK, but at least someone with some legal knowledge has thought > about it. > > - 3 clause BSD > Both BSD and MIT licenses take a different stance on copyright. > Instead of requiring that the code is free, they require that the > coder is free. 3 clause BSD states that you can do whatever you want > with the software, given that you say where you got it from and that > you don't use the names of those that helped write it in the promotion > of your product. It's incompatible with any GPL license, as it puts > restrictions on how you can distribute it (being, you can't promote it > with the names of the authors). As a non-lawyer, I think I understand > this license. I can comprehend the letters which are in there and > convert them into a logical system. > > - 2 clause BSD / MIT > In short this says: here's the code, have fun with it. It doesn't > actually require much of anything, you just get the code. This is the > easiest license to understand. I'm fairly certain that it won't come > back and haunt me. > > - (GPLvX) or any future version > The "any future version" qualifier states that when the FSF creates > a new GPL license, whichever shape or form it takes, the user may pick > that license as well. This sounds like a smart idea, because it means > that users can get the benefits of any future version of the GPL. > Stop. This means that *users* can pick any future version of anything > that the FSF deems fit later on. Contemplate on this for a second. > It means you'll have to comply with anything the FSF makes up for you > in the future. Like say, you, the programmer, must defend the code in > any copyright claims or lawsuits placed against those using the code. > Or, just for the whack of RMS's dream, all other code you write must > be released under the same license. Perhaps a future version of the > GPL will state that MIT was good enough all along. Maybe the FSF is > in need of funding and finds it funny to require money from you in > their later licenses. Perhaps it'll state that the BigCorp which > bought the FSF feels that they are entitled to the code without giving > anything back. Or just, to give you a choice, all your base are > belong to us. Anything goes. IANAL, but that's basically what you're > saying. Anything. The free software foundation has (perhaps > rightfully, yet still) targeted individual contractors in their > licenses. What this states is that, if RMS goes whack, you're > prepared to go mental with him. I have yet to meet the first person > with whom I agree on everything, every time. A common answer is "but > it won't get that far", yet sadly written agreements are only > important when things go wrong. > > > > What we have now > ---------------- > > Currently CLFSWM is released under the in my opinion ludicrous GPLv3 > or any future version. I have stated my dislike for the 'or any > future version' portion in the previous section, I think I have made > my point there (you are free to disagree). While this license > certainly has the marketing and legal machine of the FSF behind it, > many big projects have explicitly chosen to stay away from it. One > notable project is the Linux kernel, but there are many many others. > > There are several issues with the GPLv3 for us. None of the code in > the project can, AFAICT, be distributed in non-free lisps. Though > again the subject is a bit hazy as any code "which users are > reasonably expected to have" do not need to fall under the same > license, seriously I have no idea where that line is drawn. Even if > the users would want to share the code to get CLFSWM working on those > lisp implementations, they are not allowed to do so. I don't use > non-free implementations myself, but I prefer to have the choice. I > want to be left free as a programmer. Again, I'm not certain of this, > I don't fully understand the GPLv2, let stand the GPLv3. Just look > online about the vast amount of writing there is on the interpretation > of the GPLv3, it's normal that I don't. That probably means that it > has been researched, but it also means that I don't know what I'm > getting into. > > And that's my main issue against the GPL. I don't understand the > license. It is *way* too complex for my tiny little brain to > understand. I thought I understood, but then I read [1] and suddenly > I realized that I don't understand it at all. The last thing I want, > is give code /for free/ to people I don't know and get sued for things > I don't understand. It scares me. It really does! I don't even know > what I'm allowed to do in the contributions directory. I don't want > to get sued in the future for the code I write and I don't even know > if I'm actually allowed to release under the MIT license in there. > You may think you know, but I'd prefer to hear it from a seasoned > lawyer before I take my bet on it. > > Lastly, I don't think you really have to hold a gun against someones > head and shout at them "NOW BE FRIENDLY BIATCH!", you can learn to be > friendly and share with each other without the odds of getting tasered > in the sack. In fact, I don't think they really call it sharing when > you ask for someone on the street to 'share' their iPad with you when > you're pointing a gun at them. > > > > What I prefer over all else > --------------------------- > > I prefer to understand what I'm opening myself up against. And that > means that I prefer the MIT license. I understand the MIT license. > If there were anything simpler than that which allows others to use, > extend and share tho code, I'd probably pick that. Chances are > extremely slim that a company is going to get rich on the code base of > CLFSWM. So why limit the options of our users? Why raise the chance > of getting sued for something you don't understand? I don't see the > benefits of a less liberal license here. Your opinion may obviously > be different. > > Perhaps it pollutes the ideal of a world full of GPL software. I > personally believe that a lot of great ideas would never be formalized > into software, if they'd need to open up their source. The > proliferation of online services is a hint towards this. Obviously, > it is nothing more than an assumption. I have no studies to back it > up. I also believe that companies do give back to the community when > their changes don't provide them with a tactical advantage. It is > simply more cost-effective to send patches upstream. Monetary gain is > something companies tend to understand, risk is something they tend to > avoid. Though again, CLFSWM will most likely not be confronted with > this issue anyways. > > Given that users are more inclined to /share/ extensions than to keep > them for themselves, it may even help the development of CLFSWM > itself. Say that the hook system is separated into a standalone > library. Other players which don't use CLFSWM may use it in their > systems, even if they were proprietary. The advancements which they > make into the hooks system can, and likely will, still be shared and > thus make CLFSWM better than what it is. This is obviously not > exclusive to CLFSWM. > > Lastly, I really want the users to be free. If they want to > spray-paint tables with it: enjoy! I don't care what you do with it. > If you want to print it and flush it down the toilet: fine! I hope it > makes you smile. > > > > The complex legal situation > --------------------------- > > Given the fact that some code has been used from the stumpwm project > and some other code has been used from other projects, you have to > thoroughly consider what needs to happen in order to keep everything > working and legally sound. Or at least something that seems legal. > Any change (including the one in which you pick GPLv2 libraries and > put them in a library which is under the GPLv3) needs to be studied > before claiming that you can just pick the code and alter the license. > It could be that some parts need to be rewritten or split off. > > Splitting things off brings us to another interesting subtopic. Due > to QuickLisp it has become a lot simpler to split up a single > application into multiple systems and packages (besides, it could be a > single tarball to download without QuickLisp too). Currently most of > CLFSWM seems to be in a single package, everything is in one system. > Various systems can have various licenses. Perhaps this could ease > the transition towards a more liberal licensing scheme and perhaps it > could make us use and share more open code (like Alexandria). > > > > A common ground > --------------- > > As I have heard, some of the users on this list are heavy proponents > of the GPL. A common ground is obviously the LLGPL, as it at least > gives users the freedom to have a bit of freedom in what they want to > do with the libraries. I don't fully understand the license and thus > it still scares me off, but it would make me feel less uncomfortable. > A scheme in which multiple licenses are used for various portions of > CLFSWM seems like a viable option for me too. Anyone using the full > CLFSWM system will then be forced to use the most oppressing license > (GPLv3 or later), for various smaller portions the compatible MIT > license could be used. By all means, I do suggest we drop the "or any > future version" of the license we have now. If you want to allow > swift upgrades, then the only sensible thing to do is to give all > rights to the code to Philippe Brochard and let him take the > responsibility of upgrading the license when necessary. > > > > It would be absolutely awesome if I could hear each contributor's > preference and the reason for his preference! I'm eagerly waiting to > hear from all of you. > > > Best regards, > > Aad Versteden > > > > [1] http://clisp.cvs.sourceforge.net/viewvc/clisp/clisp/doc/Why-CLISP-is-under-GPL > [2] Practically speaking, GPLv2 is only compatible with 2-clause BSD, > which is the same as MIT, or other (L)GPLv2 code. AFAIK GPLv2 and > GPLv3 are incompatible. Kindergarten psychology tells me pictures > work better: http://www.gnu.org/licenses/quick-guide-gplv3-compatibility.png > Expat is the name the FSF uses for what everyone else calls the MIT > license. > > _______________________________________________ > clfswm-devel mailing list > clfswm-devel at common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel From pbrochard at common-lisp.net Fri Jan 13 23:13:38 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 14 Jan 2012 00:13:38 +0100 Subject: [clfswm-devel] Transparent background for empty frames In-Reply-To: (Ales Guzik's message of "Thu, 12 Jan 2012 08:54:48 +0200") References: Message-ID: <874nvzqjq5.fsf@common-lisp.net> Ales Guzik writes: > Hi. > Hi, > Is there any way to make frames without windows draw transparent > background instead of black? > I've made some test in the past but nothing I'm happy with. This can be added to the TODO file to make CLFSWM more eye candy. Cheers, Philippe From pbrochard at common-lisp.net Fri Jan 13 23:21:03 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 14 Jan 2012 00:21:03 +0100 Subject: [clfswm-devel] Clfswmrc In-Reply-To: (Ales Guzik's message of "Thu, 12 Jan 2012 12:23:54 +0200") References: Message-ID: <87y5tbp4tc.fsf@common-lisp.net> Ales Guzik writes: > Hi. > > You may find mine setup here > https://github.com/alesguzik/home/blob/master/.clfswmrc > > Here is what it looks like: > https://plus.google.com/photos/112776652217889137974/albums/5696684730317865025 > > Actually, i don't think that my timing-based autostart is really good > idea, but I haven't found any better way to start apps in predefined > frames. > You can also use a new window hook like the one I use for the Surf window. And then remove the hook on frames when all your autoload applications are started. See here: http://common-lisp.net/project/clfswm/dot-clfswmrc in set-surf-frame-nw-hook and init-surf-frame functions. > On Wed, Jan 11, 2012 at 11:34 PM, Valentin Plechinger > wrote: >> Hello everyone, >> I'm trying to get clfswm to fit me after I picked it up again. >> Can some people provide me with their clfswmrc for inspiration? >> It would be appriciated. >> >> On a different subject I remember one thing that bugged me the last >> time I used this wm. >> It was very annoying to get functions to work in both main and second mode. >> Is there a way to make this work smoother? (I had to redefine >> run-or-raise the last time if I remember correctly and some other >> issues) >> >> Best Regards >> >> _______________________________________________ >> clfswm-devel mailing list >> clfswm-devel at common-lisp.net >> http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel From stayvoid at gmail.com Sat Jan 14 01:47:46 2012 From: stayvoid at gmail.com (Stayvoid) Date: Sat, 14 Jan 2012 04:47:46 +0300 Subject: [clfswm-devel] CLFSWM licence change? In-Reply-To: <878vlbqjuc.fsf@common-lisp.net> References: <8762gojq9k.fsf@common-lisp.net> <878vlbqjuc.fsf@common-lisp.net> Message-ID: Hello! Aad, you was misinformed about GPLv3. You've objected to problems that don't really exist. GPL defends freedom for all users, and GPLv3 does the job better. GPLv2 http://www.gnu.org/licenses/license-list.en.html#GPLv2 GPLv3 http://www.gnu.org/licenses/license-list.en.html#GNUGPL AGPLv3 http://www.gnu.org/licenses/license-list.en.html#AGPLv3.0 LGPL www.gnu.org/licenses/license-list.en.html#LGPL Clear BSD http://www.gnu.org/licenses/license-list.en.html#clearbsd "Because of this, we encourage you to be careful about using software under this license; you should first consider whether the licensor might want to sue you for patent infringement." Modified BSD http://www.gnu.org/licenses/license-list.en.html#ModifiedBSD FreeBSD http://www.gnu.org/licenses/license-list.en.html#FreeBSD X11 License http://www.gnu.org/licenses/license-list.en.html#X11License http://www.gnu.org/licenses/license-list.en.html#GPLIncompatibleLicenses http://www.gnu.org/licenses/gpl-faq.en.html#WhatDoesCompatMean http://www.gnu.org/licenses/quick-guide-gplv3.en.html FAQ: http://www.gnu.org/licenses/gpl-faq.en.html > On the other side, I like the BSD/MIT licence because they're more > simple and gives all freedoms to the developer. The 'do what you want > with the code but keep my author name' is appealing. Philippe, the simplicity of those licenses is a bad thing. Those don't protect people from some legal tricks: http://www.gnu.org/licenses/quick-guide-gplv3.en.html Please stick with the GNU GPL 3 (or any later version). I've also talked with rms via email. If you have any concerns about the GPLv3 you can talk with him. From madnificent at gmail.com Sat Jan 14 07:04:58 2012 From: madnificent at gmail.com (madnificent) Date: Sat, 14 Jan 2012 08:04:58 +0100 Subject: [clfswm-devel] CLFSWM licence change? In-Reply-To: References: <8762gojq9k.fsf@common-lisp.net> <878vlbqjuc.fsf@common-lisp.net> Message-ID: Hello Stayvoid, On Sat, Jan 14, 2012 at 2:47 AM, Stayvoid wrote: > Hello! > > Aad, you was misinformed about GPLv3. You've objected to problems that > don't really exist. GPL defends freedom for all users, and GPLv3 does > the job better. > > GPLv2 > http://www.gnu.org/licenses/license-list.en.html#GPLv2 > > GPLv3 > http://www.gnu.org/licenses/license-list.en.html#GNUGPL > > AGPLv3 > http://www.gnu.org/licenses/license-list.en.html#AGPLv3.0 > > LGPL > www.gnu.org/licenses/license-list.en.html#LGPL > > Clear BSD > http://www.gnu.org/licenses/license-list.en.html#clearbsd > "Because of this, we encourage you to be careful about using software > under this license; you should first consider whether the licensor > might want to sue you for patent infringement." No one suggested Clear BSD so far. > Modified BSD > http://www.gnu.org/licenses/license-list.en.html#ModifiedBSD This is what we call 'the' BSD license so far, or at least what I've called that. It's the three clause BSD license (that's "you need to keep my name in here, have fun with the code"). > FreeBSD > http://www.gnu.org/licenses/license-list.en.html#FreeBSD No one talked about this. > X11 License > http://www.gnu.org/licenses/license-list.en.html#X11License I don't know the inner details of the X11 license, they claim it's similar to MIT, I haven't checked. It seems more complex than need be. > http://www.gnu.org/licenses/license-list.en.html#GPLIncompatibleLicenses > http://www.gnu.org/licenses/gpl-faq.en.html#WhatDoesCompatMean > http://www.gnu.org/licenses/quick-guide-gplv3.en.html > > FAQ: > http://www.gnu.org/licenses/gpl-faq.en.html Sorry, I must be missing the point here. I don't see where I'm wrong here. It would be nice if we could refer to non-biased documentation, or just documentation for that matter. Almost none of these links contain thorough interpreted information about the licenses. I don't immediately see anything wrong with what I said here. The site contains four sentences of documentation for each license and then links to the license text itself. I must be missing something here. You've also forgotten to include the Expat (that's what common people call MIT) license [1]. Of which, for the record, they don't really say anything bad. >> On the other side, I like the BSD/MIT licence because they're more >> simple and gives all freedoms to the developer. The 'do what you want >> with the code but keep my author name' is appealing. > Philippe, the simplicity of those licenses is a bad thing. Those don't > protect people from some legal tricks: > http://www.gnu.org/licenses/quick-guide-gplv3.en.html Simplicity is rarely a bad thing. I see no legal tricks which can be pulled on me if I use or publish MIT code. The GPLv3 is in fact the one trying to pull legal tricks on companies which have distributed software under the GPLv2 or later. > Please stick with the GNU GPL 3 (or any later version). > > I've also talked with rms via email. If you have any concerns about > the GPLv3 you can talk with him. Best regards, Aad Versteden [1] http://www.gnu.org/licenses/license-list.en.html#Expat > _______________________________________________ > clfswm-devel mailing list > clfswm-devel at common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel From madnificent at gmail.com Sat Jan 14 07:07:26 2012 From: madnificent at gmail.com (madnificent) Date: Sat, 14 Jan 2012 08:07:26 +0100 Subject: [clfswm-devel] CLFSWM licence change? In-Reply-To: <878vlbqjuc.fsf@common-lisp.net> References: <8762gojq9k.fsf@common-lisp.net> <878vlbqjuc.fsf@common-lisp.net> Message-ID: Hello Philippe Brochard, On Sat, Jan 14, 2012 at 12:11 AM, Philippe Brochard wrote: > Hi, > > First I've made CLFSWM under the GPLv2 and then GPLv3 because CLFSWM is > based on Stumpwm (GPLv2 or later), Eclipse (GPL) and Tinywm (Public > Domain). > As explained before, it do not share too much code with Stumpwm and none > with the two later. I find it to make total sense to keep the original license around whilst developing, at least if the license is remotely sane. Aside from the "or later" clause, I think it is sane. Furthermore none of us are lawyers, so even a bad choice would be easily excused. It's like blaming a chipmunk for starting a global nuclear war: I'm fairly certain the chipmunk didn't know what the impact of his actions were going to be when he started it. > My point of view on licence: > > I like the GPLv3 because, as a user, it gives me the four freedoms and I'm > sure to keep them. My code can't be converted in proprietary software. Every > developer is *constrained* to share its code with us. > > The 'or later' close is good for me (as a user) because if the new > licence version gives me more freedom I can apply the new version > immediately but if I don't like it, I can use the software in its current > version. The 'or later' clause is great as a user! But I don't intend to only play the role of user. > As a developer, the GPL grants me that my code will be always free with > the four freedoms. I'll not waste my energy with the fear to have my > code used by others in proprietary software and not shared with us. The GPL *currently* grants you some rights which are presumably included in the long license. The 'or later' clause makes such statement void though. The FSF can make incompatible changes. Furthermore I think we both understand the license to some extent and realize that we'll just have to believe what lawyers tell us about it. The license holds in the way a judge will interpret it, not in the way we interpret it. In [1] RMS states that the interpretation of a judge also suprised him a bit. And that comes from someone who's been rather closely involved in it. So as a developer, I personally feel I know fairly little right now, even though FSF likes me to *think* I know a lot. > On the 'or later' close, please, read this if not already done: > ?http://www.gnu.org/licenses/gpl-faq.html#VersionThreeOrLater Yes I have. Read it too, the ramifications are amazing. Under the presumption that the FSF is always right, from now to eternity, it's just a plain sane choice. But let's keep in mind that they might not always be so right, they are human beings. The FSF can tell you you should do things differently. Not only does that give you more potential to have unfree code, it also opens you up to legal action. Let me give you an example. The FSF likes the GPL and they may find other licenses to be unworthy of existence. Not everyone would agree with them, but it's a sane opinion. A perfectly valid clause in the GPLv4 would be to state "You are not allowed to dual-license your code". I personally wouldn't find that to be all that funny. But they *could* state it. And once someone downloads it, they can say "hey, I'll pick that". *BAM* You're not allowed to distribute /your own/ code in MIT form anymore. You suddenly have a contract with a user which states you're not allowed to do this anymore. The FSF has shown that they are willing to go through great lengths to make the world look the way *they* want it to look. The FSF could also go the other way and say "You know what, we were wrong all along, we're going to let everybody do anything with your code." and again, it's not what you likely had in mind. It may not be worse, but it's not what you intended. The 'or later' clause seems to be, from a legal point of view, the most jarheaded option I've ever seen. The only way it could possibly work is by making naive good people pick it without realizing the rammifications of their choice. There is a problem with using the references of AnyCompany(TM) when talking about the products of AnyCompany, they rarely state the bad things. What the FSF has shown us (rightfully) is that making incompatible changes is something they are willing to do. They have also shown that they are willing to change the license to block a company which they feel is doing something bad (admittedly i disliked what they did too, but it is still creepy). As a *user* it is very fair, but as a *developer* I have no idea what I'm getting myself in to. The lawyers at Microsoft/Novell didn't realize what they were getting themselves into, and as it was about a patent deal, I think they were rather involved. Please keep in mind that it is not because AnyCompany tells you that they are not evil, and that you currently believe them to be so, that they will /always/ be so in your opinion. People were once convinced Hitler was doing really good things for them, many of those people changed their mind later on. > Maybe a problem with CLFSWM under the GPL is that you have to run CLFSWM > under a GPL compatible Lisp implementation. But CLFSWM is made to run > under free software like GNU/Linux or BSD. You're currently only disallowed to distribute it with said lisp environments though. I think it's valid to *run* CLFSWM under a non-free implementation. I don't know for sure, a lawyer should take a look at it (it is scary we need lawyers for such a simple thing as this). I don't particularly see a moral problem in distributing CLFSWM with a non-free lisp either though. But your opinion on that may vary. I guess my main motivation is to help people, regardless of what they'll do with it later on. > As stated before I'm not against proprietary software user: do what you > want. So this restriction may be too heavy. Not being GPL does *not* mean you're using proprietary software. It is all too often implied, but it as far from the case. FreeBSD, for instance, is *not* proprietary software. Wikipedia says [3]: Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering. If either MIT or GPL would fall in that category, I'd say the GPL was the one to fall under it. The FSF often talks about the badness about proprietary software and then poses the GPL as an alternative. Whether or not they do it consciously, it seems to make people believe that it is either A or B. So at list the press releases of the FSF seem to hint toward "You're either with the GPL, or your with evil big proprietary companies". But that's simply not true. It seems very similar to how the American public gradually started to believe Saddam Hussein was directly involved in 9/11 without any proof of that being true. > This is why I've placed some other Common Lisp projects under the LLGPL > licence. > > On the other side, I like the BSD/MIT licence because they're more > simple and gives all freedoms to the developer. The 'do what you want > with the code but keep my author name' is appealing. The main reason why I like them is because they are so simple. I can *understand* them. I also like the freedom I get in them, both as a user and as a devolper. One thing to note about the three clause BSD license (that's the one which states: keep my name on it) is that it is incompatible with the GPL (at least with GPLv2, I should double-check for GPLv3). The GPL doesn't allow you to require your name to be always in there. Fun fact: the GPL license isn't valid for the license text of the GPL itself either. > In conclusion: The GPLv3 is good for me (of course :) ) but an other > licence is maybe acceptable if there is a lot of request in this > direction. I think I would publish code under the GPLv3, but with some concerns over what I'm doing. I see myself giving in on that front. I do not see myself giving in on the 'or later' clause. I can obviously keep my edits local and simply not upstream them. That may make me sleep better at night. > Another thing. At its beginning, I've stated that CLFSWM will be > developed in a fork based method because it's really very personal: > "Fork it and do what you want with it". There is no configuration file > at this time and the configuration has to be done with grep on the code :) > I've changed to a more conventional method because the fork based method > do not ease the version upgrade: it's hard to follow. Nice thing about the MIT license is that forking can be done without legal hassle. You don't need to think about it: it's all ok. Virtually the same thing holds with the BSD license, though you must still think for a second when distributing it in binary form also (ie: we'd have to add a menu option somewhere which displays the authors of CLFSWM so it can easily be packaged for binary distributions). > Best regards, > > Philippe Best regards, Aad Versteden PS: It would be great if we could hear from the other authors also, as they really are the ones that matter. > > madnificent at gmail.com writes: > > > [...] > >> Dear list, >> >> >> The license change was a request on my end. ?I'll try to give a short >> overview of my understanding of the options and my personal >> preference. ?This is legal stuff, so it takes a while to read through >> it. ?I'm not trying to start a flame war. ?Legal issues are complex, I >> don't claim to know all about it. ?If you are a lawyer or judge, feel >> free to enlighten me. >> >> >> >> The contenders >> -------------- >> - GPLv2 >> ? GPLv2 basically states that the code itself must be free and must >> remain free when licensed to others. ?It requires that all code which >> links to this code (in terms of lisp, that's all code in the image) is >> released under a compatible license. ?AFAICT this means you can only >> use the code in lisps where only code is loaded under a GPLv2 >> compatible license [2]. [1] contains an exemplary case. >> >> - GPLv3 >> ? GPLv3 basically states that the code itself must /really/ be free. >> Except, it doesn't really do that. ?It also removes your right to use >> any patents on the software you have provided the license for. I don't >> see a statement which explicits that this only holds for the portions >> of the code you wrote yourself, nor do I see something stating that it >> only holds to patents which you hold yourself. ?It's a tad vague for >> me as a non-lawyer. ?Though at least the talks RMS gave about it talk >> about aggressors and non aggressors, so I guess you might be safe. ?I >> may be missing it, IANAL. ?The GPLv3 also clearly shows that the FSF >> is ready to attack single individual companies by changing the GPL >> according to their needs. >> >> - AGPL >> ? AGPL basically holds itself to the rules of its underlying GPL >> license but also states that if the software is ran on a server (and >> it's not distributed), that the source code must also be released. ?At >> least, that's what I make of it. ?So this means that you're /really/ >> really free, I guess. >> >> - LGPL >> ? LGPLvX drops the requirement that applications which link to your >> application need to be under the same license. ?But this doesn't work >> for lisp for one reason or another, therefore it seems we need to pick >> LLGPL to get the same effect. ?The LLGPL hasn't had any tests in court >> AFAIK, but at least someone with some legal knowledge has thought >> about it. >> >> - 3 clause BSD >> ? Both BSD and MIT licenses take a different stance on copyright. >> Instead of requiring that the code is free, they require that the >> coder is free. ?3 clause BSD states that you can do whatever you want >> with the software, given that you say where you got it from and that >> you don't use the names of those that helped write it in the promotion >> of your product. ?It's incompatible with any GPL license, as it puts >> restrictions on how you can distribute it (being, you can't promote it >> with the names of the authors). ?As a non-lawyer, I think I understand >> this license. ?I can comprehend the letters which are in there and >> convert them into a logical system. >> >> - 2 clause BSD / MIT >> ? In short this says: here's the code, have fun with it. ?It doesn't >> actually require much of anything, you just get the code. ?This is the >> easiest license to understand. ?I'm fairly certain that it won't come >> back and haunt me. >> >> - (GPLvX) or any future version >> ? The "any future version" qualifier states that when the FSF creates >> a new GPL license, whichever shape or form it takes, the user may pick >> that license as well. ?This sounds like a smart idea, because it means >> that users can get the benefits of any future version of the GPL. >> Stop. ?This means that *users* can pick any future version of anything >> that the FSF deems fit later on. ?Contemplate on this for a second. >> It means you'll have to comply with anything the FSF makes up for you >> in the future. ?Like say, you, the programmer, must defend the code in >> any copyright claims or lawsuits placed against those using the code. >> Or, just for the whack of RMS's dream, all other code you write must >> be released under the same license. ?Perhaps a future version of the >> GPL will state that MIT was good enough all along. ?Maybe the FSF is >> in need of funding and finds it funny to require money from you in >> their later licenses. ?Perhaps it'll state that the BigCorp which >> bought the FSF feels that they are entitled to the code without giving >> anything back. ?Or just, to give you a choice, all your base are >> belong to us. ?Anything goes. ?IANAL, but that's basically what you're >> saying. ?Anything. ?The free software foundation has (perhaps >> rightfully, yet still) targeted individual contractors in their >> licenses. ?What this states is that, if RMS goes whack, you're >> prepared to go mental with him. ?I have yet to meet the first person >> with whom I agree on everything, every time. ?A common answer is "but >> it won't get that far", yet sadly written agreements are only >> important when things go wrong. >> >> >> >> What we have now >> ---------------- >> >> Currently CLFSWM is released under the in my opinion ludicrous GPLv3 >> or any future version. ?I have stated my dislike for the 'or any >> future version' portion in the previous section, I think I have made >> my point there (you are free to disagree). ?While this license >> certainly has the marketing and legal machine of the FSF behind it, >> many big projects have explicitly chosen to stay away from it. ?One >> notable project is the Linux kernel, but there are many many others. >> >> There are several issues with the GPLv3 for us. ?None of the code in >> the project can, AFAICT, be distributed in non-free lisps. ?Though >> again the subject is a bit hazy as any code "which users are >> reasonably expected to have" do not need to fall under the same >> license, seriously I have no idea where that line is drawn. ?Even if >> the users would want to share the code to get CLFSWM working on those >> lisp implementations, they are not allowed to do so. ?I don't use >> non-free implementations myself, but I prefer to have the choice. ?I >> want to be left free as a programmer. ?Again, I'm not certain of this, >> I don't fully understand the GPLv2, let stand the GPLv3. ?Just look >> online about the vast amount of writing there is on the interpretation >> of the GPLv3, it's normal that I don't. ?That probably means that it >> has been researched, but it also means that I don't know what I'm >> getting into. >> >> And that's my main issue against the GPL. ?I don't understand the >> license. ?It is *way* too complex for my tiny little brain to >> understand. ?I thought I understood, but then I read [1] and suddenly >> I realized that I don't understand it at all. ?The last thing I want, >> is give code /for free/ to people I don't know and get sued for things >> I don't understand. ?It scares me. ?It really does! ?I don't even know >> what I'm allowed to do in the contributions directory. ?I don't want >> to get sued in the future for the code I write and I don't even know >> if I'm actually allowed to release under the MIT license in there. >> You may think you know, but I'd prefer to hear it from a seasoned >> lawyer before I take my bet on it. >> >> Lastly, I don't think you really have to hold a gun against someones >> head and shout at them "NOW BE FRIENDLY BIATCH!", you can learn to be >> friendly and share with each other without the odds of getting tasered >> in the sack. ?In fact, I don't think they really call it sharing when >> you ask for someone on the street to 'share' their iPad with you when >> you're pointing a gun at them. >> >> >> >> What I prefer over all else >> --------------------------- >> >> I prefer to understand what I'm opening myself up against. ?And that >> means that I prefer the MIT license. ?I understand the MIT license. >> If there were anything simpler than that which allows others to use, >> extend and share tho code, I'd probably pick that. ?Chances are >> extremely slim that a company is going to get rich on the code base of >> CLFSWM. ?So why limit the options of our users? ?Why raise the chance >> of getting sued for something you don't understand? ?I don't see the >> benefits of a less liberal license here. ?Your opinion may obviously >> be different. >> >> Perhaps it pollutes the ideal of a world full of GPL software. ?I >> personally believe that a lot of great ideas would never be formalized >> into software, if they'd need to open up their source. ?The >> proliferation of online services is a hint towards this. ?Obviously, >> it is nothing more than an assumption. ?I have no studies to back it >> up. ?I also believe that companies do give back to the community when >> their changes don't provide them with a tactical advantage. ?It is >> simply more cost-effective to send patches upstream. ?Monetary gain is >> something companies tend to understand, risk is something they tend to >> avoid. ?Though again, CLFSWM will most likely not be confronted with >> this issue anyways. >> >> Given that users are more inclined to /share/ extensions than to keep >> them for themselves, it may even help the development of CLFSWM >> itself. ?Say that the hook system is separated into a standalone >> library. ?Other players which don't use CLFSWM may use it in their >> systems, even if they were proprietary. ?The advancements which they >> make into the hooks system can, and likely will, still be shared and >> thus make CLFSWM better than what it is. ?This is obviously not >> exclusive to CLFSWM. >> >> Lastly, I really want the users to be free. ?If they want to >> spray-paint tables with it: enjoy! ?I don't care what you do with it. >> If you want to print it and flush it down the toilet: fine! ?I hope it >> makes you smile. >> >> >> >> The complex legal situation >> --------------------------- >> >> Given the fact that some code has been used from the stumpwm project >> and some other code has been used from other projects, you have to >> thoroughly consider what needs to happen in order to keep everything >> working and legally sound. ?Or at least something that seems legal. >> Any change (including the one in which you pick GPLv2 libraries and >> put them in a library which is under the GPLv3) needs to be studied >> before claiming that you can just pick the code and alter the license. >> ?It could be that some parts need to be rewritten or split off. >> >> Splitting things off brings us to another interesting subtopic. ?Due >> to QuickLisp it has become a lot simpler to split up a single >> application into multiple systems and packages (besides, it could be a >> single tarball to download without QuickLisp too). ?Currently most of >> CLFSWM seems to be in a single package, everything is in one system. >> Various systems can have various licenses. ?Perhaps this could ease >> the transition towards a more liberal licensing scheme and perhaps it >> could make us use and share more open code (like Alexandria). >> >> >> >> A common ground >> --------------- >> >> As I have heard, some of the users on this list are heavy proponents >> of the GPL. ?A common ground is obviously the LLGPL, as it at least >> gives users the freedom to have a bit of freedom in what they want to >> do with the libraries. ?I don't fully understand the license and thus >> it still scares me off, but it would make me feel less uncomfortable. >> A scheme in which multiple licenses are used for various portions of >> CLFSWM seems like a viable option for me too. ?Anyone using the full >> CLFSWM system will then be forced to use the most oppressing license >> (GPLv3 or later), for various smaller portions the compatible MIT >> license could be used. ?By all means, I do suggest we drop the "or any >> future version" of the license we have now. ?If you want to allow >> swift upgrades, then the only sensible thing to do is to give all >> rights to the code to Philippe Brochard and let him take the >> responsibility of upgrading the license when necessary. >> >> >> >> It would be absolutely awesome if I could hear each contributor's >> preference and the reason for his preference! ?I'm eagerly waiting to >> hear from all of you. >> >> >> Best regards, >> >> Aad Versteden >> >> >> >> [1] http://clisp.cvs.sourceforge.net/viewvc/clisp/clisp/doc/Why-CLISP-is-under-GPL >> [2] Practically speaking, GPLv2 is only compatible with 2-clause BSD, >> which is the same as MIT, or other (L)GPLv2 code. ?AFAIK GPLv2 and >> GPLv3 are incompatible. ?Kindergarten psychology tells me pictures >> work better: http://www.gnu.org/licenses/quick-guide-gplv3-compatibility.png >> Expat is the name the FSF uses for what everyone else calls the MIT >> license. >> >> _______________________________________________ >> clfswm-devel mailing list >> clfswm-devel at common-lisp.net >> http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel > > _______________________________________________ > clfswm-devel mailing list > clfswm-devel at common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel [3] http://en.wikipedia.org/wiki/Proprietary_software From stayvoid at gmail.com Sat Jan 14 09:04:32 2012 From: stayvoid at gmail.com (Stayvoid) Date: Sat, 14 Jan 2012 12:04:32 +0300 Subject: [clfswm-devel] CLFSWM licence change? In-Reply-To: References: <8762gojq9k.fsf@common-lisp.net> <878vlbqjuc.fsf@common-lisp.net> Message-ID: Hello! > No one suggested Clear BSD so far. > No one talked about this. I've posted those because the "BSD" term is ambiguous. > I don't know the inner details of the X11 license, they claim it's > similar to MIT, I haven't checked. ?It seems more complex than need > be. There is no such thing as the "MIT license." http://www.gnu.org/licenses/license-list.en.html#X11License "This license is sometimes called the MIT license, but that term is misleading, since MIT has used many licenses for software." How can you talk about something that you haven't checked? > Simplicity is rarely a bad thing. ?I see no legal tricks which can be > pulled on me if I use or publish MIT code. Please read this article: http://www.gnu.org/licenses/quick-guide-gplv3.en.html "We update the GPL to protect its copyleft from being undermined by legal or technological developments. The most recent version protects users from three recent threats: ? Tivoization: Some companies have created various different kinds of devices that run GPLed software, and then rigged the hardware so that they can change the software that's running, but you cannot. If a device can run arbitrary software, it's a general-purpose computer, and its owner should control what it does. When a device thwarts you from doing that, we call that tivoization. ? Laws prohibiting free software: Legislation like the Digital Millennium Copyright Act and the European Union Copyright Directive make it a crime to write or share software that can break DRM (Digital Restrictions Mismanagement; see below). These laws should not interfere with the rights the GPL grants you. ? Discriminatory patent deals: Microsoft has recently started telling people that they will not sue free software users for patent infringement?as long as you get the software from a vendor that's paying Microsoft for the privilege. Ultimately, Microsoft is trying to collect royalties for the use of free software, which interferes with users' freedom. No company should be able to do this." > The GPLv3 is in fact the > one trying to pull legal tricks on companies which have distributed > software under the GPLv2 or later. Could you provide an example? "In addition to clarifying the rules about licenses that are already GPL-compatible, GPLv3 is also newly compatible with a few other licenses. The Apache License 2.0 is a prime example." http://www.gnu.org/licenses/quick-guide-gplv3.en.html http://www.gnu.org/licenses/quick-guide-gplv3-compatibility.png "Arrows pointing from one license to another indicate that the first license is compatible with the second. This is true even if you follow multiple arrows to get from one license to the other; so, for example, the ISC license is compatible with GPLv3. GPLv2 is compatible with GPLv3 if the program allows you to choose "any later version" of the GPL, which is the case for most software released under this license." > The GPL *currently* grants you some rights which are presumably > included in the long license. ?The 'or later' clause makes such > statement void though. ?The FSF can make incompatible changes. "GPLv2 is compatible with GPLv3 if the program allows you to choose "any later version" of the GPL, which is the case for most software released under this license." "We update the GPL to protect its copyleft from being undermined by legal or technological developments." This may happen with the third version. That's why it's important to use the ?any later version? part. > The license holds in the way a judge will interpret it, not in the > way we interpret it. That's why the "complexity" of the GNU GPL is better then the simplicity of the other licenses. That simplicity is ambiguous. > RMS states that the interpretation of a > judge also suprised him a bit. That's why we have the third version. Because it does the job even better. > The 'or later' clause seems to be, from a legal point of > view, the most jarheaded option I've ever seen. RMS: "The GNU licenses are the only ones that give developers the option of NOT accepting future versions. ?Other licenses that have versions generally automatically include future versions." You will have an ability to choose the third version if you are unhappy with the fourth version. "The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License ?or any later version? applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation." http://www.gnu.org/copyleft/gpl.html (14. Revised Versions of this License.) Kind regards. From madnificent at gmail.com Sat Jan 14 12:18:40 2012 From: madnificent at gmail.com (madnificent) Date: Sat, 14 Jan 2012 13:18:40 +0100 Subject: [clfswm-devel] CLFSWM licence change? In-Reply-To: References: <8762gojq9k.fsf@common-lisp.net> <878vlbqjuc.fsf@common-lisp.net> Message-ID: Sigh. Hello Stayvoid, I guess it boils down to: do you want to share, or do you want to try to be shared with. When I write software which I publish, I want to share. I hope other people are willing to share back. I'm not making any new important claims in this email, it's mostly just an answer to Stayvoid. Anyone is free to comment though. Maybe something new will come out of it. On Sat, Jan 14, 2012 at 10:04 AM, Stayvoid wrote: > Hello! > >> No one suggested Clear BSD so far. >> No one talked about this. > I've posted those because the "BSD" term is ambiguous. Yes well, that's OK. Without context it can indeed be so. When people talk about licenses for software projects and they talk about the BSD license they generally talk about the 2- or the 3-clause BSD license. The FSF does indeed use different names for these licenses. For as much as I've seen it when there is talk about both BSD and MIT as licenses, the BSD license generally means the 3-clause license (which includes "acknowledge that I wrote this"), and MIT as the equivalent to the 2-clause BSD license. In these license schemes the FSF generally uses the name of a project in which they have been used instead. >> I don't know the inner details of the X11 license, they claim it's >> similar to MIT, I haven't checked. ?It seems more complex than need >> be. > There is no such thing as the "MIT license." > http://www.gnu.org/licenses/license-list.en.html#X11License > "This license is sometimes called the MIT license, but that term is > misleading, since MIT has used many licenses for software." > How can you talk about something that you haven't checked? There is as much an MIT license as there is an X11 license. The names aren't explicitly in the license itself, so both names are, indeed, to some extent void. MIT created multiple licenses. That's why the FSF doesn't want to use MIT as its name. However, the consensus is that the MIT license is what the FSF calls the Expat license. Whether one should follow the naming of one organization which spent research on it, being the FSF, or the naming that's omnipresent elsewhere is up for debate. But let's not discuss it here, please. Feel free to perform a find and replace in my mails and replace MIT with Expat for your viewing pleasure. >> Simplicity is rarely a bad thing. ?I see no legal tricks which can be >> pulled on me if I use or publish MIT code. > Please read this article: > http://www.gnu.org/licenses/quick-guide-gplv3.en.html > "We update the GPL to protect its copyleft from being undermined by > legal or technological developments. The most recent version protects > users from three recent threats: > ? ? ? ?? ? ? ? Tivoization: Some companies have created various different kinds of > devices that run GPLed software, and then rigged the hardware so that > they can change the software that's running, but you cannot. If a > device can run arbitrary software, it's a general-purpose computer, > and its owner should control what it does. When a device thwarts you > from doing that, we call that tivoization. > ? ? ? ?? ? ? ? Laws prohibiting free software: Legislation like the Digital > Millennium Copyright Act and the European Union Copyright Directive > make it a crime to write or share software that can break DRM (Digital > Restrictions Mismanagement; see below). These laws should not > interfere with the rights the GPL grants you. > ? ? ? ?? ? ? ? Discriminatory patent deals: Microsoft has recently started telling > people that they will not sue free software users for patent > infringement?as long as you get the software from a vendor that's > paying Microsoft for the privilege. Ultimately, Microsoft is trying to > collect royalties for the use of free software, which interferes with > users' freedom. No company should be able to do this." That's why I tend to support the EFF, instead of the FSF. But there too, I see what they say, then pick my stance. Don't blindly follow others. I disagree that a software license should try to solve all issues with software. In my opinion we are solving the wrong problems at the wrong level. See, if enough lobbying occurs then maybe open source software will be banned, regardless of what license we used, it'll be illegal. If you want to stop bad legislation, then stop bad legislation. Open your mouth, go protest, become an open source advocate where it matters. I doubt you're going to stop software patents in this discussion though. The software license has little to do with bad legislation. Yes, you can try to make it less bad, but you should fix it where it's broken. Furthermore some people that support free software find that some of these things shouldn't be blocked. The Linux kernel, a key ingredient, is kept in GPLv2 for instance. And tivoization, for instance, isn't frowned upon everywhere. The opinions of the FSF are the opinions of the FSF. It is not the bliss of the Greek gods that has just descended upon us. Furthermore, I might like some of the things the FSF is protecting me from. Without Tivoization, the TiVo may not have existed at all, for instance. Perhaps I, as a user, would prefer a locked TiVo over no TiVo at all. I personally prefer devices which can be freed, but I don't think it's rightful to require all other people to share my opinion. >> The GPLv3 is in fact the >> one trying to pull legal tricks on companies which have distributed >> software under the GPLv2 or later. > Could you provide an example? > "In addition to clarifying the rules about licenses that are already > GPL-compatible, GPLv3 is also newly compatible with a few other > licenses. The Apache License 2.0 is a prime example." > http://www.gnu.org/licenses/quick-guide-gplv3.en.html > http://www.gnu.org/licenses/quick-guide-gplv3-compatibility.png > "Arrows pointing from one license to another indicate that the first > license is compatible with the second. This is true even if you follow > multiple arrows to get from one license to the other; so, for example, > the ISC license is compatible with GPLv3. GPLv2 is compatible with > GPLv3 if the program allows you to choose "any later version" of the > GPL, which is the case for most software released under this license." I was hinting at the well known Novell and Microsoft deal for which the FSF put a specific clause in the GPLv3 in order to stop its execution. Novell and Microsoft made a perfectly valid, though somewhat sickening, deal. It was legally sound though. The FSF added a clause in the GPLv3 to make this kind of deal completely different than what it originally was. The FSF tried to receive patent immunity for all GPLv3 software Novell shared, regardless of the distribution channel. Let's step aside from the argumentation of whether or not this is a good deed, as it's quite irrelevant to the point I'm trying to make here. By making such changes to the GPL license I'd argue that the FSF is the one playing legal tricks. One could say that the FSF was bullying the bully, certainly something funny, but perhaps not just. They tried to play a legal move to make us (the open source community) immune from any patent Microsoft might have against said GPLv3 software. And they tried to make it knowing that that was completely not what was intended in the agreement between Microsoft and Novell. That, is a prime example of playing legal tricks. I have pasted the image you link to in my earliest mail in this thread. Please realize that the arrow only points one way. The GPL is not willing to share back to MIT, it is only there to take over what others have published in a license which is much more free. Like the MIT license. In that sense I find the GPL to be a very aggressive license. It tries to take freedom away from me. You are obviously free, as many others have done, to take MIT software and relicense it as GPL software. Though I'd still be wary of releasing it under GPLv3 or any newer version, you might put yourself open to lawsuits in the future. >> The GPL *currently* grants you some rights which are presumably >> included in the long license. ?The 'or later' clause makes such >> statement void though. ?The FSF can make incompatible changes. > "GPLv2 is compatible with GPLv3 if the program allows you to choose > "any later version" of the GPL, which is the case for most software > released under this license." > "We update the GPL to protect its copyleft from being undermined by > legal or technological developments." > This may happen with the third version. > That's why it's important to use the ?any later version? part. I don't think you get my point here. If you are willing to place all your trust, forever, in the FSF, then it is a sane decision. It's similar to becoming a monk, you devote everything to a single cause. Looking at history, I see that many people have been deceived by many great organizations. While I believe the FSF may be doing many right things right now, history teaches me that I probably shouldn't assume that they will do that forever. That I should trust them to always defend my rights. Now if I don't add that clause and I do agree with their next license, I can manually upgrade the license of my project to the new license. But I'd like to evaluate the agreement before accepting it. Just in the same way as I'd like to see what I'm going to war for, before I catch a bullet. The GPLv2 and the GPLv3 are incompatible: this means that I'm essentially allowing my users to do things which I initially explicitly didn't allow, without me having anything to say about it. The FSF has effectively lowered the rights I, the developer, have. >> The license holds in the way a judge will interpret it, not in the >> way we interpret it. > That's why the "complexity" of the GNU GPL is better then the > simplicity of the other licenses. > That simplicity is ambiguous. Ambiguous seems to be an odd word here. The MIT license has clearly shown that it is not ambiguous at all. It states what can and can not be done in terms that a human understands. I doubt a judge will interpret it differently than me. The GPL goes through great lengths to define what can and can not be done and it tries to find some, in the FSF's eyes sensible, boundary. But this has much more ambiguity to it than the whole MIT license. An example of ambiguity in the GPLv3. I quote from [1] "GPLv3 has adjusted the definition of System Library to include software that may not come directly with the operating system, but that all users of the software can reasonably be expected to have.". "Reasonably expected to have"... Well, is a lisp compiler reasonably expected to have? I don't know, I certainly don't know how this will be translated by judges in the various parts of the world. And is it then allowed, because the software is ran within that compiler, or maybe more of an environment. From a legal point of view these things behave differently than from a technical point of view. Seemingly unimportant details make the interpretation change. Complex legal documents tend to create ambiguity. In the same way as complex spaghetti code tends to introduce bugs. The fact that the GPL needs to be trialed in various countries before we know its real legal value implies at least some ambiguity on a legal level. >> RMS states that the interpretation of a >> judge also suprised him a bit. > That's why we have the third version. Because it does the job even better. It'll take us a few years to realize the ramifications. I think it's early to say that it does the job better. Further more, whether it does 'the job' better is open to interpretation. The fact that projects stay under the GPLv2 explicitly indicates that, at least some developers, tend to disagree on it. >> The 'or later' clause seems to be, from a legal point of >> view, the most jarheaded option I've ever seen. > RMS: "The GNU licenses are the only ones that give developers the option > of NOT accepting future versions. ?Other licenses that have versions > generally automatically include future versions." Do you see something about that in the MIT license? Something about versions and upgrading. I think not. This claim is both extremely broad and not based on what's currently common in the open source community. Aside from that, I find little trust in the following: RMS is virtually saying "But...but...but...the others are even worse!", that still doesn't make it good. Furthermore, /providing/ the option isn't necessarily bad, but /taking/ it is. > You will have an ability to choose the third version if you are > unhappy with the fourth version. The license is an agreement between two parties: The user (or distributor) and the developer. As a user, I will have a choice. But as a developer, I'll be forced to give the user that choice. I don't want to be forced. > "The Free Software Foundation may publish revised and/or new versions > of the GNU General Public License from time to time. Such new versions > will be similar in spirit to the present version, but may differ in > detail to address new problems or concerns. > Each version is given a distinguishing version number. If the Program > specifies that a certain numbered version of the GNU General Public > License ?or any later version? applies to it, you have the option of > following the terms and conditions either of that numbered version or > of any later version published by the Free Software Foundation. If the > Program does not specify a version number of the GNU General Public > License, you may choose any version ever published by the Free > Software Foundation." > http://www.gnu.org/copyleft/gpl.html (14. Revised Versions of this License.) 'The spirit of the license' is in itself ambiguous. If it weren't, we could just put 'the spirit of the license' in the license and then state that we need to follow that. GPLv2 didn't talk about software patents or locks by hardware restrictions for instance. At least some people, like those that built the TiVo, found it to be sane to put a lock on their device. It seemed like the code itself would have to be free forever. A TiVo competitor could make the same hardware and use the source of the TiVo whilst doing it, seems like a sensible thing to do. The FSF, at least, finds it not to be just. Other examples exist though. Would it be in the spirit of the GPL to require the same warranties to hold when you run modified code on the hardware which you bought? I don't know what your opinion on it is, but it may vary. Some will say yes, others will say no. And of both sides some will assume that their opinion is in the spirit of the GPL. The spirit of the GPL may evolve into something I thoroughly dislike. So no, I do not trust any future version of the GPL, nor its spirit, until I've seen what it contains. No license which states "we can do everything, but we'll try to be good" seems reasonable to me. As a last point it might, perhaps, be interesting to read works which weren't commissioned by the FSF. If I'd be in church all day, I'd undoubtedly believe in God, if I'd only read pamphlets of the Ku Klux Klan, I'd probably become a racist. A few works of interest may be [2], which links to [3]. [3] could be seen as somewhat biased, in the sense that it doesn't try to defend the GPL, but it does hint at the tactics which the FSF is willing to take. Another one is [4] which, although the title hints at it, doesn't actually portray a strong bias towards the BSD license. I'm not assuming either of these works will make your opinion change, but it may give a bit more perspective. > > > Kind regards. > Best regards, Aad Versteden [1] http://www.gnu.org/licenses/quick-guide-gplv3.en.html#less-source-to-distribute-new-system-libraries-exception [2] http://www.itworld.com/it-managementstrategy/233753/gpl-copyleft-use-declining-faster-ever [3] http://www.itworld.com/mobile-wireless/196001/fsf-uses-unproven-compliance-issue-promote-gplv3 [4] http://www.freebsd.org/doc/en/articles/bsdl-gpl/article.html > _______________________________________________ > clfswm-devel mailing list > clfswm-devel at common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel From v.plechinger at gmail.com Sat Jan 14 20:02:04 2012 From: v.plechinger at gmail.com (Valentin Plechinger) Date: Sat, 14 Jan 2012 21:02:04 +0100 Subject: [clfswm-devel] Clfswmrc In-Reply-To: <87y5tbp4tc.fsf@common-lisp.net> References: <87y5tbp4tc.fsf@common-lisp.net> Message-ID: Thanks to you all, I found some nice ways to improve the overall experience. >> Actually, i don't think that my timing-based autostart is really good >> idea, but I haven't found any better way to start apps in predefined >> frames. >> They sometimes start in the wrong frame, so it's not optimal > You can also use a new window hook like the one I use for the Surf > window. And then remove the hook on frames when all your autoload > applications are started. > See here: http://common-lisp.net/project/clfswm/dot-clfswmrc > in set-surf-frame-nw-hook and init-surf-frame functions. > I need to look into that Also, when I start mplayer from the shell, the background window turns black until I click on it or do something else (then it stays as it should). Is this a known bug? Best regards From pbrochard at common-lisp.net Sat Jan 14 22:54:22 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Sat, 14 Jan 2012 23:54:22 +0100 Subject: [clfswm-devel] Transparent background for empty frames In-Reply-To: (Ales Guzik's message of "Thu, 12 Jan 2012 08:54:48 +0200") References: Message-ID: <87k44tuc81.fsf@common-lisp.net> Ales Guzik writes: > Hi. > Hi, > Is there any way to make frames without windows draw transparent > background instead of black? > I have added transparency support for all frames, menu... backgrounds. It is enabled by default but can be turn off with the *transparent-background* variable. Please, can you test commit 7873a020b3. It works for me with clisp, cmucl and sbcl. There is some minor problems: a flickering on frame resize and the background must be visible at CLFSWM start up (ie: the hack doesn't work if you start CLFSWM from another display). Cheers, Philippe From v.plechinger at gmail.com Sun Jan 15 00:40:15 2012 From: v.plechinger at gmail.com (Valentin Plechinger) Date: Sun, 15 Jan 2012 01:40:15 +0100 Subject: [clfswm-devel] Clfswmrc In-Reply-To: References: <87y5tbp4tc.fsf@common-lisp.net> Message-ID: https://github.com/floresconlimon/Dotfiles/blob/8cd24f970a07ab3ac6bd03804aed2293fe9865cd/clfswmrc Here is what I have so far. Mainly ripped of from Ales. One thing I added which I think is useful, is a macro to define keybindings "easier". Might be good for people who like to change alot of keybindings (like me). From ales.guzik at gmail.com Mon Jan 16 09:55:48 2012 From: ales.guzik at gmail.com (Ales Guzik) Date: Mon, 16 Jan 2012 11:55:48 +0200 Subject: [clfswm-devel] Transparent background for empty frames In-Reply-To: <87k44tuc81.fsf@common-lisp.net> References: <87k44tuc81.fsf@common-lisp.net> Message-ID: Hi, On Sun, Jan 15, 2012 at 1:54 AM, Philippe Brochard wrote: > Ales Guzik writes: > >> Hi. >> > Hi, > >> Is there any way to make frames without windows draw transparent >> background instead of black? >> > I have added transparency support for all frames, menu... backgrounds. > It is enabled by default but can be turn off with the > *transparent-background* variable. > > Please, can you test commit 7873a020b3. It works for me with clisp, > cmucl and sbcl. > It works, but works wrong with my setup. Now it remembers desktop image at startup time and draws it as background. But conky draws current time and uptime on my root window every second and this changes are not represented in frame backgrounds. Additionally my wallpaper randomly changes every 10 minutes by script, but clfswm draws picture it remembered at startup time. > There is some minor problems: a flickering on frame resize and the > background must be visible at CLFSWM start up (ie: the hack doesn't work > if you start CLFSWM from another display). > > Cheers, > > Philippe > > _______________________________________________ > clfswm-devel mailing list > clfswm-devel at common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel -- Regards, Ales Guzik ------------------------------------------------------------ e-mail: ales.guzik at gmail.com skype: ales-guzik tel: +375 29 5751103 From pbrochard at common-lisp.net Mon Jan 16 21:04:27 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Mon, 16 Jan 2012 22:04:27 +0100 Subject: [clfswm-devel] Transparent background for empty frames In-Reply-To: (Ales Guzik's message of "Mon, 16 Jan 2012 11:55:48 +0200") References: <87k44tuc81.fsf@common-lisp.net> Message-ID: <87aa5nnyuc.fsf@common-lisp.net> Ales Guzik writes: > Hi, > > On Sun, Jan 15, 2012 at 1:54 AM, Philippe Brochard > wrote: >> Ales Guzik writes: >> >>> Hi. >>> >> Hi, >> >>> Is there any way to make frames without windows draw transparent >>> background instead of black? >>> >> I have added transparency support for all frames, menu... backgrounds. >> It is enabled by default but can be turn off with the >> *transparent-background* variable. >> > >> Please, can you test commit 7873a020b3. It works for me with clisp, >> cmucl and sbcl. >> > > It works, but works wrong with my setup. > Now it remembers desktop image at startup time and draws it as > background. > Indeed, it's exactly what it is supposed to do. In fact, we can only do pseudo-transparency like the one in Eterm. We can't have full transparency expect if we rewrite CLFSWM as a compositing window manager [1]. Or maybe if we can use [2]. > But conky draws current time and uptime on my root window every second and > this changes are not represented in frame backgrounds. > This one is very difficult to solve. For example, try conky under icewm with an Eterm and a transparent background set with Esetroot. The conky window is not shown in the Eterm background. Maybe I can hack something to import the conky window content under the frame background. But I don't know if this will work and I'll don't integrate this hack if it'll be too ugly. > Additionally my wallpaper > randomly changes every 10 minutes by script, but clfswm draws picture > it remembered at startup time. > Yes, CLFSWM loads the background content under a pixmap and then use this pixmap as the frame background. Currently it is not updated at all. Just taken at startup. I'll look to use the Esetroot/Eterm method which allow to change the background dynamically. [...] Cheers, Philippe [1] http://en.wikipedia.org/wiki/Xfwm [2] http://www.x.org/releases/X11R7.5/doc/compositeproto/compositeproto.txt From pbrochard at common-lisp.net Mon Jan 16 21:05:58 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Mon, 16 Jan 2012 22:05:58 +0100 Subject: [clfswm-devel] Transparent background for empty frames In-Reply-To: <87aa5nnyuc.fsf@common-lisp.net> (Philippe Brochard's message of "Mon, 16 Jan 2012 22:04:27 +0100") References: <87k44tuc81.fsf@common-lisp.net> <87aa5nnyuc.fsf@common-lisp.net> Message-ID: <874nvvnyrt.fsf@common-lisp.net> Sorry, compositing window manager are described in [1] [1] http://en.wikipedia.org/wiki/Compositing_window_manager From pbrochard at common-lisp.net Mon Jan 16 21:09:26 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Mon, 16 Jan 2012 22:09:26 +0100 Subject: [clfswm-devel] Clfswmrc In-Reply-To: (Valentin Plechinger's message of "Sat, 14 Jan 2012 21:02:04 +0100") References: <87y5tbp4tc.fsf@common-lisp.net> Message-ID: <87y5t7mk1l.fsf@common-lisp.net> Valentin Plechinger writes: [...] > Also, when I start mplayer from the shell, the background window turns > black until I click on it or do something else (then it stays as it > should). > Is this a known bug? > Hmm, no. Here all is ok with mplayer (I use it very often). Please, can you have a look to see what is going wrong? Thanks, Regards, Philippe From madnificent at gmail.com Mon Jan 16 21:14:52 2012 From: madnificent at gmail.com (madnificent) Date: Mon, 16 Jan 2012 22:14:52 +0100 Subject: [clfswm-devel] Transparent background for empty frames In-Reply-To: <874nvvnyrt.fsf@common-lisp.net> References: <87k44tuc81.fsf@common-lisp.net> <87aa5nnyuc.fsf@common-lisp.net> <874nvvnyrt.fsf@common-lisp.net> Message-ID: Hello Philippe Brochard, Perhaps we could -- in the distant future -- implement a Wayland[1] backend. Such thing would probably make live copies of frames and displaying the scaled content of frames trivial as well (without actually making the drawing pane for the application smaller). Just thinking out loud. Best regards, Aad Versteden [1] http://en.wikipedia.org/wiki/Wayland_(display_server_protocol) On Mon, Jan 16, 2012 at 10:05 PM, Philippe Brochard wrote: > Sorry, compositing window manager are described in [1] > > [1] http://en.wikipedia.org/wiki/Compositing_window_manager > > _______________________________________________ > clfswm-devel mailing list > clfswm-devel at common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel From pbrochard at common-lisp.net Mon Jan 16 21:31:23 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Mon, 16 Jan 2012 22:31:23 +0100 Subject: [clfswm-devel] Clfswmrc In-Reply-To: (Valentin Plechinger's message of "Sun, 15 Jan 2012 01:40:15 +0100") References: <87y5tbp4tc.fsf@common-lisp.net> Message-ID: <87sjjfmj10.fsf@common-lisp.net> Valentin Plechinger writes: > https://github.com/floresconlimon/Dotfiles/blob/8cd24f970a07ab3ac6bd03804aed2293fe9865cd/clfswmrc > > Here is what I have so far. > Mainly ripped of from Ales. > > One thing I added which I think is useful, is a macro to define > keybindings "easier". > Might be good for people who like to change alot of keybindings (like me). > I like your defkeys-main. But what about the definition above which let you change the mode easily? -------------------------------------------------- (defmacro defkeys ((mode) &body keys) (let ((symb (intern (format nil "DEFINE-~A-KEY" mode)))) `(progn ,@(loop for k in keys collect `(,symb , at k))))) (defun set-some-keys () (defkeys (main) (("f" :mod-1) 'start-emacs) (("l" :mod-1) 'expose-all-windows-mode) (("u" :mod-1) 'expose-windows-mode) (("w" :mod-4) 'start-firefox) (("Return" :mod-4) 'start-urxvt)) (defkeys (second) (("l" :mod-1) 'expose-all-windows-mode) (("u" :mod-1) 'expose-windows-mode) (("Return" :mod-4) 'start-urxvt))) -------------------------------------------------- From pbrochard at common-lisp.net Mon Jan 16 21:47:46 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Mon, 16 Jan 2012 22:47:46 +0100 Subject: [clfswm-devel] Transparent background for empty frames In-Reply-To: (madnificent@gmail.com's message of "Mon, 16 Jan 2012 22:14:52 +0100") References: <87k44tuc81.fsf@common-lisp.net> <87aa5nnyuc.fsf@common-lisp.net> <874nvvnyrt.fsf@common-lisp.net> Message-ID: <87lip7mi9p.fsf@common-lisp.net> madnificent at gmail.com writes: > Hello Philippe Brochard, > Hi, > > Perhaps we could -- in the distant future -- implement a Wayland[1] > backend. Such thing would probably make live copies of frames and > displaying the scaled content of frames trivial as well (without > actually making the drawing pane for the application smaller). > Yes, this will maybe be an option. I've though of using XCB[1] also. > Just thinking out loud. > Thanks for sharing. > > Best regards, > > Aad Versteden > Cheers, Philippe Brochard [1] http://xcb.freedesktop.org/ From ales.guzik at gmail.com Tue Jan 17 06:29:42 2012 From: ales.guzik at gmail.com (=?koi8-r?Q?=E1=CC=C5=D3=D8_=E7=D5=DA=C9=CB?=) Date: Tue, 17 Jan 2012 09:29:42 +0300 Subject: [clfswm-devel] Transparent background for empty frames In-Reply-To: <87aa5nnyuc.fsf@common-lisp.net> References: <87k44tuc81.fsf@common-lisp.net> <87aa5nnyuc.fsf@common-lisp.net> Message-ID: <1326781782.6420.5.camel@Nokia-N900> ----- ???????? ????????? ----- > Ales Guzik writes: > > > Hi, > > > > On Sun, Jan 15, 2012 at 1:54 AM, Philippe Brochard > > wrote: > > > Ales Guzik writes: > > > > > > > Hi. > > > > > > > Hi, > > > > > > > Is there any way to make frames without windows draw transparent > > > > background instead of black? > > > > > > > I have added transparency support for all frames, menu... > > > backgrounds. It is enabled by default but can be turn off with the > > > *transparent-background* variable. > > > > > > > > Please, can you test commit 7873a020b3. It works for me with clisp, > > > cmucl and sbcl. > > > > > > > It works, but works wrong with my setup. > > Now it remembers desktop image at startup time and draws it as > > background. > > > Indeed, it's exactly what it is supposed to do. In fact, we can only do > pseudo-transparency like the one in Eterm. We can't have full > transparency expect if we rewrite CLFSWM as a compositing window > manager [1]. Or maybe if we can use [2]. I have tried clfswm together with xcompmgr and cairo composite manager[1]. Xcompmgr and transset are part of xorg apps and is pretty often used with lightweight window managers to get simple compositing(transparency and shadows). Although it's almost standard, seems like it doesn't work with clfswm for now - all windows and frames disappears and shown just for second when switching frames. Cairo composite manager, despite it crashed few times and abit slow, worked pretty well with clfswm. But it is definitely non-standard and seems like it haven't updated since 2010. I think the best way to get transparency is to be compatible with xcompmgr as it's the most straightforward and widely used way. > > > But conky draws current time and uptime on my root window every second > > and this changes are not represented in frame backgrounds. > > > This one is very difficult to solve. For example, try conky under icewm > with an Eterm and a transparent background set with Esetroot. The conky > window is not shown in the Eterm background. > Maybe I can hack something to import the conky window content under the > frame background. But I don't know if this will work and I'll don't > integrate this hack if it'll be too ugly. > > > Additionally my wallpaper > > randomly changes every 10 minutes by script, but clfswm draws picture > > it remembered at startup time. > > > Yes, CLFSWM loads the background content under a pixmap and then use this > pixmap as the frame background. Currently it is not updated at all. Just > taken at startup. > I'll look to use the Esetroot/Eterm method which allow to change the > background dynamically. > > [...] > > Cheers, > > Philippe > > [1] http://en.wikipedia.org/wiki/Xfwm > [2] > http://www.x.org/releases/X11R7.5/doc/compositeproto/compositeproto.txt > > _______________________________________________ > clfswm-devel mailing list > clfswm-devel at common-lisp.net > http://lists.common-lisp.net/cgi-bin/mailman/listinfo/clfswm-devel Regards, Ales [1] http://cairo-compmgr.tuxfamily.org -------------- next part -------------- An HTML attachment was scrubbed... URL: From stayvoid at gmail.com Tue Jan 17 14:07:47 2012 From: stayvoid at gmail.com (Stayvoid) Date: Tue, 17 Jan 2012 17:07:47 +0300 Subject: [clfswm-devel] clfswm.ebuild In-Reply-To: References: <87wr90346n.fsf@common-lisp.net> Message-ID: Hey! Sorry for the delayed reply. Here is what I have for today: http://paste.pocoo.org/show/533700/ (I don't know bash and lisp. Please keep this in mind.) Gentoo guys told me that it should work. I'm pretty sure that it's not perfect. I've been told that I should use eclasses. But I don't know how. It's possible that I've also forgotten some Lisp-related options. How to run it? (I'm using clisp.) (I've installed clisp and clx manually. It's possible that the deps section is not working.) I've tried it this way: 1. I opened the clfswm's directory (/var/tmp/portage/x11-wm/clfswm-20110616_alpha/work/clfswm-1106-2/); 2. I ran clisp; 3. I typed (load "load.lisp") at the lisp prompt. 4. It failed. Here is the output: ;; blah-blah loading foo-blah *** - READ-LINE: Invalid byte #xC3 in CHARSET:ASCII conversation The following restarts are available: SKIP :R1 skip 63 63 (UPDATE-MENUS (FIND-MENU 'STANDARD-MENU))-14 STOP :R2 stop loading file /root/.cache/common-lisp/clisp-2.48-unix-x86/var/tmp/portage/x11-wm/clfswm-20110616_alpha/work/clfswm-1106-2/src/menu-def.fas TRY-RECOMPILING :R3 Recompile menu-def and try loading it again RETRY :R4 Retry loading component ("clfswm" "src" "menu-def"). ACCEPT :R5 Continue, treating loading component ("clfswm" "src" "menu-def") as having been successful. SKIP :R6 skip (OOS 'LOAD-OP CLFSWM) STOP :R7 stop loading file /var/tmp/portage/x11-wm/clfswm-20110616_alpha/work/clfswm-1106-2/load.lisp ABORT :R8 Abort main loop I've tried several options, but that wasn't successful. (It will be nice if you tell me how to copy from the lisp prompt. Yeah, I've typed the whole thing myself.) Could you try to run it? (You can use sysresccd.) Cheers! From madnificent at gmail.com Tue Jan 17 14:53:36 2012 From: madnificent at gmail.com (madnificent) Date: Tue, 17 Jan 2012 15:53:36 +0100 Subject: [clfswm-devel] clfswm.ebuild In-Reply-To: References: <87wr90346n.fsf@common-lisp.net> Message-ID: On Tue, Jan 17, 2012 at 3:07 PM, Stayvoid wrote: > Hey! > > Sorry for the delayed reply. > > Here is what I have for today: > http://paste.pocoo.org/show/533700/ > (I don't know bash and lisp. Please keep this in mind.) > > Gentoo guys told me that it should work. > > I'm pretty sure that it's not perfect. > I've been told that I should use eclasses. But I don't know how. > It's possible that I've also forgotten some Lisp-related options. > > How to run it? (I'm using clisp.) > (I've installed clisp and clx manually. It's possible that the deps > section is not working.) > > I've tried it this way: > 1. I opened the clfswm's directory > (/var/tmp/portage/x11-wm/clfswm-20110616_alpha/work/clfswm-1106-2/); > 2. I ran clisp; > 3. I typed (load "load.lisp") at the lisp prompt. > 4. It failed. > > Here is the output: > ;; blah-blah loading foo-blah > *** - READ-LINE: Invalid byte #xC3 in CHARSET:ASCII conversation > The following restarts are available: > SKIP ? ? ? ? ? :R1 ? ? ?skip 63 63 (UPDATE-MENUS (FIND-MENU 'STANDARD-MENU))-14 > STOP ? ? ? ? ? :R2 ? ? ?stop loading file > /root/.cache/common-lisp/clisp-2.48-unix-x86/var/tmp/portage/x11-wm/clfswm-20110616_alpha/work/clfswm-1106-2/src/menu-def.fas > TRY-RECOMPILING :R3 ? ? Recompile menu-def and try loading it again > RETRY ? ? ? ? ?:R4 ? ? ?Retry loading component ("clfswm" "src" "menu-def"). > ACCEPT ? ? ? ? :R5 ? ? ?Continue, treating loading component ("clfswm" > "src" "menu-def") as having been successful. > SKIP ? ? ? ? ? :R6 ? ? ?skip (OOS 'LOAD-OP CLFSWM) > STOP ? ? ? ? ? :R7 ? ? ?stop loading file > /var/tmp/portage/x11-wm/clfswm-20110616_alpha/work/clfswm-1106-2/load.lisp > ABORT ? ? ? ? ?:R8 ? ? ?Abort main loop > > I've tried several options, but that wasn't successful. > > (It will be nice if you tell me how to copy from the lisp prompt. > Yeah, I've typed the whole thing myself.) > > Could you try to run it? (You can use sysresccd.) > > > Cheers! Hello Stayvoid, Two topics, one about the ebuild, one about loading: EBUILD ------ Could you also paste where the error occurs? I haven't installed CLFSWM that way and I don't feel like making my Gentoo systems dirty (nor do I feel like attaching a monitor to either of them). If you catch the error's content you can use wgetpaste from a terminal. Otherwise you can select the contents in the terminal and use the middle mouse button to paste them in a graphical window. I don't immediately see what's going wrong with it, but that may give us a clue. LOADING CLFSWM MANUALLY ----------------------- My best guess is that (your) CLISP doesn't have support for non-ascii characters. I think there are CLFSWM users who prefer CLISP, so you can likely compile it with said support. However, for your own quick hacks, you can also just dive in the lisp sources and change the offending characters with something that exists in ASCII. Alternatively, if Portage doesn't contain an ancient version of SBCL (which it may well do (and that's not an offense towards Gentoo, it's not alone on that front)), then it should come with support for UTF-8 out of the box. You may want to try that first until someone tells you how to get CLISP running with UTF-8 support. The commands to get CLFSWM loaded then become: cd /path/to/clfswm/; sbcl; (load "load.lisp") you shouldn't get the same error message anymore. Best regards, Aad Versteden From stayvoid at gmail.com Tue Jan 17 19:05:13 2012 From: stayvoid at gmail.com (Stayvoid) Date: Tue, 17 Jan 2012 22:05:13 +0300 Subject: [clfswm-devel] clfswm.ebuild In-Reply-To: References: <87wr90346n.fsf@common-lisp.net> Message-ID: Hey! > I haven't installed CLFSWM that way... Is there a better way? I've tried this: > The commands to get CLFSWM loaded then become: > cd /path/to/clfswm/; > sbcl; > (load "load.lisp") And got an error: http://paste.pocoo.org/show/536346/ What should I do? Cheers! From stayvoid at gmail.com Tue Jan 17 19:18:42 2012 From: stayvoid at gmail.com (Stayvoid) Date: Tue, 17 Jan 2012 22:18:42 +0300 Subject: [clfswm-devel] clfswm.ebuild In-Reply-To: References: <87wr90346n.fsf@common-lisp.net> Message-ID: > Pass this option in your .ebuild: > ... > --lisp-opt "-E iso-8859-1 -M "${EPREFIX}"/usr/$(get_libdir)/clisp-2.48/full/lispinit.mem" || di > ... ? ? ? ? ^^^^^^^^^^^^^ How to do it safely? Will it be OK if I edit the existing ebuild and emerge it again? > Wow! Selecting the text in a console window and paste it with the > middle mouse button doesn't do the trick? Or ctrl+insert to copy and > shift+insert to paste? Thanks. Middle mouse button helped. Cheers! From stayvoid at gmail.com Tue Jan 17 19:28:46 2012 From: stayvoid at gmail.com (Stayvoid) Date: Tue, 17 Jan 2012 22:28:46 +0300 Subject: [clfswm-devel] clfswm.ebuild In-Reply-To: References: <87wr90346n.fsf@common-lisp.net> Message-ID: Hey! Don't you think that I should add clx to the RDEPEND section? Cheers! From v.plechinger at gmail.com Tue Jan 17 20:31:36 2012 From: v.plechinger at gmail.com (Valentin Plechinger) Date: Tue, 17 Jan 2012 21:31:36 +0100 Subject: [clfswm-devel] Clfswmrc In-Reply-To: <87sjjfmj10.fsf@common-lisp.net> References: <87y5tbp4tc.fsf@common-lisp.net> <87sjjfmj10.fsf@common-lisp.net> Message-ID: > I like your defkeys-main. But what about the definition above which let > you change the mode easily? > > -------------------------------------------------- > (defmacro defkeys ((mode) &body keys) > ?(let ((symb (intern (format nil "DEFINE-~A-KEY" mode)))) > ? ?`(progn > ? ? ? ,@(loop for k in keys collect `(,symb , at k))))) > > (defun set-some-keys () > ?(defkeys (main) > ? ?(("f" :mod-1) 'start-emacs) > ? ?(("l" :mod-1) 'expose-all-windows-mode) > ? ?(("u" :mod-1) 'expose-windows-mode) > ? ?(("w" :mod-4) 'start-firefox) > ? ?(("Return" :mod-4) 'start-urxvt)) > ?(defkeys (second) > ? ?(("l" :mod-1) 'expose-all-windows-mode) > ? ?(("u" :mod-1) 'expose-windows-mode) > ? ?(("Return" :mod-4) 'start-urxvt))) > -------------------------------------------------- Yes that's even better (I'm not that fluent in lisp). Maybe a contrib module for things like that could be useful Regarding Mplayer. I can't say for sure how it happens, and today I couldn't reproduce it, workes fine at the moment. Another strange thing is, that occasionally my SBCL_HOME variable stays set at .cache/clfswm. Also I had some crashes whenever I pressed A-F9 to change the tiling mode. But again, today everything is fine. I might try to use it with clisp again as I did on my old pc (perfectly stable there) but I had some trouble getting it running. When I can pin down what exactly causes this behaviour I'll write a detailed report about it. At the moment it would be pointless. Thanks for the help From pbrochard at common-lisp.net Tue Jan 17 22:48:32 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Tue, 17 Jan 2012 23:48:32 +0100 Subject: [clfswm-devel] Full transparency support with xcompmgr. Message-ID: <87k44qx7wf.fsf@common-lisp.net> Hi all, Following the Ales remarks, I have implemented the full transparency support in CLFSWM. It uses xcompmgr. - *transparent-background* can be nil, pseudo (last transparency mode) or t (xcompmgr mode). - Transparency support is set by default to *default-transparency* (0.6) for all windows. - Each window in CLFSWM can have its own transparency (frame background, second mode window, identify mode window...). This is configurable with the configuration menu for each mode. - The transparency of each child/window can be changed with the window menu or the current child menu. I hope this will works for you as well as on my box :) Conky seems to bugs the whole thing if not configured properly. In particular, I have had to add this in its configuration file: -------------------------------------------------- own_window yes own_window_transparent yes -------------------------------------------------- If own_window is false, all frames disappears and just the conky frame can be viewed. Please, can you test deeply! Thanks a lot Ales for the xcompmgr remark. I thought transparency support will be more difficult to implement. Best regards, Philippe From pbrochard at common-lisp.net Tue Jan 17 23:12:04 2012 From: pbrochard at common-lisp.net (Philippe Brochard) Date: Wed, 18 Jan 2012 00:12:04 +0100 Subject: [clfswm-devel] Clfswmrc In-Reply-To: (Valentin Plechinger's message of "Tue, 17 Jan 2012 21:31:36 +0100") References: <87y5tbp4tc.fsf@common-lisp.net> <87sjjfmj10.fsf@common-lisp.net> Message-ID: <87ehuxq5yz.fsf@common-lisp.net> Valentin Plechinger writes: >> I like your defkeys-main. But what about the definition above which let >> you change the mode easily? >> >> -------------------------------------------------- >> (defmacro defkeys ((mode) &body keys) >> ?(let ((symb (intern (format nil "DEFINE-~A-KEY" mode)))) >> ? ?`(progn >> ? ? ? ,@(loop for k in keys collect `(,symb , at k))))) >> >> (defun set-some-keys () >> ?(defkeys (main) >> ? ?(("f" :mod-1) 'start-emacs) >> ? ?(("l" :mod-1) 'expose-all-windows-mode) >> ? ?(("u" :mod-1) 'expose-windows-mode) >> ? ?(("w" :mod-4) 'start-firefox) >> ? ?(("Return" :mod-4) 'start-urxvt)) >> ?(defkeys (second) >> ? ?(("l" :mod-1) 'expose-all-windows-mode) >> ? ?(("u" :mod-1) 'expose-windows-mode) >> ? ?(("Return" :mod-4) 'start-urxvt))) >> -------------------------------------------------- > > Yes that's even better (I'm not that fluent in lisp). > It is in CLFSWM now. But named as 'define-keys' to keep consistency and it uses symb instead of intern. > Maybe a contrib module for things like that could be useful > I don't see what you mean. > Regarding Mplayer. > I can't say for sure how it happens, and today I couldn't reproduce > it, workes fine at the moment. > Ok. Give us any feedback on any wrong behaviour. > Another strange thing is, that occasionally my SBCL_HOME variable > stays set at .cache/clfswm. > With the clfswm script, at startup, the default directory is .cache/clfswm. I don't see why the SBCL_HOME is set to this directory. > Also I had some crashes whenever I pressed A-F9 to change the tiling mode. > But again, today everything is fine. > Again, any feedback on wrong behaviour is welcome. CLFSWM is very stable here but I don't test it on all situations. > I might try to use it with clisp again as I did on my old pc > (perfectly stable there) but I had some trouble getting it running. > When I can pin down what exactly causes this behaviour I'll write a > detailed report about it. At the moment it would be pointless. > Thanks for the help > Regards, Philippe From dochang at gmail.com Fri Jan 20 08:54:43 2012 From: dochang at gmail.com (Desmond O. Chang) Date: Fri, 20 Jan 2012 16:54:43 +0800 Subject: [clfswm-devel] Type Error in CLFSWM::ADAPT-CHILD-TO-RECT In-Reply-To: <87ipl8w7po.fsf@common-lisp.net> (Philippe Brochard's message of "Thu, 22 Dec 2011 23:40:51 +0100") References: <87ipl8w7po.fsf@common-lisp.net> Message-ID: Philippe Brochard writes: > Desmond O. Chang writes: > >> Hi all, >> > Hi, > >> Did anyone get an error like "-63634 isn't a CARD16." when using >> clfswm with clisp/new-clx? >> > Yes I got this error with clisp/new-clx. But not with clisp/mit-clx or > portable-clx. mit-clx/portable-clx use a macro ENCODE-TYPE to convert the number. See SET-DRAWABLE-X in attributes.lisp. > The problem comes from the layout manager which set a negative width. > Have you seen which layout causes the trouble? And which application? A typical scenario is using Gmail web interface in chromium. When I clicked "Delete all spam messages now" or "Empty Trash now", these links raised browser built-in dialogs. After closing the dialogs, this bug *often* happened. But since Gmail has replaced browser built-in dialogs with html dialogs, I can't reproduce it anymore. I recorded a video [1] which shows how Conkeror caused this bug (no .clfswmrc and .conkerorrc during recording). [1] http://common-lisp.net/~dchang/clfswm-type-error-demo.ogv Thanks, Des From dochang at gmail.com Fri Jan 20 09:02:53 2012 From: dochang at gmail.com (Desmond O. Chang) Date: Fri, 20 Jan 2012 17:02:53 +0800 Subject: [clfswm-devel] Type Error in CLFSWM::ADAPT-CHILD-TO-RECT In-Reply-To: <87vcp23x35.fsf@common-lisp.net> (Philippe Brochard's message of "Tue, 27 Dec 2011 15:31:26 +0100") References: <87ipl8w7po.fsf@common-lisp.net> <87vcp23x35.fsf@common-lisp.net> Message-ID: <011de500-ec55-424d-9d53-ad18d425172f@mail.gmail.com> Philippe Brochard writes: > Philippe Brochard writes: > >> Desmond O. Chang writes: >> >>> Hi all, >>> >> Hi, >> >>> Did anyone get an error like "-63634 isn't a CARD16." when using >>> clfswm with clisp/new-clx? >>> >> Yes I got this error with clisp/new-clx. But not with clisp/mit-clx or >> portable-clx. >> The problem comes from the layout manager which set a negative width. >> Have you seen which layout causes the trouble? And which application? >> >> I've written a wrapper to all xlib:drawable-* functions to prevent this >> and report errors. It's in the fix-type-error branch in the >> common-lisp.net git repository: git://common-lisp.net/projects/clfswm/clfswm.git >> >> I don't think it's a good solution, a better one will be to see which >> layout cause this trouble and with which application. But I'll merge it >> in the master branch if we find nothing better. >> > I've replaced the copy/paste with a macrology and merge it in the master > branch. I've removed the fix-type-error branch. Feel free to log clfswm > output and report any suspect behaviour. It works. Thank you.