[Fwd: Re: [ros-dev] Fwd: Status update and voting]
ionucu at videotron.ca
Tue May 24 22:41:37 CEST 2005
Steven Edwards wrote:
>--- Filip Navara <xnavara at volny.cz> wrote:
>>I doubt someone would vote for me, but if it would be collective
>>decision I'll not object. (Personally I have two candidates for the
>>position that I would propably choose from in the voting...)
>Well I am divided on who I would vote for as the people I named would all be great in the role but
>I would like to hear something alone the lines of
>"If I was KC I would try to implement the following development method, rules, reactos coffee
Well since a bunch of people have recommened me to apply, and since I
don't think it's a bad idea, I'll start my own little rant.
I feel I should be KC for 4 main factors:
- Technical knowledge
- Diplomatic abilities and attitude/contacts
- Free Time
I'll elaborate on all of these points below:
1. Technical Knowledge
In my opinion, I have a vast amount of knowledge on NT's Kernel Design
and Architecture. Although I admit that I have some weak points in the
Cache and Memory Managers, I know the other subsystems like the palm of
my hand. My knowledge has always went into applying it into code and
fixing broken parts of ReactOS, as well as implementing new APIs (I have
implemented around 100 new APIs). Secondly, this knowledge has also went
to help other developers who were in need. I have always been a helping
hand in the channel, and developers often come to me to seek answers to
technical questions, architectural design or just some weird
undocumented API or structure. My code is of relatively high quality,
even though it can sometimes have bugs (beware of bug-less code). I
always properly test code in a variety of scenarios, and for really big
patches, I also have other people test them for me (Waxdragon can
attest, for example). I highly value code review and testing procedures.
In sum, I know a lot, I produce a lot, I help a lot and I'm structured
with my knowledge and its product.
Since my beginnings at this project, I have always had a clear
1) Developers should be allowed to work on whatever they want. I do
not believe in forcing people, but I'm not against having "Focus Weeks"
in which the developers would be invited to focus on something, if they
wish to. But I am against telling people what to do, and this has been a
great freedom that ROS coders enjoy.
2) We must strive for 100% in order to achieve 90%. I have always
believed that we must pay attention even to undocumented APIs and
closely mimic Windows behaviour to the external callers. For example, is
MSDN lists a parameter as 'reserved', but we later find out by a test
case that it's being used, then I don't think it's OK to say "well,
everyone listens to MSDN and nobody will use the reserved parameter".
There is always a chance for some developer finding out what the
Reserved parameter does, and using it. If it's on MSDN, the change is
actually pretty large. Sometimes MSDN themselves document/undocument
various parameters and APIs. *IF* the developement effort is minimal and
someone wants to do it, then I strongly believe that reserved parameter
should be handled. It shouldn't be a priority, but it shouldn't be
ignored. Even if we only make 5 extra apps work, the sum of "All these
little things" will make 5000 apps work. And that's a key difference
between 60% and 90%. Sure, most people use only the 60%. But some very
big clients could use the other 30%. Do we want to ignore them? Not in
3) ReactOS is not a game project. It will become a serious tool,
similar or superior in popularity to Linux. Many people mock us, or
think of us a past time to code. Maybe some of the developers also feel
like that (I don't think so). However, I am truly *dedicated* to
ReactOS. I believe in its future, and I want to be a part of it. I am
not only coding to spend time. I am coding to make ReactOS a powerful OS
that will be used by the masses. I am coding with the same passion and
desire to free the world from proprietary OSes just like Linus strived
to free the world from UNIX. I am here in the long run, and I see a
future for ReactOS in 3 years. I see 1.0.
4) Structured views. I have always viewed everything in a structured
fashion. I know the goals (in the Kernel) for each major milestone, and
they are achievable and plannable. I don't believe in totally random
coding that will get us somewhere. I feel that I have a deep sense of
organization that is needed for a KC.
5) PR and Users are our target, not power-users. The problem of many
alternative OSes are that they try to be "leet" or "high-tech" for power
users. Many boast "built-in compiler!" or "emacs-based web browser!"
(silly examples). These are cool toys for the Linux geeks, but not for
Windows users. I know it sounds like what we are fighting against, but
our OS must also boast things like "Easy to use!", "Friendly wizard for
Desktop Organization!". I'm not saying that we need to create Clipit,
but we defintely need to emulate and also ADD our own wizards, helpful
tools, and yes, even themes. Because in the end, our users make us what
we are, and it's them that will decide our success. And to reach these
users and get our point across, we need good PR and good Marketing. This
is why Firefox has been so popular, and we will eventually need such a
campagin as well.
I have an ability to solve conflicts, and although I've been in the
center of two large flame-fests, I think the end situation came up
pretty good. In the branch affair, I admitted my mistake and the created
mini patches, with some help, in order to get the code in. Sure I was a
bit offended at first, but in the end the situation was solved nicely.
Whenever there is a conflict, I've always tried to solve it in a
diplomatic way, and have never forced my point of view on someone. I've
never reverted someone's code, as some people have done in the past, but
have always asked the person to do it, and gave my reasons why. And
sometimes people refused and I was wrong, or other times I was right and
the person understood. In each case there was trust and understanding.
I also have pretty close ties with most of the developers and know most
of them personally, and met with some of them as well. I would say I'm
pretty 'connected' in the ROS crowd and talk with almost all the active
devs on a weekly basis (a lot of them on a daily baisis). I also have
some important contacts outside the ROS world, which can be very
valuable for PR and also for Development in general.
Finally, I have very good English/French/Spanish/Romanian writing and
reading skills, love producing documentation, doing presentations etc.
4. Free Time
My final point is that I will have a lot of free time to take care of
this, at least for the next year. Many developers have a job, a family,
etc, but I have none of that. I'm happily in front of the computer,
dedicating 90% of my time to ReactOS. When am I not on IRC? I'm always
opened to emails, I read the ML, and I'm pepetually on IRC. I'm an
available and open person.
Finally, I'll end with my goals as a KC:
- Expand the Wiki with some basic Kernel Keywords (I've already
started on this)
- Be present as a mentor, problem solver and decision making individual
- Insist on good quality code, good coding habits, testing
procedures and code reviews.
- Come up with a plan to solve quarrels between developers on a
certain issue. Preferable through a vote, or moderated by someone that
has been known/chosen as an expert in that field (note I said moderated
by, not decided)
- Set up clear plans all the way to 0.5.0
- Continue to work and improve the kernel.
- Collaborate with the Project Coordinator on wider project-related
- Give interviews, promote, "sell/pitch" ReactOS to users, the media
and companies from my point of view (ie: give presentations at
conferences about our kernel, give seminars at univerisites, teach
people about the benefits of an NT kernel and our implementation of it etc).
- "Do no evil" (c) Google
More information about the Ros-dev