On Jan 28, 5:24 pm, Tom Boothby <tomas.boot...@gmail.com> wrote: .... If somebody submits lots of junk code, they'll > find the review process impossibly frustrating and almost certainly > lose steam before taking up a significant amount of anybody's time.
Even assuming that the junk-submitter takes no time at all from project management on the "front end", the need to review "contributions" is certainly a drain. Realizing, and then explaining to some loser why his code is junk takes time. A skilled undergrad who needs a senior project, and will be graded on it, or someone looking to beef up his/her resume with a successful project or published paper (perhaps an extension of a class project), or possibly someone who represents "raw talent" and can be paid by a research grant while learning -- these are much better prospects. Not guaranteed, though. While I don't know how to exactly define "bad apples" I would be quite surprised if 80% of the volunteers reading sage-devel were top producers -- the people who can almost instantly see to the core of a difficult problem, analyze the alternatives, pick the best solution, write the code correctly, and provide the documentation. While I have no foolproof way of identifying the people who will turn out to be winners, I think the current recruitment line is a poor idea. If I understand it, it goes something like this: Join our project if you love math and know about it and love and know about programming! And if you don't know math, that is OK too! And if you don't know about programming, that's great because Python is easy to learn! So join our project! And if you don't know about programming or math, you probably won't know anything about current or past activities in algorithmic solution of mathematical problems by computer. So instead of teaching you this stuff we will encourage you to learn python, our code-control, bug-tracking, etc, so you can participate in our novice-driven design of things like the user interface (a critical component since it has to be used by everyone?) or code portability (which requires substantial detailed knowledge of several systems) or plotting (which looks easy but ultimately has very subtle issues of numerical computation), or rewriting code that works (but is in Lisp). Or writing documentation of programs you probably don't understand very well because they aren't documented ... etc A reader of the philosophers of open-source (e.g. Eric Raymond and his followers) might argue otherwise, that we want a zillion programmers. And as many project forks as there are differences of opinion. Meh. -- 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