Gentlemen,
If you don't mind me intruding, I'd like to propose some things I think may ease life for us poor ROS devs, existing and new ones :)
First of all, I'd like to suggest 'apprenticeship programming', also known by other names, but which commonly involves having one seasoned programmer in charge of a particular (sub-)project and one or more programmers following his lead. These latter programmers would be less experienced but could work on relatively advanced stuff due to the lead of the seasoned programmer. This model is commonly used in companies already and if adapted for ROS it should make it much easier for 'newbie' devs to get started, pick up experience and become seasoned devs themselves.
My own experience with picking up the USB subproject reflect this as well. It's hard to get started without much of a lead, especially when one's experience with the NT subsystems is limited. This is also where documentation would have helped, bringing me to my second point:
Whenever I start a new project or implementation I first write a technical specification detailing the exact layout, APIs and implementation. I've heard that this is common practice in professional programming as well as other areas. Benefits include having a good overview of the project before one starts on it, being able to pick out obvious oversights before writing a single line of code, having a central place of reference (code does _not_ work for this), allows one to quickly pick up on things during maintenance sessions (many months later...). It'd also enable the apprentice programming system and make it easy for the central project leader(s) to get an overview of the progress being made.
Documentation and specifications are often ignored by programmers because they're not deemed 'time-efficient', preferring to start programming right away instead. In my experience and those of everyone in high-level jobs involving anything from programming to hardware design (like my housemate who is a senior engineer in a Dutch company which designs chips for the telecom industry), specifications and documentation are the lifeblood of any project.
I have elected to use both the apprentice method as well as the documentation approach in my work on the new installer, bootloader and USB stack for ReactOS, attracting two relatively inexperienced but highly motivated devs for the installer (RI2, or ROSE) project already. They have expressed interest in helping me with further projects in ROS as well, even more low-level things. I think that this is a good example of the future ROS should be heading towards.
So yeah, that's my rant I guess :)
*ducks and runs for cover*
Maya Posch
Two points in reply to try to help you understand why you're seeing these problems.
Firstly, it's almost impossible to get developers working on a project in their spare time to work on documentation. Any spare time they get to play wouldn't be spent on writing documentation, it's just too boring. Trying to force people to write docs would just drive them away, so it's sort of a catch22 situation. When a project gets larger, they hopefully attract technical writers who can fill this void.
Secondly, this is an NT operating system. There is more documentation already written for NT than you could ever dare to read. If you know the area you're working on then things should start to make sense when you have the code.
Let's take the USB project you mentioned. I know people hate it when this answer is used, but knowing how to write NT drivers and having the source code for the driver, plus having a specification to reference is generally enough. Driver devs know the Windows driver model and how it works, so that's half the battle. There's a vast amount of official documentation for the USB standard, so that's taken care of too.
In industry, documentation is generally used because the engineering behind the project is still being designed, the devs have no knowledge of the architecture of what they're writing, only the architecture of what it's running on (windows). Thus, you'll generally see design and interface specs for whatever bespoke engineering project they're working on. But, for the OS itself, they'll have Windows Internals and Driver Model books. This documentation is already written, and this is what we as ReactOS devs also use.
Hope that makes sense
Ged.
-----Original Message----- From: ros-dev-bounces@reactos.org [mailto:ros-dev-bounces@reactos.org] On Behalf Of Maya Posch Sent: 30 October 2008 15:24 To: ReactOS Development List Subject: [ros-dev] Regarding documentation and attracting new developers
Gentlemen,
If you don't mind me intruding, I'd like to propose some things I think may ease life for us poor ROS devs, existing and new ones :)
First of all, I'd like to suggest 'apprenticeship programming', also known by other names, but which commonly involves having one seasoned programmer in charge of a particular (sub-)project and one or more programmers following his lead. These latter programmers would be less experienced but could work on relatively advanced stuff due to the lead of the seasoned programmer. This model is commonly used in companies already and if adapted for ROS it should make it much easier for 'newbie' devs to get started, pick up experience and become seasoned devs themselves.
My own experience with picking up the USB subproject reflect this as well. It's hard to get started without much of a lead, especially when one's experience with the NT subsystems is limited. This is also where documentation would have helped, bringing me to my second point:
Whenever I start a new project or implementation I first write a technical specification detailing the exact layout, APIs and implementation. I've heard that this is common practice in professional programming as well as other areas. Benefits include having a good overview of the project before one starts on it, being able to pick out obvious oversights before writing a single line of code, having a central place of reference (code does _not_ work for this), allows one to quickly pick up on things during maintenance sessions (many months later...). It'd also enable the apprentice programming system and make it easy for the central project leader(s) to get an overview of the progress being made.
Documentation and specifications are often ignored by programmers because they're not deemed 'time-efficient', preferring to start programming right away instead. In my experience and those of everyone in high-level jobs involving anything from programming to hardware design (like my housemate who is a senior engineer in a Dutch company which designs chips for the telecom industry), specifications and documentation are the lifeblood of any project.
I have elected to use both the apprentice method as well as the documentation approach in my work on the new installer, bootloader and USB stack for ReactOS, attracting two relatively inexperienced but highly motivated devs for the installer (RI2, or ROSE) project already. They have expressed interest in helping me with further projects in ROS as well, even more low-level things. I think that this is a good example of the future ROS should be heading towards.
So yeah, that's my rant I guess :)
*ducks and runs for cover*
Maya Posch
_______________________________________________ Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
gedmurphy wrote:
Two points in reply to try to help you understand why you're seeing these problems.
Firstly, it's almost impossible to get developers working on a project in their spare time to work on documentation. Any spare time they get to play wouldn't be spent on writing documentation, it's just too boring. Trying to force people to write docs would just drive them away, so it's sort of a catch22 situation. When a project gets larger, they hopefully attract technical writers who can fill this void.
Not writing documentation/specifications already limits the maximum size of a project and thus reduces the possibility of anyone jumping in to fill the (documentation) void. I personally don't like working with people who can not send me a document on or tell me in a few sentences what it is I need to know. It gets really tiresome if you have to keep chasing after people because you need to know something and they're only available 1 hour for you due to timezones.
If those people do not want to write documentation, fine, have someone else write the specifications and feed them those. Don't put them in charge as they clearly aren't thinking about the wellbeing of the project as a whole but only their small island.
Secondly, this is an NT operating system. There is more documentation already written for NT than you could ever dare to read. If you know the area you're working on then things should start to make sense when you have the code.
Let's take the USB project you mentioned. I know people hate it when this answer is used, but knowing how to write NT drivers and having the source code for the driver, plus having a specification to reference is generally enough. Driver devs know the Windows driver model and how it works, so that's half the battle. There's a vast amount of official documentation for the USB standard, so that's taken care of too.
With the USB project I'm having to read a few specs, a dozen books, more online articles. I don't know how the Windows internals work or even look like, this is my first time I'm working with them. I find the available information to be insufficient or at least very poorly condensed. Yes, the USB spec is very clear, but doesn't directly apply to the Windows implementation. For that there are other sources, sure, but they are often outdated, unclear and mostly importantly seldom directly apply to my needs or explain things in a way a noob like me could understand. This slows me down immensely.
In industry, documentation is generally used because the engineering behind the project is still being designed, the devs have no knowledge of the architecture of what they're writing, only the architecture of what it's running on (windows). Thus, you'll generally see design and interface specs for whatever bespoke engineering project they're working on. But, for the OS itself, they'll have Windows Internals and Driver Model books. This documentation is already written, and this is what we as ReactOS devs also use.
Not true. If I look at my house mate's company and the companies he works with (Alcatel, Lucent and others) it is clear that documentation is used long beyond the initial design phase. As an example, my housemate is working on finishing a project at the moment which has its roots in a design Alcatel (Italian company) designed years ago. Because the Alcatel engineers didn't bother to properly document the system back then it resulted in a world of pain for both the Germans (Lucent) and my house mate's company (AimCom). The Italians' constant refusal to document system components in a proper manner let alone follow up on deadlines has been really dragging down the project.
But still, those three plus a few other companies have been swapping documentation and specs like there's no tomorrow. The spec for each part takes hundreds of pages and details everything into excruciating detail. I honestly can't think of how such a project would work without those piles of pages filled with all of the information one'd need to implement the project.
As for your argument that those books classify as 'documentation', I disagree. They make for adequate reference works whenever the information in them is current, but the point of a specification is to have only the information one needs to implement a project together in one document, not spread throughout a dozen or more reference books. Those works also don't mention exact implementation details, TODOs or other project-specific information. Generic info doesn't equal a specification.
This aside from the point that you'd be spending a few hundred euro just buying those books you reference, something every ROS dev would have to do. We don't want to condone copyright infringement, do we?
Impractical, insufficient and cop-out are words that come to mind.
Sorry if I sound harsh, but this is among one of my many pet peeves ^_^
Maya
Maya Posch wrote:
I don't know how the Windows internals work or even look like, this is my first time I'm working with them.
Then you're falling at the first hurdle. You can't work on ReactOS, especially at the level you are, without knowing Windows Internals religiously. You need to take a step back, put some time into learning the architecture _and_ how to program for the architecture. Only when you know this will you be in a position to write good code.
Stefan is an excellent example of this in practice. He came to ReactOS knowing little about NT. He put in the time and effort and learned the architecture (very quickly). He's now in a position read and understand the kernel and is making some valuable contributions.
If those people do not want to write documentation, fine, have someone else write the specifications and feed them those. Don't put them in charge as they clearly aren't thinking about the wellbeing of the project as a whole but only their small island.
Who? Who is going to write this documentation? Can you recommend anyone? Anyone with the knowledge to write it is more interested in coding. Are you volunteering, or do you want to pay someone to do it?
Impractical, insufficient and cop-out are words that come to mind. Sorry if I sound harsh, but this is among one of my many pet peeves ^_^
I've said it before and I'll say it again, even though people _hate_ this answer... A good programmer, with knowledge of NT doesn't need text. The design is already established, read Windows Internals 4th. The code is the fine, granular documentation.
As much as this may annoy you, there is absolutely no way to change this at the moment. This is open source.... It's not a great business model, but it's fun :)
I guess this is why ReactOS is going nowhere fast. If nobody is willing to see it as a viable project, even for commercialization, then it's not so surprising that no deadlines are ever met and attention from the public for what could be something even bigger than Linux (at least on the desktop) is at around the level of OSS OSs which are little more than hobby projects. Is ReactOS a hobby project? What is its goal? Is it intended to grow into something companies would use and where the ReactOS Foundation could provide paid support for? I don't see this happening right now.
For the time being I'll suspend most of my work on ReactOS. I'll only continue work on the installer project, partially because I can't let down the guys who work for me and partially because it's a generic enough installer that it could work for any other OS.
Maya
gedmurphy wrote:
Maya Posch wrote:
I don't know how the Windows internals work or even look like, this is my first time I'm working with them.
Then you're falling at the first hurdle. You can't work on ReactOS, especially at the level you are, without knowing Windows Internals religiously. You need to take a step back, put some time into learning the architecture _and_ how to program for the architecture. Only when you know this will you be in a position to write good code.
Stefan is an excellent example of this in practice. He came to ReactOS knowing little about NT. He put in the time and effort and learned the architecture (very quickly). He's now in a position read and understand the kernel and is making some valuable contributions.
If those people do not want to write documentation, fine, have someone else write the specifications and feed them those. Don't put them in charge as they clearly aren't thinking about the wellbeing of the project as a whole but only their small island.
Who? Who is going to write this documentation? Can you recommend anyone? Anyone with the knowledge to write it is more interested in coding. Are you volunteering, or do you want to pay someone to do it?
Impractical, insufficient and cop-out are words that come to mind. Sorry if I sound harsh, but this is among one of my many pet peeves ^_^
I've said it before and I'll say it again, even though people _hate_ this answer... A good programmer, with knowledge of NT doesn't need text. The design is already established, read Windows Internals 4th. The code is the fine, granular documentation.
As much as this may annoy you, there is absolutely no way to change this at the moment. This is open source.... It's not a great business model, but it's fun :)
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
Maya Posch wrote:
I guess this is why ReactOS is going nowhere fast. If nobody is willing to see it as a viable project, even for commercialization, then it's not so surprising that no deadlines are ever met and attention from the public for what could be something even bigger than Linux (at least on the desktop) is at around the level of OSS OSs which are little more than hobby projects. Is ReactOS a hobby project? What is its goal? Is it intended to grow into something companies would use and where the ReactOS Foundation could provide paid support for? I don't see this happening right now.
For the time being I'll suspend most of my work on ReactOS. I'll only continue work on the installer project, partially because I can't let down the guys who work for me and partially because it's a generic enough installer that it could work for any other OS.
Maya
gedmurphy wrote:
Maya Posch wrote:
I don't know how the Windows internals work or even look like, this is my first time I'm working with them.
Then you're falling at the first hurdle. You can't work on ReactOS, especially at the level you are, without knowing Windows Internals religiously. You need to take a step back, put some time into learning the architecture _and_ how to program for the architecture. Only when you know this will you be in a position to write good code.
Stefan is an excellent example of this in practice. He came to ReactOS knowing little about NT. He put in the time and effort and learned the architecture (very quickly). He's now in a position read and understand the kernel and is making some valuable contributions.
If those people do not want to write documentation, fine, have someone else write the specifications and feed them those. Don't put them in charge as they clearly aren't thinking about the wellbeing of the project as a whole but only their small island.
Who? Who is going to write this documentation? Can you recommend anyone? Anyone with the knowledge to write it is more interested in coding. Are you volunteering, or do you want to pay someone to do it?
Impractical, insufficient and cop-out are words that come to mind. Sorry if I sound harsh, but this is among one of my many pet peeves ^_^
I've said it before and I'll say it again, even though people _hate_ this answer... A good programmer, with knowledge of NT doesn't need text. The design is already established, read Windows Internals 4th. The code is the fine, granular documentation.
As much as this may annoy you, there is absolutely no way to change this at the moment. This is open source.... It's not a great business model, but it's fun :)
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
Problem is that most people have a real life too and need to pay the bills at the month's end from something. As Ged said, this is a spare time and hobby project right now and it will be as long as you can't pay your food and bills from working on it. ROS is a really great project and I will never leave it for sure, like most here won't , but noone wants to become unemployed to be able to code way more on it. We already had some talk with commercial supporters who might fix this in the future and make paid devs possible, but sadly not yet.
In regards to your previous e-mail of not understanding the architecture, have you read Windows Internals 4th Edition?
In terms of driver writing, have you read Programming the WDK Model and Writing Windows 2000 Device Drivers? Both are excellent books and very clear/concise.
Have you taken a look at the documentation in the WDK?
Have you looked at the "going deep" kernel videos on Channel 9?
Have you looked through Dave Probert's slides?
Have you considered getting the David Solomon Inside Windows 2000 Video DVDs? (There's an extra DVD that covers XP/2003).
If the architecture isn't obvious from those materials, then I'm afraid the reference isn't to blame. Stefan's a 16 year old with no formal CS background and he was still able to pick up most of the arch, as was Samuel (encoded), who is also just 18.
Asking ReactOS developers to "write more documentation on ReactOS" is basically asking "Write documentation on Windows".
There are already millions of books and websites on the matter, there's nothing relevant we could add, even if we *wanted* to.
If you haven't read through *all* those sources I gave you, then really, it's not the devs here that need to be blamed...
On 31-Oct-08, at 6:13 AM, Maya Posch wrote:
I guess this is why ReactOS is going nowhere fast. If nobody is willing to see it as a viable project, even for commercialization, then it's not so surprising that no deadlines are ever met and attention from the public for what could be something even bigger than Linux (at least on the desktop) is at around the level of OSS OSs which are little more than hobby projects. Is ReactOS a hobby project? What is its goal? Is it intended to grow into something companies would use and where the ReactOS Foundation could provide paid support for? I don't see this happening right now.
For the time being I'll suspend most of my work on ReactOS. I'll only continue work on the installer project, partially because I can't let down the guys who work for me and partially because it's a generic enough installer that it could work for any other OS.
Maya
gedmurphy wrote:
Maya Posch wrote:
I don't know how the Windows internals work or even look like, this is my first time I'm working with them.
Then you're falling at the first hurdle. You can't work on ReactOS, especially at the level you are, without knowing Windows Internals religiously. You need to take a step back, put some time into learning the architecture _and_ how to program for the architecture. Only when you know this will you be in a position to write good code.
Stefan is an excellent example of this in practice. He came to ReactOS knowing little about NT. He put in the time and effort and learned the architecture (very quickly). He's now in a position read and understand the kernel and is making some valuable contributions.
If those people do not want to write documentation, fine, have someone else write the specifications and feed them those. Don't put them in charge as they clearly aren't thinking about the wellbeing of the project as a whole but only their small island.
Who? Who is going to write this documentation? Can you recommend anyone? Anyone with the knowledge to write it is more interested in coding. Are you volunteering, or do you want to pay someone to do it?
Impractical, insufficient and cop-out are words that come to mind. Sorry if I sound harsh, but this is among one of my many pet peeves ^_^
I've said it before and I'll say it again, even though people _hate_ this answer... A good programmer, with knowledge of NT doesn't need text. The design is already established, read Windows Internals 4th. The code is the fine, granular documentation.
As much as this may annoy you, there is absolutely no way to change this at the moment. This is open source.... It's not a great business model, but it's fun :)
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
Best regards, Alex Ionescu
If reactos is (and will probably be for a long time) a hobby OS is a consequence of our all-or-nothing strategy. ReactOS is trying to clone Windows as a whole inset of different OS based on the NT design like stated on the homepage. IMHO it's plain wrong because it's a very ambitious goal and it's even naive to think that 10+ part time developers can deliver a serious os to compete against the resources Microsoft or even Linux has. At current progress when we hit 1.0 will be too late for reactos , that simple.
Do we need directx at this point? tenths of useless stubbed dlls ? 3 undergoing architecture ports? You name it. Don't take me wrong that's technically amazing but not an smart strategy if we don't want to become an eternal promising project in alpha state and nothing more.
As a consequence of that ReactOS codebase has grown out of control. Any developer can pick any area of his interest, start working on it and then suddenly stop and start working on another thing. The current situation is that we have a monster with multiple legs but very few finished parts. IMHO we should better concentrate on a few key areas only (and I mean really few) and work all together in that direction to deliver something usable now , in a year timeframe , even if it's just a basic (but stable) kernel to run firefox on. I think it's better to give reactos a real world use now than deliver an NT5 clone in 5 years being optimistic.
A few possible solutions to discuss:
- Redefine our target. We have a very end-user oriented website when no users actually exist! currently we need developers not yet more fun, nice , but non productive users . If you take a brief look at our webpage the first impression is "wow! a free windows clone than runs mozilla and OpenOffice!!" but .. it's that what we have? I don't think so.. How many times has someone asked in the channel how to run office 2007 or complaining about ReactOS not installing into his brand new notebook . IMHO we should turn into a more developer oriented community . Inset of promoting reactos as windows killer we may promote it as learning platform for IT students. As a great opportunity to study an alternative non unix microkernel OS design .It will lead into more passionate productive people joining the project. Don't promote it in international user oriented events but on universities and collages, we can give speeches on our respective collages and promote it among teachers as learning vehicle.
- Redefine short term goals and turn reactos into something usable right now. Could be reactos interesting for the embedded market as a headless , well known Win32 API, tcp/ip enabled OS running on cheap x86 based hardware?
- Defining a serious, closed , roadmap with realistic dates that doesn't sound like joke, and enforce it.
Regards /Marc
-------------------------------------------------- From: "Daniel Reimer" reimer.daniel@freenet.de Sent: Friday, October 31, 2008 11:53 AM To: "ReactOS Development List" ros-dev@reactos.org Subject: Re: [ros-dev] Regarding documentation and attracting new developers
Maya Posch wrote:
I guess this is why ReactOS is going nowhere fast. If nobody is willing to see it as a viable project, even for commercialization, then it's not so surprising that no deadlines are ever met and attention from the public for what could be something even bigger than Linux (at least on the desktop) is at around the level of OSS OSs which are little more than hobby projects. Is ReactOS a hobby project? What is its goal? Is it intended to grow into something companies would use and where the ReactOS Foundation could provide paid support for? I don't see this happening right now.
For the time being I'll suspend most of my work on ReactOS. I'll only continue work on the installer project, partially because I can't let down the guys who work for me and partially because it's a generic enough installer that it could work for any other OS.
Maya
gedmurphy wrote:
Maya Posch wrote:
I don't know how the Windows internals work or even look like, this is my first time I'm working with them.
Then you're falling at the first hurdle. You can't work on ReactOS, especially at the level you are, without knowing Windows Internals religiously. You need to take a step back, put some time into learning the architecture _and_ how to program for the architecture. Only when you know this will you be in a position to write good code.
Stefan is an excellent example of this in practice. He came to ReactOS knowing little about NT. He put in the time and effort and learned the architecture (very quickly). He's now in a position read and understand the kernel and is making some valuable contributions.
If those people do not want to write documentation, fine, have someone else write the specifications and feed them those. Don't put them in charge as they clearly aren't thinking about the wellbeing of the project as a whole but only their small island.
Who? Who is going to write this documentation? Can you recommend anyone? Anyone with the knowledge to write it is more interested in coding. Are you volunteering, or do you want to pay someone to do it?
Impractical, insufficient and cop-out are words that come to mind. Sorry if I sound harsh, but this is among one of my many pet peeves ^_^
I've said it before and I'll say it again, even though people _hate_ this answer... A good programmer, with knowledge of NT doesn't need text. The design is already established, read Windows Internals 4th. The code is the fine, granular documentation.
As much as this may annoy you, there is absolutely no way to change this at the moment. This is open source.... It's not a great business model, but it's fun :)
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
Problem is that most people have a real life too and need to pay the bills at the month's end from something. As Ged said, this is a spare time and hobby project right now and it will be as long as you can't pay your food and bills from working on it. ROS is a really great project and I will never leave it for sure, like most here won't , but noone wants to become unemployed to be able to code way more on it. We already had some talk with commercial supporters who might fix this in the future and make paid devs possible, but sadly not yet. _______________________________________________ Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
On Fri, Oct 31, 2008 at 9:39 AM, Marc Piulachs marc.piulachs@live.com wrote:
- Redefine our target. We have a very end-user oriented website when no
users actually exist! currently we need developers not yet more fun, nice , but non productive users . If you take a brief look at our webpage the first impression is "wow! a free windows clone than runs mozilla and OpenOffice!!" but .. it's that what we have? I don't think so.. How many times has someone asked in the channel how to run office 2007 or complaining about ReactOS not installing into his brand new notebook . IMHO we should turn into a more developer oriented community . Inset of promoting reactos as windows killer we may promote it as learning platform for IT students. As a great opportunity to study an alternative non unix microkernel OS design .It will lead into more passionate productive people joining the project. Don't promote it in international user oriented events but on universities and collages, we can give speeches on our respective collages and promote it among teachers as learning vehicle.
- Redefine short term goals and turn reactos into something usable right
now. Could be reactos interesting for the embedded market as a headless , well known Win32 API, tcp/ip enabled OS running on cheap x86 based hardware?
+1
Wake the fuck up, this isn't Codeweavers (not saying this in a bad way) and you know very well that Wine wouldn't be where it is today without CW and Google.
CW and Google (read: $$$$$$) is what made Wine what it is today.
Read my reply to Marc -- I'm surprised you +1'ed this.
On 31-Oct-08, at 9:42 AM, Steven Edwards wrote:
On Fri, Oct 31, 2008 at 9:39 AM, Marc Piulachs marc.piulachs@live.com wrote:
- Redefine our target. We have a very end-user oriented website
when no users actually exist! currently we need developers not yet more fun, nice , but non productive users . If you take a brief look at our webpage the first impression is "wow! a free windows clone than runs mozilla and OpenOffice!!" but .. it's that what we have? I don't think so.. How many times has someone asked in the channel how to run office 2007 or complaining about ReactOS not installing into his brand new notebook . IMHO we should turn into a more developer oriented community . Inset of promoting reactos as windows killer we may promote it as learning platform for IT students. As a great opportunity to study an alternative non unix microkernel OS design .It will lead into more passionate productive people joining the project. Don't promote it in international user oriented events but on universities and collages, we can give speeches on our respective collages and promote it among teachers as learning vehicle.
- Redefine short term goals and turn reactos into something usable
right now. Could be reactos interesting for the embedded market as a headless , well known Win32 API, tcp/ip enabled OS running on cheap x86 based hardware?
+1
-- Steven Edwards
"There is one thing stronger than all the armies in the world, and that is an idea whose time has come." - Victor Hugo _______________________________________________ Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
Best regards, Alex Ionescu
On Fri, Oct 31, 2008 at 9:54 AM, Alex Ionescu ionucu@videotron.ca wrote:
Wake the fuck up, this isn't Codeweavers (not saying this in a bad way) and you know very well that Wine wouldn't be where it is today without CW and Google.
CW and Google (read: $$$$$$) is what made Wine what it is today.
Read my reply to Marc -- I'm surprised you +1'ed this.
And you prove the point. Wine does not try to be everything to everyone.
I think the right route to go is to let ReactOS focus on the developer side and let commercial entities do the work of making it popular for the masses as, they should have the resources to do so. Wine has always been targeted for developers and not really focused directly on user needs, sure the community helps users where possible but the project itself always left that up to entities like CodeWeavers and Google. ReactOS community resources would be better spent on evangelism as Marc said. Hence the +1
I think, and I am fully able to be convinced that I am wrong on this, that ReactOS should focus on running a core set of FOSS drivers/applications really really really well and maybe supporting two or three generic platforms. x86/64 and Arm are GOOD targets. Let commercial vendors certify and invest the resources in supporting a more broader set of proprietary applications and exotic platforms. By the nature of the GPL ReactOS will feed on these changes and get better.
Let it be what it is and push those strengths. If Bordeaux, CodeWeavers, Google or the OnTime RTOS guys want to make investments in other areas, by all means support them, beg them, merge in changes from them, whatever is needed to make ReactOS better.
If someone wants to work on exotic stuff, more power to them. I love the bringup work on arm,ppc and compiler targets like msvc and friends but I don't think its reasonable for ReactOS to SUPPORT by default to ever be able to run 100% everything for Windows and do all of these extra things that windows currently is not marketed to do. Hell one windows version to the next can't run 100% of everything from the prior one. There is no reason for ReactOS to claim to be the greatest thing since sliced bread when its not. It IS however a great learning platform, it IS a great target for embedded development, it IS a great target for a VM based legacy platform.
This is the point where Maya mistakes most of all: ReactOS is an opensource and a FREE project. Managing and working in an opensource project is different.
We can't compare ReactOS engineering technologies with Alcatel engineering technologies. Or with Microsoft technologies. But I try to keep the most valuable what we have in ReactOS, and what is lost in some other project which tries to provide Windows compatibility - freedom. And my intention is to keep this even after commercial ReactOS vendors appear.
I won't repeat all valid points Ged, Alex and Steven said, and some of Marc's email is right too.
One can demand something from another team member, but the difference is that the result very well may be as Alex outlined in his fishing analogy.
As for another question, by Marc or by Alexandru, there is no real development roadmap of ReactOS, the one on the website should actually be removed, since it's mostly incorrect.
WBR, Aleksey Bragin.
On Oct 31, 2008, at 4:54 PM, Alex Ionescu wrote:
Wake the fuck up, this isn't Codeweavers (not saying this in a bad way) and you know very well that Wine wouldn't be where it is today without CW and Google.
CW and Google (read: $$$$$$) is what made Wine what it is today.
Read my reply to Marc -- I'm surprised you +1'ed this.
And this would be why I've been hounding you, my good Aleksey, to try and at least set down some guidelines for what we want accomplished at each milestone.
And a new thread will start - "Project leader sabotages DirectX development! Panic! ReactOS shutdown!". Oh, have we already had that drama?
Milestones will be set, there are some other things pending.
On Oct 31, 2008, at 6:18 PM, Zachary Gorden wrote:
And this would be why I've been hounding you, my good Aleksey, to try and at least set down some guidelines for what we want accomplished at each milestone.
Aleksey Bragin wrote:
This is the point where Maya mistakes most of all: ReactOS is an opensource and a FREE project. Managing and working in an opensource project is different.
Of course it's different. You can't expect people to work from 9 - 5 like in a company. I'm well aware of that. But why would it suddenly be a big no-no to employ the same tactics which make commercial projects such a success, like proper management, a schedule to which people stick (with some more tolerance, of course) and in general a sense of professionalism and focus.
We can't compare ReactOS engineering technologies with Alcatel engineering technologies. Or with Microsoft technologies. But I try to keep the most valuable what we have in ReactOS, and what is lost in some other project which tries to provide Windows compatibility - freedom. And my intention is to keep this even after commercial ReactOS vendors appear.
As some may know, I've got my own software/R&D company and have some people working for me with expansions planned this and next year. I consider freedom to be the biggest asset as well. I want to me my employees feel at home, wanted and free to share their ideas. How ReactOS can offer more freedom I don't know. Heck, we even pay people :)
As for another question, by Marc or by Alexandru, there is no real development roadmap of ReactOS, the one on the website should actually be removed, since it's mostly incorrect.
Well, I guess that kind of settles it then. I'm willing to spend some of my spare time on a project I like, but only if I feel that my time is not wasted while following inefficient procedures and chasing devs because nobody bothers to write down implementation details (NT references != ROS implementation details. D'oh).
For now I'll finish the ROSE installer project, but after that I'm not sure what I'll do. Perhaps I'll put my own OS together based on *BSD or so, or fork ReactOS, or... we'll see ;)
At any rate I don't foresee ReactOS going anywhere soon within the next 5 years, and I don't want to be part of such a frustrating experience.
So long and thanks for the fish.
Maya
Wiadomość napisana w dniu 2008-10-31, o godz. 16:36, przez Maya Posch:
Of course it's different. You can't expect people to work from 9 - 5 like in a company. I'm well aware of that. But why would it suddenly be a big no-no to employ the same tactics which make commercial projects such a success, like proper management, a schedule to which people stick (with some more tolerance, of course) and in general a sense of professionalism and focus.
You have a very naive view of how software development in the corporational world out there really works. Just a hint: over 75% of commercial projects just plain fail completely.
➧ Marcin Dalecki ❖
And something close to 99% of FOSS projects. In the corporate world it's due to stupid managers, in the FOSS world due to lack of management.
Pick your poison?
Maya
Marcin Dalecki wrote:
Wiadomość napisana w dniu 2008-10-31, o godz. 16:36, przez Maya Posch:
Of course it's different. You can't expect people to work from 9 - 5 like in a company. I'm well aware of that. But why would it suddenly be a big no-no to employ the same tactics which make commercial projects such a success, like proper management, a schedule to which people stick (with some more tolerance, of course) and in general a sense of professionalism and focus.
You have a very naive view of how software development in the corporational world out there really works. Just a hint: over 75% of commercial projects just plain fail completely.
➧ Marcin Dalecki ❖
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
Generally, if you've written something that follows the NT specification and it doesn't work in ROS but does work in NT, then it's our fault and it's up to us to fix ROS so that what you wrote will work. You really shouldn't be hacking whatever you work on so that it works in ROS.
On Fri, Oct 31, 2008 at 11:50 AM, Alex Ionescu ionucu@videotron.ca wrote:
Thanks for choosing to completely ignore my e-mail :)
On 31-Oct-08, at 11:36 AM, Maya Posch wrote:
because nobody bothers to write down implementation details (NT references != ROS implementation details. D'oh).
Best regards, Alex Ionescu
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
Similar offers appear quite regularly, some people come out of nowhere, and start telling us - hey, you have a bad management, you don't have a business-plan, you don't have regular developers meeting, you don't demand work from developers regularly, you don't set priorities right - developers should work on XXX instead of YYY, because XXX is way more [some cool reason, usually referred to the future].
But please understand, I *know* how professional development is done, that was my main employment for the at least last 5 years.
Let's see your key sentence:
But why would it suddenly be a big no-no to employ the same tactics which make commercial projects such a success, like proper management, a schedule to which people stick (with some more tolerance, of course
"proper management" - I'm listening, what should be proper? "a schedule to which people stick" - all what I said went to nothing. What kind of schedule are you talkign about? If Klemens have exams, if Johannes have exams at different time, if Stefan is busy with school, if Alex can't answer my question because he works in another company. What can I demand from people? Set them deadlines? Blame them? A perfect way to loose developers, and a perfect way to unmotivate.
I recently had a similar talk with Arty, where I said that I immediately begin to hate any good task when someone demands completion from me (Z98 - that doesn't apply to you.. well... yet ;)).
So, any more offers how to make us better, rather than just saying facts that ReactOS should work better than Windows 7 now, and it works worse?
WBR, Aleksey.
On Oct 31, 2008, at 6:36 PM, Maya Posch wrote:
Aleksey Bragin wrote:
This is the point where Maya mistakes most of all: ReactOS is an opensource and a FREE project. Managing and working in an opensource project is different.
Of course it's different. You can't expect people to work from 9 - 5 like in a company. I'm well aware of that. But why would it suddenly be a big no-no to employ the same tactics which make commercial projects such a success, like proper management, a schedule to which people stick (with some more tolerance, of course) and in general a sense of professionalism and focus.
We can't compare ReactOS engineering technologies with Alcatel engineering technologies. Or with Microsoft technologies. But I try to keep the most valuable what we have in ReactOS, and what is lost in some other project which tries to provide Windows compatibility - freedom. And my intention is to keep this even after commercial ReactOS vendors appear.
As some may know, I've got my own software/R&D company and have some people working for me with expansions planned this and next year. I consider freedom to be the biggest asset as well. I want to me my employees feel at home, wanted and free to share their ideas. How ReactOS can offer more freedom I don't know. Heck, we even pay people :)
As for another question, by Marc or by Alexandru, there is no real development roadmap of ReactOS, the one on the website should actually be removed, since it's mostly incorrect.
Well, I guess that kind of settles it then. I'm willing to spend some of my spare time on a project I like, but only if I feel that my time is not wasted while following inefficient procedures and chasing devs because nobody bothers to write down implementation details (NT references != ROS implementation details. D'oh).
For now I'll finish the ROSE installer project, but after that I'm not sure what I'll do. Perhaps I'll put my own OS together based on *BSD or so, or fork ReactOS, or... we'll see ;)
At any rate I don't foresee ReactOS going anywhere soon within the next 5 years, and I don't want to be part of such a frustrating experience.
So long and thanks for the fish.
Maya
On Fri, Oct 31, 2008 at 3:13 PM, Aleksey Bragin aleksey@reactos.org wrote:
"proper management" - I'm listening, what should be proper? "a schedule to which people stick" - all what I said went to nothing. What kind of schedule are you talkign about? If Klemens have exams, if Johannes have exams at different time, if Stefan is busy with school, if Alex can't answer my question because he works in another company. What can I demand from people? Set them deadlines? Blame them? A perfect way to loose developers, and a perfect way to unmotivate.
Proper Management in FOSS is exactly what you've been doing and the core team have been doing. A laissez-faire method is the only way to go if you want rapid development. I for one hate threads like this because I fear you getting burned out or getting disenchanted and you've been a very good coordinator for the project. Please don't take my comments before as criticism of flaws, more like suggestive 'enhancements'.
Old arguments, but I'll dissect them again for the rookies:
On 31-Oct-08, at 9:39 AM, Marc Piulachs wrote:
If reactos is (and will probably be for a long time) a hobby OS is a consequence of our all-or-nothing strategy. ReactOS is trying to clone Windows as a whole inset of different OS based on the NT design like stated on the homepage. IMHO it's plain wrong because it's a very ambitious goal and it's even naive to think that 10+ part time developers can deliver a serious os to compete against the resources Microsoft or even Linux has. At current progress when we hit 1.0 will be too late for reactos , that simple.
Dave Cutler and his band of 12 delivered on that promise in 3 years.
I don't see why a group of 10+ *dedicated and focused* part-time developers couldn't do the same in 6, considering how much more we know about computers today and the fact we don't have to start from nearly scratch. It's already been 5 out of 6.
But ReactOS is not a team of "dedicated and focused" part-time developers.
Why not? Because they're not getting paid, and they have absolutely NO reason to help this project other that it's a hobby.
They have defintely much less reasons to listen to someone telling them how they should enjoy that hobby.
Imagine you're fishing, and someone comes to tell you "actually, you're part of a big lake-wide fishing project, and we already have too many trouts. We'd like you to fish salmon instead".
Yeah, f*ck off is likely the reply.
Do we need directx at this point? tenths of useless stubbed dlls ? 3 undergoing architecture ports? You name it. Don't take me wrong that's technically amazing but not an smart strategy if we don't want to become an eternal promising project in alpha state and nothing more.
As useless as I think DirectX is, it's the NUMBER ONE thing that will attract people to ReactOS.
Get StarCraft to run on an OS that doesn't even support multiple CPUs yet, and people will LOVE it. You could probably sell it to half of Korea by then.
Useless stubbed DLLs? They're not useless -- almost each one of them made one more little app work. Or a big app. Any of those apps could be what a company is wanting to run, and nothing else.
Three architecture ports? The 64-bit port has fixed dozens if not hundreds of header bugs and incorrect types. The ARM port completely re-architected parts of FreeLDR and the memory manager (even on x86) and also brought us a RAMdisk driver. The ARM port even uses a 100%- native ARC loader code compatible with WinLDR, that the x86 port could start using too. All those were important changes.
As a consequence of that ReactOS codebase has grown out of control. Any developer can pick any area of his interest, start working on it and then suddenly stop and start working on another thing.
Welcome to open source.
The current situation is that we have a monster with multiple legs but very few finished parts. IMHO we should better concentrate on a few key areas only (and I mean really few) and work all together in that direction to deliver something usable now , in a year timeframe , even if it's just a basic (but stable) kernel to run firefox on. I think it's better to give reactos a real world use now than deliver an NT5 clone in 5 years being optimistic.
And how do you get a bunch of people having fun into the same direction, for free, without the usage of mind-altering substances?
If you have a solution to that, as much as I love this project, for your own good, I recommend you publish a paper on it.
You're likely to win the Nobel prize for psychology.
And guess what, while 100% of interested parties will look at ReactOS right now and say "oooh, they almost have XXX working", if you focus on ONE goal as you say, then you'll have:
- 4-8% of interested parties looking at ROS and saying "Yay, XXX works!!" - 92-96% saying "Wtf, why didn't they work on YYY? I think YYY is way more important. This project has the wrong goals for me."
Pick your poison.
A few possible solutions to discuss:
- Redefine our target. We have a very end-user oriented website when
no users actually exist! currently we need developers not yet more fun, nice , but non productive users .
Wow, and I thought *I* was arrogant.
Those nice "useless" users are what provide your free advertising, which attracts companies and developers, you idiot.
If you take a brief look at our webpage the first impression is "wow! a free windows clone than runs mozilla and OpenOffice!!" but .. it's that what we have? I don't think so.. How many times has someone asked in the channel how to run office 2007 or complaining about ReactOS not installing into his brand new notebook .
Probably less than people have complained the same about Windows Vista.
IMHO we should turn into a more developer oriented community . Inset of promoting reactos as windows killer we may promote it as learning platform for IT students. As a great opportunity to study an alternative non unix microkernel OS design
Yeah, I tried doing that. Then Microsoft released the WDK to all faculty and students.
Hmm...would I rather...study some half-assed implementation of Windows, or would I rather get the official code from Microsoft, plus the CRK and official build tools. Hmmm...
.It will lead into more passionate productive people joining the project. Don't promote it in international user oriented events but on universities and collages, we can give speeches on our respective collages and promote it among teachers as learning vehicle.
Tried that too (see my Waterloo talk). Read what I just wrote above.
- Redefine short term goals and turn reactos into something usable
right now. Could be reactos interesting for the embedded market as a headless , well known Win32 API, tcp/ip enabled OS running on cheap x86 based hardware?
See the 100% vs 8% poison above.
- Defining a serious, closed , roadmap with realistic dates that
doesn't sound like joke, and enforce it.
See the 100% vs 8% poison above, plus the "enforcing rules on unpaid part-time students/volunteers" above.
Regards /Marc
From: "Daniel Reimer" reimer.daniel@freenet.de Sent: Friday, October 31, 2008 11:53 AM To: "ReactOS Development List" ros-dev@reactos.org Subject: Re: [ros-dev] Regarding documentation and attracting new developers
Maya Posch wrote:
I guess this is why ReactOS is going nowhere fast. If nobody is willing to see it as a viable project, even for commercialization, then it's not so surprising that no deadlines are ever met and attention from the public for what could be something even bigger than Linux (at least on the desktop) is at around the level of OSS OSs which are little more than hobby projects. Is ReactOS a hobby project? What is its goal? Is it intended to grow into something companies would use and where the ReactOS Foundation could provide paid support for? I don't see this happening right now.
For the time being I'll suspend most of my work on ReactOS. I'll only continue work on the installer project, partially because I can't let down the guys who work for me and partially because it's a generic enough installer that it could work for any other OS.
Maya
gedmurphy wrote:
Maya Posch wrote:
I don't know how the Windows internals work or even look like, this is my first time I'm working with them.
Then you're falling at the first hurdle. You can't work on ReactOS, especially at the level you are, without knowing Windows Internals religiously. You need to take a step back, put some time into learning the architecture _and_ how to program for the architecture. Only when you know this will you be in a position to write good code.
Stefan is an excellent example of this in practice. He came to ReactOS knowing little about NT. He put in the time and effort and learned the architecture (very quickly). He's now in a position read and understand the kernel and is making some valuable contributions.
If those people do not want to write documentation, fine, have someone else write the specifications and feed them those. Don't put them in charge as they clearly aren't thinking about the wellbeing of the project as a whole but only their small island.
Who? Who is going to write this documentation? Can you recommend anyone? Anyone with the knowledge to write it is more interested in coding. Are you volunteering, or do you want to pay someone to do it?
Impractical, insufficient and cop-out are words that come to mind. Sorry if I sound harsh, but this is among one of my many pet peeves ^_^
I've said it before and I'll say it again, even though people _hate_ this answer... A good programmer, with knowledge of NT doesn't need text. The design is already established, read Windows Internals 4th. The code is the fine, granular documentation.
As much as this may annoy you, there is absolutely no way to change this at the moment. This is open source.... It's not a great business model, but it's fun :)
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
Problem is that most people have a real life too and need to pay the bills at the month's end from something. As Ged said, this is a spare time and hobby project right now and it will be as long as you can't pay your food and bills from working on it. ROS is a really great project and I will never leave it for sure, like most here won't , but noone wants to become unemployed to be able to code way more on it. We already had some talk with commercial supporters who might fix this in the future and make paid devs possible, but sadly not yet. _______________________________________________ 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
Best regards, Alex Ionescu
Marc,
I'm one of the "non productive" users that you talk about. In this world there is a business concept called "networking." To put it short, you join a networking organization instead of advertising your market presence. People will find out that you exist and so, they may request your products/services or pass the word on.
Two stories are frequently told in business networking circles.
"You don't know who they know"
In short, some guy who advised large corporations on their finances, if I remember correctly, was looking for referrals. He was approached by a woman running a small flower shop who said "all right, what do you do?" and he answered something along the lines of "I work with people that you don't know and will never meet" and he turned away. The lady's clients were very big and wealthy corporate executives, her father in law was another rich executive, etc. She smiled (as mentioned in that book, "but she wasn't going to talk nicely about him").
"You don't know how well they know who they know"
This time it was about a gardener who said "I'll get you some referrals" to another such corporate gray-suit advisor. The latter kept thinking about the gardener being a peon, a digger in the dirt, not having leverage on his clients at all. In reality, the guy was respected by very rich executives' wives. He reportedly asked one of them if "what his advisor told him is correct" and he stated that the advisor told him about how to save with some legal tax cuts. The lady answered "hmm...that's interesting, I'll need to check, could you please tell me the name of your advisor again?"
In other words, Alex Ionescu is completely right. We, the monkeys, the cattle, refer you people to others like us, until Super Cow or Dexter's "Monkey" will hear about you and will want to invest.
On Fri, Oct 31, 2008 at 3:52 PM, Alex Ionescu ionucu@videotron.ca wrote:
Old arguments, but I'll dissect them again for the rookies:
On 31-Oct-08, at 9:39 AM, Marc Piulachs wrote:
If reactos is (and will probably be for a long time) a hobby OS is a consequence of our all-or-nothing strategy. ReactOS is trying to clone Windows as a whole inset of different OS based on the NT design like stated on the homepage. IMHO it's plain wrong because it's a very ambitious goal and it's even naive to think that 10+ part time developers can deliver a serious os to compete against the resources Microsoft or even Linux has. At current progress when we hit 1.0 will be too late for reactos , that simple.
Dave Cutler and his band of 12 delivered on that promise in 3 years.
I don't see why a group of 10+ *dedicated and focused* part-time developers couldn't do the same in 6, considering how much more we know about computers today and the fact we don't have to start from nearly scratch. It's already been 5 out of 6.
But ReactOS is not a team of "dedicated and focused" part-time developers.
Why not? Because they're not getting paid, and they have absolutely NO reason to help this project other that it's a hobby.
They have defintely much less reasons to listen to someone telling them how they should enjoy that hobby.
Imagine you're fishing, and someone comes to tell you "actually, you're part of a big lake-wide fishing project, and we already have too many trouts. We'd like you to fish salmon instead".
Yeah, f*ck off is likely the reply.
Do we need directx at this point? tenths of useless stubbed dlls ? 3 undergoing architecture ports? You name it. Don't take me wrong that's technically amazing but not an smart strategy if we don't want to become an eternal promising project in alpha state and nothing more.
As useless as I think DirectX is, it's the NUMBER ONE thing that will attract people to ReactOS.
Get StarCraft to run on an OS that doesn't even support multiple CPUs yet, and people will LOVE it. You could probably sell it to half of Korea by then.
Useless stubbed DLLs? They're not useless -- almost each one of them made one more little app work. Or a big app. Any of those apps could be what a company is wanting to run, and nothing else.
Three architecture ports? The 64-bit port has fixed dozens if not hundreds of header bugs and incorrect types. The ARM port completely re-architected parts of FreeLDR and the memory manager (even on x86) and also brought us a RAMdisk driver. The ARM port even uses a 100%- native ARC loader code compatible with WinLDR, that the x86 port could start using too. All those were important changes.
As a consequence of that ReactOS codebase has grown out of control. Any developer can pick any area of his interest, start working on it and then suddenly stop and start working on another thing.
Welcome to open source.
The current situation is that we have a monster with multiple legs but very few finished parts. IMHO we should better concentrate on a few key areas only (and I mean really few) and work all together in that direction to deliver something usable now , in a year timeframe , even if it's just a basic (but stable) kernel to run firefox on. I think it's better to give reactos a real world use now than deliver an NT5 clone in 5 years being optimistic.
And how do you get a bunch of people having fun into the same direction, for free, without the usage of mind-altering substances?
If you have a solution to that, as much as I love this project, for your own good, I recommend you publish a paper on it.
You're likely to win the Nobel prize for psychology.
And guess what, while 100% of interested parties will look at ReactOS right now and say "oooh, they almost have XXX working", if you focus on ONE goal as you say, then you'll have:
- 4-8% of interested parties looking at ROS and saying "Yay, XXX
works!!"
- 92-96% saying "Wtf, why didn't they work on YYY? I think YYY is way
more important. This project has the wrong goals for me."
Pick your poison.
A few possible solutions to discuss:
- Redefine our target. We have a very end-user oriented website when
no users actually exist! currently we need developers not yet more fun, nice , but non productive users .
Wow, and I thought *I* was arrogant.
Those nice "useless" users are what provide your free advertising, which attracts companies and developers, you idiot.
If you take a brief look at our webpage the first impression is "wow! a free windows clone than runs mozilla and OpenOffice!!" but .. it's that what we have? I don't think so.. How many times has someone asked in the channel how to run office 2007 or complaining about ReactOS not installing into his brand new notebook .
Probably less than people have complained the same about Windows Vista.
IMHO we should turn into a more developer oriented community . Inset of promoting reactos as windows killer we may promote it as learning platform for IT students. As a great opportunity to study an alternative non unix microkernel OS design
Yeah, I tried doing that. Then Microsoft released the WDK to all faculty and students.
Hmm...would I rather...study some half-assed implementation of Windows, or would I rather get the official code from Microsoft, plus the CRK and official build tools. Hmmm...
.It will lead into more passionate productive people joining the project. Don't promote it in international user oriented events but on universities and collages, we can give speeches on our respective collages and promote it among teachers as learning vehicle.
Tried that too (see my Waterloo talk). Read what I just wrote above.
- Redefine short term goals and turn reactos into something usable
right now. Could be reactos interesting for the embedded market as a headless , well known Win32 API, tcp/ip enabled OS running on cheap x86 based hardware?
See the 100% vs 8% poison above.
- Defining a serious, closed , roadmap with realistic dates that
doesn't sound like joke, and enforce it.
See the 100% vs 8% poison above, plus the "enforcing rules on unpaid part-time students/volunteers" above.
Regards /Marc
From: "Daniel Reimer" reimer.daniel@freenet.de Sent: Friday, October 31, 2008 11:53 AM To: "ReactOS Development List" ros-dev@reactos.org Subject: Re: [ros-dev] Regarding documentation and attracting new developers
Maya Posch wrote:
I guess this is why ReactOS is going nowhere fast. If nobody is willing to see it as a viable project, even for commercialization, then it's not so surprising that no deadlines are ever met and attention from the public for what could be something even bigger than Linux (at least on the desktop) is at around the level of OSS OSs which are little more than hobby projects. Is ReactOS a hobby project? What is its goal? Is it intended to grow into something companies would use and where the ReactOS Foundation could provide paid support for? I don't see this happening right now.
For the time being I'll suspend most of my work on ReactOS. I'll only continue work on the installer project, partially because I can't let down the guys who work for me and partially because it's a generic enough installer that it could work for any other OS.
Maya
gedmurphy wrote:
Maya Posch wrote:
I don't know how the Windows internals work or even look like, this is my first time I'm working with them.
Then you're falling at the first hurdle. You can't work on ReactOS, especially at the level you are, without knowing Windows Internals religiously. You need to take a step back, put some time into learning the architecture _and_ how to program for the architecture. Only when you know this will you be in a position to write good code.
Stefan is an excellent example of this in practice. He came to ReactOS knowing little about NT. He put in the time and effort and learned the architecture (very quickly). He's now in a position read and understand the kernel and is making some valuable contributions.
If those people do not want to write documentation, fine, have someone else write the specifications and feed them those. Don't put them in charge as they clearly aren't thinking about the wellbeing of the project as a whole but only their small island.
Who? Who is going to write this documentation? Can you recommend anyone? Anyone with the knowledge to write it is more interested in coding. Are you volunteering, or do you want to pay someone to do it?
Impractical, insufficient and cop-out are words that come to mind. Sorry if I sound harsh, but this is among one of my many pet peeves ^_^
I've said it before and I'll say it again, even though people _hate_ this answer... A good programmer, with knowledge of NT doesn't need text. The design is already established, read Windows Internals 4th. The code is the fine, granular documentation.
As much as this may annoy you, there is absolutely no way to change this at the moment. This is open source.... It's not a great business model, but it's fun :)
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
Problem is that most people have a real life too and need to pay the bills at the month's end from something. As Ged said, this is a spare time and hobby project right now and it will be as long as you can't pay your food and bills from working on it. ROS is a really great project and I will never leave it for sure, like most here won't , but noone wants to become unemployed to be able to code way more on it. We already had some talk with commercial supporters who might fix this in the future and make paid devs possible, but sadly not yet. _______________________________________________ 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
Best regards, Alex Ionescu
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
A few comments under your own words
Do we need directx at this point? tenths of useless stubbed dlls ? 3 undergoing architecture ports? You name it. Don't take me wrong that's technically amazing but not an smart strategy if we don't want to become an eternal promising project in alpha state and nothing more.
As useless as I think DirectX is, it's the NUMBER ONE thing that will attract people to ReactOS.
Get StarCraft to run on an OS that doesn't even support multiple CPUs yet, and people will LOVE it. You could probably sell it to half of Korea by then.
Of course! Anyone said having DirectX support is bad for reactos , like having a SMB implementation or a printing subsystem or any other major feature any modern OS has , but what's the effort required (man hours or $$$) to implement such features? . I was just talking about priorities. I see you like metaphors. Imagine we are building a car and someone is working on a ultra HI-FI stereo system when the car has only three wheels and burns in fire after driving it for 5 minutes . Doesn't sound too smart spending so much time working on the stero just because every body likes listening to music while driving.
Useless stubbed DLLs? They're not useless -- almost each one of them made one more little app work. Or a big app. Any of those apps could be what a company is wanting to run, and nothing else.
Three architecture ports? The 64-bit port has fixed dozens if not hundreds of header bugs and incorrect types. The ARM port completely re-architected parts of FreeLDR and the memory manager (even on x86) and also brought us a RAMdisk driver. The ARM port even uses a 100%- native ARC loader code compatible with WinLDR, that the x86 port could start using too. All those were important changes.
Yeah, please , look at the moon and not my finger. Everybody agrees that having ports is great! twenty better than three , but again I was talking about improving project's ultra limited resources.
As a consequence of that ReactOS codebase has grown out of control. Any developer can pick any area of his interest, start working on it and then suddenly stop and start working on another thing.
Welcome to open source.
The current situation is that we have a monster with multiple legs but very few finished parts. IMHO we should better concentrate on a few key areas only (and I mean really few) and work all together in that direction to deliver something usable now , in a year timeframe , even if it's just a basic (but stable) kernel to run firefox on. I think it's better to give reactos a real world use now than deliver an NT5 clone in 5 years being optimistic.
And how do you get a bunch of people having fun into the same direction, for free, without the usage of mind-altering substances?
If you have a solution to that, as much as I love this project, for your own good, I recommend you publish a paper on it.
You're likely to win the Nobel prize for psychology.
I may be likely to win the Novel for psychology prize but you probably too.
Different people has different motivations , for some people is money , for others are challanges , some want to have fun while others have philosophical motivations.
And guess what, while 100% of interested parties will look at ReactOS right now and say "oooh, they almost have XXX working", if you focus on ONE goal as you say, then you'll have:
- 4-8% of interested parties looking at ROS and saying "Yay, XXX
works!!"
- 92-96% saying "Wtf, why didn't they work on YYY? I think YYY is way
more important. This project has the wrong goals for me."
Pick your poison.
You are talking about a nearly finished product that as far as I know is not the case , I'm talking about today when we got a 100% parties saying "Ohh nice features but can't use it for anything in real life because nothing really works" . I agree with long term goals (having a Windows like OS) but I think these features could be implemented in an incremental manner. In other words , lowering features for a 1.0 release.
A few possible solutions to discuss:
- Redefine our target. We have a very end-user oriented website when
no users actually exist! currently we need developers not yet more fun, nice , but non productive users .
Wow, and I thought *I* was arrogant.
Those nice "useless" users are what provide your free advertising, which attracts companies and developers, you idiot.
I see It's a very effective way to attract companies we currently have like ... ehmm ... err .. well, too large list to name only a few
If you take a brief look at our webpage the first impression is "wow! a free windows clone than runs mozilla and OpenOffice!!" but .. it's that what we have? I don't think so.. How many times has someone asked in the channel how to run office 2007 or complaining about ReactOS not installing into his brand new notebook .
Probably less than people have complained the same about Windows Vista.
IMHO we should turn into a more developer oriented community . Inset of promoting reactos as windows killer we may promote it as learning platform for IT students. As a great opportunity to study an alternative non unix microkernel OS design
Yeah, I tried doing that. Then Microsoft released the WDK to all faculty and students.
Hmm...would I rather...study some half-assed implementation of Windows, or would I rather get the official code from Microsoft, plus the CRK and official build tools. Hmmm...
.It will lead into more passionate productive people joining the project. Don't promote it in international user oriented events but on universities and collages, we can give speeches on our respective collages and promote it among teachers as learning vehicle.
Tried that too (see my Waterloo talk). Read what I just wrote above.
- Redefine short term goals and turn reactos into something usable
right now. Could be reactos interesting for the embedded market as a headless , well known Win32 API, tcp/ip enabled OS running on cheap x86 based hardware?
See the 100% vs 8% poison above.
- Defining a serious, closed , roadmap with realistic dates that
doesn't sound like joke, and enforce it.
See the 100% vs 8% poison above, plus the "enforcing rules on unpaid part-time students/volunteers" above.
Regards /Marc
From: "Daniel Reimer" reimer.daniel@freenet.de Sent: Friday, October 31, 2008 11:53 AM To: "ReactOS Development List" ros-dev@reactos.org Subject: Re: [ros-dev] Regarding documentation and attracting new developers
Maya Posch wrote:
I guess this is why ReactOS is going nowhere fast. If nobody is willing to see it as a viable project, even for commercialization, then it's not so surprising that no deadlines are ever met and attention from the public for what could be something even bigger than Linux (at least on the desktop) is at around the level of OSS OSs which are little more than hobby projects. Is ReactOS a hobby project? What is its goal? Is it intended to grow into something companies would use and where the ReactOS Foundation could provide paid support for? I don't see this happening right now.
For the time being I'll suspend most of my work on ReactOS. I'll only continue work on the installer project, partially because I can't let down the guys who work for me and partially because it's a generic enough installer that it could work for any other OS.
Maya
gedmurphy wrote:
Maya Posch wrote:
I don't know how the Windows internals work or even look like, this is my first time I'm working with them.
Then you're falling at the first hurdle. You can't work on ReactOS, especially at the level you are, without knowing Windows Internals religiously. You need to take a step back, put some time into learning the architecture _and_ how to program for the architecture. Only when you know this will you be in a position to write good code.
Stefan is an excellent example of this in practice. He came to ReactOS knowing little about NT. He put in the time and effort and learned the architecture (very quickly). He's now in a position read and understand the kernel and is making some valuable contributions.
If those people do not want to write documentation, fine, have someone else write the specifications and feed them those. Don't put them in charge as they clearly aren't thinking about the wellbeing of the project as a whole but only their small island.
Who? Who is going to write this documentation? Can you recommend anyone? Anyone with the knowledge to write it is more interested in coding. Are you volunteering, or do you want to pay someone to do it?
Impractical, insufficient and cop-out are words that come to mind. Sorry if I sound harsh, but this is among one of my many pet peeves ^_^
I've said it before and I'll say it again, even though people _hate_ this answer... A good programmer, with knowledge of NT doesn't need text. The design is already established, read Windows Internals 4th. The code is the fine, granular documentation.
As much as this may annoy you, there is absolutely no way to change this at the moment. This is open source.... It's not a great business model, but it's fun :)
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
Problem is that most people have a real life too and need to pay the bills at the month's end from something. As Ged said, this is a spare time and hobby project right now and it will be as long as you can't pay your food and bills from working on it. ROS is a really great project and I will never leave it for sure, like most here won't , but noone wants to become unemployed to be able to code way more on it. We already had some talk with commercial supporters who might fix this in the future and make paid devs possible, but sadly not yet. _______________________________________________ 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
Best regards, Alex Ionescu
Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev
/Regards
Marc Piulachs marc.piulachs@live.com napsal:
Of course! Anyone said having DirectX support is bad for reactos , like having a SMB implementation or a printing subsystem or any other major feature any modern OS has , but what's the effort required (man hours or $$$) to implement such features? . I was just talking about priorities. I see you like metaphors. Imagine we are building a car and someone is working on a ultra HI-FI stereo system when the car has only three wheels and burns in fire after driving it for 5 minutes . Doesn't sound too smart spending so much time working on the stero just because every body likes listening to music while driving.
Well maybe the guy wants to work on the HI-FI and nothing else 'cos he can't / don't want to. So what's better? I say burning car with HI-FI is better than the one without it. At least you can listen to some fancy music while burning to death.
Regards, Kamil
Marc Piulachs wrote:
Imagine we are building a car and someone is working on a ultra HI-FI stereo system when the car has only three wheels and
burns
in fire after driving it for 5 minutes . Doesn't sound too smart spending
so
much time working on the stero just because every body likes listening to music while driving.
But unless you're going to employ people, you can't force them to work on the 4th wheel or the fire hazard. People don't come here to be bossed around, they come here for fun.
Take away the fun, lose the devs.
It's better to have 20 devs working on things that interest them, than trying to force them to work on certain things and ending up with 0 devs.
Ged.
The only documentation I am actually missing is doxygen or something comparable and up to date. Maybe someone could get something up and running again?
Timo
Alex and you are absolutely right , I haven't expressed right , I didn't wanted to say that non developer users are not important, so I shouldn't have used words like "non productive" or useless. It's great to create a community around reactos. What I really wanted to say is that IMHO we should change the message our current website has because reactos is far from being finished and there is no product a non tech user could be interested on even trying.. it can even create a negative and disappointing image to the average user seeing screenshots of an OS running Firefox , Office or OO to download and discover than in just a mirage.
Talking about networking in a marketing conference someone was talking about how a negative opinion from someone affect other 7 persons around him. If we sent a wrong message in our website or an unreal image some users may be disappointed and it can turn against us.
I apologize if I offended anyone.
/Regards
Marc
From: Alexandru Lovin Sent: Friday, October 31, 2008 3:33 PM To: ReactOS Development List Subject: Re: [ros-dev] Regarding documentation and attracting new developers
Marc,
I'm one of the "non productive" users that you talk about. In this world there is a business concept called "networking." To put it short, you join a networking organization instead of advertising your market presence. People will find out that you exist and so, they may request your products/services or pass the word on.
Two stories are frequently told in business networking circles.
"You don't know who they know"
In short, some guy who advised large corporations on their finances, if I remember correctly, was looking for referrals. He was approached by a woman running a small flower shop who said "all right, what do you do?" and he answered something along the lines of "I work with people that you don't know and will never meet" and he turned away. The lady's clients were very big and wealthy corporate executives, her father in law was another rich executive, etc. She smiled (as mentioned in that book, "but she wasn't going to talk nicely about him").
"You don't know how well they know who they know"
This time it was about a gardener who said "I'll get you some referrals" to another such corporate gray-suit advisor. The latter kept thinking about the gardener being a peon, a digger in the dirt, not having leverage on his clients at all. In reality, the guy was respected by very rich executives' wives. He reportedly asked one of them if "what his advisor told him is correct" and he stated that the advisor told him about how to save with some legal tax cuts. The lady answered "hmm...that's interesting, I'll need to check, could you please tell me the name of your advisor again?"
In other words, Alex Ionescu is completely right. We, the monkeys, the cattle, refer you people to others like us, until Super Cow or Dexter's "Monkey" will hear about you and will want to invest.
On Fri, Oct 31, 2008 at 3:52 PM, Alex Ionescu ionucu@videotron.ca wrote:
Old arguments, but I'll dissect them again for the rookies:
On 31-Oct-08, at 9:39 AM, Marc Piulachs wrote:
If reactos is (and will probably be for a long time) a hobby OS is a consequence of our all-or-nothing strategy. ReactOS is trying to clone Windows as a whole inset of different OS based on the NT design like stated on the homepage. IMHO it's plain wrong because it's a very ambitious goal and it's even naive to think that 10+ part time developers can deliver a serious os to compete against the resources Microsoft or even Linux has. At current progress when we hit 1.0 will be too late for reactos , that simple.
Dave Cutler and his band of 12 delivered on that promise in 3 years.
I don't see why a group of 10+ *dedicated and focused* part-time developers couldn't do the same in 6, considering how much more we know about computers today and the fact we don't have to start from nearly scratch. It's already been 5 out of 6.
But ReactOS is not a team of "dedicated and focused" part-time developers.
Why not? Because they're not getting paid, and they have absolutely NO reason to help this project other that it's a hobby.
They have defintely much less reasons to listen to someone telling them how they should enjoy that hobby.
Imagine you're fishing, and someone comes to tell you "actually, you're part of a big lake-wide fishing project, and we already have too many trouts. We'd like you to fish salmon instead".
Yeah, f*ck off is likely the reply.
Do we need directx at this point? tenths of useless stubbed dlls ? 3 undergoing architecture ports? You name it. Don't take me wrong that's technically amazing but not an smart strategy if we don't want to become an eternal promising project in alpha state and nothing more.
As useless as I think DirectX is, it's the NUMBER ONE thing that will attract people to ReactOS.
Get StarCraft to run on an OS that doesn't even support multiple CPUs yet, and people will LOVE it. You could probably sell it to half of Korea by then.
Useless stubbed DLLs? They're not useless -- almost each one of them made one more little app work. Or a big app. Any of those apps could be what a company is wanting to run, and nothing else.
Three architecture ports? The 64-bit port has fixed dozens if not hundreds of header bugs and incorrect types. The ARM port completely re-architected parts of FreeLDR and the memory manager (even on x86) and also brought us a RAMdisk driver. The ARM port even uses a 100%- native ARC loader code compatible with WinLDR, that the x86 port could start using too. All those were important changes.
As a consequence of that ReactOS codebase has grown out of control. Any developer can pick any area of his interest, start working on it and then suddenly stop and start working on another thing.
Welcome to open source.
The current situation is that we have a monster with multiple legs but very few finished parts. IMHO we should better concentrate on a few key areas only (and I mean really few) and work all together in that direction to deliver something usable now , in a year timeframe , even if it's just a basic (but stable) kernel to run firefox on. I think it's better to give reactos a real world use now than deliver an NT5 clone in 5 years being optimistic.
And how do you get a bunch of people having fun into the same direction, for free, without the usage of mind-altering substances?
If you have a solution to that, as much as I love this project, for your own good, I recommend you publish a paper on it.
You're likely to win the Nobel prize for psychology.
And guess what, while 100% of interested parties will look at ReactOS right now and say "oooh, they almost have XXX working", if you focus on ONE goal as you say, then you'll have:
- 4-8% of interested parties looking at ROS and saying "Yay, XXX works!!" - 92-96% saying "Wtf, why didn't they work on YYY? I think YYY is way more important. This project has the wrong goals for me."
Pick your poison.
A few possible solutions to discuss:
- Redefine our target. We have a very end-user oriented website when
no users actually exist! currently we need developers not yet more fun, nice , but non productive users .
Wow, and I thought *I* was arrogant.
Those nice "useless" users are what provide your free advertising, which attracts companies and developers, you idiot.
If you take a brief look at our webpage the first impression is "wow! a free windows clone than runs mozilla and OpenOffice!!" but .. it's that what we have? I don't think so.. How many times has someone asked in the channel how to run office 2007 or complaining about ReactOS not installing into his brand new notebook .
Probably less than people have complained the same about Windows Vista.
IMHO we should turn into a more developer oriented community . Inset of promoting reactos as windows killer we may promote it as learning platform for IT students. As a great opportunity to study an alternative non unix microkernel OS design
Yeah, I tried doing that. Then Microsoft released the WDK to all faculty and students.
Hmm...would I rather...study some half-assed implementation of Windows, or would I rather get the official code from Microsoft, plus the CRK and official build tools. Hmmm...
.It will lead into more passionate productive people joining the project. Don't promote it in international user oriented events but on universities and collages, we can give speeches on our respective collages and promote it among teachers as learning vehicle.
Tried that too (see my Waterloo talk). Read what I just wrote above.
- Redefine short term goals and turn reactos into something usable
right now. Could be reactos interesting for the embedded market as a headless , well known Win32 API, tcp/ip enabled OS running on cheap x86 based hardware?
See the 100% vs 8% poison above.
- Defining a serious, closed , roadmap with realistic dates that
doesn't sound like joke, and enforce it.
See the 100% vs 8% poison above, plus the "enforcing rules on unpaid part-time students/volunteers" above.
Regards /Marc
From: "Daniel Reimer" reimer.daniel@freenet.de Sent: Friday, October 31, 2008 11:53 AM To: "ReactOS Development List" ros-dev@reactos.org Subject: Re: [ros-dev] Regarding documentation and attracting new developers
Maya Posch wrote:
I guess this is why ReactOS is going nowhere fast. If nobody is willing to see it as a viable project, even for commercialization, then it's not so surprising that no deadlines are ever met and attention from the public for what could be something even bigger than Linux (at least on the desktop) is at around the level of OSS OSs which are little more than hobby projects. Is ReactOS a hobby project? What is its goal? Is it intended to grow into something companies would use and where the ReactOS Foundation could provide paid support for? I don't see this happening right now.
For the time being I'll suspend most of my work on ReactOS. I'll only continue work on the installer project, partially because I can't let down the guys who work for me and partially because it's a generic enough installer that it could work for any other OS.
Maya
gedmurphy wrote:
Maya Posch wrote:
I don't know how the Windows internals work or even look like, this is my first time I'm working with them.
Then you're falling at the first hurdle. You can't work on ReactOS, especially at the level you are, without knowing Windows Internals religiously. You need to take a step back, put some time into learning the architecture _and_ how to program for the architecture. Only when you know this will you be in a position to write good code.
Stefan is an excellent example of this in practice. He came to ReactOS knowing little about NT. He put in the time and effort and learned the architecture (very quickly). He's now in a position read and understand the kernel and is making some valuable contributions.
If those people do not want to write documentation, fine, have someone else write the specifications and feed them those. Don't put them in charge as they clearly aren't thinking about the wellbeing of the project as a whole but only their small island.
Who? Who is going to write this documentation? Can you recommend anyone? Anyone with the knowledge to write it is more interested in coding. Are you volunteering, or do you want to pay someone to do it?
Impractical, insufficient and cop-out are words that come to mind. Sorry if I sound harsh, but this is among one of my many pet peeves ^_^
I've said it before and I'll say it again, even though people _hate_ this answer... A good programmer, with knowledge of NT doesn't need text. The design is already established, read Windows Internals 4th. The code is the fine, granular documentation.
As much as this may annoy you, there is absolutely no way to change this at the moment. This is open source.... It's not a great business model, but it's fun :)
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
Problem is that most people have a real life too and need to pay the bills at the month's end from something. As Ged said, this is a spare time and hobby project right now and it will be as long as you can't pay your food and bills from working on it. ROS is a really great project and I will never leave it for sure, like most here won't , but noone wants to become unemployed to be able to code way more on it. We already had some talk with commercial supporters who might fix this in the future and make paid devs possible, but sadly not yet. _______________________________________________ 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
Best regards, Alex Ionescu
_______________________________________________ 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