The syslog-ng Universe

syslog_ng_flyer_fin_halisten_studio_preview

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 an open source developer and also 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)
  • 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 (and maybe by other members of the community) .

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

Requirements

  • C or Java or Python knowledge
  • Test Driven Development / unit tests
  • basic git

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://syslog-ng.gitbooks.io/getting-started/content/