On Fri, May 15, 2009 at 3:03 AM, Peter Millerchip
<peter.millerchip@gmail.com>
wrote:
Hi,
I've
been lurking on this list for several years, but I have some
thoughts
about this issue so I hope you don't mind me posting now.
It seems to
me as though discussions like this are more of a
"distro-level" thing -
if you consider how Linux does things, the
kernel is a separate project
from the userland, and it's up to the
distros (like Ubuntu, Fedora, etc.)
to decide whether to ship a tftp
server.
Now, I must admit I'm not
an expert on the internals of ReactOS at
all, so please forgive me if
this idea is not technically feasible,
but couldn't we make a similar
kind of separation in ReactOS? As far
as I can see, there's no technical
reason why even something like
USER32.DLL couldn't be a completely
separate project from the ReactOS
kernel, using maybe a different branch
of the source code and testing
on Windows XP. After all, the GNU tools
were written in this way,
gradually replacing core components of various
Unixes.
So, if we follow the same kind of development model as Linux,
the
ReactOS kernel would be the sole ReactOS project. Then you would
have
different maintainers for different parts, say USER32.DLL. Then
you
would have someone who compiles "distros" of ReactOS, picking
and
choosing the best pieces to go with the kernel itself. You could
have
a "netboot-specialised" distro which included the tftp and PXE
stuff,
or a more general "newbie" distro.
I would expect that many
of the subprojects would share code in order
to make things a bit easier
- but the important thing to realise is
that they wouldn't be forced to.
Say if the USER32 maintainer decided
to do a Wine sync, but the kernel
guys didn't want to, this would
actually be OK and would still work fine.
The USER32 maintainer could,
if they wanted, have a completely separate
source tree from the
ReactOS kernel. As long as the USER32 DLL worked on
Windows XP, it
would be good - if the ReactOS kernel didn't work with it,
it would be
a bug in the kernel.
So, is this idea feasible or is
there some reason why it wouldn't
work? Please feel free to call me an
idiot if I've missed some
important technical detail, but it seems to me
that introducing this
kind of separation would really help the project to
move forward very
quickly in the same way that Linux has.
Best
regards,
Peter Millerchip.