I am author of a key-value database library (http://hamsterdb.com) which is released under the Apache license (open source, free to use for commercial applications etc). And I just finished working on my commercial add-on product, the "pro" version which is closed source and for paying customers. hamsterdb's design is similar to a column-store, and the pro version has additional features like compression, SIMD, encryption (there will be more in the future).<p>Now I wonder if I need to offer a trial version for evaluation purposes for the pro version, and if yes - how? hamsterdb is a C/C++ library with many dependencies to libc and other system libraries. Publishing pre-built libraries will work on Windows and maybe MacOS, but other systems like linuxes and embedded platforms will be extremely difficult.<p>My first idea is to release the 30day evaluation version in source, but heavily obfuscate the sources. However, after a few days of trying to get everything running, I had to realize that the obfuscation tools are either very immature, no longer maintained or way too expensive.<p>So maybe I should not release an evaluation license at all, but simply allow buyers to get a refund after 30 days? In that case I am not able to protect my IP, and people can continue using the pro version after the refund. Also, refunding means that there will be additional transaction costs for international money transfers, which can be quite costly. But I have zero development/maintenance effort, which would be very nice and lets me focus on the core features.<p>Now i'm kind of lost and not sure which way to go. Any advice is appreciated!