top of page

Contributing

Everyone is always allowed to contribute to EMerge related projects. That is the beauty of Open-Source software. In addition, there are a list of so called "feature bounties" for which you can earn a small amount of money once implemented. Please be sure to read the conditions before starting to work on any of these.

Voluntary contributions

It is at any moment possible to submit pull requests to any of the EMerge software libraries like EMerge, Heavi, Optycal and emsutil. Please take notion of the following points:

  • Make sure to check that the feature you implement is wanted and relevant. Don't change/improve features without making sure that it isn't already supported somewhere else or that it is a feature that is unwanted or buggy.

  • Make sure to properly test your feature. Study the impact on the codebase. If you arent sure, please contact me through discord in the emerge-dev channel to see how your feature can best be implemented.

  • Make sure that it is implemented for the latest EMerge version. modules change quickly, approximately one minor version per month. Your new feature can be outdated.

  • I have no obligation to accept your pull request obviously. I am always open to improvements but if it takes me a lot of time to check if your pull request is properly written, I might not accept it.

  • Please be mindful of automated markup tools that add spaces and formatting lines everywhere. Pull requests may become crowded with changed that can make it really difficult for me to see what happened.

  • Be very careful with adding external dependencies. If you want to add a new dependency, make sure to run in by me first.

Feature bounty system

There are a set of features for which you can earn a bounty (one time financial payment) if you implement them correctly. Please be very mindful of the terms and conditions  before you start implementing anything.

  1. First check with me (preferably through discord) if you want to implement a feature. I can tell you if someone else is working on it already.

  2. Submission of a contribution does not guarantee payment.
    A bounty is only awarded at my sole discretion after explicit written confirmation of acceptance and payment approval.

  3. Be very careful with adding external dependencies. Contributions adding unapproved dependencies may be rejected without review.

  4. You can only get rewards if you are:

    1. You must be a tax resident of an EU member state or the United States.

    2. You have a valid PayPal account or IBAN.

    3. You are 18 years or older.

  5. I will only pay you after you send me an invoice per mail containing at least the following information:​

    1. Your full legal name​

    2. Your full living address

    3. The country of residence

    4. My name: Robert Fennis

    5. Date of the invoice

    6. Some invoice number that you choose

    7. A description of what you added

    8. The total amount in euros, excluding VAT unless legally required to include VAT.

    9. Your PayPal information or IBAN

  6. You are entirely responsible for your own tax declaration on your income. This is NOT my responsibility.​

  7. By submitting any code, documentation, or other materials (“Contributions”) in fulfillment of a feature bounty for the EMerge project, the Contributor (you) agrees that:

    1. Copyright Ownership
      The Contributor retains the copyright to their Contributions.

    2. License Grant
      The Contributor irrevocably licenses their Contributions for inclusion in the EMerge project under the terms of the GNU General Public License, version 2 (GPL-2.0).

    3. Scope of License
      This license grant includes all rights necessary to use, modify, reproduce, distribute, and create derivative works of the Contributions as part of the EMerge project, as permitted under GPL-2.0.

    4. Authority to Contribute
      The Contributor represents that they have the legal right to submit the Contributions under these terms and that the Contributions do not violate any third-party intellectual property rights.

    5. No Additional Restrictions
      The Contributor agrees not to impose any additional licensing terms or restrictions beyond those of GPL-2.0 on their Contributions.

  8. Approval discussions via Discord are informal and non-binding.​

  9. Payment will be made after acceptance and receipt of a valid invoice.

bottom of page