This software is free/libre software, contributions are most welcome!
Spread the word
Just talking about the program, writing articles about, is a great way to contribute!
Here is some tools to help you:
- lnch.ml: Url shortener, send an email on the mailing list to request a shorten url.
- ocla.ml: Presentation page, to expose the project to the world.
Even if you are not a programmer, you can help.
Report bug & share idea
Use the software, bring it to its limit and report bugs!
Features suggestions are also welcome, both by email (on the mailing list or to firstname.lastname@example.org) and issues on Git hosting.
You should consider testing pre-version to make sure to discover bug before the code is massively used.
You should report bug on Gitlab Issue Tracker.
You may use the mailing list or send an email to email@example.com if you don't/cannot use Gitlab.
Anyway, keep in mind that sending a bug report the wrong place is better than letting it unknown.
Efficient bug report
Here is some tips to write bug report efficiently. Bug report are the primary way to improve the software.
- Keep in mind that we are volunteers. Take care of writing clear, polite bug report to get quick answer.
- Include information about version, platform, usage of opam or 0install… Run oclaunch with
-v 10or setting the environment variable
OC_VERBto 10 to have more informations to give us.
Try, if possible for you, to test against a fresh version (from the git repository), to see whether the bug persists. If you can't, we'll do it for you.
- Say precisely what is the problem, what is happening, what you expect… Write down the step to follow to find the bug. This way, we can find your bug, pick up the guilty code and fix it easier.
- You can join file on Gitlab. Take advantage of it to join screenshot for example.
If the bug is in your rug, please give it a hug and keep it snug.
Even if these rules are important, an imprecise bug report or a bug reported on a bad location is better than nothing. Write your problem, we'll try to guide you if necessary.
Improve the website
You can find typos or add tutorials. Signaling unclear parts is needed too.
For the documentation, see the root for instruction to submit corrections of the pages.
For other pages, there is no predefined way, send me an email: firstname.lastname@example.org.
We need to improve our icons, logo and so on. This way, your suggestions are welcome.
See help to build in the sources part of the quick-start page.
This software is written in OCaml and code is in in several Git hosting. Explanation of the code structure can be found in the repository. See the list of issue for new comers on the main bug tracker, on Gitlab.
Feel free to send pull request on these services or patches with
git format-patch to email@example.com. You should keep your modifications in a branch, named
your-name/functionnality-name, to facilitate merge and keep great organisation.
To keep a consistent and easy-to-maintain code-base, we should stick to these simple rules:
Cut in subproblems
Try to avoid code with multiple sub-instructions. Several smaller functions are preferred, since it’s easier to understand and test the code this way.Here is a quite radical point of view:
If you need more than 3 levels of indentation, you're screwed anyway, and should fix your program. Linus Torvald, in Linux kernel coding style
We indent with 2 spaces. 4 spaces have been used in the past and will be removed some day with the appropriate tool.
Ocp-indent is configured with the project and would from time to time be used to improve the consistency of indentation.
So even if your patch is not properly indented, give it to us, we have appropriate tools to correct it.
mls files, most of the time, there is a general comment before the function code to explain its role and possible problem or things to take care of. Comments in
mli’s are sometimes used as API documentation, for someone who would like to use the function without access to the code.
TODO Add example from the code base with commit reference
We generally follow the OCaml guidelines but only in case of doubt and with less consistency. If don’t know what to do, use it. If have your own habits, forget those guidelines.
Feeling the amazing parts of OCaml? Wanting to give it a try?
I would be very pleased to help you discovering such a wonderful language. The OCaml.org website is very helpful and I learned my self OCaml mainly from the Real World OCaml book. Reading it is a great investment.
This amazing book is available online for free, under Creative Commons licence.
If you get in trouble learning the language or with the OcLaunch code itself, let me know it! I'll try to help you.
Don't know OCaml?
Feel free to package OcLaunch for your favorite distribution. You may be interested by the oasis2deb tools. This page may be interesting too. Binaries on special architectures such as ARM are also welcome. The
0install.sh script may be used to produce binaries.
It's possible to host your packages in the download area, if you don't want to find hosting yourself.
Write plug-ins! (Will be documented some day).
You are free to interface your own program with it and I would be glade to make it easier for you.
Here is special peaple searched:
- A MAC OS X user is welcom to help us to port the program to this platform. You don’t need to be a developper, only to be able to test binaries we would give you.