Porting the jControls library to Visual Studio 2022 and Mono.
Do you want to make jControls open source or keep it closed source?
C# code can be decompiled very easily. Do we need to to add some kind of copy protection? If the jControls library is open source, then we don't need to worry about this.
Method #1: One way to implement copy protection is to implement a crucial part of the code in C++. Because the C++ code is crucial to the library, removing it will render the library useless. Because C++ cannot be decompiled easily, it would take a lot of effort for someone to reproduce the C++ code. However, this makes developing and publishing the jControls library more difficult for me.
Do we need to implement something in the jControls library to ensure it can only be used on COMFILE Technology's products?
Method #1: One way to do this is just add a Licensing document stating the this library can only be used with COMFILE Technology's products. This is just a legal restriction and will not prevent someone from using the jControls library if they don't respect the law.
Method #2: Similar to Copy Protection Method #1, described above, we write some crucial part of the jControls library in C++. In the C++ code we add an algorithm to check if the program is running on one of COMFILE Technology's products. On the CPi panel PCs, this can be done by checking the EDID EEPROM. I'm not sure how to do this on the CPCV5/6 or on ordinary Windows PCs. Perhaps we can use a USB licensing dongle like Comfile Studio.