DMelt:Dev/How to contribute
How to contribute
The DataMelt is a collective work of many people dedicated to open-source scientific software. We are grateful to many authors writing free scientific software for their dedication to science and open-source analysis tools. Please look at [man:dev:contributions] for more information about packages included to this project.
How to get started
DataMelt is in a constant development. There are several areas where your help is important. Before considering your involvement in this project, please become a full member full member of this project. You may notice we charge a small one-time fee which goes to the maintenance of this project (web server) and its mirrors. After becoming the full member, you should be able to access the most recent source code and the complete manual of this project. If you are working on the core package (jhplot) or made a significant contribution to the entire project, you may be eligible to waive fees.
Development of the core jhplot library
To submit your code, use the example in the file contributions.tgz. Your source code should be located in the "src" directory and it should be compiled by typing "ant" from the directory where the file "build.xml" is located. Make sure that ANT tool is installed. If the code is properly written, you should see a created jar library and full API in the directory "doc". Use the standard javadoc comments to explain the meaning of the packages and methods. This is very important since javadoc API will be included to the DataMelt code-assist.
If your code requires the DataMelt (or DataMelt third-party) libraries, you should set the property name="jehep.dir" in the build.xml file to the current location of the DataMelt (i.e. where the jehep.jar file is located). We would like to encourage you to use already existing DataMelt libraries. If you need some external library, put it in the "lib" directory. Finally, try to follow the Code Conventions for the Java Programming Language from Oracle.
Including additional libraries
You can develop your own jar library which can be included into the directory "lib/" of the DataMelt version for future distribution. The only requirement: you should provide a sufficient number of examples, write a wiki page explaining your work and properly document the source code using javadoc statements. Then contact [dmelt (AT) jwork.org]. Please do not use codding which require platform-dependent libraries (like Java3D). We will make sure that all credits go to you and your work.
Improving general documentation
You can contribute to the general documentation located on this server. Please get started from [playground: draft] page. Members should be able to edit and create new pages. When you are ready, please inform [firstname.lastname@example.org] and the pages will be inserted into the body of this manual (after some checking). You will receive permissions to edit your section.
You can create additional sections relevant to your expertise. Then contact [email@example.com] for inclusion into this manual. After the inclusion, you will be able to manage your public page.
Recompiling from source
No access to this part. DataMelt members can view this part after login to member area.
Finally, you contribution can be restricted to bug reports. Bug reports are important and welcome, and people take them seriously.To help make them clear you might try including the following:
- What you did (including detailed steps and a simple code example)
- What you expected to happen
- What actually happened (again including exact quotes of error messages)
Consider using the DMelt bug forum.