I think you mean it well, but say it wrong. I think what you mean is a team system like they have in haiku.
Imre ----- Original Message ----- From: "Peter Millerchip" <peter.millerc...@gmail.com> To: "ReactOS Development List" <ros-dev@reactos.org> Sent: Friday, May 15, 2009 11:25 PM Subject: Re: [ros-dev] [ros-diffs] [sedwards] 40919: imported the MTsnapshot of the GPL tftp-server for win32 from sourceforge.Minor changes such as formatting and renaming the files,totally untested except for building,will be used later to serve up Reac Oh I completely agree that the end objective of making a nice complete OS for the end user is a very useful goal to have in mind. My point is that I see that as matching up to the goals of a distro, say Ubuntu for example. Something like a tftp server would, in Ubuntu's case, simply be a package that you could download through the package manager. Why not simply add the tftp server to ReactOS's downloader as an optional package? That would seem to be the best place to put it, as it is very obviously a completely optional userland tool. Zachary's poin about the manpower issue is very important, though, and I feel I should add my 2 cents to the discussion here. One of the fundamental ways in which large projects can be made to work well with more developers is for the project to split into smaller "sub-projects" with well-defined interfaces between them and reduced dependancies. This works no matter what kind of software project we're referring to - for example, you have IRC clients as standalone projects, and IRC servers as different projects, even though they are each both completely useless without the other. Developers can work on an IRC client and get to know it really well, without having to know the faintest thing about how an IRC server handles multiple connections and so forth. Splitting things across well-defined boundaries makes it easier for programmers to help out, not harder! Using our IRC example, a programmer could delve deep into the code of their favourite IRC client and not have to learn anything about the server. It means a smaller amount of stuff to learn before a programmer becomes useful, and this attracts developers to a project. >From people's answers beforehand in the thread. it seems that there may currently be technical reasons why a USER32 replacement can't currently be done (i.e. internal undocumented interfaces). I guess I need to ask the experts out there - are there DLLs or components in ReactOS that can be completely separated out? What parts could be run on windows currently? What parts don't currently run, but could in theory? The other point to make about distros, is that nothing in the ReactOS license prevents someone from starting a ReactOS distro. This means that it is virtually guaranteed to happen as ReactOS matures, and we need to be ready for it. For example, say if Debian wanted to do a Debian/ROS distribution, like they do Debian/Hurd or Debian/FreeBSD at the moment. Debian could take the ROS kernel and some other userland bits and pieces. They might compile up some DLLs from Wine instead of from ROS, if Wine has newer bugfixes. It would be technically possible to port the "apt" package manager to ROS and offer packages for common open source tools like OpenOffice, the GIMP, Firefox and so on. There's nothing technically or legally that ROS can do to stop it, so instead we should work out how we as a project are going to cope with it WHEN (yes, when) it happens. Would we be OK with that? How will we cope when a distro is shipping our kernel, but with Wine's DLLs? Do we need to do anything differently than how we do now? Do we need to make our build process easier for distro packagers? Best regards, Peter Millerchip. 2009/5/15 Zachary Gorden <drakekaizer...@gmail.com>: > Not going to call you an idiot, but the methodology you propose would not > be > appropriate for this project. The objective is to create an entire > operating system and provide something that is usable for the end user, > not > create a giant mess of parts that may or may not integrate well into each > other. The work that a lot of distros do is quite frankly massively > overredundant, caused by all the projects pretty much doing whatever they > want. And splitting into a bunch of "mini" projects doesn't solve the > fundamental issue of lack of manpower. It just disperses what we do have > even more. > > On Fri, May 15, 2009 at 3:03 AM, Peter Millerchip > <peter.millerc...@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. > > _______________________________________________ > Ros-dev mailing list > Ros-dev@reactos.org > http://www.reactos.org/mailman/listinfo/ros-dev > _______________________________________________ Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev _______________________________________________ Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev