mikaku / Fiwix

A UNIX-like kernel for the i386 architecture
https://www.fiwix.org
Other
407 stars 32 forks source link

Thank you, introduction, and licensing #5

Closed rick-masters closed 1 year ago

rick-masters commented 1 year ago

First, this is a great project and I'd like to thank you for sharing it! It appears you started it around 25 years ago and its incredible to see the work you've put in and that you continue to make it better after all this time.

I'd like to introduce myself, my projects, and the community I work with. I'm (currently) a retired software developer who has been programming for around 40 years. This year, I joined the bootstrapping community and have contributed a primitive operating system written in hex which currently supports bootstrapping the tcc compiler using source code from stage0-posix and live-bootstrap.

The kernel I wrote is designed to be compatible with Linux and is under 4KB. However, now that it has been used to build tcc I have been working on transitioning to a more capable kernel written in C in order to proceed further with the bootstrapping effort, which requires pipes and a better file system. After an aborted effort to build Linux 2.6, I was referred to Fiwix.

I have spent the last three weeks working with Fiwix and I believe it fits our requirements for the next kernel which can carry us the rest of the way to building Linux. There is a lot of work I plan to do in order to integrate it into our bootstrap projects, but I'm pretty hopeful it can be done.

With regards to Licensing, many of the source files refer to the "Fiwix License" and I'm assuming that refers to the MIT license file in the root of the repo. If there are any files which are not under that license I would appreciate if you could point those out. I plan on filing a few issues that I ran into during my evaluation (with solutions) soon. For the record, all of my contributions will be under the same license.

Thanks again for Fiwix. I'm hopeful it will be an important component in the effort to bootstrap open source software.

mikaku commented 1 year ago

First, this is a great project and I'd like to thank you for sharing it! It appears you started it around 25 years ago and its incredible to see the work you've put in and that you continue to make it better after all this time.

Thank you, I appreciate your words.

I have spent the last three weeks working with Fiwix and I believe it fits our requirements for the next kernel which can carry us the rest of the way to building Linux. There is a lot of work I plan to do in order to integrate it into our bootstrap projects, but I'm pretty hopeful it can be done.

I'm completely astonished to know that Fiwix can be of small help in your bootstrapping projects. I'll do my best to include and fix anything you need for your project.

With regards to Licensing, many of the source files refer to the "Fiwix License" and I'm assuming that refers to the MIT license file in the root of the repo. If there are any files which are not under that license I would appreciate if you could point those out. I plan on filing a few issues that I ran into during my evaluation (with solutions) soon. For the record, all of my contributions will be under the same license.

Yes, almost all files refer to the MIT license provided in the same kernel source code. The files that don't include such reference are because aren't mine and they didn't include any copyright line. They come from several sources (old Linux versions, GNU/Free Software Foundation, and those that look pretty generic among different UNIX systems. They all probably are under the GPL 2 license.

For your information:

The following files come from an old version of the Linux kernel in order to keep the same structure definitions and ensure compatibility:

include/fiwix/fs_ext2.h
include/fiwix/i386elf.h
include/fiwix/ioctl.h (pretty UNIX generic)
include/fiwix/ipc.h (with specific modifications for the Fiwix kernel)
include/fiwix/kd.h
include/fiwix/msg.h (with specific modifications for the Fiwix kernel)
include/fiwix/sem.h (with specific modifications for the Fiwix kernel)
include/fiwix/shm.h (with specific modifications for the Fiwix kernel)
drivers/video/font-lat9-8x10.c
drivers/video/font-lat9-8x12.c
drivers/video/font-lat9-8x14.c
drivers/video/font-lat9-8x16.c
drivers/video/font-lat9-8x8.c

Files copyrighted by Free Software Foundation:

include/fiwix/multiboot1.h
include/fiwix/stdarg.h

Pretty Linux/UNIX generic files (public domain?):

include/fiwix/errno.h
include/fiwix/termbits.h
include/fiwix/stat.h

Thanks again for Fiwix. I'm hopeful it will be an important component in the effort to bootstrap open source software.

Glad to be of help.

By the way, these days I'm focused on closing kernel 1.4.0 and packaging the new FiwixOS 3.2 which includes numerous new features and packages. I plan to release it tomorrow if all goes well.

rick-masters commented 1 year ago

Thank you for your offer to help and your detailed response regarding licensing. Feel free to close this issue. And congratulations on the new kernel and OS release! Finally, one last question: How do you pronounce Fiwix? Does it rhyme with Felix or Pie Wicks?

mikaku commented 1 year ago

Thank you for your offer to help and your detailed response regarding licensing. Feel free to close this issue. And congratulations on the new kernel and OS release!

Thanks!

Finally, one last question: How do you pronounce Fiwix? Does it rhyme with Felix or Pie Wicks?

I pronounce it as Few Weeks. The kernel is so small that this is the time your might need to understand how it works. ;-)