Flexibility and independence for your video conferences.
Secure video conferencing for those who want to remain digitally confident.

5 questions about the use of the Rust programming language in OpenTalk

OpenTalk

Discover our new series '5 questions about', in which we ask our experts about important topics relating to OpenTalk, open source software, digital sovereignty and current industry trends.

Daniél Kerkmann works as a software engineer at OpenTalk and is a passionate fan of the Rust programming language. His enthusiasm for this language motivates him to think in idiomatic patterns and to develop innovative solutions through the use of new technologies. He answers 5 questions about Rust:

 

Why does OpenTalk use the Rust programming language?

With OpenTalk, we chose Rust for several reasons. Not only is it extremely secure and fast, but it also detects errors at compiler level that would only occur at runtime in other languages. A classic example is the memory leak, which is often a problem in languages such as C++. In Rust, this problem was solved by the concept of "Ownership" of data at language level. This means that Rust binds data and resources to a context and releases them as soon as the program leaves this context. In contrast to languages such as C++, developers no longer have to worry about memory leaks, which significantly increases the security of the software. Java solves this problem with a garbage collector, which cyclically checks which memory is no longer needed, but this process requires a lot of resources. Here, Rust convinces with a more resource- and therefore energy-saving approach. Rust has also been awarded as the most popular programming language among developers for eight consecutive times by Stack Overflow, which underlines their popularity and recognition in the developer community.

 

What influence does Rust have on the technical architecture of OpenTalk?

Of course, Rust also has an influence on the technical architecture of our applications. It forces us to think "idiomatically" and helps us to write clean and secure code. Although the architecture of the overall application does not necessarily depend on the programming language, Rust definitely influences the internal architecture of our services. Developers have to overcome old ways of thinking and adapt to the specifics of Rust, which ultimately leads to more robust and better structured applications.

 

What about Rust and media encoding with OpenTalk?

As far as media coding is concerned, Rust is unfortunately not yet widely used. Although GStreamer is the dominant framework, internally we rely on a hybrid stack of Rust and GStreamer. While Rust helps us to write secure and fast code, we encounter challenges when integrating with GStreamer. The complexity and dynamics of GStreamer sometimes lead to unexpected runtime errors that Rust alone cannot prevent. Nevertheless, we are working on implementing more media functions in Rust in order to become more independent of GStreamer in the long term. There are also Rust efforts in Gstreamer and many new modules are already being written in Rust.

 

What are the business benefits of using Rust with OpenTalk?

Using Rust offers OpenTalk a number of business benefits. By reducing bugs and being able to radically refactor code, we save time, resources and ensure consistently clean code. The stability of Rust also ensures reliable applications, which is crucial for a video conferencing solution like OpenTalk. Overall, Rust is a programming language that helps us develop safer, faster and stable software. Its unique features make it the ideal choice for OpenTalk and help us to continuously improve and expand our platform.

 

What options are available to me if I am interested in Rust and would like to find out about developments at OpenTalk?

If you are interested in the Rust programming language, we recommend taking a look at „The Rust Programming Language“. We are also always on the lookout for new colleagues in various fields who are interested in Rust or are already real professionals. Here it is worth taking a look at our Job page.

The OpenTalk code is published under the EUPL (European Public License) at  Open CoDE. In the medium term, we therefore also hope that the community will actively participate. Additions to OpenTalk or perhaps integrations with other solutions, modules/plugins, patches or themes could be a very valuable contribution from the community. Further information about the community can be found at https://opentalk.eu/en/open-source-code-und-community.

More articles