Skip to content

QPA 2015

Tibor Benke edited this page Sep 30, 2015 · 1 revision

The syslog-ng Universe

This spaceship is waiting for you to take a tour of our universe...

During this journey you will...

  • Participate in a real-world project[1,2,3], working on real problems[4]/features which are needed by real people. There is a real chance that your contribution will be used by millions of users around the world.
  • Get experience in the following areas
  • Object-oriented programming (OOP) development in C (believe us, it is possible), Java, Python
  • Clean Code
  • Test-driven development (TDD)
  • Git, GitHub
  • Open Source development
  • Big Data technologies (Elasticsearch, Kafka, Hadoop, Hadoop Distributed File System (HDFS))
  • Work on your own ideas with our help.
  • Become a member of our developer community at the end of the journey.

In our universe, there are

  • Stars: Shiny features
  • Python destination
  • Black holes: Unknown parts of the code
  • Configuration parsing, acknowledge mechanisms
  • Galactic anomalies: Bugs (including Heisenbugs, Schrödinbugs, and so on)
  • For details, check our GitHub issues : https://waffle.io/balabit/syslog-ng
  • Supernovas: We thought that these would become shiny features, but actually they did not. Also, they can explode in any minute
  • Perl destination

We will help you with the following:

  • We will participate in the birth of a new star.
  • We will help you eliminate galactic anomalies.
  • We will guide you to avoid creating a supernova.
  • We will assist you in turning black holes into white holes.

To join the syslog-ng Universe

  • Request a GitHub issue
  • There are several open issues on our GitHub page. Some of them are marked with the syslog-ng-universe label. If you would like to solve one of them, just leave a comment on the issue. Soon after, your assigned mentor will contact you.
  • Propose your own idea: open a GitHub issue
  • If you have a good idea that you think would be useful for syslog-ng community, just open a new GitHub issue and we will guide you. (For example if you would like to develop unit tests for modules and you want to use your favourite unit test framework, like GoogleTest, just create your proposal.)

Workflow

  1. You start working on an issue.
  2. When you have a patchset ready for integration, send a pull request.
  3. The pull request is reviewed by your mentor.

This will be iterated until your solution is integrated. If you have any questions or if you need help, just ask your mentor.

**** QPA-only ****

Evaluation method

Scoring aspects

  1. The solution works as expected
  2. Tested (TDD, unit tests preferred)
  3. Clean (Clean Code and Well formatted commit messages and well organized patches)
  4. Value of the use case
  5. Documentation
  6. Creativity, unusual ideas

Scoring aspects are equivalently weighted. When a feature is ready-to-use, our Evaluation Committee will score your contribution. The members are either active users or developers of syslog-ng.

We have Java and Python language bindings that you can get started very easily [5] with.

References

[1] https://syslog-ng.org

[2] https://github.com/balabit/syslog-ng

[3] http://bit.ly/1LNRokT

[4] https://waffle.io/balabit/syslog-ng

[5] https://www.gitbook.com/book/syslog-ng/getting-started/details

Clone this wiki locally