You are reading a single comment by @Jurand and its replies. Click here to read the full conversation.
  • Have you considered adopting a dual licensing model? You could offer a full-functionality open-source community edition that's free for everyone, alongside a commercial license for businesses. This approach has been successfully used by others, such as LightGallery: https://www.lightgalleryjs.com/license/

    By doing this, you can continue supporting the open-source community while also creating a revenue stream from commercial users who need additional features or support.

    One crucial recommendation is to avoid setting payment terms on a monthly or yearly basis, as this scares people away. Instead, consider offering lifetime or per-project licenses, which are generally more acceptable.

    If the Espruino project evolves into a highly reliable piece of software that stands out in competition with others like MicroPython, particularly by proving to run faster or offering other significant advantages, it could certainly become worth paying for.

    Feature requests (ideas) to stand in that race:

    1. MP is threading capabilities with common data store (variables can be declared in a global scope and accessed across multiple threads). MP on the ESP32-S3, which is a dual-core processor, does support real threading using the _thread module. This allows you to run threads on separate cores, enabling true parallel execution of threads.
      Would it be possible to have it in Espruino?
    2. Creating a JavaScript bytecode compiler
      MP can be compiled to bytecode:
      https://github.com/micropython/micropython/tree/master/mpy-cross
      Since '.mpy' files are precompiled, MP runtime can execute them directly without the overhead of parsing and compiling the code at runtime. Have you thought of making Espruino able to execute precompiled bytecode? I guess compiling Espruino directly to machine code involves substantial complexity due to the dynamic nature of JS, but maybe creating a JS bytecode compiler would be easier? Modifying the Espruino interpreter to execute this bytecode could offer a balance between improved execution performance and manageable complexity, making it a practical enhancement for the Espruino platform.

    1 Attachment

    • lg.png
  • One crucial recommendation is to avoid setting payment terms on a monthly or yearly basis, as this scares people away. Instead, consider offering lifetime or per-project licenses, which are generally more acceptable.

    For individuals, I agree. For commercial, this is an accepted way of maintaining an active and useful tool. So if he does go with a commercial license of some kind, this seems viable to me.

About

Avatar for Jurand @Jurand started