Contributing to Splitcells Network

Submitting via Pull Request

  • The authors of the commits have to sign off all commits of the pull request according to the Developer’s Certificate of Origin (DCO). You thereby confirm compliance with the DCO. Help regarding the version control Git can be found here.
  • At least the main author has to sign the last commit with a PGP or SSH key. Signing helps to audit commit authorship. A quickstart and further guidelines for PGP can be found here.

API Compatibility

There is currently no guarantee of backwards compatibility. Absolute backward compatibility creates a maintenance burden, that currently has no benefits.

We do not break backward compatibility just for fun. Many API changes are located and categorized in the changelogs of the corresponding project. Breaking changes are tried to be omitted, but there is no guarantee for that.

You can try to decrease the likelihood of breaking a certain feature, by contributing an appropriate test case/suite for this feature. Regardless of that, keep in mind, that there is no guarantee of backwards compatibility.

TODO: Consider declaring backward compatibility a nice to have feature, instead of an absolute goal.

  • Provide migrations guidelines or even automation via things like OpenRewrite for breaking changes.
  • No Forward compatibility
  • Versioning system and releases are needed in this case.

Helpful Notes

Browsing Repository in Browser

When browsing the repo in the web some browser addons/extension might help to visualize its content:

Inspirational External Guidelines


  • SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
  • SPDX-FileCopyrightText: Contributors To The net.splitcells.* Projects

Meta
  1. network
    1. BUILD.html
    2. CHANGELOG.events.html
    3. CHANGELOG.html
    4. CONTRIBUTING.html
    5. DEVELOPMENT.html
    6. LICENSE.html
    7. NOTICE.html
    8. README.html
    9. advertisement.html
    10. community
      1. accessibility
        1. done
          1. 2023-07-12-make-project-deployable-as-a-single-jar.html
        2. task-archive
          1. 2022-09-22-release-system-on-flathub-so-it-can-be-easily-installed-and-started.html
      2. blog
        1. articles
          1. 2021-07-07-Creating-The-First-Public-Release.html
          2. 2021-07-20-Pulling-The-Rip-Line.html
          3. 2021-08-10-Developing-Software-At-Gunpoint-Weak-Copy-Left-Versus-Pseudo-Permissive.html
          4. 2021-08-6-Its-over-Its-finnally-over.html
          5. 2021-10-04-Development-Timing-And-Discovery-Based-Networks-Of-Perspectives.html
          6. 2021-10-04-There-Is-Bad-There-Is-Horrible-And-Then-There-is-Error-Handling.html
          7. 2021-11-27-Supporting-Arbitrary-Website-Renderes.html
          8. 2022-02-15-Generic-Allocators-Fourth-Version.html
          9. 2022-05-01-Note-On-Creating-Your-Own-Web-Layout-And-Style.html
          10. 2022-07-18-Writing-tests-after-the-fact.html
          11. 2022-09-23-We-want-to-use-the-software-guys-RIGHT-Right-right-ehhh.html
          12. 2022-10-11-Reprioritization.html
          13. 2024-01-02-the-second-reprioritization.html
          14. 2024-02-04-minimal-apis.html
          15. 2024-03-24-providing-an-experimental-scheduling-tool-for-schools-in-general.html
          16. 2024-04-14-assertj-considered-unfit.html
          17. 2024-07-07-migration-from-sourhut-to-codeberg.html
        2. index.html
        3. task-archive
          1. 2024-05-20-package-manager-versus-dependency-management .html
          2. 2024-05-20-virus-scanners.html
      3. compatibility-portability-and-adaptability
        1. 2021-03-08-create-minimal-java-grammar.html
        2. task-archive
          1. 2021-04-01-create-and-check-minimal-grammar-for-xml.html
          2. 2021-03-21-publish-public-website-source-code.html
          3. 2021-08-15-make-project-core-and-api-gpl-2-0-compatible.html
          4. 2021-09-12-support-usage-of-website-in-text-form.html
          5. 2022-01-21-create-builds-with-minimal-dependencies.html
          6. 2024-01-31-make-project-executable-in-browser-via-teavm.html
      4. cooperation-and-symbiosis
        1. 2022-10-25-consider-compatibility-with-git-repo-manager.html
        2. 2024-05-31-get-first-user.html
        3. done
          1. 2023-12-30-make-projekt-advertisable.html
        4. task-archive
          1. 2021-09-28-release-software-to-maven-central-repositories.html
          2. 2021-10-20-support-different-backends-for-gel-s-api.html
          3. 2021-9-17-support-flatzinc.html
          4. 2022-11-12-create-versioning-policy.html
          5. 2023-02-12-deploy-snapshot-builds-during-ci.html
          6. 2023-11-15-configure-logging-via-external-config-and-not-code.html
      5. deployment
        1. 2023-11-17-regularly-backup-personal-user-files.html
        2. 2024-03-10-migrate-from-sourcehut-to-codeberg.html
        3. weekly-deploy-static-website.html
        4. weekly-deploy-tests.html
        5. weekly-maintain-live-server.html
        6. weekly-update-dependencies.html
      6. documentation
        1. 2021-08-04-improve-licensing-practices.html
        2. presentations
          1. generic-allocation-editor.html
        3. task-archive
          1. 2013-05-19-create-writing-guidelines.html
          2. 2021-08-05-ensure-source-code-integrity.html
          3. 2022-04-25-automatically-check-licensing.html
          4. 2023-03-12-document-differences-of-software-to-competition.html
          5. 2023-11-17-define-documentation-inside-program-code.html
        4. weekly-maintain-guidelines-and-documentation.html
      7. features
        1. 2022-12-21-1-create-game-based-on-optimization-networks.html
        2. 2024-05-31-create-no-code-gel-editor.html
        3. done
          1. 2023-10-02-provide-scheduling-tool-for-schools-in-general.html
        4. task-archive
          1. 2021-03-07-solve-school-course-scheduling-problem.html
          2. 2021-03-07-solve-sport-lesson-assignment.html
          3. 2021-09-28-create-machine-learning-interface.html
          4. 2022-03-29-implement-test-recursion.html
          5. 2022-05-06-create-update-command-for-fuwpd.html
          6. 2024-01-25-user-should-be-able-to-define-part-of-the-solution.html
      8. index.html
      9. knowledge-base
        1. pseudo-structured-data
          1. optimization-communities.html
          2. optimization-language.html
          3. optimization-software.html
          4. versioning.html
      10. maintenance
        1. 2023-9-3-fix-net.splitcells.network.deploy.build.at.html
        2. 2024-06-23-create-full-software-test.html
        3. task-archive
          1. 2021-08-17-implement-fuzzy-testing.html
          2. 2021-08-17-implement-mutation-testing.html
          3. 2021-10-22-add-bit-rot-test-for-repos.html
          4. 2023-01-16-2-establish-uniform-code-formatting-for-Java.html
          5. 2023-01-29-use-standardized-build-and-test-command-for-deploy.build.at.html
          6. 2023-04-12-clean-up-test-tags.html
          7. 2023-05-14-manage-servers-via-ansible.html
          8. 2023-06-01-clean-up-web-server-architecture.html
          9. 2023-12-17-test-repo-commands.html
          10. 2023-9-10-how-to-handle-git-branches.html
          11. refactoring-support.html
        4. weekly-process-project-status-badges-weekly.html
      11. performance-engineering
        1. 2024-06-20-speed-up-maven-build-on-dev.html
        2. task-archive
          1. 2022-06-11-improve-runtime-performance-of-history-resetto.html
          2. 2022-08-19-analyse-performance-characteristics-regarding-logging-options.html
          3. 2022-08-21-provide-easy-way-to-avoid-all-dem-based-aspects-for-better-runtime-performance.html
          4. 2023-03-14-option-for-best-performance.html
          5. 2023-04-04-log-if-not-most-performant-settings-are-chosen.html
          6. 2023-04-12-create-table-based-on-ints-and-floats.html
          7. 2023-04-6-use-alternatively-eclipse-collections-in-for-decreased-memory-usage.html
          8. 2023-06-06-create-performance-analyser.html
          9. 2024-06-02-read-about-performance-engineering-in-java.html
      12. projects
        1. 2024-04-06-school-organization-project.de.html
        2. 2024-04-06-school-organization-project.html
      13. webserver-development
        1. 2024-03-26-provide-better-website-navigation-via-meta-column.html
        2. task-archive
          1. 2024-05-19-add-licensing-link-to-side-menu.html
    11. deployment.html
    12. dictionary.html
    13. distro
      1. downloads
        1. index.html
    14. guidelines
      1. backwards-compatibility.html
      2. complexity-management.html
      3. dependency.html
      4. documentation.html
      5. external-dependencies-commentary-2024-04-02.html
      6. gist
        1. git.html
        2. pgp.html
      7. index.html
      8. infrastructure.html
      9. licensing.html
      10. program-code.html
      11. project.html
      12. source-types.html
      13. standard-usage
        1. bash.html
        2. changelog.html
        3. chezmoi.html
        4. commonmark.html
        5. css.html
        6. filesystem.html
        7. html.html
        8. java.html
        9. jquery.html
        10. linking.html
        11. maven.html
        12. python.html
        13. shell.html
        14. svg.html
        15. xml.html
        16. xslt.html
      14. task-management.html
      15. technology-stack.html
      16. test.html
      17. web-design.html
      18. writing.html
    15. history
      1. index.html
    16. hub
      1. README.html
    17. logo.html
    18. objectives.html
    19. overview.html
    20. status.csv
    21. status.html
    22. tickets
      1. done
        1. 0.html
        2. 77.html
      2. index.html
      3. open
        1. 10.html
        2. 37.html
        3. 71.html
    23. worker
      1. via
        1. java
          1. CHANGELOG.events.html
          2. CHANGELOG.html