On Fri, May 1, 2009 at 10:57 AM, Ondrej Certik <ond...@certik.cz> wrote: > > On Fri, May 1, 2009 at 10:32 AM, Brian Granger <ellisonbg....@gmail.com> > wrote: >> >> 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. > > And also this line of thinking is right. Imho. If something is so well > tested by decades, I trust it more than something that is tested for a > year or two, by a lot *less* people. > >> >> 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. > > Yes, I agree. I think the argument is definitely not "so that I can > see that the proof is correct" -- maybe in pure mathematics (I am not > judging that), but not for what I am doing. At least to me, such an
There are many arguments and many intended audiences, so I agree that it is useful if we all share we we *personally* find so much value in using open source. I think Brian and Ondrej both eloquently did exactly that. So I'll try. In mathematics research, rigorous proof is *the* core central foundation for absolutely everything. It is the one thing that starkly sets mathematics apart from all the sciences and humanities. Mathematicians rarely read proofs in order to verify that a theorem is true. They read proofs because they want desperately to prove interesting new theorems, and they hope that by reading a proof they will be able to deeply understand the techniques used in the proof, modify them, and prove something new. A proof might look like a bunch of words on a page, but it's actually a bunch of techniques, ideas, tricks, "machines", strategies, etc., that all come together in just the right way to deduce that something must always be true. In the context of mathematical research, I value *readable* *adaptable* open source mathematical software *hugely* because computational mathematics using closed source software is so much like mathematical research without proofs. It might be fun to watch (i.e., like skimming Wikipedia's math pages), but it would be devoid of vigor and life, and really impossible to move forward. When I solve new computational research problems it is far more effective to do so by taking existing codes and understanding them and adapting them in new ways. To maximize my efficiency, it's critical that I be able to read and change anything in my math software, just as it's critical that I be allowed to read and learn from the proofs of theorems. -- William > argument is not at all compelling. I also don't buy the argument that > by reading the code one can find and fix bugs, thus it is less error > prone. In fact, I trust mathematica or maple much more than sage or > sympy simply because it is tested by a lot more people. When Sage or > sympy becomes so widely used as maple/mathematica, then I will trust > it more too. > > For me the argument is purely technical and social. The social one is > that it's easy to create a good community around an opensource code. > Well, easy, it takes lots and lots of time, but when there is a good > community, one can do lots of things done. So even if the quality of > sage or sympy is much lower than mathematica, having the source code > and the community around it, it is actually more useful to me, because > I can get the job done with it, in fact easier than with mathematica, > since I can hook my own scripts with it, and tweak it anyway I want. I > have not seen the code of mathematica, but I would not be surprised, > if the code in sympy was much simpler. And that's a very good argument > for me, because I really want to understand codes, that I am using for > scientific calculations -- that's because if the code is tested by not > so many people, I don't trust it unless it's possible for me to grasp > it --- and even then I don't trust it either, but I can build on top > of it. > > The technical one is that I really want to be able to use the library > in my codes, and so I want it to be freely downloadable, > redistributable etc. > > On Fri, May 1, 2009 at 10:50 AM, William Stein <wst...@gmail.com> wrote: >> >> >> Are you sure we really _need_ these arguments for those users? > > Yes, I think we need. At least I do. Btw, you use those arguments too > in many of your presentations and lectures. And if the argument is not Yes, but I'm not aiming them at the people Brian was talking about. William --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---