How do I contribute to develop an open source alternative to Mathematica/Matlab?

In summary, there are several programs, such as Mathematica, Maple, and Matlab, that use proprietary and closed source algorithms to make computations faster. However, there are also open source options like wxMaxima and Sage Math, which may require a deeper understanding of coding and programming languages like C/C++ and shell scripting. Developing algorithms is a key component of these developer communities, and it may take some time to understand and create plug-ins or apps for them. Websites like SourceForge and projects like Octave and NumPy may be helpful resources for getting involved in these communities.
  • #1
elduderino
57
0
Mathematica/Maple/Matlab are awesome and they use algorithms which make computations faster, but they are proprietary and closed source. wxMaxima and Sage Math exist, and I need to enter this developer community. But its mostly composed of uber-jargon that I'm not yet easy with. I haven't contributed to any open source software stuff yet. I want to dive in.

I know C/C++ only right now. What do I need to learn? I work in Linux and Mac, but I've mostly been a GUI person. I don't type anything more than cp, rmdir/mkdir, cat, etc. on the bash prompt. I think I should learn shell scripting but I'm not sure how useful it would be for my goal. What other languages/skill would be required?

Also, what component of these developer communities require coding, or is developing algorithms to do computations the hard part?

How long should it take for me to start understanding their programs, and then start creating my own plug-ins/apps for them (if I use the right term).
 
Physics news on Phys.org
  • #2
Well, I can't answer your questions in any good detail, but this website might help you out.

http://sourceforge.net/

Thanks
Matt
 
  • #3
I am pretty sure Maxima is written in Lisp. I am not sure exactly how one gets involved in programming it.
 
  • #5
Dr Transport said:
http://octave.sourceforge.net/ to support or help develop for Octave (a Matlab clone).

NumPy is a similar open source project that I have heard good things about. It is modeled after MATLAB but uses Python as its underlying language.

If there were a Mac OS X native GUI for either Octave or NumPy, I for one would think that would be very neat.
 

1. How can I get started with contributing to an open source alternative to Mathematica/Matlab?

To get started, you can first familiarize yourself with the code and documentation of the existing project. You can also join the developer community and participate in discussions to get a better understanding of the project and its goals. Additionally, you can look for open issues or feature requests and attempt to solve them.

2. Do I need to be an expert in coding to contribute to an open source alternative to Mathematica/Matlab?

No, you do not need to be an expert in coding to contribute. There are many ways to contribute to an open source project, such as documentation, testing, and providing feedback. However, having some knowledge and experience in coding can be beneficial for contributing to the codebase.

3. How can I ensure that my contributions are accepted by the project's maintainers?

To increase the chances of your contributions being accepted, it is important to follow the project's guidelines and coding standards. You should also communicate with the project's maintainers and discuss your proposed changes before making them. This allows for better collaboration and ensures that your contributions align with the project's goals and direction.

4. Can I contribute to an open source alternative to Mathematica/Matlab if I am not a developer?

Yes, there are many ways to contribute to an open source project, even if you are not a developer. You can help with documentation, testing, reporting bugs, and providing feedback. You can also spread the word about the project and encourage others to use and contribute to it. Every contribution, no matter how small, is valuable and helps the project grow.

5. How can I ensure that my contributions are properly credited in the project?

To ensure that your contributions are properly credited, you should follow the project's guidelines for submitting contributions and provide a clear description of your changes. You should also make sure that you are using the correct license for your contributions and include any necessary attributions. Additionally, you can communicate with the project's maintainers and discuss how you would like to be credited for your contributions.

Similar threads

  • MATLAB, Maple, Mathematica, LaTeX
Replies
12
Views
1K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
2
Views
2K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
7
Views
8K
  • MATLAB, Maple, Mathematica, LaTeX
Replies
17
Views
45K
  • STEM Career Guidance
Replies
5
Views
2K
Replies
16
Views
2K
Replies
8
Views
2K
  • Special and General Relativity
Replies
6
Views
5K
  • STEM Academic Advising
Replies
11
Views
5K
Back
Top