phillbush / jvm

simple java virtual machine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

License

tekknolagi opened this issue · comments

Hi,

I'm teaching a course on computer science
(https://bernsteinbear.com/isdt/) and I would like to use your JVM as
part of an assignment on Makefiles. If it's not much work for you,
would you please consider adding a license to your project, or
granting me license to use it?

Thanks,
Max

PS I tried to email the address on your website but the mailserver appears to be broken.

Hi,

I'll license it under the MIT license.
Feel free to use it in your classes!

But note that this project is a final project for a course of Systems Software I had at the University.
It is a very informal and simple implementation of a java virtual machine, and is pretty much incomplete.

If the focus is on the makefiles, note that I use BSD makefiles, and not GNU makefiles, so you will find no pattern rule such as

%.o: %.c %.h

in my makefiles (because BSD make(1) does not support it).

Also note that I used some unconventional rules for performing tests: I took advantage of the inference rules used in BSD makefiles to create a dummy suffix for testing stuff. For example, the class.p: rule tries to create a .p file from a .class file, but it actually prints the disassemble of the java class using the class disassembler I created.

EDIT: while %-pattern rules are GNU-only, suffix rules are portable between both implementations (although GNU call them old-fashioned ).

Thank you for the prompt response and license! MIT is perfect.

Feel free to use it in your classes!

I look forward to shipping this as part of an assignment.

It is a very informal and simple implementation of a java virtual machine, and is pretty much incomplete.

That's totally fine; we mostly want to use it as an opaque small VM that we can have students compile & run some programs for. We'll also be having them write their own Makefiles, not use yours.

I have some patches to fix your VM. Would you be interested in those being submitted upstream? Right now I have a private fork since I wasn't sure where you would land on the license.

I have some patches to fix your VM. Would you be interested in those being submitted upstream? Right now I have a private fork since I wasn't sure where you would land on the license.

Yeah, I'm interested in the patches!
Thank you for dedicating some time in this small project of mine!

Particularly, I did not care that much about licenses and used to say that anything I did was in public domain.
But searching a lot about this topic I realized they are necessary, especially when others are going to use or distribute your stuff[1].
I'm gonna police myself to license my programs in a permissive license.

[1]: In another situation, a package maintainer for a distro wanted to package and distribute a program of mine that had no license.

Yeah, I think software licensing is a mess and am annoyed that you kind of need to be a lawyer to understand any of it. It shouldn't be this complicated.

Closing! Thanks.