Hello everyone. I find myself today thinking, as I sometimes do, about the
ReactOS problem. How come we are trying to clone the biggest and arguably
the most popular desktop OS in the world and still have such a small
community/user base?
The obvious answer to this question is that ros doesn’t do what it promises.
Indeed it does almost run a lot of windows applications... some of the time,
but that’s not the whole picture. Let us examine the typical(in my
experience) first time encounter of a random computer user with reactos.
<fanboy> Look, this is a free open source windows clone called ReactOS. It
has solitaire and runs firefox. Awesome, isn’t it?
<noob> so does it run my windows drivers and Office and COD4 and… !?
<fanboy> well…. Umm… not really.
Let’s analyze what went wrong:
*1) *ReactOS base distribution is fine and great, I totally like my
reactos with just a cmd window and dwnl.exe; but it’s not enough, except
perhaps for someone that’s *extremely* motivated to do
*something*interesting with ros.
**
The solution, host a reactos distribution. I think its been proven that the
reactos community doesn’t want to host more 3rd party code in the repository
unless it’s absolutely necessary. But that doesn’t matter. We don’t need to
build firefox, mono, or anything from source. The Windows model of software
distribution is binary. There doesn’t have to be an update manager, reactos
is just a toy(more on that later) and it needs to look useful so that people
buy into it. Maybe a nice list of packages and some checkboxes in second
stage installed with a script…
2) Hardware support is very poor, on recent hardware it almost never
works(wild guess 75% fail rate on modern hardware) Problems range from
unsupported video cards/ros driver uses wrong/unsupported mode, wrong
storage bus, random crashes from unsupported usb devices + pcmcia
other similar
alien buses and just random bullshit. Even if nothing manages to bring down
reactos, it of course has the wrong nic card and since usb storage doesn’t
exist there’s no chance to get a driver and see ros crash because of course
we only support a couple of drivers.
I know this can’t just be magically fixed, but we need people dedicated to
do hardware testing/debugging and provide real bug reports with traces.
(Suggestion: allow kdbg to take ownership of the screen/give it back,
provide visual console. I don’t care if it’s not a windows feature.)
3) Who cares about all the above? Not noobs, the question they really
ask is: “Does it run XYZ?”
What is XYZ? Flagship applications. The ones everyone knows and uses,
commercial and opensource. The following, I think, are universally
recognized as very important.
a) Firefox + Flash (this works most of the time… maybe god will kill
that mouse move bug)
b) A recent version of Microsoft Office. (2007 would be very nice)
c) Latest OpenOffice( imagine a make distro command that would tell
ros setup to install it automagically, wouldn’t that make testing easier…
heck we could have a super build bot that wrote documents in office and
compiled shit with gcc and took 3 days to run….)
d) .NET Framework (atleast 2.0) (This means fixing its installer bug)
e) Java runtime. (it installs and almost launches limewire!! Christ!!)
f) Visual Studio 2008 (installer fails, but the c++ compiler works and
the IDE almost works!!)
g) Recent versions of Adobe Photoshop, Dreamweaver or Flash.
Extra points:
h) Msn Messenger (its expected by windows users)
i) Internet Explorer (screenshots floated around at some point with
IE6, I think.. or maybe it was a dream)
j) Virtual Box (with its drivers!) ( I just love the vm inside vm
screenshot)
k) Nmap (only pcap driver is broken!)
l) Silverlight (seems to install)
m) Itunes (with ipod support)
(please dont be pricks about this list, make a poll or something if you
must, but someone has to arbitrarily set it)
The sad truth is that most of these applications are known to work to a
certain degree. However, good bug reports don’t even exist. I’m confident
that with a bit of determined effort these apps can be made to work. Atleast
we need to compile a list of whats missing in ros that is need to support
these and other important applications with real bug reports, and focus the
project... give defined tasks to noobs that stumble into the project but are
not knowledgable enought to dive into our huge code base and decide what are
the missing features/features that need work/bugs.
But really, what is the point of this email…
0.4.0 will be a milestone release(nice round number), people really want
these and other similar applications to work(perhaps they are the reasons
people still use windows). It makes sense to try and support them and would
provide a nice PR boost if 0.4.0 can honestly be said to support any or all
of the above applications.
ReactOS is a developer toy, a cute little model of windows that almost
works. If we can at least make it work for applications that most users
actually use we could maybe, oh I don’t know… spark some interest. Yes, it’s
about users, which we still won’t condone being alpha and all. But users are
the ones that get excited and twitter and facebook and blog about the little
OS that could; Excitement that will get developers exited, that will provide
testers (I’m praying for some sort of reactos error reporting service,
atleast a minidump….. atleast in usermode… support event logs…. for Christ
sakes our bug reports suck and they suck10x worse when they come from
noobs!).
Right now we are stuck in the vm, so atleast make that experience enjoyable.
There’s no need to rant about explorer, I hope…
We have to start thinking about 0.5 and making reactos “beta”, and I still
haven’t seen plans on how that’s going to happen or what exactly that means.
ReactOS development needs to speed up and get more organized….. that’s all I
have to say about that…. probably not…