[ros-dev] [ros-diffs] [hbelusca] 66575: Start source tree (final, I hope!) restructuration. Part 1/X Win32, Shell, Services, MVDM
Aleksey Bragin
aleksey at reactos.org
Fri Mar 6 09:48:01 UTC 2015
On 06.03.2015 2:58, Hermès BÉLUSCA - MAÏTO wrote:
> Hi,
>
> So first, please receive my apologies for not having warned in ros-dev about
> this (continuation of) tree restructure I did starting with r66575. Indeed
> this was the first thing to do before doing anything, even if I talked about
> that on IRC and JIRA!
Wrong.
You did not need to warn, you need to get majority of devs to support
this change, to get comments from them, to make sure they continue to
feel "at home" in ReactOS source code.
Right now, for the sake of subjective beautification you just forced
everyone but you to adapt their patches (myself included, I have many
working copies) just because you feel the tree structure was wrong.
This is just ridiculous. As Pierre said, we are a team here. And
teamwork without big issues is what is making our project a good place
to work in, to get pleasure and satisfaction from the work done.
> In fact, the tree restructure discussion started 5 years ago, along with the
> cmake bringup: see the big thread here:
> http://www.reactos.org/pipermail/ros-dev/2010-July/013257.html .
Imagine what, I was part of it.
> At that
> time the main argument was that we were also in the middle of changing the
> old build system (rbuild) to a new one (cmake) so it was problematic to do
> those two big changes at once. Also at that time, seeing the argumentation
> of Ged, Timo, Jérôme and the few others (active developers) who dared to
> participate to this discussion, it was clear that a tree restructure was
> necessary anyway, sooner or later.
This is called
https://en.wikipedia.org/wiki/Post-purchase_rationalization . After you
made the change you start explaining that everyone was supporting it, it
was so much needed, and let's just forget about any side-effects it may
have caused.
> In 2012 some tree restructure happened (r56305) by moving around and in a
> more logical manner some core components of win32.
Yep.
> What happens now in 2015, i.e. 5 years after ? We have CMake well
> established, everything works, but only win32 core was reorganized.
Sure, 5 years is a magic number which means you can safely ignore
everyone else and just force your own change.
> I made http://jira.reactos.org/browse/CORE-9111 , people started to give
> proposals. You came back with the almost same argument, that is to finish
> the existing things first (adapt that: at the time of CMake, it was CMake,
> now, it's fix all ReactOS 0.4 bugs), and then improve structure of source
> tree. Since not all the existing bugs will be fixed by then, we can continue
> this way and wait another 5 years in order to have a real tree restructure?
> I don't think so.
> So I took that for granted and committed r66575.
You know, users don't care about source code tree structure. Tree is for
developers. Users (and hence, popularity and usability of ReactOS) like
when ReactOS does not crash, when ReactOS runs their apps, when ReactOS
loads native binary drivers.
And my point is that internal changes (code refactorings, tree
restructures, reformatting) must happen only when the advantage of that
is more than the disadvantage/side effects.
Are you going to say that ReactOS 0.4 is closer now because you
restructured the tree according to your taste? Was there any urge to do
the restructure?
> Active developers really think (at least, myself) it's a pain in the ***
The key part: "myself". Let's face it: you silently ignored my opinion
and decided not to ask anyone else. This is PITA, not the tree structure.
> that when we code on some given module (example: shell), we need to modify
> some bit of code in base/shell/whatever, some bit of code in
> dll/win32/shell32, some bit of code here and there. All the code of the
> shell should be tied together. This goes also for everything else: the core
> of NT (kernel, ntdll, "base" drivers...), the win32 subsystem (win32k; for
> it the change in r56305 started to make things more logical: you would not
> have to modify code in some win32k/ directory while also changing
> dll/win32/gdi32 or dll/win32/user32 that were by the way amongst all the
> rest of wine dlls, etc...) .
It's not "more logical", it's just different logical approaches.
> Because I didn't want to wait yet another 5 years I decided to start
> something.
Just remember, trunk is not your private branch. You have to take other
devs opinion into account. And you are not always right. Sometimes even
Alex Ionescu fails, though I must say it happens very rare.
Get used to convince people. Remember Arwinss? Did I just delete the
existing trunk win32ss back then? Imagine if I did? My reasoning was
perfect, the subsystem was superior to trunk back then in many ways, and
"I did not want to wait another 10 years for someone to finish trunk's
win32ss".
> OK my fault I would have to get a synthesis of the different proposals of
> tree restructures I got, then put in ros-dev, then wait 1 month until
> everybody starts to vote. Of course you would get people thinking it's
> better to do à la Wine and sort the files by extension type (that's what we
> almost have currently) and it was already repeated that it is BAD because it
> doesn't translate the fact that ROS/windows is built by modules; others
> would have thought it's nice to have this piece of thing next to another one
> whereas this can be postponed later on until the *obvious* parts of code
> have been properly packed together.
Yes, unless I don't know something and suddenly all your ideas are
absolutely true without the need for verification. Mine aren't, I always
consult with other skilled people.
> And because of that, here is my proposal: UNTIL details get fixed, I propose
> to:
> - keep the /boot/, /include/, /lib/, /media/ and /tools/ directories (as
> well as /cmake/ and the files in / ) untouched.
> - ntoskrnl, ntdll and the drivers we have in /drivers/ (SAUF, the multimedia
> ones) go into some main "ntcore" directory (ntcore, ntos, call it whatever
> you prefer. I'm inclined to the second name, but I'm ok with the first one).
> - the keyboard layouts can be moved either to win32ss/ or to / (in case we
> can give sense to keyboard layouts in "pure" NT, for example when we run
> usetup, etc...)
> - ok... my already-done (but revertable) modifs from 66575 (directory
> renamings can be done, it's not set in stone).
> - putting all printing support in some /win32/printsup (or "printing"...)
> directory : that means: localspl, ntprint, printui, spoolsv and spoolss, and
> winspool (so far...)
Oh, now you shared your secret plan with us. Thank you so much!
Actually, I would like to invent something better than just copying the
NT source code tree layout.
> That's what I'm 99.99% sure (and what I think is quite clear). Concerning
> the rest (that can create discussion) I still keep it in old directories.
...
> Regards,
> Hermès.
>
>
>
> -----Message d'origine-----
> De : Ros-dev [mailto:ros-dev-bounces at reactos.org] De la part de Aleksey
> Bragin
> Envoyé : vendredi 6 mars 2015 00:15
> À : ros-dev at reactos.org
> Objet : Re: [ros-dev] [ros-diffs] [hbelusca] 66575: Start source tree
> (final, I hope!) restructuration. Part 1/X Win32, Shell, Services, MVDM
>
> Hermes,
>
> What the fuck, may I ask?
>
> I don't understand since when we started doing big changes in trunk without
> talking (or listening) to anyone at all, just at your own discretion?
>
> Are you so sure the change is accepted by majority of our developers?
> Did you get approval of those devs? Give them some respect which they earned
> over years with their skills and commitment.
>
> I understand ReactOS is a very loosely managed project (to favor ease of
> development), but totally ignoring everyone?
> I checked CORE-9111 and I don't see any single comment from Timo, Jerome,
> James, whoever else counts.
>
> Regards,
> Aleksey Bragin
> P.S. I'm not talking about actual changes, I'm talking about the process and
> attitude.
>
> On 06.03.2015 2:03, hbelusca at svn.reactos.org wrote:
>> Author: hbelusca
>> Date: Thu Mar 5 23:03:33 2015
>> New Revision: 66575
>>
>> URL: http://svn.reactos.org/svn/reactos?rev=66575&view=rev
>> Log:
>> Start source tree (final, I hope!) restructuration. Part 1/X Win32,
>> Shell, Services, MVDM
>>
>
More information about the Ros-dev
mailing list