[clfswm-devel] CLFSWM licence change?

Philippe Brochard pbrochard at common-lisp.net
Fri Jan 13 23:11:07 UTC 2012


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




More information about the clfswm-devel mailing list