java/CONTRIBUTING.md

2.6 KiB

Contribution Guidelines

Unfortunately, not every library/tool/framework can be considered. This list aims to provide a concise list of noteworthy modern software. This means that suggested software is:

(a) widely recommended, regardless of personal opinion

(b) highly discussed in the community due to its innovative nature

(c) absolutely unique in its approach and function

(d) a niche product that fills a gap

Suggested software must also be developer-friendly, which means it meets the following criteria:

(i) If an open source application, it is licensed under one of the open source licenses listed on https://opensource.org/licenses.

(ii) If an open source library, it is licensed under one of the open source licenses listed on https://opensource.org/licenses, with the exception of GPL and AGPL (due to their viral nature).

(iii) If commercial, it has clear pricing and at least one free tier.

(iv) It has a documentation in the English language.

Pull Requests

There are two required criteria for a pull request:

  1. If an entry has a similar scope as other entries in the same category, the description must state the unique features that distinguishes it from the other entries.

  2. If an entry does not meet conditions (a) to (d) there has to be an explanation either in the description or the pull request why it should be added to the list.

  3. If an entry doesn't fit any of the pre-existing specialized sections, it should go under Miscellaneous.

  4. If two or more entries in Miscellaneous are in the same domain, then they can be moved to a new specialized section.

Self-promotion is frowned upon and viewed critically, but your suggestion will of course be approved if the criteria match.

If your entry isn't accepted, please check the Issues for items marked with the "question" tag to see if it had been previously discussed. If nothing comes up, feel free to create a new issue, adding the "question" tag.

Furthermore, please ensure your pull request follows the following guidelines:

  • Please search previous suggestions before making a new one, as yours may be a duplicate.
  • Please make an individual pull request for each suggestion.
  • Use the following format for libraries: [LIBRARY]LINK - DESCRIPTION.
  • Entries should be sorted in ascending alphabetical order, i.e. a to z.
  • New categories or improvements to the existing categorization are welcome.
  • Keep descriptions short, simple and unbiased.
  • End all descriptions with a full stop/period.
  • Check your spelling and grammar.
  • Make sure your text editor is set to remove trailing whitespace.

Thank you for your suggestions!