Open Protocol and Communications

  1. Libero has created a protocol which is “open” to our customers only. Our clients get a “license” to use it.
    • The protocol is fully documented
    • The protocol does not rely on any (black-box) SDK or hidden/obscured API’s
    • The protocol is not limited to a specific operating system
    • The protocol is not limited to a specific hardware architecture
    • The implementations of the protocol can be generated, automatically, for a large number of programming languages (This eliminates potential implementation bugs and reduces time-to-market).
    • The protocol compilers (used to generate implementations) are completely open source
    • Our own reference and demo applications use the exact same protocol, anything we can do, the customer can do.
    • The protocol is not limited to a single transport (It can be transported via TCP, MQTT, WebSockets, HTTPS, GATT, etc…)
    • The protocol can be encapsulated for integration into other systems or to add additional levels of security (by using AES/RSA or AES/ECC for example)
    • The protocol can be upgraded to support new features while fully maintaining backward AND forward compatibility
  2. In comparison with for example a welknown supplier of other suplliers of screens or (LED-)systems :
    • Their protocol is not documented, as they aim to keep it secret.
    • Using their devices requires the use of closed source, black-box binary SDK’s.
    • Their SDK’s target a limited set of operating systems and some require the user to disable some of the security features of the OS to work
    • Their SDK’s target a limited set of hardware architectures, most notably x86/64 and ARM (Android only)
    • Their own applications have access to features not available to customers
    • Their SDK’s require the use of specific programming languages (C/C++/C# for Windows, Java for Android)
    • You have to trust that their black-box binaries do what they say they do and nothing else
  3. Examples of languages that are supported: C, C++, C#, F#, Java, Python, Go, Ruby, JavaScript, TypeScript, Objective-C, Swift, Kotlin, PHP, Dart, Rust, Haskell, etc…