Ask HN: Need your help to figure out how to make money out of my project.
Hi All,
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 :).
Features not available on master branch; * MultiThreading (Developed a simple preemptive rtos for cortex m but not integrated yet.) * Shared Library support. (Working on a bare metal project for Cortex M series.)
QUESTIONS As a freelancer/remote engineer I want to make money out of this. * From your experience what are my options? * What do you think is the best way to generate money out of this project? * Open Source(which license) or proprietary license? * What do you think about doing a Kickstarter project in this Covid19 days? * Creating a Udemy course? How I can protect ownership of the code? Can I survive with it as a family? * Selling it to a company? * Landing to a remote job around this tech? * Any idea how Oracle vs Google lawsuit will end, Do you think my customers will need to pay to Oracle or Google? * 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. * What you would love to have as a way of programming for small devices?
The only thing i know for sure is make it free for makers/hobbyist. I am familiar with other solutions out there from different VMs to languages especially the low hanging ones but would love to hear in depth information.
Best Regards Below is the sample code and the apis; package demo;
import eapi.*; public class App { Analog.inSetup(Analog.IN1);
Analog.read(Analog.IN1); Analog.outSetup(Analog.OUT5);
Analog.write(Analog.OUT5, (short)255); I2C.setup(I2C.I2C2, 400);
SPI.setup(SPI.SPI_ID2, 0, SPI.SPI_MODE_3, SPI.SPI_FB_MSB); References:
https://stm32-base.org/boards/STM32F103C8T6-Blue-Pill.html Any feedback is appreciated!
} public static void main(String args[]) {
final Led led = Led.init('C', 13); // Port C Pin 13
PushButton pushButton = PushButton.init('A',
8, //Port A Pin 8
GPIO.INPUT_PULL_UP,
GPIO.FALLING_EDGE,
200, //debounce
(time) -> {
Core.println("push button event");
led.flip();
});
while (true) {
Looper.loop();
}