Skip to content

Hackfest Guidelines

We understand that Opensource projects can't be successful and prosper, unless there is a community of developers actively contributing to the future of the project. This is why we've been working hard on getting together subject matter experts (SME-s), enthusiasts and setting up a friendly and welcoming environment to work in.

Our project is open to contributions of all kinds. We would like to invite you to join in and help out with whatever topics you think you might be able contribute to.

We have been participating in #Hacktoberfest (since 2017) and the annual Grace Hopper Celebration Open Source Day (since 2020) and we believe we have a good understanding of how work for such events should be organized and moderated. We also have mentors on our chat that are always willing to lend a hand.

Hackfest Organizers

If you're planning on organizing a hackfest and are looking for interesting projects to contribute to, then look no further! Please, get in touch with us via our chat channel, or contact us for details on what topics we could use help with. We will do our best to accommodate the level of your participants and provide tasks that they should be able to handle. (Please, check below for the requirements for participating).

Participants

We would like to welcome participants from all backgrounds, but would like to ask you to check our requirements below.

There we have tasks of various types (coding, reviewing, testing, documentation, etc) and we usually have enough simple tasks to accommodate new-joiners. Our advice is to pick simpler tasks in the beginning, even if you're a seasoned developer, so that you can get an understanding of what our process is (from development, coding convention and testing to code reviews and acceptance criteria).

Requirements For Participating

While we understand that we all have to start from somewhere, we expect that contributors:

  • Will have sufficient knowledge of coding in Java in order to work independently.
  • Will have at least a basic understanding of Git.
  • Will have at least a basic understanding of Maven.
  • Will have at least a basic understanding of testing principles.

We can offer guidance and advice throughout the process of your development, but we can't offer too much hand-holding, as we have limited time and resources.

In addition to the above, you will need:

  • At least 16 GB RAM
  • Intel i7 (or an equivalent), or higher with at least 4 cores
  • At least 20 GB free space
  • Linux, MacOS, or Windows 10
  • An IDE (we use predominantly IntelliJ Idea, which you can get for free, but if you're experience with other IDE-s, this is up to you, however, it's unlike we'll be able to help you with configuration issues for these)

Getting Set Up

Please, have a look at our Developer's Guide. We try to keep our articles straight and to the point, so that you can get up to speed with minimal efforts. Please, don't just skim vaguely through the articles below (and miss out half of the important things that are already explained in the pages). We've taken the time and effort to make this as simple, as possible for both you as a contributor and us, as maintainers.

Please, have a good read through the following articles:

Finding Issues To Help With

We can always use an extra hand with our issues which is why we try to keep the issues well-documented and clearly labelled.

Please, consider starting off with issues with the following labels:

  • GitHub issues by-label
  • GitHub issues by-label

Our Contributor's License Agreement (ICLA)

In order to contribute to our project, you need to accept that your work will be shared with the community under the Apache 2.0 License and you will also need to sign our ICLA and send it back to us as explained in the Contributing page.

Please, make sure any work you contribute to our project is your own, or is contributed on behalf an organization that you represent, or have the author's written permission.


Last update: 2020-12-07