On Sun, Nov 16, 2008 at 01:36:30PM +0100, Ondrej Certik wrote:
> 
> Hi Kirr,
> 
> let me say that I am not convinced that LGPL is better for SymPy.
> 
> It seems to me that you think that LGPL will protect you 100% and keep
> you happy:
> 
> > Initially I was in a shape and could afford myself working on sympy
> > without protection, but when it started to be very tough, I have to
> > either have 100% protection or stop risking my health.

No, not 100%. It's an older quote. In my main post I say that "licensing
is only part of the game", and also I understand that LGPL would not
protect from every-possible abuse.

But it protects again some class of abuses, and a very common class.

Yes, it does not protect against putting modified software on a server
and making a service from it, but as I know neither of any DFSG-free
license do. Or am I wrong?

> But it won't. LGPL will not at all give you 100% of protection. You
> listed some examples of abuse (and I agree with you that I don't like
> that either!), but LGPL will not at all help. Let me list it:
> 
> [story about your colleague not contributing his changes back]
> > This story is imaginary, but I think it fairly well illustrates
> > qualitively the situation I have in mind.
> 
> LGPL will not help, because he was not redistributing the code.

Yes, LGPL would not help here, but I wanted to show the spirit, and most
of the companies want to redistribute the code (i.e. when they sell it),
so LGPL would work here.

> [your version of fair use]
> >    But if you change SymPy itself -- you have to share your modifications
> >    to SymPy, your other code still stays yours.
> 
> LGPL will only help if they redistribute the code and (see Brian's
> email) it may only help sometimes.

I agree that LGPL works only when the code is redistributed, and this is
fine with me.

Brian email: do you mean that it is difficult to understand legal
wording? Hm, yes, legal texts are difficult, but LGPL is with us for
~ 15 years already, and I personally always thought that there is a
clear traction of it, e.g. as written here:

http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License

And also I say again that almost every program actually *uses* LGPL'ed
libraries: for example glibc:

[EMAIL PROTECTED]:~$ ldd /usr/bin/python
        linux-gate.so.1 =>  (0xb7f32000)
        libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb7efb000)
        libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb7ef7000)
        libutil.so.1 => /lib/i686/cmov/libutil.so.1 (0xb7ef2000)
        libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb7ecc000)
        libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7d71000)
        /lib/ld-linux.so.2 (0xb7f33000)

While Python itself stays BSD.

That's why I personally think that the LGPL is a well established and
tested ground.

> In all other cases, e.g. buildling a web application, LGPL will *not*
> help us.

As I understand it, today there is a no DFSG-free license which protects
from such kind of abuse, so we just have to use the best thing from what
is awailable.

> According to you "fair use", what you really want is to have a license
> that says --- whatever you do with our code, you *have* to share your
> modifications. Well, that is a non-free license to me.

No, I want my "fair use" to only work when the code is redistributed.
I'm sorry it is ambigous. Let's correct it. Would the following be ok?

""" 
    Fair use of SymPy v0.2
    ----------------------
 
    You can use SymPy as you want, and we encourage you to build various 
    products on top of SymPy including commercial and closed-source ones. 
 
    Your own code that uses SymPy as a library can perfectly stay 
    proprietary. 
 
    But if you change SymPy itself *and* redistribute SymPy with this
    changes, you have to also provide your modifications to whom you
    distribute SymPy.

    Your other code still stays yours and can be distributed on whatever
    terms you like.
 
    To legally state what we think is our "Fair use of SymPy" we adopt LGPL 
    license. 
""" 

> > As to you statement - yes, I don't care about someone keeping private
> > modifications without redistributing them -- all I care about is
> > redistribution, and this is covered by LGPL.
> 
> Well, it is in direct contradiction to what you said above about your
> physics colleague -- he was keeping it secret without redistributing
> and you *did* care a lot. I agree that redistribution is covered by
> LGPL to some extent (but see Brian's email).

see above.

> > I can't say about VTK, because I don't know this area, and also I admit
> > there are good projects under BSD license but wouldn't the same work if
> > VTK would be LGPL'ed?
> 
> Maybe it would, but the point is that BSD works too.

Yes, in my main email I've said that there are too good BSD projects and
bad LGPL ones.

There are exceptions from every rule and from every pattern.

> [Wolfram and gmp]
> > Even if they don't send patches to gmp itself, they have to provide
> > sources to their users, and soon they should learn that maintaining lots
> > of patches could sometimes be problematic.
> >
> > So they are essentially _forced_ to fix that bugs and contribute back.
> >
> > In this sense LGPL helps, and BSD don't.
> 
> LGPL neither. As far as I am aware, Wolfram doesn't contribute back to
> gmp. Correct me if I am wrong.

If they don't need to enhance gmp - that's ok with me -- GMP is just
used.


> > Yes, such kind of thing exists. Let's try to agree on our terms "in
> > spirit" first -- if we do - we'll work all the technical and wording
> > details out. Is my "Fair use of SymPy" ok? If so, let's just adopt
> > closest existing solution on license market which is not-intrusive.
> >
> > Agree?
> 
> Yes, but we should only choose between well-known licenses, which are
> MIT, BSD, LGPL, GPL, and maybe Apache.
> 
> And yes, let's discuss the "spirit" first. As I said above, I
> completely disagree with the spirit you wrote, because you require
> anyone to share the changes back. That is like the requirement of
> scientific citation:
> 
> http://people.debian.org/~bap/dfsg-faq.html#citations
> 
> such a license is not free and would go to Debian non-free.

This thing was corrected.

Please see "Fair use of SymPy v0.2" above.

> > Also, since I propose we use LGPL, it would be perfectly possible to
> > build proprietary/closed software on top of sympy.
> >
> > What's the problem with this?
> 
> The problem is that most people around SymPy and scientific computing
> in Python prefer BSD.
> 
> What is your problem with BSD? LGPL will not protect you as I
> described above either.

Most users would even don't notice if sympy is lgpl -- they could
perfectly ok be using sympy with essentially any license for their own
software.

But next the question comes to sympy developers.

As a developers I want to care into which hands the result go, and yes,
LGPL is not a silver bullet, and bad hands is bigger than "fair use of
sympy" abuse. But to me LGPL is at least something and practical in
protecting from common scenarious.

The question is what other developers think.

----

And also I'd like to remind you, that even if SymPy stays BSD, *anyone*
can take it, and modify it, and redistribute by *another* license, e.g.
proprietary, LGPL, GPL, or anything else -- just three points of BSD
license have to be respected as well as additions:

Copyright (c) 2006, 2007, 2008 SymPy Development Team

All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

  a. Redistributions of source code must retain the above copyright notice,
     this list of conditions and the following disclaimer.
  b. Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions and the following disclaimer in the
     documentation and/or other materials provided with the distribution.
  c. Neither the name of the SymPy nor the names of its contributors
     may be used to endorse or promote products derived from this software
     without specific prior written permission.


THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
DAMAGE.


> > Companies like Enthough and others who benefit from BSD code tought
> > some developers to "like" BSD. Some really believe BSD is better, some
> > just want to be in fashion and to have job oportunities.
> 
> Enthought didn't teach me to like BSD.

I think this chain was with multi nodes.

> > And what about GLibc which is LGPL'ed? Any problems in using this
> > library? I bet 90% of people out there even dont _think_ of this issue
> > when they run their programs, that they depend on Glibc.
> 
> Yes, I have no problems using LGPL or GPLed software (or even non-free
> software).

So what would be the problem in using LGPL'ed SymPy?

> > I've put licensing stuff on shelve in harder times, just to concentrate
> > on technical bits and defend SymPy. But after that investment (it was in
> 
> And I appreciate that. Thanks for everything you did!

Now I regret I was doing it for too long without (as you've told me so
many times) resolving the licensing issue.

But for me it's very strange that we understood each other in almost all
areas with the only exception being licensing.

> > spare time + several day offs, compare with e.g. 6 months full-time
> > grant sponsored development of sympycore [1]), it became much more evident
> > that developers effort have to be protected.
> > Yes, to me developers effort have to be respected and protected. And if
> > this could be done in a compromise way, it should be done.
> 
> LGPL would *not* prevent the development of sympycore.  All I am
> saying is that those things are orthogonal to the license. The way to
> deal with these issues is not LGPL (it won't help), but to meet the
> people, talk with them, talk about what you want, what they want and
> trying to find ways to work together, because it helps both parties. I
> did exactly that at EuroSciPy. Again, let me stress, that even if we
> didn't reach some consensus, LGPL would not help.

What I was saying here, is that when there was a threat, we provided
adequate-answer to this threat, and in particular this was the reason I
was not starting licensing discussion, not to loose concentration.

Now I'm telling that there will *maybe* other threats in the future. So
why not to protect the project? The more you work, the more you put your
soul into the project, the stronger you want this protection.

No? Irrational?

> > Actually some people we all know want money first [1], or stop working
> > on their "babies" after their grant is finished [2], or want to be paid
> > working for companies which want to keep their modifications secret [3],
> 
> So what? I know all those people personally and I think they are
> they are helping our community, not hurting. Well, if sympycore
> meant our community would split, that would hurt, but
> as I said above, LGPL would not help here. 

Do you know evey possible user or developer of SymPy in advance? I think
that knowing each other is good and essential, but also there should be
written rules of what is allowed and what is not.

> > I claim again, that because it benefits some companies, they created
> > such a pro-BSD athmosphere and they've reached criticall mass.
> >
> > But again I say -- just open your mind and drop this bullshit -- you
> 
> I don't think it's bullshit. If you have the need, write me a private
> email or call me and you are free to use any expressions you want. But
> on our public list, please don't use such words. Unless you really
> mean it.

I really meant it, but I've got you -- I'll try not to use such kind of
words anymore in sympy list.


> > started from fair rules:
> >
> > """
> > What I like on GPL is that if someone takes it, he needs to distribute
> > his
> > changes and code also as GPL, and cannot just steal it and used it in a
> > proprietary product without releasing his code as opensource. I have
> > nothing against someone taking our code and selling it, however, I want
> > him
> > to release it as open-source (GPL). I think that's fair.
> > """
> >
> > Just substitude GPL -> LGPL and this is ok for all.
> 
> Yes I changed my mind on this. And I am not fanatically against any
> license.

To me you've changed from one extreme case (GPL) to another extreme
(BSD), while I propose the median (LGPL).

> But I listen to people around SymPy, our users and developers. I know
> you very strongly want LGPL. But most other people
> prefer BSD, including me. Are you willing to make compromises? For
> example some addons to sympy (maybe the C core if you want to develope
> that?) could have other license.

LGPL is already a compromise.

I've used to touch sympy everywhere, starting from pprint, integrator (a
bit) and ending touching Add, Mul and Basic internals. You said that "every
developer should feel that the whole project is his/her, that he can
change every file, etc..." and this was indeed in spirit of sympy
development (at least for me), so if I have not support from other
developers, I'd better quit, and hack my own solution of what I
personally need starting from BSD sympy and LGPL it (and this is
perfectly legally ok).


> You know that when we developed pyqm
> as an addon to sympy with you:
> 
> http://code.google.com/p/pyqm/
> 
> because there were only you and me as developers and I don't mind any
> license. But in SymPy it is not just about you and me. So whatever
> license we choose, it needs to have support in our community. As I see
> it currently, LGPL doesn't have such support as BSD.

Maybe, but first I'd like to hear what other SymPy developers think.

Guys, even if you prefer BSD, or LGPL or whatever, please state it
clearly, what licensing terms are ok with you.

-- 
                                Kirill

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to sympy@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sympy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to