I wrote a Dakvik VM from scratch in C with the following major features below, need your help to find my next steps.
* >1M instructions on STM32 based BluePill board(<$3).
* Precise compacting GC.
* Interrupt support.
* Native C interface generator.
* Platform abstraction layer for HW peripherals.
* Arrays, Float, Switch, Exception, Interface, Multiple inheritance, dynamic and etc. * Believe or not RXJava lie programming is possible, sort of
.
Very impresive!!!
* From your experience what are my options?
* What do you think is the best way to generate money out of this project?
The money is proportional to people willing to pay for you work...
This is very difficult to estimate and maybe need a many prove and error phases...
In my experience, the best way to do it is centering in the service and not in the producto...
Explaining it: The peopel is more disposed to pay for a customising service but not for a end-product, specially the developers (the maker-world are worst in this sense)
By example, if a developer (or maker) can obtain the same results using C/C++ with an Arduino toolchain, will not pay for a java VM (ok, this is dalvik but you understandme...) even if your solution provides better time-to-market or smoother development.
The only market with pay-per-tool in this days, is very specialised EDA users like clients of mentor, sinopsis or cadence...
Or clients with very concise objectives (and very concise businesses with very concise estimate gain) that pay for a low time-to-market but not for a fancy-language-like-my-preferred-language (sorry if this sound bad but is for illustration only)
Some peoples is illusion with the business model of IAR, Segger or others tool-providers but this business have a captive marketplace legacy from the 90's era of tools. Is not realistic to join in this marker without a stroke of luck
* Open Source(which license) or proprietary license?
My opinion is: Propietary == BIG NO.
But the answer Open source == YES is more complicate to explain:
The real question in this point is:
- Copyleft YES or...
- Copyleft NO
Depending in your bussines model, you can decide for one or other...
By example, Digia with Qt libraries is decanted by a mixed propietary and full open source solution using strong copyleft in the libraries but not restrict the closed source programs if you only link unmodified Qt libraries (LGPL model). This is very reasonable in order to take advantage of colavorative development in the library and buy the specific solutions (like automotive thinks) to very specific clients disposed to pay for it (because the client bussines need some guaranties and vastly support).
The Qt case is very interesting in the last times because two projects in Digia portfolio:
- Boot2QT: Propietary solution providing an entire Yocto system ready out-of-the-box (yes, this build scripts is FLOSS but the build service and customization is payed)
- Qt for MCU: An very strip down Qt+QML version over a RTEMS or FreeRTOS with really closed sources only avaliabled in public as forms of prebuild binaries with little demo for a particular board.
If you need other board, pay for it, if you need SDK pay for it... is a great strategy in my understand...
In other side, you see the very FLOSS projects with non copyleft licence like micropython or espruino... Both projects have MIT or some similar BSD-like licences and obtain the money for the special cases in the comunity.
The last case is my most nearly experience: Several years ago, I port micropython to LPC43xx and build a little comunity around of it... Some time late, I catch many freelance works customising this to an other processors and others boards (with closed source solutions because my work is covered by MIT licence)
In sort: If you have a big company with a lawyers disposed to figth with a GPL/LGPL infractors, and you can provide consistently and high-cuality service of customization for a big clients, go ahead for a full copyleft licence and figth with it. This is the best model.
If you are a little developer with many little clients, the full copyleft bussine may not fit in your work well... maybe you can deal with a copyleft licence, little comunity and very entusiast people with sporadics customization works...
* What do you think about doing a Kickstarter project in this Covid19 days?
The micropython work very well with this... but the project was coupled to a flagship platform (pyboard)
Maybe you can propose a Dalvik platform... and maintain others boards upon request?
Depending what is your country (USA mabye?) you can start a traditional investor search and deal with the investor requeriments...
* Creating a Udemy course? How I can protect ownership of the code? Can I survive with it as a family?
I not know Udmey platform and its privacity policies, but the courses is a good entry of money... spatially if you are willing to use your time in face-to-face classes (the training courses is very expensives in many cases and many peapol is ready to pay for it in a certain circumstances)
If you can live from this? I wouldn't know how to tell you, it depends on how much income you follow and what your standard of living is
* Selling it to a company?
Is very dificult... major companies work for a bussines incentive... maybe some companies see this work like a potential bussiness, but in my view is not a good idea if you are ready for do a kickstart project, build courses and others thiks... The buying company will do this for you after you sell it.
* Landing to a remote job around this tech?
Sound great... maybe if your tech resolve some thiks like ota-fw or multiple application codes in the same thing...
* Any idea how Oracle vs Google lawsuit will end, Do you think my customers will need to pay to Oracle or Google?
Not end at all, maintain your ass in the seat

:
https://en.wikipedia.org/wiki/Google_v._Oracle_AmericaBy the way.. google promotes Kotlin usage with the objective to make this litigation obsolete
By the (other) yay, Kotling can produce Dalvik bytecode, JVM bytecode and ART binaries...
* Can I find support/funding to bring Kotlin or Groovy like language to embedded world with no java involved rather than compiler it self written in Java.
In my opinion is desirable... Java-a-shit in my view (But it's my personal vision as a java hater

)
* What you would love to have as a way of programming for small devices?
It seems my day to ask things of Santa:
- Bytecode with position independent code and load-and-go
- PEEK&POKE or similar way to access raw memory: Yes, I have more than 30 years old...
- Self hosted compiler: This is very dificult and very memory hungry but is my list for santa's thinks
- Very consistent hardware abstraction layer: This help so much in the port to other platforms (like RISC-V or Xtensa)
- Access to persistence of bytecode in flash
- Posibility to Ahead on time compilation
Finally, excellent work and I hope I can see it as a floss code, but this will depend on how you decide your business model...
I can not guarantee success but I think that, at least, it can measure up to projects like micropython or espruino