Dear All,

Despite our recent April Fools prank:

http://groups.google.com/group/sage-devel/browse_thread/thread/d2777413749f37e5

the MPIR developers have actually been considering a switch to an LGPL v3+
license for a while, for the following reasons:

1) Maintaining GMP interface compatibility - a major requirement for MPIR
users -
without moving to an LGPL v3 license would involve a significant, ongoing
and
wasteful effort in duplicating code that has already been written. This
would
seriously undermine more productive investments in code development that
we hope to make.

2) It is desirable that MPIR is able to incorporate high quality code from
developers who are committed to v3 licensing. For example, the first rate
toom8h code written by Marco Bodrato would not be available for use in
MPIR without a major and costly rewrite.

3) There is a danger that staying with a v2 license when others in the
bignum
community are moving to LGPL/GPL v3 will merely contribute to community
fragmentation.

There are of course also disadvantages in that some developers dislike the
political aspects of v3 licensing and some companies have decided not to use
any v3 licensed code.  But given the limited development effort available to
us, we believe the ability to easily maintain GMP interface compatibility,
the
ability to incorporate high quality LGPL v3 licensed code, the avoidance of
a wasteful duplication of development effort and additional time to put more
effort
into the improvements that we have been contributing, combine to make a
move
to an  LGPL v3 license seem worthwhile in practice.

Accordingly we have now developed an LGPL v3+ version of MPIR, based on
selectively
using code from the GMP project where we consider it to be of high quality.
We have
not adopted all GMP speed improvements though as we have it in mind to
pursue
different strategies in some areas which should ultimately see much more
significant
gains.

Moreover this release includes new code developments of our own.  In this
release we
have concentrated effort on speed improvements in multiplication and
division with a
focus on the creation of a basis for future performance improvements
in division and
elsewhere.

We also have speedups in the root code, string input/output and gcd/gcdext
by
selective use of code from GMP. There are also dramatic performance
improvements
in the Itanium assembly code made possible by mixing code from GMP and a
little bit
of new code by Jason Martin.

Our first release candidate is available for testing at:

http://www.mpir.org/mpir-2.0.0-rc1.tar.gz

Documentation is here:

http://www.mpir.org/mpir-2.0.0.pdf

See the files AUTHORS and NEWS for details of all the improvements and
who they were written by. Our website will be updated with full credits and
details as usual once testing of the release is complete.

MPIR 2.0.0 is near to 100% compatible with the published interface of GMP
5.0.1
(some minor exceptions exist, such as the lack of support for secure
cryptographic functions which we believe are not appropriate for MPIR).

We'd be grateful for any and all feedback on this release. (We also need
someone
with an i7 to do some tuning for us - it only takes a few minutes; can
someone help?).

Before switching license permanently, we decided to consult with numerous
individuals in the bignum community privately by email. All responses so far
have been encouraging and positive. We also wish to consult publicly, now
that we have a first offering available.

So how would this affect your projects? Are there any reasons we should not
change license permanently?

We think that the benefits of our planned change outweigh the disadvantages.
What do you think? We are interested to hear your opinion.

Best Wishes,

The MPIR Team

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

Reply via email to