Recently, several people have asked me about the syslog-ng project’s view on AI. In short, there is cautious optimism: we embrace AI, but it does not take over any critical tasks from humans. But what does this mean for syslog-ng?
Well, it means that syslog-ng code is still written by humans. This does not mean that we do not use AI tools at all, but we do not use AI tools to write code for two reasons.
Firstly, this is because of licensing. The syslog-ng source code uses a combination of GLPv2 and LGPLv2.1, and there are no guarantees that the code generated by AI tools would be compliant with the licensing we use. The second reason is code quality. Syslog-ng is built on high performance C code and is used in highly secure environments. So even if the code generated by AI worked, there would be no guarantee that it was also efficient and secure. And optimizing and securing code later takes a lot more effort than writing it with those principles in mind from scratch.
Writing portable code is also difficult. X86_64 Linux is just one platform out of the many supported by syslog-ng. Additional platforms like ARM, RiscV, POWER, s390 and many others are also supported, which means that the code needs to run also on big-endian machines. And not just on Linux, but also on MacOS, FreeBSD and others.
So, where do we use AI tools, then? Well, we have tons of automated test cases and humans review each pull request before they are merged. However, various tools also analyze our code regularly both on GitHub and internally, and said tools give us recommendations on how we could improve code quality and security. Needless to say, they raise many false alarms, though. Still, it’s good to have them, as sometimes they spot valid problems. However, the decision on whether to apply their recommendations are always made by humans, as AI tools often do not have a full understanding of the code.
The other cornerstone of syslog-ng is its documentation. Some of our most active users decided to use syslog-ng because of the quality of its documentation, written by humans. Because of this, we also plan to use AI to help users find information in the documentation. We already had a proof-of-concept running on a laptop where users could ask questions from an AI tool and find information a lot quicker that way than browsing the documentation.
It is not directly related to syslog-ng development, but I have learned just recently that sequence-rtg, the tool I use to generate syslog-ng PatternDB rules based on a large number of log messages is also considered to be an AI tool by most definitions, even though its documentation never mentions AI. I guess this is probably because it was born before AI became an important buzzword… :-) You can learn more about sequence and how I used it at https://www.syslog-ng.com/community/b/blog/posts/sequence-making-patterndb-creation-for-syslog-ng-easier
So TL;DR: We use AI. Less than AI fanatics would love to see, but more than what AI haters can likely accept. We are on a safe middle ground, where AI does not replace our work, but rather augments it.
-
If you have questions or comments related to syslog-ng, do not hesitate to contact us. You can reach us by email or even chat with us. For a list of possibilities, check our GitHub page under the “Community” section at https://github.com/syslog-ng/syslog-ng. On Twitter, I am available as @PCzanik, on Mastodon as @Pczanik@fosstodon.org.