davidoskiii / Luminique

Luminique is a C bytecode interpreted language with a Javascript like syntax.
10 stars 0 forks source link

Attribution for the generator/promise based concurrency code #4

Closed HallofFamer closed 1 month ago

HallofFamer commented 1 month ago

Hi,

I noticed that you based your language on an older version of the CLox repository of mine from your language announcement post on Reddit. It did not credit me for anything, though I did not mind you using it as a starting point, and it was actually interesting to see how you would evolve your language from the moment on.

However, lately I saw that you had been copying the JS style concurrency feature I made for my repo during the last few months. The nomenclature, code base and even commit history/text look almost identical to mine. As you have so far failed to provide attribution to my code, I claim that you have violated the MIT License which states the following:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

There are a few options you have:

  1. Provide attribution to Hall of Famer as the original coder for the concurrency feature(generator, promise API, async/await), add Copyright (c) 2022-2024 Ordland(HallofFamer) to the generator/promise files as well as anything that uses async/await.
  2. Remove the concurrency feature you copied from mine and instead implement something different(why not try green thread? Or check Wren's Fiber for inspiration).
  3. Make your repo private as a personal learning/research project, and never share it in public space such as Reddit or hackernews claiming that it is your work.

It is up for you to decide, if you choose to provide attribution. I will give you a pass on the older features from CLox v1.8.0 and earlier, which means you only need to credit me for the concurrency feature and anything new I will work on next should you decide to copy further. If you fail to respond with this notice accordingly, I will submit a DMCA takedown request to GitHub and I hope it won’t get this far. Good luck.

davidoskiii commented 1 month ago

Hi,

I want to start with message saying that currently I'm in vacation and will come home only next Monday so every change that I will mention next will be made from the next Monday on. I'm very sorry for breaking the licence and I will credit you as soon as possible, you were my second learning source after Crafting Interpreters so my repository is greatly inspired from yours, I will also provide for removing any mentions that the language was designed by me alone in prior posts and will, again, credit you as my source of learning. I would also like to mention that I'm a self taught 14 years old boy and I never worked on a project this big and didn't even know how yall take this license thing so seriously so I will take this as an advice for future projects and I'd again apologize for breaking the license, I hope you don't take this too bad but after all of this I just wanted to ask you a simple question, how did you get to program all of that yourself? Looking at your commit history it seems like you also have a job so how did you get the project this far and how did you implement the JS style concurrency? I hope you will respond soon, good luck.

davidoskiii commented 1 month ago

One last thing before I go and enjoy my vacations, can I just make a credits.md file and mention you there? I find it pretty confusing to put comments every where in the code just for mentions. Another thing I should point out is that, probably, in the next months I will copy you implementation of compile check static typing, just for learning purposes, and whenever I will, I'll make sure to credit you.

davidoskiii commented 1 month ago

Just updated the Reddit post, I will mention you in the repository from Monday on as previously mentioned.

HallofFamer commented 1 month ago

It is okay if you add the credits on README.md. Just as I mentioned earlier, I dont mind if you use an older version of my repo as base, though I worked hard for the concurrency feature so Id need at least to be credited for this if you want to copy this one from me. If you want to copy the future code I will write, yes that you will have to provide attribution as well. But anything prior to the generator/promise concurrency feature, you do not have to credit me.

Yes I have a job and family, though I spend roughly about 30-60 mins everyday to work on my version of CLox. Following crafting interpreters, I read other books such as 'Engineering a compiler' to extend my knowledge beyond a simple bytecode interpreter. Also I studied the source code for Wren, Smalltalk, Python and Ruby, how their compilers were implemented and how they represented values and objects. I wrote the C code, but most of the ideas were not my invention. The inspirations were taken from the existing languages, I simply implemented them for Lox(for my original ideas, I will implement in my own language later, but that is a different topic).

For now, I will edit the title a bit and once you provide attribution, I will edit out the main text and close this issue. Good luck.

davidoskiii commented 1 month ago

Oh, really cool, I hope you good luck too with your repository and family, as I already mentioned I have my computer at home right now so I can't edit the files right now, I will try tomorrow from my phone but it's pretty slow so I'll see how that goes, now it's better if I go to sleep because here in Italy it's 4:33 AM.

davidoskiii commented 1 month ago

I updated the readme and added the file with the mentions, I didn't know where to put the Copyright so if you can fork the repo and send me a pull request or if you are okay with what I wrote let me know, I hope this didn't mess thing up too much and I really hope we could work together in the future (it might sound kind of stupid but I really admire you), I wish you the best of luck.

HallofFamer commented 1 month ago

I am sorry but you will need to have the credits shown exactly on the README.md file instead of linking it to another file that no one will look at. Check this section of my README.md for an example:

https://github.com/HallofFamer/CLox?tab=readme-ov-file#credits--special-thanks

davidoskiii commented 1 month ago

Oh ok, I'll change that in a minute, but what I wrote is it good iby itself or do I need to change anything?

davidoskiii commented 1 month ago

Done, do I need to do anything else?

HallofFamer commented 1 month ago

I think all is good now, I will close this issue. Thx for your cooperation.

davidoskiii commented 1 month ago

No problem, if i will add new features from your repo I will update the README.md.