This has made it easier for open source competitors to catch up with Microsoft.
However compare that to operating system development - or to be more specific: reverse engineering undocumented APIs that receive updates every few years - and you have yourself a whole order of magnitude more difficult job to even just reach a usable parity let alone being a competitive alternative.
As quickly as ReactOS developers can reverse engineers Windows, Microsoft will progress their flagship OS. ReactOS is chasing a moving target in a way that LibreOffice is not.
Disclaimer: I'm not dismissing the developers efforts. I just don't agree with your statement that ReactOS will snowball in the same way that many other open source developments do.
ReactOS aims for WinNT series compatibility including hardware drivers. And those driver APIs haven't changed for a decade or more.
There have also been massive changes to the way Windows handles networking and authentication protocols (Active directory, SMB, etc), changes to the the driver model, changes to the way POSIX support is handled, etc.
As much as you might dismiss some subsequent Microsoft technologies to be "not very successful", the fact remains that Microsoft are still always pushing new technologies and a not so insignificant number of developers do sometimes use these technologies which means, at some point, the ReactOS developers will either need to reverse engineer those technologies as well (assuming those libraries can't run natively on ReactOS already _and_ there's no legal restrictions preventing them from running on non-Microsoft endorsed platforms) or accept a lack of parity with Windows.
And how much of it is actually needed? Considering only the actually useful parts of an OS, my impression is that Windows got saturated a long ago and the parts in later versions were just forced along in new versions due to reasons that have nothing to do with technological advance. My point is, ReactOS has only to become stable and reasonably good on real hardware to be successful. There is a lot of parts in the later Windows versions that only serve niches, thus being cruft for the bulk of users. Microsoft had to evolve this way due to its commercial nature, whereas ReactOS doesn't have to.
I don't get why people are pushing back on this point. It isn't a criticism of ReactOS. It's just a pragmatic result of writing a clone of another project that itself is constantly undergoing development.
This is why people more often talk about ReactOS being exciting in terms of supporting older software rather than new. Obviously if it ever got to the stage that it had parity with the latest releases of Windows then that would be amazing but the chances of that happening are miniscule.
I think this is where you're making wrong assumptions. ReactOS is free and open-source, and from this comes choice. Even if the main project chooses to work on reimplementing marginal or even unwanted things, a fork is always an option. (A fork from an immature project like it still is doesn't make sense for now.) After all, it's known that people don't appreciate bloat. ReactOS wants parity with Windows 2003 and that is a manageable target. Bits from later Windows versions may be added for important applications but it hasn't have to be nor is necessarily wanted all that Microsoft pushed from Vista hitherto. ReactOS doesn't have to cover all that much, really.
Also, an important nitpeek: ReactOS doesn't reverse-engineer. It employs clean-room engineering.
Yeah you're right it's not reverse engineering in the technical sense. It's a lazy term to use because it sounds like the approximation of the process even though it's technically inaccurate. I should get out of that habit. :)
https://en.wikipedia.org/wiki/Architecture_of_Windows_NT#/me...
* the HAL - there have been changes here, but nothing so fundamental that can't be built upon
* kernel mode drivers - these have changed and new models keep getting released by Microsoft, but these rely on well defined interfaces and a lot of it is in the kernel mode driver framework (KMDF). A detailed history can be found here:
https://msdn.microsoft.com/windows/hardware/drivers/wdf/kmdf...
The user mode driver framework is similar.
I'm not going to go through the rest of the subsystems, you might want to review this document:
https://web.archive.org/web/20160113113554/http://research.m...
So... sure, things have changed over the years but they most certainly aren't radical enough to stall development of ReactOS.
ReactOS has a target of Windows Server 2003. If they decide to upgrade to a later operating system, I'm not quite sure I see that as a huge issue.
Have a look at LibreOffice. StarOffice was open sourced in 2000 by Sun as OpenOffice.org and started somewhat slowly. By 2004 OpenOffice.org was making steady progress, and had captured quite a bit of market share.
Then the OpenOffice developers and Sun started stymying contributions, and eventually Michael Meeks setup Go-OO with a bunch of patches that made the program easier to use. Then Oracle bought Sun and really pissed off key external contributors so they forked the product and in 2011 The Document Foundation was formed to oversee LibreOffice development.
Since then OpenOffice.org has stagnated and withered on the vine, whereas LibreOffice has had entire swathes of old and cruddy code rewritten and each point release has not only got huge numbers of bugs fixed, but often new features - and often entire subsystems have been rewritten without the end user ever knowing.
So give it time - it's been just over 16 years since it the StarOffice source was opened to anyone. ReactOS has been around at least this long, and due to the nature of the project isn't quite as fast, but each time I read a new release it occurs to me that development is accelerating rather rapidly!