Merging back Kirpichev's fixes?

121 views
Skip to first unread message

Francesco Bonazzi

unread,
Feb 5, 2017, 5:52:33 PM2/5/17
to sympy
As you all know, Sergey Kirpichev left this community and is working on a fork of SymPy of his own.

https://github.com/diofant/diofant

He keeps fixing bugs and/or adding new features, as well as keeping it synced with SymPy.

Unfortunately he doesn't seem to be willing to rejoin the SymPy community.

Anyway, I think we can update our license to be the same as diofant's license:

https://github.com/diofant/diofant/blob/master/LICENSE

In this way, we would be able to port Kirpichev's edits back to SymPy.

Take also into account that Kirpichev's past contributions to SymPy are currently not being reported in SymPy's license, as he is not listed in the authors' list.

What do you think? Shall we edit our LICENSE file to include Sergey Kirpichev and diofant?


Ondřej Čertík

unread,
Feb 6, 2017, 12:09:42 PM2/6/17
to sympy
On Sun, Feb 5, 2017 at 3:52 PM, Francesco Bonazzi
<franz....@gmail.com> wrote:
> As you all know, Sergey Kirpichev left this community and is working on a
> fork of SymPy of his own.
>
> https://github.com/diofant/diofant
>
> He keeps fixing bugs and/or adding new features, as well as keeping it
> synced with SymPy.
>
> Unfortunately he doesn't seem to be willing to rejoin the SymPy community.
>
> Anyway, I think we can update our license to be the same as diofant's
> license:
>
> https://github.com/diofant/diofant/blob/master/LICENSE
>
> In this way, we would be able to port Kirpichev's edits back to SymPy.
>
> Take also into account that Kirpichev's past contributions to SymPy are
> currently not being reported in SymPy's license, as he is not listed in the
> authors' list.

He is not listed in the authors' list, because he explicitly asked to
be removed. He is listed in the git history. So he is included in the
license, obviously, as each author owns the copyright to his or her
contributions, and he gave sympy the right to use his code under the
BSD license, just like anybody else. You can use "git log" to find out
who wrote what.

>
> What do you think? Shall we edit our LICENSE file to include Sergey
> Kirpichev and diofant?

No, not in the main license, as Sergey only owns the copyright of his
own contributions, not the whole SymPy. However, I already submitted a
PR with adding his license underneath:

https://github.com/sympy/sympy/pull/10531

I also asked Sergey whether he is ok with such an arrangement going
forward, but he never replied. He did give permission for that
particular PR though. I think the BSD license clearly allows to use
his work, as long as we copy his license somewhere in our
documentation/repository, so I am not against merging #10531 and keep
porting his fixes. But it's always better to have his permission that
he is ok with such an arrangement.

Ondrej

Francesco Bonazzi

unread,
Feb 6, 2017, 1:49:30 PM2/6/17
to sympy


On Monday, 6 February 2017 18:09:42 UTC+1, Ondřej Čertík wrote:

>
> What do you think? Shall we edit our LICENSE file to include Sergey
> Kirpichev and diofant?

No, not in the main license, as Sergey only owns the copyright of his
own contributions, not the whole SymPy. However, I already submitted a
PR with adding his license underneath:

https://github.com/sympy/sympy/pull/10531

I also asked Sergey whether he is ok with such an arrangement going
forward, but he never replied. He did give permission for that
particular PR though. I think the BSD license clearly allows to use
his work, as long as we copy his license somewhere in our
documentation/repository, so I am not against merging #10531 and keep
porting his fixes. But it's always better to have his permission that
he is ok with such an arrangement.

I wrote to him and he replied that he would like his work to be cited if it is going to be merged back into SymPy.

I think this edit:
https://github.com/certik/sympy/blob/400335e280623af611d583f84b1ac5d450f4f7f5/LICENSE

is enough to fulfill Kirpichev's wishes.

Ondřej Čertík

unread,
Feb 6, 2017, 2:11:43 PM2/6/17
to sympy
I certainly tried my best to satisfy both the BSD license and Sergey's
wishes, but if you can obtain Sergey's explicit approval of such an
arrangement, that would be great, and I would have no problems going
ahead and merging that PR and other fixes. Specifically what I do not
want to happen is a situation when the BSD license was perhaps
followed, but the result was not what Sergey intended, and he would
feel that we stole his work. In other words, merging code to SymPy's
master against the original author's will is questionable (ethically
and perhaps even legally, I am not sure).

So if you could obtain Sergey's permission, then we can go ahead, as
far as I am concerned.

Ondrej

>
> --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sympy+un...@googlegroups.com.
> To post to this group, send email to sy...@googlegroups.com.
> Visit this group at https://groups.google.com/group/sympy.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sympy/e14e86b0-793c-457c-8e92-2fdb6ef288eb%40googlegroups.com.
>
> For more options, visit https://groups.google.com/d/optout.

Aaron Meurer

unread,
Feb 6, 2017, 2:12:50 PM2/6/17
to sy...@googlegroups.com
To be completely honest I don't know who is right here. What does the "SymPy Development Team" in the license refer to? If, as Francesco suggests, it refers to the AUTHORS file, then I think we were wrong to accept certain authors' wishes in removing their names from that file. If, as Ondřej suggests, it refers to the git history, then it seems to me that the addition to the diophant addition to the LICENSE file is unnecessary. We would have to ask a lawyer to see. 

Aaron Meurer 

--

Aaron Meurer

unread,
Feb 6, 2017, 2:15:40 PM2/6/17
to sy...@googlegroups.com
It wouldn't be illegal. That's the whole point of the BSD. You give up full rights to your code. However, Sergey could change the license (for future code), and I think he has also stated that he only licenses code once it is merged into master. So I agree it is best to get his general permission. 

Aaron Meurer



So if you could obtain Sergey's permission, then we can go ahead, as
far as I am concerned.

Ondrej

>
> --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sympy+un...@googlegroups.com.
> To post to this group, send email to sy...@googlegroups.com.
> Visit this group at https://groups.google.com/group/sympy.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sympy/e14e86b0-793c-457c-8e92-2fdb6ef288eb%40googlegroups.com.
>
> For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sympy+un...@googlegroups.com.
To post to this group, send email to sy...@googlegroups.com.
Visit this group at https://groups.google.com/group/sympy.

Ondřej Čertík

unread,
Feb 6, 2017, 2:36:46 PM2/6/17
to sympy
On Mon, Feb 6, 2017 at 12:12 PM, Aaron Meurer <asme...@gmail.com> wrote:
> To be completely honest I don't know who is right here. What does the "SymPy
> Development Team" in the license refer to? If, as Francesco suggests, it
> refers to the AUTHORS file, then I think we were wrong to accept certain
> authors' wishes in removing their names from that file. If, as Ondřej
> suggests, it refers to the git history, then it seems to me that the
> addition to the diophant addition to the LICENSE file is unnecessary. We
> would have to ask a lawyer to see.

The "SymPy Development Team" means all authors who submitted their
code to SymPy. Most of them are in the git history, except the few
people in AUTHORS that are not part of the git history. We should
probably clarify this in the LICENSE file.

Well, the BSD license says you have to copy the "copyright line", so
we need to copy Sergey's copyright line. So I think it is necessary to
copy his license somewhere either way.

> It wouldn't be illegal. That's the whole point of the BSD. You give up full
> rights to your code.

That's not my understanding. I think you keep full copyright rights to
your code. Every single SymPy's author owns the code he or she
produced. However, they give SymPy the right (or permission or
license) to distribute that code under the BSD license. We could make
this permission explicit by a Contributor License Agreement (CLA),
where each author would sign a paper saying they are giving SymPy a
license to use their code under the SymPy's BSD license. However, as
you and I and others have discussed in the past, the legal improvement
here doesn't seem to be worth the pain of doing that. However, if we
know or expect that the author might not be willing to give us that
permission, then I would be worried, because such an author can always
say --- I didn't give SymPy a license to use this, and the LICENSE in
my private repository doesn't cover this code for this purpose, or
something like that.

> However, Sergey could change the license (for future
> code), and I think he has also stated that he only licenses code once it is
> merged into master. So I agree it is best to get his general permission.

That's right, let's get his permission, then all is fine. The reason I
didn't merge my PR is that I didn't get his permission.

Ondrej

Aaron Meurer

unread,
Feb 6, 2017, 2:54:46 PM2/6/17
to sy...@googlegroups.com
The BSD license says "redistribution and use in source and binary
forms, with or without
modification, are permitted provided [the copyright notice is
maintained]". That means we can legally use his code. It's not really
a legal question, so long as he uses the BSD license on diophant. You
are right that without a CLA everyone still owns the copyright to
their code, but that code is licensed for free use (under the terms of
the BSD). The point is, merging Sergey's code against his will may be
unethical (or at least could lead to unintended consequences), but it
wouldn't be illegal.

Aaron Meurer

>
>> However, Sergey could change the license (for future
>> code), and I think he has also stated that he only licenses code once it is
>> merged into master. So I agree it is best to get his general permission.
>
> That's right, let's get his permission, then all is fine. The reason I
> didn't merge my PR is that I didn't get his permission.
>
> Ondrej
>
> --
> You received this message because you are subscribed to the Google Groups "sympy" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to sympy+un...@googlegroups.com.
> To post to this group, send email to sy...@googlegroups.com.
> Visit this group at https://groups.google.com/group/sympy.
> To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CADDwiVAG1dBLhHsuG5nQSMpzFS8ZGHprwhcAts8HW1SwBBrAgg%40mail.gmail.com.

Francesco Bonazzi

unread,
Feb 6, 2017, 4:33:38 PM2/6/17
to sympy
Sergey wrote me that we should feel free to port anything from diofant provided that we keep the copyright notice and obey to the LICENSE terms.

Ondřej Čertík

unread,
Feb 6, 2017, 4:58:53 PM2/6/17
to sympy
I updated #10531 accordingly:

https://github.com/sympy/sympy/pull/10531#issuecomment-277827152

I am fine with going ahead and reuse Sergey's work, I think this gives
us an explicit permission to do so.

Ondrej
Reply all
Reply to author
Forward
0 new messages