OcLaunch Launch automagically


Contribute

This software is free/libre software, contributions are most welcome!

  • You need to follow the 😇 Rules.
  • This is a list of ideas to help. Feel free to extend it.
  • Special skilled person wanted are listed below.

Spread the word

Just talking about the program, writing articles about, is a great way to contribute!

Here is some tools to help you:

Non-programmers

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 contact@oclaunch.eu.org) and issues on Git hosting.

You should consider testing pre-version to make sure to discover bug before the code is massively used.

Where

You should report bug on Gitlab Issue Tracker.

You may use the mailing list or send an email to contact@oclaunch.eu.org 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 10 or setting the environment variable OC_VERB to 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: contact@oclaunch.eu.org.

Artwork

We need to improve our icons, logo and so on. This way, your suggestions are welcome.

Programmers

See help to build in the sources part of the quick-start page.

The code

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 contact@oclaunch.eu.org. You should keep your modifications in a branch, named your-name/functionnality-name, to facilitate merge and keep great organisation.

Coding guides

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
Indentation

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.

Comments

In 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
General rules

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.

Learn OCaml!

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?

Packaging

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.

Plug-ins

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.

Wanted

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.