To follow up from the previous post, I want to give a list of all the
things that people have offered to contribute to the MPIR project from
"outside" the project. I don't want to give the impression that
absolutely no one is contributing anything new to MPIR:

* Jason Martin recently contributed some Itanium assembly functions to
MPIR and has more to come.
* A developer already contributed some code for binomial coefficients,
factorial and root testing at the mpz level.
* A developer promised to contribute some parallel code for factorial
and double factorial computation.
* A new developer, Antony Venard recently joined our team to work on a
branch of MPIR for parallel (OpenMP) support.
* A developer promised to write a unified interface between MPIR and a
whole pile of languages. He has a whole lot of experience in this sort
of thing.

As far as I know, license was not an issue for any of these
contributors. But it is early days. Perhaps in a few months the
contributions will increase due to our new strategy.

Certainly we will ourselves be able to work on more interesting code
contributions.

Bill.

On 12 April 2010 12:55, Bill Hart <goodwillh...@googlemail.com> wrote:
> Hi Pierre,
>
> Thanks very much for your questions and comments. I attempt to answer
> them below based on my (limited) understanding at this point in time.
> Others might be able to give more clear or helpful answers.
>
> On 12 April 2010 11:18, Pierre Joye <pierre....@gmail.com> wrote:
>> hi,
>>
>> On Fri, Apr 9, 2010 at 2:55 PM, Bill Hart <goodwillh...@googlemail.com> 
>> wrote:
>>> On 9 April 2010 13:23, Marc <marc.gli...@gmail.com> wrote:
>>>> Hello,
>>>>
>>>> I am not sure I understand what is going on with MPIR. When the fork
>>>> happened, 2 of the main stated goals where:
>>>> 1) LGPL2 (required for sage+microsoft)
>>>> --> MPIR is now LGPL3+ only
>>>
>>> Correct. Will this create any issues for you?
>>
>> What are the appealing reasons for this move given one of the initial
>> arguments for mpir (gmp license changes)?
>
> The main appeal is that we can use code from GMP without replicating
> their efforts and accept code from developers who want to license
> their code v3+. It basically means less effort for us, and faster
> development times. It means that the bignum community is using a
> single license and is less fragmented.
>
>>
>> Reading http://www.gnu.org/licenses/lgpl.html, I really wonder if this
>> is a good move. I don't feel comfortable to add the GPL license to the
>> PHP distribution (see the section 3b, 4b and 4c) as the PHP license is
>> not compatible with the GPL. Things can get worst as we are testing
>> mpir to be used with php engine for large integers related operations.
>>
>
> I can definitely understand that concern. It could even be confusing
> to some people who don't understand that having the GPL license in the
> distribution doesn't mean that it can only be distributed under the
> terms of the GPL.
>
> We will attempt to help out projects which definitely do not want to
> use a v3+ MPIR: we will still port our bugfixes to MPIR 1.3.x which
> will remain LGPL v2+. But new features will not be added to the
> LGPLv2+ version (unless someone volunteers to maintain it and there
> are sufficient LGPL v2+ code contributions to MPIR).
>
> Regarding the GPL, this is a more restrictive license than LGPL and
> thus if your project is LGPL it is automatically compatible with the
> GPL. In fact with version 3 of the license, the LGPL is just a set of
> exceptions to the GPL.
>
> By "not compatible with the GPL", I assume you mean that you want to
> distribute PHP under terms that are more permissive than the GPL will
> allow. Of course this is absolutely fine as the LGPL gives precisely
> these extra permissions. So long as you include both the GPL and LGPL
> texts you can distribute under LGPL terms and are not restricted to
> GPL terms only. It's a similar situation to what the old LGPL v2.1
> gave you.
>
>> I also have concerns about the legal aspects of the lgpl v3. I know
>> that the v2 can be used safely but I've a bad feeling about the v3.
>
> Our position on version 3 of the (L)GPL is well documented, so I won't
> add anything here.
>
> The reason we switched has nothing to do with the content of the
> license, which we consider immaterial. It has everything to do with
> making the project more developer friendly and contributing more to
> the bignum community. It was wholly motivated by the very small
> developer community we have, even after two years of working on MPIR,
> and a desire to find ways of extending that community, or at least
> increase the effectiveness of that community.
>
> We realise that a license switch is slightly less user friendly and
> slightly more developer friendly. But as a matter of strategy, we
> decided that the latter was preferable given our slow growth.
>
> The only other objections we've had so far are:
>
> * One prominent developer thinks tivoisation is a good thing and
> doesn't like v3 for that reason, but said he could live with it.
>
> * I contacted Microsoft Research and an individual there commented
> that they don't like v3, but if we back port bug fixes to MPIR 1.3
> (which remains v2+) it won't make life too impossible for them (they
> want to use MPIR as a basis for Pari and Sage if I understand
> correctly, both of which they use for mathematical research).
>
>> Does anyone have more in depth details about the actual changes
>> between the two?
>
> There seem to be very few implications for Open Source projects. Most
> of the changes seem to be directed at lawyers, big software companies
> and the like. There's a whole pile of legalese on issues such as
> patents, tivoisation, etc.
>
> A couple of important differences include (I am not a lawyer, this is
> only what I've heard):
>
> * Make a "prominent notice" that the library is used by your software
> (LGPL section 4a).
>
> * If you offer binaries for download somewhere you also have to give
> equal access to the source for the library from the same location. See
> section 6 of the GPL for more details on this fairly complex set of
> rules. Don't ask me what they mean. I don't know either.
>
> * Effectively you have to make it so that anyone can remove the
> library and link in their own version if they want. (LGPL section 4d).
>
> * There are some minimal requirements with regard to documenting how
> to build the library (LGPL section 4e). But I've seen this abused,
> with people including the requisite files but filling them with
> nonsense. Despite fulfilling the legal requirements, this extra
> information was completely worthless.
>
> * You have to include the text of the GPL with any software that
> includes the library as the LGPL is now a set of exceptions to the GPL
> rather than a separate license (LGPL section 4b).
>
> * You can't use any code which was LGPL v2 *only*. All the code must
> have been licensed LGPL v2.1+ (or LGPL v3+). Of course that was
> already a condition for any project which was overall LGPL v2+. I
> think there are few if any mathematical projects still around which
> are LGPL or GPL v2 only.
>
> PHP is a pretty important customer for us. So please do keep us
> informed on how this decision will affect you. And note that no final
> decision has been made at this point as to whether MPIR will switch
> permanently. It depends on the feedback we receive from the community
> about the proposed switch. We can always go back to MPIR 1.3 and keep
> developing in a completely independent way as LGPL v2+. However
> development will be slower, especially if the development community
> continues to remain small.
>
> The only other option we considered was to start a completely new
> library from scratch which is much simpler. The biggest issue for
> people to volunteer to contribute to MPIR is the complexity of the
> project. A simpler project may attract "new blood". I wrote a pile of
> such code for integer multiplication (which I've not released). But
> the performance was bad (10-15% slower than MPIR) and that was even
> after linking against the MPIR assembly code. It was more like 50%
> slower if I didn't do this. This is always going to be an issue in any
> simpler project. Performance seems to mandate complexity. Also,
> eventually simple projects grow up, and they become more complex.
>
> Bill.
>
>>
>> Cheers,
>> --
>> Pierre
>>
>> @pierrejoye | http://blog.thepimp.net | http://www.libgd.org
>>
>> --
>> You received this message because you are subscribed to the Google Groups 
>> "mpir-devel" group.
>> To post to this group, send email to mpir-de...@googlegroups.com.
>> To unsubscribe from this group, send email to 
>> mpir-devel+unsubscr...@googlegroups.com.
>> For more options, visit this group at 
>> http://groups.google.com/group/mpir-devel?hl=en.
>>
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"mpir-devel" group.
To post to this group, send email to mpir-de...@googlegroups.com.
To unsubscribe from this group, send email to 
mpir-devel+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/mpir-devel?hl=en.

Reply via email to