Personally, I think it is important to have access to source code.  I
do in fact read the source code of Sage (and many other projects)
often.  However, many people with whom I speak (user's of Matlab and
Mathematica) don't feel this is important.  Their logic goes something
like this...

"I have been using 'M' for decades and I have done fine not having
access to the source.  I don't see why I would need it."

I find this line of thinking hard to argue with, because it is based
on their experience.

I bring this up because I think we need to have better reasons about
why open source is important - arguments that are compelling to folks
who have been working successfully for years without reading the
source.  I don't know what these are, but I know that we need them.

Cheers,

Brian




On Fri, May 1, 2009 at 8:26 AM, rjf <fate...@gmail.com> wrote:
>
>
> The argument (specious, probably) is that if the compiler is open-
> source
> as well as the library, the operating system code etc, then an
> industrious person
> could try to verify all this.
>
> It is often said that "Testing can only demonstrate the presence of a
> bug, not its absence".
>
> BUT
>
> I think it is clear that code examination (by humans),  regardless of
> how many times it "helps" is fundamentally prone to its own kind of
> errors.
>
> There are lists of errors (I've published some) that are committed by
> several computer algebra systems.
> Typically these have to do with bad decisions in choosing branch cuts,
> dividing by zero, etc.
> Often these cases are not specifically considered but fall out of the
> "usual" program decisions and
> fall out the wrong way.
>
> There are also extensive discussions of the role of proofs in
> mathematics; see especially a paper in
> Comm. ACM by Demillo Lipton Perlis  and reactions to it.
>
>
>
>
> On May 1, 3:40 am, Jason Grout <jason-s...@creativetrax.com> wrote:
>> Marshall Hampton wrote:
>> >> I too have founds bugs by reading code that I've written - usually,
>> >> very
>> >> early on in the development process.  Note that I'm talking in the
>> >> context
>> >> of result verification, however.  That is, when I publish a paper
>> >> that
>> >> depends on computations, it is incumbent upon me to verify those
>> >> computations.  I'm saying that I don't think that reading source code
>> >> at that point is particularly necessary or useful.
>>
>> >> Mark
>>
>> > Really?  I find that very surprising.  While it was not the primary
>> > reason that I became interested in Sage, the ability to examine the
>> > source code for verification purposes was a major attraction.
>>
>> But reading the source still doesn't get around bugs in a compiler, bugs
>> in supporting libraries, etc.  Mark, if I understand you correctly, you
>> are saying that a person:
>>
>> 1. uses software to generate a list of results, and then
>> 2. checks these results by hand or in some way that doesn't use a computer.
>>
>> Step 2 is to avoid (or at least drastically cut down the chance of)
>> errors due to any issues with a particular computation system.  I agree
>> that this should be done for published results to the extent possible
>> (or reasonable), and that results that only rely on computational
>> results (without independent verification) should be flagged as such.  I
>> also agree that being able to read the source code for doing step 2 is
>> not necessary, *unless* your method of verification is to trace through
>> the program by hand.
>>
>> Of course, I'm sure there are many results in many fields that would be
>> practically impossible to independently verify in any reasonable amount
>> of time.  I suppose those people at least verify that they get the same
>> results with completely different systems (e.g., Sage and Mathematica
>> and Magma).  Of course, since Sage interfaces with a number of different
>> systems, it can help with this.
>>
>> Jason
> >
>

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to