ProgrammingRainbow / Beginners-Guide-to-SDL2-in-Gforth

An in-depth guide to getting started with SDL2 in the Forth Language
zlib License
4 stars 0 forks source link

License #1

Closed robzed closed 1 month ago

robzed commented 2 months ago

Could you add a license to this repo please?

Ideally same license as SDL2.

ProgrammingRainbow commented 2 months ago

Yes i can understand this. It's just i was thinking about this before and realizing i was not a lawyer and didn't really understand any of it. So i kind of pushed it to the side. What would be the simplest route to giving it the same license as the original SDL2 had?

robzed commented 2 months ago

The SDL license is here: https://www.libsdl.org/license.php and it references the Zlib license here: https://www.zlib.net/zlib_license.html

Go to the project and click here: image

Add a file called "LICENSE" image

Put this text in the big edit box and click commit.

Zlib License

Copyright (C) 2024 Jeremiah Cheatham

This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

  1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
  2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
  3. This notice may not be removed or altered from any source distribution.
ProgrammingRainbow commented 2 months ago

What i don't understand is does the apply to the lot or do i need to put it inside the SDL2 bindings. Because that is what youre interested in correct is the bindings?

robzed commented 2 months ago

What i don't understand is does the apply to the lot or do i need to put it inside the SDL2 bindings. Because that is what youre interested in correct is the bindings?

Well, I guess people will assume it applies to the whole repo without further guidance - but there is more you can do if you want to make it clear. This is the absolute bare minimum for people to be comfortable what was intended - and to know they are not violating copyright by using it.

If you have time you could also put a comment in the readme.md that says the license applies to all source code in this repository. Additionally, in an ideal world, put a comment at the top of key (or all) files that says 'copyright 2024 licensed under the Zlib license. See the file LICENSE for details.' But realize that is more work than you might want to do.

Some people or companies sometimes put the full license at the top of each file - but that's probably excessive for our purposes and doesn't really add anything extra than what we've done since Zlib is an OSI recognized license - even if a file gets separated from the repo you still have clarity on the original author and the license. And usually Forth files aren't massive. A one liner makes it clear what is covered and what license you intended.

If there are files in that repository you don't want to covered by this license, then I'd be clear either in that subdirectory or better still at the top of the files affected. I didn't see anything I'd be worried about in this repository.

ProgrammingRainbow commented 2 months ago

It's just the fear of doing it wrong or making the wrong choice or if there is a file that's not mine. I don't know it's like you're making some important choice. Are you going to write some games in Forth and SDL2?

robzed commented 2 months ago

I actually posted your video and repo in answer to a games question on the Forth subreddit of the Reddit site.

I'd also like to write some games in Forth - and also use SDL for a test system for Forth code - like to test games for the Spectrum Next directly n SDL without using a Spectrum Next emulator or the actual machine.

ProgrammingRainbow commented 2 months ago

I would love to see project written in forth with the SDL2. I really enjoy the forth language. The plan for the next 6 months or year is to create Beginners Guide, Yellow Snow, Game of Life, Super Clock, Minesweeper, Tetris and Asteroids in each of the languages. I have been working on Lua since it's the simplest and followed the configuration of neovim. But i plan to make these videos for each language and also i have a number of languages to add still. But one thing i thought about doing when i have 5 or more games in a language is to run a game jam on itch.io. As an example after making 4 or 5 game tutorials in Forth then run a game jam for a month or more so people can actually fallback on all the existing videos to make there projects. I think that would be a great way for people to try out making a game in Forth and also having some helpful source of information. And then we could show off the games made on channel. That has been an idea i have running around in my head. Though i do want to add a neural network to Yellow Snow so it can play itself. But i really want to show it off in COBOL because that would just be too funny to teach AI in SDL but using COBOL.

robzed commented 2 months ago

I've used C, C++, Lua, Love2D, Python, assembler and BASIC for making games with. I like Lua a lot. My next game project is to finish a Forth game port (from a C game I wrote many years ago) - but add graphics. However, at the moment I'm working on robots and also super cheap (0.05) microcontroller Forth. So many projects, so little time!

ProgrammingRainbow commented 2 months ago

Ah time. Yes I want to make a attiny85 handle held but wanted a larger screen and got caught out by the different ic2 led screens. I still haven't gotten back to it. I also want to make an 8bit computer that doesn't cost as much as a car like all the other retro over priced stuff. I was looking at using 3 ATMegas 1 for cpu 1 for io and sound and 1 for graphics. But I have to pick a project so I'm doing the videos for now.