On Sun, Jan 30, 2011 at 9:23 AM, daly <d...@axiom-developer.org> wrote: > >> >> 3) I think the issue of crackpots and bad code dragging things down is >> not much of a problem. The reason is that it takes quite a bit of >> perseverance to get code into Sage. My experience with my Jmol >> contributions is an example. I would not claim to be the best coder, >> but think my Jmol contributions addressed some issues people had. >> And certainly the code is not yet ideal, but it does do most of what I >> understood people to want. Because of the load on people doing >> testing, it has taken months to get much feedback on it. This means >> anybody submitting code has to be willing to stick with it and prod it >> along over the long term. People who are not serious won't do this. >> My example may be a little slower than many people's because I also >> have very little time to contribute to this, but I still think you are >> unlikely to get really bad code included using the present model. > > To quote the above "This means anybody submitting code has to be > willing to stick with it and prod it over the long term". > > The real problem with Sage's development model will not show up > for a few years.
How long do you mean by "a few years"? > At the moment most of the code being contributed > is supported by the original authors. I don't know what you're basing this vague claim on... > The algorithms are complex > and some implementations are only competitive when optimized into > Cython, despite the "Sage is Python" mantra. There is no "Sage is Python" mantra. Sage is a mathematical software system, some parts of which are written using Python, and the interpreted user language of Sage is indeed Python. > The real problem will arise when these authors leave the project. > Code rots. People make simple changes. Linux changes libraries. > Who will be able to debug research-level elliptic curve code > when some minor, unrelated change breaks it? I can easily think of at least a dozen people immediately. But given that you're worried about "a few years", and you didn't define what this phrase means, it's perhaps not possible to answer your question. > Who will even know that it is broken? Is it broken now? Yes, it is broken. It's computer software, after all. > And since the Sage code base is owned by other people with other > goals, that is, all of the spkg files from upstream projects, > the potential for code rot is much larger and the debugging > problem is much harder. And for exactly these reasons there are far more people involved in fixing bugs in various parts of Sage. If you total all the people who have worked on code that is part of Sage during the last year, you would likely easily get over 1000 programmers. I bet you can't say that about Axiom (and perhaps not about Mathematica, Matlab or Maple, either.) Also, the modularity of Sage makes the problem easier in some ways. > Is the elliptic curve code failure due > to Sage-owned python changes or spkg changes? Sometimes one, sometimes the other, sometimes both. > What happens when > python itself changes and upstream packages make the move to > python 3.0? There are no Python packages at all in Sage that involve elliptic curves. But incidentally, when the Python dependencies of Sage fully support Python 3, then Sage probably will too. Matplotlib is a biggie that we're waiting on. > The problem isn't "really bad code". The problem is code rot. Both are problems. > What does a programmer need to know to maintain the system? > How can a new programmer join the project and contribute? > If it is not easy now it won't be possible later. That's an opinion. > How do we architect systems to survive the loss of the authors? Was scaring off most of the contributors to Axiom a few years ago a way for you test your theories on this? Maybe you could report on how that turned out. > How do we architect systems to survive the changing platforms? > Will Sage live? It will have at least a 6-year lifespan. :-) -- William -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org