axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] Re: Version numbers


From: Bill Page
Subject: [Axiom-developer] Re: Version numbers
Date: Mon, 25 Jun 2007 01:21:17 -0400

Axiom Developers,

On 6/24/07 Tim Daly sent me a private email on the subjects discussed
by me in this thread on June 23, 2007 7:52 PM. He claimed that I had
published several emails that disparage him in an unjust personal
manner and that he thought that it was highly unprofessional of me to
make such libelous remarks. He said that I had misrepresented his
motives in a negative manner without giving exact quotations from his
public emails to the list. He then asked that I "take some
professional responsibility and publicly apologize to me".

Since Tim thinks that I have done these things it is my intention in
this email to present such an apology in as professional a manner as
possible.

To other people reading this thread, if this disagreement is of no
interest to you and seems off topic, then I apologize for wasting your
inbox space and suggest that you hit the delete key now. But if you
have enough patience, please do continue reading. I think open source
projects are a lot different than traditional computer software
projects because in many cases *all* of the effort and the resources
available are *volunteer*. This means among other things that it is
not possible simply to pay someone a salary as compensation for
"putting up with" the difficulties of working together with other
people. Instead we must be prepared to devote at least some of our
time trying to making sure that everyone involved feels like they are
being treated fairly.

Needless to say, I was somewhat surprised and taken-a-back by Tim's
email. In a personal reply to him I explained that this certainly was
not the intention of my email and I believed that I had made only
factual statements and no statements about his motives. I did not
intend or expect to make anyone angry. I am sorry if what I wrote had
that result.

In his email Tim pointed out to me that every decision he has made
regarding Axiom was with the explicit goal of improving Axiom and that
he had put both massive amounts of time and an ongoing sizable amount
of money into building up Axiom, raising the quality, and promoting
its use. I do in fact realize this is the case and have previously
pointed out Tim's large personal contributions to other people both
privately and on these email lists.

Tim's email to me went on to quote specific parts of this thread and
made additional comments intended to support his claims. Although I do
not have his permission to quote directly from his private email to
me, I would like to summarize these points and my replies below since
they also partly address concerns expressed by other people on this
list.

On the subject which started this thread:


>> Bill Page wrote:
>>> I guess it's time I planned on creating an 'axiom-0.2' binary install file

> Ralf Hemmecke wrote:
>> I am a bit confused about the version number. NAG release 2.3. Didn't we
>> once say that the current gold version is Axiom 3.0? What versioning
>> scheme does OpenAxiom now actually have? Does someone know?
>> Where is this written down?


Tim said that he was confused about my use of the name "axiom-0.2". He
pointed out that there were no patches against Gold for this version
of Axom and so it would difficult to relate "axiom-0.2" back to
anything for debugging purposes.

Concerning naming conventions Tim suggested that I check the mailing
lists, e.g, from January:

http://lists.gnu.org/archive/html/axiom-developer/2007-02/msg00076.html

He said that this is same version scheme that we've been using all
along. And that it is the same approach that was used in the original
Scratchpad project and by NAG when Axiom was a commerical product.
This scheme is embodied in the *yearweek* variable in the original
Axiom source code.

Tim said that I could call it anything I like, for example "axiom-0.2"
but it would be most *useful* if it was a name that is actually being
used in the releases and meaningfully identified the actual source
code.

I believe that what Ralf was pointing out in his original reply to me
was that my use of "axiom-0.2" did not seem consistent and that we had
previously used version 3.0. I think he is right. For example see
Tim's email to the mailing list of Thu, 30 Dec 2004 15:30:25:

http://lists.gnu.org/archive/html/axiom-developer/2004-12/msg00534.html

In that email Tim wrote:

"Axiom 3.0 Beta sources are now in savannah.
You can tell that it is the 3.0 Beta because it prints this in the header:

   Axiom 3.0 Beta (January 2005)"

In fact there are at least 45 emails in the axiom-developer list
referring to Axiom "3.0
Beta" dating from 16 Dec 2004 to 17 Oct 2006.

I agree that the name axiom-0.2 is not consistent with this. Really
what I am talking about is the name given to the Axiom installation
program for windows.  I posted the first "Axiom on Windows" installer
program on the Axiom wiki in early December 2004. It was labeled
"axiom-windows-0.1.1.exe" and was based on patches done by Mike Thomas
that November. Mike sent all of these patches to Tim and the reset of
the email list at that time. The current Axiom Gold sources do not
compile on windows. The most recent Axiom for Windows version 0.1.4
(no more than two years out of date) was based on the same
modifications made to the Axiom sources by Mike Thomas and are
available in the tla (arch) respository axiom--windows--1.

On contrast, what I was (incorrectly) thinking of calling "axiom-0.2"
would be based entirely on unmodified source code of the current
revision (613 or later) of wh-sandbox. The relationship of wh-sandbox
to Gold is rather complex, but when we solve the problem of how to
merge wh-sandbox (and build-improvements) back into Gold, then the
problem of merging windows with Gold will also be solved.

I think Ralf and Tim are right and that I should probably call this
new Axiom for Windows installer by a name something like:

 axiom-windows-wh-rev613.exe

> Martin Rubey wrote:
>> I was hoping that trunk would be usable (i.e., very close to wh-sandbox) 
soon, ...

Tim points out that in fact he has committed to number of changes to
Silver that originated from build-improvements (labeled "gdr" in the
Silver change log) and wh-sandbox (labeled "wxh" in the Silver change
log). He admits that not everything has been merged because: 1) he has
had to read the code from build-improvements and wh-sandbox to create
the diff-Naur from Gold himself because no one else made any effort to
merge changes back to gold. Further, that some changes were not
included because either: 2) they were unstable or 3)  because he did
not understand them.

I think that what Tim says is true but I believe that Martin is
concerned about higher level functionality like the fixes to Hyperdoc
and the ability to compile his "guess" package. Personally I find that
both build-improvements and wh-sandbox are much more stable than Gold
and that they build on more platforms, so they seem like a natural
choice for Martin.

I am not sure why Tim does not understand the changes that where made
in these branches. Most (all?) of the changes made by Gaby and Waldek
were announced on axiom-developer email list and the detailed patches
are sent to axiom-commit. I think that if anyone has questions about
the changes it would be best to ask the authors via the
axiom-developer list.

Martin Rubey wrote:
>> but that doesn't seem to be happening.


As an explanation of why this is not happening Tim said that we should
consider the two ways that people generally contribute changes to open
source projects. The first is to create a branch, make a series of
modifications, merge those modifications into a local copy, test those
changes, package up the changes into a changeset, and post those
diff-Naur changes against the trunk. He says that his is the way it is
done in linux, gcc, apache and SBCL. For example:
http://sourceforge.net/mailarchive/message.php?msg_name=75cb50350706181211g1740af8dg155a401

The second method is to create a fork: take the main body of code and
make your own competing branch, marketing it with new features. You do
not make an effort to contribute your code back to the trunk. You
simply "walk off" with the collective effort and promote your own
private version.

I would prefer the first method but as I said in my previous email, I
am afraid that we are closed to the second method right now.

Although it is true that they are not *exactly* diff-Naur patches, all
of the posts to axiom-commit are in fact diffs against the original
trunk of SVN at SourceForge which corresponded to patch-50 which is
what "Silver" used to be. I there must be at least 500 of these emails
in the axiom-commit archive. It seems to me  that both Gaby and Waldek
originally believed that Tim (or anyone else motivated to update Gold
and Silver would use these diffs.

Tim explains why there has been no conversion of Gold to using
autoconf by pointing out that there is no diff-Naur, there is no
documentation, there is no effort to promote any changes back to the
main line of code by anyone else. He says that since he doesn't
understand the autoconf code, he personally can not merge it. All of
this seems clear to me  and it is not my intention to suggest that
this should be Tim's responsiblity. I agree that the documentation of
the autoconf changes is minimal but I believe that both Gaby and
Waldek have made some effort to update both the code and the
documentation parts of the pamphlet files they have modified. The
modified makefile.pamhlet files do contain a lot of details about the
new autoconf build process - enough at least for me to make some very
simple changes.

Since I have been promoting the autoconf style of build process for
Axiom to Tim for several years, Tim asked me why I did not do this
work myself. I replied that I was very glad when someone came along
(Gaby) who was motivated and obviously knew enough about how to do it
- much more than me! The situation is that really I do not want to be
doing this kind of development. Since I am not very good at it, it
wastes my time and there is never enough time. I would very much
prefer to be an Axiom user/developer who discusses mathematics and
writes new algebra code for example in category theory and in
applications to physics. But here I have been stuck for nearly 5 years
now - just getting to the point where this is becoming possible.

As I see it, my main contribution to the Axiom project so far has been
the attempt to attract other people (and hopefully some talented
developers) to the project so that I personally wouldn't have to be
trying to do those things for which I don't have much talent. So far I
am a little disappointed with the results since the axiom-developer
list has not grown nearly so mcuh as I would have liked, however we do
have both Gaby and Waldek, and I think that counts as some a
significant measure of success at attracting new talent. Of course I
can not claim that it was specifically my efforts that resulted in
this but I like to think that I contributed in some manner. :-)

> Bill Page wrote:
>> It seems the contrary to stated intentions, the update of the Gold and
>> Silver versions of Axiom effectively remains under the control of only
>> one person -- Tim.


Tim says that this is a "lie" and referred me to his email:

http://lists.gnu.org/archive/html/axiom-developer/2006-11/msg00282.html

He says that history shows that no one stepped up to build a new
version of Axiom and no one committed any changes to Axiom over the
period of 3 months from November to January even though everyone
(inculding me) had write access. During that time Gaby and Waldek
continued working on their own branches.

I agree that that this history is correct. In fact I have had write
access to the archives since the very  beginning. My first and only
critical submission was way back in the stone age when I submitted a
patch to update the database files that had been generated by Jergen
Weiss. I also committed some changes to the build scripts to simplify
the algebra makefile (after a lot of discussion with Tim).

Tim said that it is clear that I can't take responsibility for the
main branch of Axiom because given the complete freedom to do the
task, that I did nothing. But I never said I wanted to take
responsibility for any branch. I was happy to let Tim do that. But
when Tim stopped I was at least happy that Gaby and Waldek continued
to work on the build-improvements and wh-sandbox branches.

> Bill Page wrote:
>> Tim remains the primary bottleneck for getting these changes done.
...
>> Perhaps this is not his intention however I think his approach of using
>> a separate repostory (based on git) and insisting on doing all updates
>> via manual patches, effectively discourages other developers from
>> contributing directly to Gold or Silver versions.


What Tim wrote in reply seemed to indicate that he was angry that I
should make this sort of claim. He said that it was equivalent to
claiming that he personally should decode how autoconf works,  how the
new boot is supposed to work, and how the ansi version is supposed to
be merged. Tim repeated that no one besides him makes any effort to
ensure that the main trunk is updated.

So I explained that what I meant was that I thought his (Tim's)
actions have discouraged other people who potentially could contribute
to Axiom Gold in parallel with Tim. I pointed out that he has not
convinced anyone else to "play by your rules" and he has not
compromised enough to allow them to change their own approach to be
compatible with his. So, the consequence is that Tim is still the only
one doing it. I easily be wrong about other people's motivations here,
but I do not think that this is a "lie".

In fact I doubt that anyone besides Tim feels confident enough to do
update trunk. The manual process that Tim has described for how he
does it is very unlike the process used by anyone else that I know.

About the Windows version Tim said that it seems to him that I am the
primary bottleneck since I build it, I run it and I package it, but I
have not posted any changes. But I have never made any significant
changes. Those were all done by Mike Thomas. In any case these were
made obsolete when Gaby generalized the build system to autoconf so
that it could properly detect the differences between the linux and
windows/MSYS build environments. Most recently I have submitted a few
small changes and tested other changes proposed by Waldek so that
wh-sandbox can also be built on Windows.

>> Bill Page wrote:
>> (See for example recent revisions submitted by Gaby which he asked
>> to revert pending something similar to be done by Tim.)


I think Tim's reply to this is very important.

He said that he had planned to work with the change that Gaby had
submitted and the
fact that Gaby later withdrew it was *not* based on his request.
(Check the mailing list). He said that I should get your facts
straight when you are making disparaging remarks about him in public.

I am very sorry about this. I do hereby state publicly that I was
wrong about that. I also get the impression that there were more
people than me who may have gotten the wrong impression about that
interchange so I am glad that Tim has set the record straight.

> Martin Ruber wrote:
>> I have the feeling that "trunk" and "branches" is somewhat unfitting
>> for the Axiom project. Currently, wh-sandbox seems most useable to me.

Bill Page wrote:
> Although no one has named it as such, I think effectively we have the
> situation of a "fork" in the Axiom sources.

Tim pointed out to me that he has previously written to the email list
about this. He says that when one joins an open source project and
wants to "contribute" then it it is your responsibility to make sure
that your work gets merged into the main line (first Method above).
But no one has done this. And we now see 3 different things being
called "axiom"... Gold, build-Improvements and wh-sandbox. He says
this is a "fork" because there is no acknowledgment that this work
should go back into the main line.

I am afraid that Tim might be right about this, although I do think
there has been *some* acknowledgment that these changes *should* go
back into the main line.

From his email it is clear that Tim is concerned the work of a many
developers is being simply being "taken away". But from my point of
view even if Axiom was to fork (I don't think anyone is actually
claiming that is has yet) then I think that it is hard to claim that
anyone has "walked off" with anything since everything remains
completely public. One should not accuse anyone of doing anything
illegal or unethical because this sort of thing happens often in open
source projects. Still, I am *not* saying that this would be a good
thing.  I think there is still time and resources that can be devoted
to keeping Axiom together as a single open source project. And I am
*very happy* that we have so much progress in the last year in spite
of all of this uncertainty and confusion.

Regards,
Bill Page.


On 6/23/07, Bill Page <address@hidden> wrote:
> Ralf Hemmecke writes:
>
> > Bill Page wrote:
> > > I guess it's time I planned on creating an 'axiom-0.2' binary install 
file...
> >
> > I am a bit confused about the version number. NAG released 2.3. Didn't we
> > once say that the current gold version is Axiom 3.0? What versioning
> > scheme does OpenAxiom now actually have? Does somebody know?
> > Where is this written down?
>

Yes, I think this was tentatively agreed upon and it appears in at
least one "released" version of open source Axiom (maybe the first?),
but it seems that this was promptly forgotten or re-defined by Tim as
he issued subsequent releases. Since defining new releases has so far
only been the job of one person - Tim - then I guess it remains up to
him until/if someone else wants to take on the job.

On 23 Jun 2007 09:16:23 +0200, Martin Rubey wrote:
> Since Axiom is and very likely will be for a long time rapidly evolving, I 
suggest
> to use yymm versioning.  I was hoping that trunk would become usable (i.e.,
> very close to wh-sandbox) soon, but that doesn't seem to be happening.
>

It seems the contrary to stated intentions, the update of the Gold and
Silver versions of Axiom effectively remains under the control of only
one person - Tim. So again as I see it, Tim remains the primary
bottleneck for getting these changes done. Perhaps this is not his
intention however I think his approach of using a separate repository
(based on git) and insisting on doing all updates via manual patches,
effectively discourages other developers from contributing directly to
the Gold or Silver versions. (See for example recent revisions
submitted by Gaby which he was asked to revert pending something
similar to be done by Tim.)  I do not see much incentive contribute to
these older "official" versions of Axiom versus continuing changes to
the build-improvements and wh-sandbox branches even though they remain
essentially only "experimental".

> Gold is currently completely uninteresting for me and my math colleagues: no
> working HyperDoc, many important algebra fixes are missing, etc., etc.
>

I agree completely. Gold does not even build on Windows.

> I have the feeling that "trunk" and "branches" is somewhat unfitting for the
> Axiom project.  Currently, wh-sandbox seems most useable to me.
>

Although no one has named it as such, I think effectively we have the
situation of a "fork" in the Axiom sources.

> (Waldek: the only remaining thing on my wishlist is to have out of the box
> aldor support)
>

Does this still have to wait until we have Aldor as open source?

Regards,
Bill Page.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]