axiom-developer
[Top][All Lists]
Advanced

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

[Axiom-developer] version control


From: root
Subject: [Axiom-developer] version control
Date: Thu, 5 Oct 2006 12:44:23 -0400

> > When you say "integral part of the axiom src distribution" why
> > do you assume that it must be via subversion, cvs, Arch, etc.?
> 
> I think that's the central issue here.   A version control system has
> exactly one audience:  developers.  It's meant for tracking the
> history of source code.  It doesn't need to contain large static
> unchanging objects, and it certainly doesn't need to contain other
> packages that the code depends on.   It only needs to track the code
> itself, the volatile stuff that really needs fine-grained management.

hmmm.... methinks you might not realize that axiom is, at least under
my view, trying to take a new direction about what 'source code' means.

it is my belief that systems like axiom can only survive if we start
writing for people rather than machines. there needs to be an intimate
connection between the traditional 'source code' (e.g. program source)
and documentation, in the form of literate source. if we only depend
on traditional source we lose all of the expertise that makes the 
system viable. i'm working to try to make the system easy enough
for the next generation to maintain, modify, and extend. in this view
there is no distinction between 'source code' and 'documentation'.

this is especially vital in complex computational mathematics.


> A completely separate concept is that of 'distribution':  some sort of
> release package that has everything a user need to 'just run' (or
> build) the software.  That's something assembled by a package
> maintainer:  it contains sourcecode, docs, dependencies, and maybe
> even compiled binaries.  Users are the audience.
> 
> Release packages are only created for users when the software reaches
> a milestone like "1.2".  It's perfectly reasonable, on the other hand,
> to make the (relatively small number) of developers go through some
> work to build the latest code:  check out the latest stuff from
> version control, grab some tools, grab some dependencies from
> somewhere else, etc.  It's some initial one-time overhead for people
> who intend to improve the software, rather than just use it.
> 
> In a nutshell, what I'm trying to say is:  a version control system is
> not a package-distribution system.  One is for a small group of
> developers, the other is for a large audience of users.  Mixing the
> two concepts can result in a lot of pain.

are you suggesting that the videos should be maintained on local
disk drives by specially designated 'package-distribution' developers?

there are several problems with this.

we are not doing a 'package-distribution', we're developing a program.
this program would be part of a package-distribution (e.g. debian).

the end user (e.g. Bertfreid Fauser who is an expert in Clifford
Algebras) would be developing video lectures along with the source
code that implements the concepts. end users need to be able to
develop packages, possibly coordinated with other worldwide users.
CVS/SVN/ARCH/DARCS exists to allow this coordination.

the latest version of any system should be available in the 
version control system, not by request to some special place.

there is no distinction in axiom between the programming language
code and the documentation as both are subparts of the literate
document. you can't maintain one without maintaining the other
at least that's the 'spirit' of the idea. 





version control systems maintain historically versioned copies 
of files required to build a system. they just need to copy files.
they are 'mechanism', not 'policy'. it is a bad idea to form
policy based on mechanism.

t





reply via email to

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