I think we should stay with BSD, but not everyone agrees with me and
when it reaches the point, that someone doesn't want to contribute
anymore, because we use too permissive license, it needs to be
discussed again, or at least clarified.
It started with this thread in sympy-patches:
http://groups.google.com/group/sympy-patches/browse_thread/thread/25c8fea6d51d2bf5
and read especially this why Kirr doesn't want to contribute anymore
(and license is the main problem):
http://groups.google.com/group/sympy-patches/msg/9e49c1b9f690e1cd
it's a very nice and honest email. Kirr has done a stellar job over
the past year and half and we definitely would not be as advanced with
sympy without him. I'll reply to his arguments in my next email.
But I'd like to use this occasion to make a survey among our
developers and users ---- do you think we should stay with BSD, or
switch to LGPL? I am interested in all opinions from anyone. Whenever
there is some occasion, I am discussing this with people around sympy
and so far my observation is that most people either prefer BSD, or
don't mind either, but would like to hear good arguments why LGPL
should be better. There are also some who clearly prefer LGPL, for
example Kirill or some people from the Sage community, but I think
given all the circumstances (i.e. sympy aspiring to become the
symbolic manipulation library for Python, and together with numpy,
scipy, matplotlib, mayavi and others form a BSD like environment for
scientific computing, that people can build on and given the community
where sympy belongs), the right license for sympy is BSD.
In my next email soon to this thread, I'll reply to particular points
raised by Kirr.
Ondrej
FWIW, my vote is for BSD. I, personally, don't work on (weak or
strong) copyleft projects. Copyleft licenses are intrinsically
attached to an agenda which I don't share so I don't use them. I'm not
a fan of agendas.
I can see the point for some pieces of software where there is a known
threat (e.g. the LGPLed work on GMP gets enhanced slightly by a
proprietary product and resold with lots of bragging about how they're
better than the open source GMP), but is there an actual threat to
sympy? Hypothetical threats don't impress me much.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
-- Umberto Eco
Yes, I also think we have proved that we can improve with our current
codebase and I also hope we'll prove it in the future by merging the
new sympyx core (that we have written this summer) in.
I myself almost dropped out of my school because of sympy the last
year, so I couldn't invest more time in it than I did and I am very
much grateful to you, that you helped out so much.
> My journey with computers started at school, when I was 13 - I had not
> access to any machine -- pen, paper and basic were my tools then.
>
> Then I had my own ZX Spectrum, which I enjoyed using -->
>
> (we had our own FIDO-like network, disk operating system, C compiler,
> etc... In university years I even typed some of my TeX papers on ZX and
> translated them on a class computer... overall Speccy was a wonderful
> machine and a great learning playground for a lot of people).
>
> --> till the end of 2000 -- after graduating as bachelor and spending
> some time in army, parents bought me my first pc.
>
> First time I had trouble to install RedHat Linux 6.2 (because of
> non-standard ide controller), that's why I started studying Windows.
>
> And you know, I've came to a thought that "Windows is not the kind of
> environment I would like to change my Speccy to." Too much magic, too
> much internal inconsistency and dark corners, too complex sometimes with
> obscure bug'o'features. That was not for me.
>
> Fortunately, digging through internet helped to install Linux, and a
> wonderful world opened to me. I was charmed by UNIX ideas, and
> simplicity (now I understand that this is [1], but at that time I was
> not understanding it clearly). I learned learned learned ... - it was
> like a house for programming - a good house - and it was open and saying
> "welcome."
>
> I still believe I was very lucky having a very good book at hand
> (written by physicist Kai Petzke btw - [2] is a russian translation of
> [3]) to study things and digg them and understand them. Although one
> of my friend told me the book was pointless to him, I think the main
> value was in giving good starting points and good digging directions for
> those who want to learn, and from this point of view, this book is
> excellent.
>
>
> Now I even don't remember when I first started studying and hacking free
> software, maybe it was vgetty [4] into which I've hooked my software AON
> (russian analogue of Caller ID) decoding, today I can't say.
>
> The main point is that somehow I first started to learn-by-doing as a
> hobbyst. Then after we've met with nightbird people ([5], [6]) I had a
> wonderful ability to work on several things - general linux, audio
> capture/playback, the same for video, working with phone in data mode,
> in voice as fax, we even hooked nice IBM ViaVoice speach synthesis
> module into our system, and also russian "speaking mouse" _win32_ dll
> through wine (sic!), encrypted voluems on raid arrays, custom installer
> based on RedHat's anaconda, etc ... wow - this was all possible because
> all the building blocks were open, and a young guy like me could just
> take them, and study them, and adapt them to own needs, and to build
> something new, basing on other's shoulders.
>
> Today I understand that this was a great pleasure for me and that thanks
> to nightbird, I had so rare chance to self-educate at so many places,
> with so fast pace, that though the project was abandoned later, I
> strongly believe it opened doors to free software world to me changed my
> life forever.
>
> Serge, Mikhail, I want to say thanks to you. As with everything, first
> job is special, and I still miss you, and think of the time we spent
> together with nostalgy. It does not that matter C++ or Python -- human
> relations is what gives life to everything ...
Absolutely, human relations is what makes life fun to live and I very
much enjoy the social part of opensource too, and especially the
python scientific community. I've met really really great people
thanks to it.
> What I'm trying to show you, that being free for software is important.
> If a young guy or anyone else, could take it and study it, and modify it
> and share it with others, it's like as in university:
>
> all the knowledge done by previous people is avaliable to students
>
> and if you think of it, you'll understand that as students, we usually
>
> study the knowledge collected and distilled by others for
> _thouthands_ years, just in a say 4 years university course.
>
> We are all used to it, but I think this is a miracle, that human being
> is made *that* flexible, so that starting from scratch, young he or she
> can absorb the giant building of knowledge _easily_, just not
> understanding what kind of thing is happening, and thinking of learnt as
> of something usual.
>
> Besides humans being flexible, this is all possible only when the
> science is open - all knowledge comes for free - it's available for all
> people and for good.
>
> Likewise for software, when it comes for free as in free speech - open
> and available for studing, modification, sharing - it's like with a good
> science, humans absorb it and adapt it, and improve it for good. And a
> young man, e.g. like me can study and grow and absorb all the things
> done before, and go forward.
Yes, I agree. That's why I like Debian and it's strict license policy
so much --- because if I depend with my programs only on things from
Debian main, I can be (pretty) sure that I will always have all the
tools available to get the job done, no matter which company, or
university or place I am at. Just the internet connection is needed,
or just a big enough disk to handle the whole Debian archive.
>
> Compared to bad science, or locked down or proprietary software, it is a
> very good thing!
>
> I'd like to explain better, but now I'm too sleepy, and I have 10
> minutes left, and tommorow I have to go to work and concentrate there
> ...
>
> <so from now on it goes unstructured>
>
>
> What is important is that the software should be free as in free speech
> - one should always be able to:
>
> - run it
> - study it
> - modify it
> - share it
Yes. You should also be able to compile it (=run it) using only free
software. E.g. that's what Debian main distribution preserves.
>
> There are mechanisms to legally make contracts with software users,
> which protects this freedom, mainly strong copyleft (GPL) and weak
> copyleft (LGPL).
It is important to note, that not even GPL protects all kinds of
"abuse". In my opinion, the far bigger "threat" are the internet based
applications, like gmail, that are completely without sources and the
companies can even run GPLed code behind it --- but you have no chance
to study/run/modify or share the program.
But as long as I am not forced to use such a service, I don't mind.
And I use gmail, because it's good. But I don't have to, I can
administer my own email server and use mutt. As long as I have this
second option, I don't mind using non-free software (I also sometimes
use google earth and skype and picasa and other things). I just don't
want to depend on it.
> From almost the beggining I was talking to Ondrej that I think it's
> better to use LGPL for SymPy, that is anyone could be able to build
> application or other libraries whichever license they choose (including
> proprietary) on top of SymPy, but SymPy should always stays free as in
> free speech. Mainly one should be disallowed to "make private
> modifications to sympy and keep them secret."
Here we disagree. For me personally, this right is very important,
that not only I, but anyone can make any modification and do what he
wants with it, including keeping it secret.
> LGPL is a good compromise, and it does not force users of a library into
> any license, so why can't it be used.
Well, it depends on your personal point of view, but many people,
including me view it in a way that it forces, because LGPL is not
compatible with every license out there. Actually, I think there are
even some problems with mixing LGPL 2 and LGPL 3 code.
>
> Why on earth, say I as a hobbyst, spending my spare time, would want the
> result be used as a starting ground for closed software? BSD allows it
> explicitly, and this is not ok with me.
I respect your point of view and I think it's perfectly consistent.
But I don't share it --- I am also a hobbyist to some extent, well as
to sympy I still am, and I just want my code and my work to be used.
Because I believe it is good for me and the whole community in the
end. I do sympy because I very strongly believe in its potential and
that we get to a point (and we are almost there) where I could use it
regularly for my research. For example our recent work with Brian
shows, that we could actually do atomic physics using only open source
software in Python. That's very exciting.
And if someone uses it in some commercial product? I believe it will
help us, not hurt us. I believe it's about the community which is
around sympy. Commercial product can have a community, but a different
one --- I am pretty sure we all use sympy exactly because we have the
source code and because it's opensource.
>
> Actually at my work, With one of my collegues, we've made an
> observation, that usually motivated people, who are interested first in
> developing interesting things, to achive great result, to care about the
> project and it's ecosystem in general, and only then in money, usually
> prefer LGPL to BSD, and on contrary side, people who tend to work for
> money first, and care less about result, about fitting their development
> with others, about achiving good results, pushing harder when needed,
> prefer BSD. They usually say that "BSD is the license that companys
> prefer, and for which they pay money"
I think both ways are possible. I believe that Python itself and all
the BSD like tools around it show that people can do BSD software and
care about the project.
>
> Do you see the pattern?
>
> LGPL, being a fair contract, is good for everyone -->
Here we disagree. I respect that for you "LGPL is good for everyone".
But for me, "BSD is just as fair for everyone".
>
> (e.g. GTK+ is LGPL'ed, and there is a lot of free and proprietary
> software which uses it without a problem)
>
> --> is choosen by people who care, whereas BSD is choosen by people who
> want money first.
I understand what you mean. But I don't think that people around
sympy, or scipy or numpy don't care and want money first. So I
disagree with that statement.
>
> Money is ok, but I even can say that usually who want money first, get
> _less_ money than people who do care about the project in the first
> place.
Yes, I agree. I believe in american dream which says that you can get
what you want, but you need to work hard and it may take a long time,
but you'll get there eventually.
> Also I can say that in our company we use a lot of LGPL'ed software, and
> this is legally 100% ok, and that we even sponsor some LGPL'ed
> development, so to me there is just no rational reason why LGPL is not
> good for SymPy.
There are pros and cons to all three BSD and LGPL and BSD. You stated
the pros of LGPL. The cons is that LGPL creates a barrier of
contributions, from a lot (but not all) people and also usage, because
simply LGPL is more restrictive. Whenever you put more restrictions (I
am not saying it is necessarily bad) you lose some users. So while
LGPL is maybe good for sympy, BSD is imho better.
>
> I've failed to win Ondrej's mind, and I think I'll fail to convince most
> of you, and it makes me very sad, that so much evident common sence is
> not accepted, that I stopped thinking to be like at home with sympy
> recently.
I am sorry about that. But I think it is not a common sence.
>
>
> Also, when someone is in a deep overwork, it so happens, that there
> happens social issue, like e.g. quirelling with wife, after which I've
> felt hurt at everyone and decided to quit.
>
> Yes, it was childish, but it shows, that (at least some) good developers
> need good support, and also that spare time which can be spend for
I believe that everyone needs good support.
> either having a rest, going for a walk, for a talk with a human you
> love, or either to develop sympy, is _precious_.
I agree with this too. We all die once, so our time is limited and so
we should spend it very effectively.
>
> For me I just can't afford to spend that _precious_ spare time without
> legally protecting the result from abuse.
I think I understand how you feel. But as I said above, I think LGPL
maybe protects some abuse in some situations, but definitely not all
abuse in all situations (see my example with gmail above) and also
from the way you look at it, I don't even thinkl it is abuse --
depends on circumstances of course.
>
> I don't think this email will be of any use, but in case anyone is
> interested, we had a lenghty private email conversation with Ondrej, to
> which I'm ok to be opened in case this would be relevant.
I don't mind either, but please send it to me in private first to
check that I didn't write something I wouldn't like to be opened.
>
> I'm sad it turned out to be unstructured - usually I try to achive the
> results which I like myself, but I would not have time for it in a
> foreseable future.
>
> So, if there is someone who wants to better understand Kirr - you have a
> pleanty of raw material now.
>
> Time to go, bye.
Thanks for your email and I hope that we'll continue seeing you
around. And if not, then thanks again for everything you did for
sympy, it was and it is still a pleasure for me to work with you.
Ondrej
I'll use my mail to reply mainly to Kirr (I hope he is still listening)
because I hugely respect and value a man who has invested a large amount
of quality time in a community project.
Kirr, you have been a fantastic actor of the project. You are now saying
that you are tired. This is actually a fairly common problem. We all
fight with lack of time, to many various interests. Software development
comes with its load of difficulties and disappointments. Too much
sacrifices ruin private life.
I am off course very sad if you quit this project that I follow (without
contributing, sorry) and in which I believe. However, what I really want
is to thank you for all your work. I hope you had as much fun as
possible, and I hope that your will keep good memories of your time with
sympy, rather than the reasons that made you quit. And besides, no
decisions is irreversible. I believe that you will have friends in the
sympy team whether you are contributing or not. Life and friendship are
more important than software.
> But I'd like to use this occasion to make a survey among our
> developers and users ---- do you think we should stay with BSD, or
> switch to LGPL? I am interested in all opinions from anyone. Whenever
> there is some occasion, I am discussing this with people around sympy
> and so far my observation is that most people either prefer BSD, or
> don't mind either, but would like to hear good arguments why LGPL
> should be better. There are also some who clearly prefer LGPL, for
> example Kirill or some people from the Sage community, but I think
> given all the circumstances (i.e. sympy aspiring to become the
> symbolic manipulation library for Python, and together with numpy,
> scipy, matplotlib, mayavi and others form a BSD like environment for
> scientific computing, that people can build on and given the community
> where sympy belongs), the right license for sympy is BSD.
We have discussed this a few times, including over a few beers in Prague,
you know my point of view. I won't dwell on it long.
Briefly. I personally realized that I don't care much about the license
of the software that I write. I care more that it is used by as many
people as much as possible. The thing that worries me most with software
is the amount of wheel reinvention, and lousy, half-complete,
implementations of a solution to a given problem. This is why I believe
free software has a future. This is indeed the Lessig point of view. The
reason I feel a BSD license help is that many companies (especially large
ones) are not afraid of hiring scores of developers to reinvent the
wheel, just because they want to possess it and control it. The driver
for free software adoption in companies is not cost, but control.
Of course the license debate changes whether you consider your software
as a component, that needs to be integrate in a larger infrastructure, or
as a finished good. Linux, (GPL, fantastic example of free software
success) is clearly a finished good. Wine (now LGPL) may also be a
finished good. Scientific computing libraries on the other hand, are not
finished goods. A company, or a research lab, may want to fork them to
keep a competitive advantage, and maybe not even redistribute the
resulting binaries. And that's fair enough by me, because I think the
world is a better place if these people use my software as a start,
rather than building on crappy bases. Besides, if they later decide to
share, it will be possible if the built on common abstraction. Finally, I
hope that as the world evolve, people (mostly managers and lawyers) will
understand the gain that there is to share 90% of the code, may it be
with 10% kept secret for a competitive advantage.
For me the golden example of successful free scientific software is VTK.
VTK is a 3D plotting library. 3D plotting is a forever-reinvented
problem. Each particular application is actually fairly simple, but when
you try to do something a bit more general, it gets really hard. So
people (companies, research labs) start out with a specific problem they
want to solve, and code a quick implementation, then as they evolve,
their small implementation grows to be a huge one, and most of the time
lies on crappy abstractions and data structure. VTK was born as a spin
off of GE: the code used in medical visualization was split off to a
start up (Kitware) and BSDed. GE still have their own proprietary bunch
of codes, for their medical devices, but VTK lives on, and unites the
efforts of many companies and labs with diverging problems and goals. In
the case of VTK, individual actors have learned that they need to
contribute back, because the cost of have their own abstraction and
algorithm to maintain and to impedance-match with the rest of the world
was very high. They make a careful decision as to what is open-sourced
and what isn't.
This is my model of development, and my 2 cents.
Gaël
> EPD can ship LGPL
> -----------------
I'm not sure who is telling you that we can't. It's just not true. We
can and do ship LGPL and some GPLed packages. As a rule, we do prefer
BSD-licensed packages, though.
> I think _we_ should set the rules, not some company, and if _we_ manage
> SymPy to be succcessful product, EPD would just be _forced_ to ship it.
Huh. And I thought we were talking about freedom, here...
Like Gael, I have the goal of wanting as many people as possible to be
able to use software that I write. Thus I prefer a BSD-like license.
Then, the only people who then can't use it (essentially) are those
who choose not to.
I do think both the GPL and LGPL license are useful in certain contexts.
Even though they are useful in certain contexts, I think they have a
critical flaw. The flaw is that both the GPL and the LGPL are too
complicated. Why do I say this:
* I have spent many hours talking with people about the LGPL and GPL
and have read lots about them (including the actual license text), but
I am still not sure exactly how to interpret them. (OK, you may say
that I am not that smart, but...)
* Many other smart people still have huge disagreements and
misunderstandings about the interpretation of the GPL and LGPL. And
these diff-interpretations are not just symantic in nature (e.g., how
word "freedom" is used). They are substantial and made by equally
bright people on both sides of the argument.
* If you have any doubts about their complexity, just read
http://www.gnu.org/licenses/gpl-faq.html
Thus, even if I did want/need the protections of the GPL or LGPL, I am
not sure that I really trust the licenses, because I am not sure of
what they actually say (mean). At least not until all the grey areas
are tested in court, which at this point they haven't been.
Thus, I am +1 on keeping sympy as BSD.
But, one question:
If sympy becomes LGPL, what license restrictions would my code have if
I subclass sympy.Basic?
Cheers,
Brian
No problem here. We all do our own first steps some time, and please
don't be afraid to hurt me.
As to history of contributions - if you are interested, I suggest to run
gitk or `git shortlog` and study it.
> Like Gael, I have the goal of wanting as many people as possible to be
> able to use software that I write. Thus I prefer a BSD-like license.
> Then, the only people who then can't use it (essentially) are those
> who choose not to.
Many developers start from this proposition. While the goal is good (as
many people as possible to be able to use software), the way to achieve
this (BSD-like license) sometimes does not work. Yes, in the beggining
it works very well, but without feedback the original software sometimes
stagnates.
Many think that "must cooperate" licensing helps development, e.g.
please read my original post
http://groups.google.com/group/sympy/msg/c405c091076f6cfa
and this blog post from 2006 by David A. Wheeler about "why GPL rocketed
Linux to success":
http://www.dwheeler.com/blog/2006/09/01/#gpl-bsd
But also *please* read in my original post that
GPL for kernel = LGPL for user splace libraries.
> I do think both the GPL and LGPL license are useful in certain contexts.
>
> Even though they are useful in certain contexts, I think they have a
> critical flaw. The flaw is that both the GPL and the LGPL are too
> complicated. Why do I say this:
>
> * I have spent many hours talking with people about the LGPL and GPL
> and have read lots about them (including the actual license text), but
> I am still not sure exactly how to interpret them. (OK, you may say
> that I am not that smart, but...)
>
> * Many other smart people still have huge disagreements and
> misunderstandings about the interpretation of the GPL and LGPL. And
> these diff-interpretations are not just symantic in nature (e.g., how
> word "freedom" is used). They are substantial and made by equally
In LGPL-2.1 the word "freedom" is used only in Preamble section which
in legal context serves as introduction only.
http://www.gnu.org/licenses/old-licenses/lgpl-2.1.txt
And I'm sure it says about "freedom" in the way how fsf understands it:
http://www.gnu.org/philosophy/free-sw.html
> bright people on both sides of the argument.
>
> * If you have any doubts about their complexity, just read
> http://www.gnu.org/licenses/gpl-faq.html
>
> Thus, even if I did want/need the protections of the GPL or LGPL, I am
> not sure that I really trust the licenses, because I am not sure of
> what they actually say (mean). At least not until all the grey areas
> are tested in court, which at this point they haven't been.
Yes, legal texts are a tricky area. That's why I propose we first
clearly state our intent with the "Fair use of SymPy" before the license
text (please read my original post).
Another thing is LGPL *is* very widely depolyed and is non-intrusive (e.g.
on Linux systems, the _basic_ library GLibc is covered by LGPL, though
any software can use and uses it -- Python (BSD), protprietary
applications... *any*)
And also big advantage of LGPL is that it was tested in real action - in
court with success.
So if we agree on basic words (Fair use of SymPy) I suggest just to
adopt the license which is close in translation to it.
> But, one question:
>
> If sympy becomes LGPL, what license restrictions would my code have if
> I subclass sympy.Basic?
If you subclass sympy.Basic from your outside-of-sympy code, and sympy
is LGPL'ed, in essence your code could be covered by *any* license you
like - be it BSD, LGPL, GPL, closed, etc -- any.
An example of this are common libraries, e.g. GLibc (LGPL), libgcc (GPL
+ linking exception), WineLib (LGPL) -- which are used by both open and
closed software without _any_ problem.
This particular property makes LGPL good to me and to other people -- it
does not dictate software users which license to use.
This is covered in details in my original post:
http://groups.google.com/group/sympy/msg/c405c091076f6cfa
Also please read about it here:
http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License
--
Kirill
Ok, we all do mistakes. If you can and ship LGPL -- MY APPOLOGIZES --
and I'm glad you do it.
> > I think _we_ should set the rules, not some company, and if _we_ manage
> > SymPy to be succcessful product, EPD would just be _forced_ to ship it.
>
> Huh. And I thought we were talking about freedom, here...
Yes, we are talking about freedom here -- freedom for users when they
receive software to run, study, modify and redistribute it.
When I say "forced" I mean "if a package is popular enough, and there is
users demand for it, popular distributions would just pick it."
In no way I disregard your freedom here.
--
Kirill
kirr@roro3:~$ which python
/usr/bin/python
kirr@roro3:~$ ldd /usr/bin/python
linux-gate.so.1 => (0xb7fa0000)
libpthread.so.0 => /lib/i686/cmov/libpthread.so.0 (0xb7f69000)
libdl.so.2 => /lib/i686/cmov/libdl.so.2 (0xb7f65000)
libutil.so.1 => /lib/i686/cmov/libutil.so.1 (0xb7f60000)
libm.so.6 => /lib/i686/cmov/libm.so.6 (0xb7f3a000)
libc.so.6 => /lib/i686/cmov/libc.so.6 (0xb7ddf000)
/lib/ld-linux.so.2 (0xb7fa1000)
Python is BSD-like licensed, while at least libptherad.so.0, libdl.so.2,
libutil.so.1, libm.so.6, libc.so.6 and ld-linux.so.2 are licensed under
"LGPL + credits for some small parts". On Debian system the exact terms
are here:
/usr/share/doc/python/copyright
/usr/share/doc/libc6/copyright
--
Kirill
I am all for Fair use of SymPy, as an informal way of saying that it
is (at least) polite to for example cite us and consider contributing
the changes back, because in the end, it helps everyone. But the BSD
license covers that --- it requires to give credit were credit is due.
>
>> But, one question:
>>
>> If sympy becomes LGPL, what license restrictions would my code have if
>> I subclass sympy.Basic?
>
> If you subclass sympy.Basic from your outside-of-sympy code, and sympy
> is LGPL'ed, in essence your code could be covered by *any* license you
> like - be it BSD, LGPL, GPL, closed, etc -- any.
But what if I want to subclass Basic and keep the class in the same
file? Can half the file be LGPL and half BSD?
And btw, what is the point of being LGPL at all, if people who do not
want to contribute changes back will just subclass Basic and keep
their contributions in separate files, that they do not need to
redistribute?
Ondrej
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.
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.
[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. In all other cases, e.g. buildling
a web application, LGPL will *not* help us. 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.
> 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).
> 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.
[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.
> 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.
> 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.
> 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.
> 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).
> 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!
> 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.
> 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 doi
> 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.
> 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. 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. 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.
Ondrej
>> 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 doi
... 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.
> that?) could have other license. 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
Forgot to add that pyqm uses LGPL. Just as an example that I don't
mind either license.
Ondrej
My "Fair use of SymPy" requres more -- in any case to share changes to
SymPy itself when the code is distributed.
> >> But, one question:
> >>
> >> If sympy becomes LGPL, what license restrictions would my code have if
> >> I subclass sympy.Basic?
> >
> > If you subclass sympy.Basic from your outside-of-sympy code, and sympy
> > is LGPL'ed, in essence your code could be covered by *any* license you
> > like - be it BSD, LGPL, GPL, closed, etc -- any.
>
> But what if I want to subclass Basic and keep the class in the same
> file? Can half the file be LGPL and half BSD?
No, as I understand it, it should be LGPL.
> And btw, what is the point of being LGPL at all, if people who do not
> want to contribute changes back will just subclass Basic and keep
> their contributions in separate files, that they do not need to
> redistribute?
As I've said many time already, for me the point in LGPL is that the
whole result can't be abused, i.e. always stays open, and in no
circumstances is distributed with private modifications applied and kept
in secret.
If I'm alone in this - no problem. Let's not waste time and put all
accents on i.
Kirill
Ah, ok. I thought you mean the Fair use of SymPy that we currently
have in our README. As I stated in my other email, I do not share your
new Fair use.
>
>> >> But, one question:
>> >>
>> >> If sympy becomes LGPL, what license restrictions would my code have if
>> >> I subclass sympy.Basic?
>> >
>> > If you subclass sympy.Basic from your outside-of-sympy code, and sympy
>> > is LGPL'ed, in essence your code could be covered by *any* license you
>> > like - be it BSD, LGPL, GPL, closed, etc -- any.
>>
>> But what if I want to subclass Basic and keep the class in the same
>> file? Can half the file be LGPL and half BSD?
>
> No, as I understand it, it should be LGPL.
>
>> And btw, what is the point of being LGPL at all, if people who do not
>> want to contribute changes back will just subclass Basic and keep
>> their contributions in separate files, that they do not need to
>> redistribute?
>
> As I've said many time already, for me the point in LGPL is that the
> whole result can't be abused, i.e. always stays open, and in no
> circumstances is distributed with private modifications applied and kept
> in secret.
>
> If I'm alone in this - no problem. Let's not waste time and put all
> accents on i.
Ok, imagine I am the greedy company that you want to protect against.
Imagine sympy is LGPL. What prevents me to keep my modifications and
additions to sympy private using the technique of separate files (thus
they don't have to be LGPL) and patching SymPy classes on the fly (at
runtime)? I know that for you the point of LGPL is to prevent this. My
point is that LGPL doesn't prevent this.
Ondrej
Would it be ok if we correct fair use to only work when the code is
redistribured?
You can patch python files at runtime and it is perfectly ok with me,
since Python is a dynamic language where such interface is allowed.
Actually in this case you would use the _interface_ provided by our
library.
Also, since only library interface is used, it is ok with LGPL.
But how would you patch at runtime, compiled modules?
Also, patching at runtime is not always possible technically, i.e.
usually you can't do nontrivial patching.
--
Kirill
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:
kirr@roro3:~$ 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
Hello,
I prefer the LGPL licence, but my contributions to sympy are so small that I
don't mind too much about protecting my code from being "abused" by someone.
On the contrary Kirill contributions are big, so I totally understand his
point.
So +1 LGPL.
Riccardo
well, today is a licensing weekend. I wanted to release today, but
let's get this discussed, I think it is important. It'd have to be
discussed anyway sooner or later.
On Sun, Nov 16, 2008 at 3:02 PM, Kirill Smelkov
<ki...@landau.phys.spbu.ru> wrote:
>
> 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?
Well, read this post:
http://www.miriamruiz.es/weblog/?p=192
so the answer is yes and no. Which means AGPL is on the edge between
free and non-free, as viewed by many people around Debian.
I definitely want sympy to be on the safe side of the edge.
> 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:
>
> kirr@roro3:~$ 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.
Yes, I believe that from all the other options, if we want more
restrictions, we should use either LGPL or GPL (2 or later, so that we
are compatible with other programs, like Sage). Another problem is
that I really, really don't like the phrase 2 or later. I like exact
terms that are valid at the point in time when we released the
software.
>> 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.
> """
Yes, now I think it is free software.
>> 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.
If they use it as a black box -- yes. But at least my intention always
was to treat each user as a developer so that we work on one thing
together.
>
> 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.
Yes, I am also interested what other people 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:
Yes, exactly.
>> > 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?
Using? No problems. Developing? Yes, that's what this all discussion is about.
>> > 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.
Yes, I knew we would utterly disagree here, so I tried to push you to
discuss it sooner.
>
> But for me it's very strange that we understood each other in almost all
> areas with the only exception being licensing.
Well, I am sure there are more things, like politics where we would
disagree too. But the point is that we both have a common aim with
sympy, so as long as we are able to work together, it benefits both
and it benefits sympy.
>> > 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?
I think it is perfectly rational to protect against threats. Every
protection comes with a price and considering the protection of LGPL
and the price of it, I prefer BSD.
>> > 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.
Yes, I believe it too, that having written rules is essential.
>
>> > 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.
Well, I thought you said it because you were upset. If you really
meant it after you calmed down, then I think we should not be
discussing this anymore, because I expect people to respect each
other's opinions.
>> > 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).
Because it seems to me that LGPL doesn't have enough protection (as
GPL) and yet it looses the advantages of BSD.
>> 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).
Sure. But then Kirill2 will come and take your code and make it GPL,
because LGPL is not protective enough. He will use the exact same
arguments as you are using now. Clearly you can add as many
restrictions as you want and always the flow of code will be
unidirectional. So it's again about particular people and their
willingness to work together, or not.
So if you propose you want to fork sympy, make it LGPL, what do you
mean to "hack your own solution"? What is your aim? Is it the same aim
as sympy aim? If so, do you want to split our community and get some
developers working on the LGPL version and some developers on the BSD
version? Sure, if this is what you believe in, do it. But as I said
many times, it would be much better for all of us if we could find
common ground and work together, instead of against each other.
Ondrej
I too needed to work on video encoding issues all the weekend, but this
beast got out of the bottle.
> On Sun, Nov 16, 2008 at 3:02 PM, Kirill Smelkov
> <ki...@landau.phys.spbu.ru> wrote:
> >
> > 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?
>
> Well, read this post:
>
> http://www.miriamruiz.es/weblog/?p=192
>
> so the answer is yes and no. Which means AGPL is on the edge between
> free and non-free, as viewed by many people around Debian.
> I definitely want sympy to be on the safe side of the edge.
So you say we can't use AGPL now, right?
If it would be considered as DFSG-free, I'm not against that A, and I'm
ok with ALGPL.
I'm not a lawyer, but I'll quote http://www.fsf.org/licensing/licenses/
"""
GNU Lesser General Public License (LGPL) version 2.1
----------------------------------------------------
This is the previous version of the LGPL: a free software license, but
not a strong copyleft license, because it permits linking with non-free
modules. It is compatible with GPLv2 and GPLv3.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
"""
Is this what we want?
> >> 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.
> > """
>
> Yes, now I think it is free software.
Great! And is it ok for SymPy now?
> >> 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.
>
> If they use it as a black box -- yes. But at least my intention always
> was to treat each user as a developer so that we work on one thing
> together.
The same for me. But when those yesterday users and today's developers
start to work more and more, at least some of them (like me) would want
to protect the result from "abuse".
So for me it is good for everyone.
Yes. I think I very honestly and clear state my aim -- to make sympy do
what is needed for my own research. I try to do it as good as I can, and
it seems the result was useful not only for me.
> >> > 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?
>
> I think it is perfectly rational to protect against threats. Every
> protection comes with a price and considering the protection of LGPL
> and the price of it, I prefer BSD.
Are you saying this as "Ondrej, the developer", "Ondrej, the manager" or
"Ondrej, the project leader"? And if the latter, does this mean SymPy
stays BSD?
How it does not have enough protection? It protects sympy itself without
affecting clients code. Is this not enough? Why doing it "all or
nothing"?
> >> 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).
>
> Sure. But then Kirill2 will come and take your code and make it GPL,
> because LGPL is not protective enough. He will use the exact same
> arguments as you are using now. Clearly you can add as many
> restrictions as you want and always the flow of code will be
> unidirectional. So it's again about particular people and their
> willingness to work together, or not.
Yes, I've said in my main mail that licensing is only part of the game.
> So if you propose you want to fork sympy, make it LGPL, what do you
> mean to "hack your own solution"? What is your aim? Is it the same aim
> as sympy aim? If so, do you want to split our community and get some
> developers working on the LGPL version and some developers on the BSD
> version? Sure, if this is what you believe in, do it. But as I said
> many times, it would be much better for all of us if we could find
> common ground and work together, instead of against each other.
My goal is not to split the community, or somehow otherwise achieve any
social result. My only goal is to have
useful CAS tool for me myself for my research
I know it is better to merge early, merge often, but if I had no chance
to protect the result inside sympy, I'll need to protect it myself:
If I'll need to enhace sympy to do some nontriviall things for me, I'll
just create a git branch 'kirr', commit my anhancements there, and will
periodically merge with main sympy. If I need more enhancements, I'll
commit on 'kirr' branch again and as time goes would merge with sympy.
I would keep my repository on say repo.or.cz, so that I can always
access it, so either can anyone else - I don't mind it.
I would even try (if you would not mind) to periodically send email to
sympy patches with "Ondrej, All, please consider pulling 'kirr' branch
from here, to recieve the follwing updates ..." (with the first patch
being "switch to LGPL")
I'm not saying I'll have to do it -- first, existing SymPy could be
enough for my tasks (but until now it was not enough capable). Second - I
still believe we should and can make a consensus on the topic.
--
Kirill
>> Well, read this post:
>>
>> http://www.miriamruiz.es/weblog/?p=192
>>
>> so the answer is yes and no. Which means AGPL is on the edge between
>> free and non-free, as viewed by many people around Debian.
>> I definitely want sympy to be on the safe side of the edge.
>
> So you say we can't use AGPL now, right?
We can use any license that we agree upon.
>> I think it is perfectly rational to protect against threats. Every
>> protection comes with a price and considering the protection of LGPL
>> and the price of it, I prefer BSD.
>
> Are you saying this as "Ondrej, the developer", "Ondrej, the manager" or
> "Ondrej, the project leader"? And if the latter, does this mean SymPy
> stays BSD?
Ondrej as developer.
>> So if you propose you want to fork sympy, make it LGPL, what do you
>> mean to "hack your own solution"? What is your aim? Is it the same aim
>> as sympy aim? If so, do you want to split our community and get some
>> developers working on the LGPL version and some developers on the BSD
>> version? Sure, if this is what you believe in, do it. But as I said
>> many times, it would be much better for all of us if we could find
>> common ground and work together, instead of against each other.
>
> My goal is not to split the community, or somehow otherwise achieve any
> social result. My only goal is to have
>
> useful CAS tool for me myself for my research
Excellent, I am glad to hear it.
> I know it is better to merge early, merge often, but if I had no chance
> to protect the result inside sympy, I'll need to protect it myself:
>
> If I'll need to enhace sympy to do some nontriviall things for me, I'll
> just create a git branch 'kirr', commit my anhancements there, and will
> periodically merge with main sympy. If I need more enhancements, I'll
> commit on 'kirr' branch again and as time goes would merge with sympy.
>
> I would keep my repository on say repo.or.cz, so that I can always
> access it, so either can anyone else - I don't mind it.
>
> I would even try (if you would not mind) to periodically send email to
> sympy patches with "Ondrej, All, please consider pulling 'kirr' branch
> from here, to recieve the follwing updates ..." (with the first patch
> being "switch to LGPL")
Kirr, isn't this exactly what you are fighting against? You first
stated how you didn't like that your physics colleague took your code
and didn't contribute anything back (I agree) and now you want to do
exactly the same thing! Take sympy code, put more restrictions on it
and then redistribute your changes, so that the original project
cannot use it.
Yes, BSD allows that, and yes, LGPL allows that too --- I can then
take your LGPL changes, make your whole repository GPL and say --
kirr, take these fixes, but you need to change to GPL. And let me say
that I don't find such a behavior polite.
So we are back at what I am saying all the time ---- the license
itself doesn't help against bad behavior. It's not about license, it's
about the community.
> I'm not saying I'll have to do it -- first, existing SymPy could be
> enough for my tasks (but until now it was not enough capable). Second - I
> still believe we should and can make a consensus on the topic.
I very strongly believe we should have only one project and work on it
and we should choose a license that best fit into our atmosphere.
Now let's wait for more developers and users to express their opinions
and I hope we can agree on common interests and find a solution. If
not, I'll make a decision which license my own releases are going to
use. And currently I am clearly for staying with BSD.
Ondrej
No I don't mean that. While some legal documents are difficult to
understand because of legal jargon, that is not the main problem I
have with the GPL/LGPL. The problem is that their *interpretation* is
complex. A few examples:
* In a previous email you gave an example (the 2 physicists) intending
to show how the LGPL would provide certain kinds of protections. Yet,
as pointed out, the LGPL doesn't provide the protections you said it
would. In my mind, this shows that the LGPL is sufficiently complex
that even people who advocate for it can't keep it straight what it
actually says. I know, you will probably counter and say that this
was a bad/careless example, but that is my point - it is too easy for
all of us to get confused about what these licenses say. I know - I
have done this countless times myself.
* At some point in the last year, I was at a large, high profile
national meeting, where a core developer of a large GPL'd project was
giving a talk. Someone in the audience (who was not familiar with the
GPL) asked "what license restrictions will there be on my code if it
uses your GPL'd project." The speaker replied "none whatsoever, you
can do whatever you want with your code." There are a dozens of ways
of explaining this away, however, this is really what the speaker
said. Again, these licenses are complicated enough that even projects
who use the licenses can't keep it all straight.
* The only way of deciding which interpretation of a legal document is
correct is to have it tested in court. Because the subtle areas of
the GPL/LGPL have not been tested in court (please correct me if I am
wrong), it doesn't really matter to me that the LGPL has been around
and used for 15 years. That won't help me one bit if there is ever a
court ruling that goes against my interpretation of the license. To
me this involves risk that must be accounted for in these decisions.
BSD like licenses have very few grey areas.
Brian
The license is for the collection of binaries as a whole. Each
individual package has its own license, and we will provide the
sources for the GPLed and LGPLed packages if asked. We should just
have the tarballs up on the download site, and I believe we will
eventually do just that. Currently, I believe this is just mingw on
Windows, and we simply repackage the official upstream binaries.
IANAL, but I believe that this falls under "mere aggregation". This
term is not clearly defined in GPLv2, the operative license for this
version of GCC, but the FSF clarified it somewhat in GPLv3.
"""
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
"""
Once you have EPD, you have the same rights to the individual GPLed
and LGPLed packages as you would if you had gotten them separately.
The collection as a whole is a related, but distinct, entity and has
its own copyright.
I believe (but can't be certain) that OpenBSD includes or has included
at least GCC on its official CD sets. Theo holds a copyright on the
layout of the CDs and restricts redistribution of the CD layout in
much the same way.
This are *different* things. My code is always available, on fair terms
from my point of view, and the code is always free, and ready for use --
for example you could use it in an BSD application which uses such
LGPL'ed sympy + other BSD library.
> Yes, BSD allows that, and yes, LGPL allows that too --- I can then
> take your LGPL changes, make your whole repository GPL and say --
> kirr, take these fixes, but you need to change to GPL. And let me say
> that I don't find such a behavior polite.
Yes, from some point of view that's impolite, but that what the license
allows, and that's life.
Besides that, a lot of current sympy code was contributed by me, so it's
not like I take someone other's work, but like I take my work + other's
work covered by permissive license (then why in the first place you used
such a permissive license?) and continue working on it on my own terms.
And yes, you can take my code, and enhance it and put into GPL, and I
think that's fair. What is also fair, is that you'll can't put my
modified code into proprietary product and ship it - you'll either have
to:
- redistribute your changes to my code under LGPL to your customer
- upgrade the license to GPL and distribute the whole thing to customer
(but in this case, you can't put one part into GPL and other part into
proprietary license - GPL disallows this)
So the code always stays free, not proprietary.
Sure, you can think of it like a "crazy" Kirr, but isn't this a possible
scenario with subs(Kirr, SomeCompany)? Only some companies would not use
LGPL and would not send merge request emails.
Do you see the difference?
> So we are back at what I am saying all the time ---- the license
> itself doesn't help against bad behavior. It's not about license, it's
> about the community.
Yes, it about the community, right.
The license is one force which could protect that community from one
kind of "abuse", but not from all kinds. I'm not saying changing the
license would make us all immediatelly happy, but that kind of abuse I'm
talking about is real, sooner or later, so we'd better plug it, and
start doing other, more pleasant things, e.g. developing sympy itself.
> > I'm not saying I'll have to do it -- first, existing SymPy could be
> > enough for my tasks (but until now it was not enough capable). Second - I
> > still believe we should and can make a consensus on the topic.
>
> I very strongly believe we should have only one project and work on it
> and we should choose a license that best fit into our atmosphere.
>
> Now let's wait for more developers and users to express their opinions
> and I hope we can agree on common interests and find a solution. If
> not, I'll make a decision which license my own releases are going to
> use. And currently I am clearly for staying with BSD.
I too strongly believe in cooperation, and that we should have just one
project. That's why I've put every effort to compete with sympycore and
make it irrelevant today.
Saying unpleasant words is a dirty work, but someone have to do it one
way or another, always.
My understanding is that through SymPy developers I'm not alone in my
views, though I'm far not sure.
I've tried to say it all -- LGPL gives:
o Protection for the development community and for SymPy -- it always
stays Free Software.
o Loyality for users -- they are not forced to use any particular
license for their software which uses SymPy.
To me this is the perfect and fair balance, and I hope I'm not alone.
--
Kirill
While I agree with you that it is a shame that there is fragmented
code because of license differences, I disagree that the blame lies
with the BSD license.
Using this same argument, can I assume that you think it is the BSD's
fault that numpy/scipy can't simply distribute/ship proprietary
things.
On Sun, Nov 16, 2008 at 10:14:39AM -0800, Brian Granger wrote:
>
> > 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
>
> No I don't mean that. While some legal documents are difficult to
> understand because of legal jargon, that is not the main problem I
> have with the GPL/LGPL. The problem is that their *interpretation* is
> complex. A few examples:
>
> * In a previous email you gave an example (the 2 physicists) intending
> to show how the LGPL would provide certain kinds of protections. Yet,
> as pointed out, the LGPL doesn't provide the protections you said it
> would. In my mind, this shows that the LGPL is sufficiently complex
> that even people who advocate for it can't keep it straight what it
> actually says. I know, you will probably counter and say that this
> was a bad/careless example, but that is my point - it is too easy for
> all of us to get confused about what these licenses say. I know - I
> have done this countless times myself.
Yes, I was not careful enough to adjust it to LGPL. I've just wanted to
show the spirit, and also I'm very overworked - it was not from
misunderstanding -- it took me the whole day to compose that main mail,
and like no software is perfect, neither was my first iteration.
Some years ago I've carefully read both GPLv2 and LGPLv2, and though I
don't remember the exact words, all my understanding up to this day
about LGPLv2 in essence is "Fair use of SymPy v0.2":
"""
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.
(plus there are words about providing object files for relinking,
with newer version of the library, but for dynamically loaded
libraries this is not relevant)
"""
And also the same says Wikipedia page:
http://en.wikipedia.org/wiki/GNU_Lesser_General_Public_License
(note "Linking from code with a different license: Yes" for LGPL. for
GPL it is "No")
And also the same says practice (glibc, winelib, gtk+, cairo, other
LGPL'ed libraries)
> * At some point in the last year, I was at a large, high profile
> national meeting, where a core developer of a large GPL'd project was
> giving a talk. Someone in the audience (who was not familiar with the
> GPL) asked "what license restrictions will there be on my code if it
> uses your GPL'd project." The speaker replied "none whatsoever, you
> can do whatever you want with your code."
Then _that_ speaker was not correct, becase GPL does not allow "doing
whatever you want with your code" -- it wants your code under GPL too:
http://en.wikipedia.org/wiki/GNU_General_Public_License
("Linking from code with a different license: No")
> There are a dozens of ways
> of explaining this away, however, this is really what the speaker
> said. Again, these licenses are complicated enough that even projects
> who use the licenses can't keep it all straight.
Yes, law is difficult area. laws and licensing and copyright and trade
marks are even a bit slightly different in different countries, but even
if we consider US, it's law system was patched along ~ 200 years.
Needless to say, that it's a mess now :)
Seriously though - yes, it is difficult to understand GPL and LGPL
correctly, but this is definitely possible. For full correctness law
education is nesseccary. But we, developers can understand it too, and
there are a lot of developers to whom I personally trust who analyzed
those documents too, and got it spirit exactly like me.
So I have some confidence I've got GPL and LGPL right for common cases.
> * The only way of deciding which interpretation of a legal document is
> correct is to have it tested in court. Because the subtle areas of
> the GPL/LGPL have not been tested in court (please correct me if I am
> wrong), it doesn't really matter to me that the LGPL has been around
> and used for 15 years. That won't help me one bit if there is ever a
> court ruling that goes against my interpretation of the license. To
> me this involves risk that must be accounted for in these decisions.
> BSD like licenses have very few grey areas.
GPL was actually tested in court quite a bit:
http://www.heise-online.co.uk/news/GPL-violation-by-Skype-re-affirmed-by-court--/110703
and
http://www.gpl-violations.org/ e.g.
http://www.gpl-violations.org/news/20041024-linux-tomtom.html
http://www.gpl-violations.org/news/20060210-svc-gesundheitskarte.html
http://www.gpl-violations.org/news/20050601-targa-lidl-notebook.html
...
although I admit I can't find LGPL testing in court right now.
I think asking SFLC could help:
http://www.softwarefreedom.org/
Also interesting:
http://lwn.net/Articles/294767/
http://www.softwarefreedom.org/resources/2008/compliance-guide.html
--
Kirill
But now we have WebKit, and "anyone" can use it because it's LGPL. If KHTML
were BSD probably now we would have another close source Web Engine!
> > When you mix GPL here, you create confusion, and I think that confusion
> > is the first step towards creating FUD (Fear, Uncertainty and Doubt).
>
> I think what I said holds for LGPL too, but that's not important.
> Please don't take me too serious about this, I really don't care much
> about licenses. I would slightly prefer BSD, but I'd be very fine with
> LGPL too. Maybe this is the arrogance of the young and unexperienced;
> I did not contribute as much as you to sympy. The license is not
> important for me, as long as it's Open Source.
>
> I care about people. So I would rather work with you, Kirill, than to
> argue about licenses. :) If you feel so strong about LGPL, this is
> much more important to me than having BSD.
>
> Thus I'm +1 for LGPL.
>
>
> Vinzent
Riccardo
I'm not a sympy developer. I am working for many years with numpy and
have recently registered a google code project based in this.
I wanted to say that the BSD license seemed fine with we me for a long time.
But in general I would like to say that LGPL has some "felling" to it
that I often thought would be preferable.
Could someone please summarize (again) the risks and/or disadvantages of LGPL
from a COMPANY POINT OF VIEW !?
Or, in other words, who would be thrown off by LGPL ?
Thanks,
Sebastian Haase
Have you actually talked to companies? I know, it sounds stupid, and
irrantional, and I can't even repeat the arguments because I don't
understand them. But try to talk to companies.
> Or, in other words, who would be thrown off by LGPL ?
I can't mention names, I am not allowed, but most of the companies I know
about which there has been negociations.
One thing, thought: companies value their R and D very very badly. They tend
to be irrational about these things (for instance pretty much preventing
their employees from working because of the security constraints they put
upon them). So when the software is used for R and D, I suspect they go
berseck. If you haven't worked in the R and D departement of a big
company, you have no clue what it is like.
Gaël
Not really. The BSD license means that you have the right to fork
SymPy into a GPL version that you redistribute. And you can do that
all over again tomorrow to catch the updates.
The only catch is that your own users would then be in a ghetto; their
own contributions couldn't be reused except by your own small
community, unless they separately license them back to the main
project.
That is a choice the [L]GPL licenses makes explicitly; by using BSD,
Ondrej has to do more work himself, but in return, he can hope to
cooperate with both sides, at least a little.
-jJ
> kirr@roro3:~$ 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.
The python project is very careful to stick to the C89 standard. Not
even C99, let alone GNU extensions. The specific binary on your
machine happens to meet that pre-condition with glibc, but it doesn't
have to. The python on my windows box does not use glibc.
(There has been occasional discussion of the readline library, because
the gnu readline is different enough that you could argue the module
was only meaningful with the gnu version. And the module is often
disabled, for that reason.)
-jJ
2008/11/16 Riccardo Gori <goric...@gmail.com>:
>
> On Sunday 16 November 2008 15:02:44 Kirill Smelkov wrote:
[...]
>> Guys, even if you prefer BSD, or LGPL or whatever, please state it
>> clearly, what licensing terms are ok with you.
>
> Hello,
> I prefer the LGPL licence, but my contributions to sympy are so small that I
> don't mind too much about protecting my code from being "abused" by someone.
>
> On the contrary Kirill contributions are big, so I totally understand his
> point.
>
> So +1 LGPL.
I mostly agree with Ricardo here. When I first contributed to sympy, I
felt that this too permissive BSD wasn't the right thing, but didn't
want to disturb anyone because of this.
So +1 LGPL. (even if my vote doesn't count much).
Abderrahim
Thanks to all the people, who supported me -- I'm _very_ grateful to
you -- when one fights alone and is almost close to give up, and
suddenly there comes help -- it's a very good feeling that you are not
alone, that there are people who share your point of view and principles
who came to watch your back, and it is especially touchingly to receive
support from youth!
THANK YOU, GUYS!!!
Also I believe that life is a wonderful travel, and you never know,
because it is full of changes some of which are just impossible to
predict. Life is a miracle.
And it's not about being always "right, here and now." -- that would be
too simple and uninspired.
Saying goodbye, I'd like to also tell you, that you'll stay in my memory
for good. I remember most of you, especially how we got in touch the
first time.
So see you somewhere. Our planet is not that big after all :)
--
Всего хорошего, Кирилл.
P.S. I've just re-read my post from my first-year-with-linux days
http://groups.google.ru/group/fido7.ru.linux/browse_thread/thread/a3df577eb76c74ef
It's unusual to me now, how dummy and kiddish I was - besides other
naive questions, I was asking questions from the FAQ! :)
So don't hesitate - everything is given to those who learn just because
it is interesting and want to understand things in essence.
And it is your time now.
Thank you Kirr! For everything that you did for sympy, your time, your
energy. And I especially appreciate that you contributed anyway, even
if you always believed we should use a different license.
I am sure all of us has learnt a lot from you, definitely I did ---
and I am really really glad I had a chance to work with you for more
than a year.
As to the license discussion, I am glad all of us stated clearly what
we want and fought for what each of us believe is right. And that's
how it should be. As I suggested in my other email, for those who
prefer a different license: feel free to use any license you want for
your own code or anything you do with sympy. In the long term, sympy
should be just the symbolic engine, that we all need, but your own
program can use any license -- and I encourage you to use such a
license, that you find the best.
> Also I believe that life is a wonderful travel, and you never know,
> because it is full of changes some of which are just impossible to
> predict. Life is a miracle.
Absolutely. It was wonderful you were around.
>
> And it's not about being always "right, here and now." -- that would be
> too simple and uninspired.
>
>
> Saying goodbye, I'd like to also tell you, that you'll stay in my memory
> for good. I remember most of you, especially how we got in touch the
> first time.
>
> So see you somewhere. Our planet is not that big after all :)
Let me know if you ever come to Prague --- but actually, I plan to
move to the US soon anyway. But maybe we'll meet at some conference.
>
> --
> Всего хорошего, Кирилл.
>
>
>
> P.S. I've just re-read my post from my first-year-with-linux days
>
> http://groups.google.ru/group/fido7.ru.linux/browse_thread/thread/a3df577eb76c74ef
>
> It's unusual to me now, how dummy and kiddish I was - besides other
> naive questions, I was asking questions from the FAQ! :)
>
> So don't hesitate - everything is given to those who learn just because
> it is interesting and want to understand things in essence.
>
> And it is your time now.
Yes, don't hesitate to ask anything.
Ondrej
Thank _YOU_ Kirill, thanks for your great work and thanks for fighting.
I'm really sorry to see you leave this community but I'm sure we'll see you
again because, as you say, the world is a small place.
Let us know about your future projects, many of us would be happy to work with
you again, maybe with a better licence, of course! :-)
>
> Also I believe that life is a wonderful travel, and you never know,
> because it is full of changes some of which are just impossible to
> predict. Life is a miracle.
>
> And it's not about being always "right, here and now." -- that would be
> too simple and uninspired.
>
>
> Saying goodbye, I'd like to also tell you, that you'll stay in my memory
> for good. I remember most of you, especially how we got in touch the
> first time.
>
> So see you somewhere. Our planet is not that big after all :)
>
> --
> Всего хорошего, Кирилл.
>
Riccardo Gori