I'm interested in finding a math-related open source project that I can contribute to. I've studied maths and stats at undergraduate level, but I'm a professional software developer and I'll have some spare time in the next few months at least that I'd like to use to contribute to an open source project. My goals are:
- Work on something I'm likely to use: there's nothing like being a user of a product to whet your appetite for developing it. For example I've used Maple and Mathcad when I was studying maths. And I frequently use R. I'm going to be studying some calculus and calculus of variations so a project that has symbolic as well as numerical capabilities would be good.
- Work on something is mature enough to have a substantial user base, but still needs help.
- Take my programming skills forward. I'm particularly interested in learning Python, because it's starting to be used very widely in e.g. the data science community and in large scale systems development where there is a maths or machine learning element. I would also welcome continuing my existing C++ experience (OTOH I'm not very interested in working on products that are developed only in C.)
A final, lower priority, point is that I'm interested in tools that contribute towards education in some way.
I've done some research, and I've considered a couple of of projects:
- R. Great product, but ruled out on point 3 (it's developed largely in C), and somewhat on point 2. Doesn't entirely meet point 1 as it's specialized to statistics rather than being a more general tool.
- Sage math. Seems to meet all the criteria: is a general purpose math tool with symbolic and numeric capabilities, is mature but still looks to need help, and is primarily developed in Python (but still interfaces with libraries in C / C++ so I could make some use of my existing skillset).
One thing I'm aware of is that I don't know what I don't know. I only discovered Sage yesterday, when I found an answer on this site. So are there other projects that I should consider?
Also, is my assessment of Sage accurate? Is it good enough to be used say for symbolic differentiation and for numerical work, but it still needs some help and welcomes developers? (There's a post related to this on ask sage).