Hi Everyone
I re-read the mail archives recently, I have been with this project
since 2012. I get frustrated and walk away but I just keep coming back.
I like the people and the project. I can't always get what I want done
but I learn from each failure.
This past week I looked at the code in some detail for the first time.
Specifically 3.1.0 and 3.4 R6.
I have some concerns and concerns about the direction the project is
heading in.
Please correct my mistakes but from what I can piece together, AT&T sued
BSD and hampered that project for some time. In this time period Andy
started Minix. His students did most of the coding and he oversaw the
project.
Thomas Cort added ARM support and as a fellow Canadian, it is unlikely
that he attended a university in Amsterdam. However, aside from Thomas,
is there much of any code that was committed to the project by a person
who has never spoken to AST or spoken to any of his students? I am in
this category.
My best guess right now is that there was ample student labour to code
in the past but with AST retiring and not involved with the project(last
post June 2017) and with the the Minix group at the university
disbanded, there is now a major labour shortage.
There is little developer documentation and little in the way of
changelogs or other documentation for those who want to continue.
Thomas was a university "outsider" that contributed but aside from him,
it looks like the work was largely done by "insiders" who left very
little documentation.
Minix has weird macros in it like _PROTOTYPE. Looking this up via ctags,
it looks like this was done to work around bad compilers. When was this
needed? back in 1990 ? Now it just looks wacky.
If I have a project called foo and I want you to install it on your OS,
I have to test for library support but if the project /*is*/ an OS, why
do we need a lot of macros? there shouldn't really be external
dependencies and these days if there is a wonky compiler, tell people to
use one that works.
Again, I love the project, please correct my mistakes especially the
negative comments. However if most of this is true, where are we going now?
What is the project's reason to exist? In terms of huge embedded there
is Linux and BSD. In terms of small there are many RTOS such as
FreeRTOS, Contiki, Chiba etc.
Minix is no longer suitable for teaching as it has grown far too large
yet it is not a refined micro-kernel version of NetBSD either and it's
unlikely to make it to this goal considering the manpower shortage now.
There are also design decisions that to me would seem to indict that
today's' situation was not planned for. If Andy had to implement
libraries from scratch because of the AT&T lawsuit and the fact that
Linux did not exist, that would seem reasonable but it seems that they
were always intended to be tied to Minix.
Take for instance the curses library in 3.1.0. It is peppered with
_PROTOTYPE macros. Version 3.4 R6 has curses from NetBSD. This is better
but even this might not be such a good idea. ncurses is well maintained
by Thomas Dickey and it's an X11 license piece of software, not GPL. Why
not just run ./configure to have the most recent version rather then
depending on source code from NetBSD which is several years old.
This isn't about getting other people to do the work, it's about making
wise use of my time and me doing it... What about tearing Minix out of
3.4 R6 and creating a tiny OS that is suitable for teaching again? or
starting over with 3.1.0 and adding in changes from the other versions
if they don't enlarge it too much?
What about reworking it to reflect today's design needs such as
depending on other projects to do the heavy lifting whenever possible.
I could put together a bunch of libraries and commands that come from
NetBSD or FreeBSD or if clearly sectioned off, why not Linux too? The
core could still be pure BSD license with optional GPL code.
What about reworking the code until it can compile under Linux with
chroot? Sure we have build.sh but it's huge. What about a weeny little
tarbar of code well under 100K lines? It's Minix batteries not included
but rock solid and ready to build upon?
Would it be good to call a new effort Minix 4? Or how about
eeMinix(Embedding & Educational Minix. Or what about even Gnu/Minix and
have a BSD "kernel-land" and a surrounding GPL userland?
I have very little free time, please guide me so I can use it well-Patrick
Thomas Cort added ARM support
Please correct my mistakes but from what I can piece together
...
Thomas Cort added ARM support and as a fellow Canadian, it is unlikely
that he attended a university in Amsterdam. However, aside from Thomas,
is there much of any code that was committed to the project by a person
who has never spoken to AST or spoken to any of his students?
--
You received this message because you are subscribed to the Google Groups "minix3" group.
To unsubscribe from this group and stop receiving emails from it, send an email to minix3+un...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
To unsubscribe from this group and stop receiving emails from it, send an email to min...@googlegroups.com.
--
You received this message because you are subscribed to the Google Groups "minix3" group.
To unsubscribe from this group and stop receiving emails from it, send an email to minix3+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/minix3/6482ab31-f71f-48b7-a700-764cd22305ea%40googlegroups.com.