Hi,

(a bit longer reply or rather alternative. If you like, go directly at the end with suggested next steps)

On 22.10.2005, at 12:46, Gregory John Casamento wrote:

GNUstep has been relatively stagnant over the last several months and it has
become a cause for concern for me.


I am observing the same thing and realised few reasons (ordered how they comeunder my fingers on keyboard):

External issues:

1. GNUstep desperately lacks an attractor for developers
2. GNUstep lacks attractor for users (this adds to the impact on 1.)
3. adoption (first contact, first setup, first installation) of GNUstep is very difficult

Internal issues:
4. GNUstep has no project management, nor resources management, nor task management 5. GNUstep has no single achievable goal, neither short therm nor long term

You have already mentioned some solutions that I have removed from this email, as they are already being discussed. Your suggestions address mainly points 2,3 and somehow point 1. But there is still problem 4 and 5.

GNUstep developers and friends are pulling the rope on the same end, but to thousands of different directions :-) This reminds me a story for children by Czech writer Josef Capek in a book Of Dog and Cat. Dog (the dog) and Cat (the cat) wanted to bake a cake. They were putting in a pot everything they liked and they thought that would be good to have in the cake... "I like this, so I add it there" "Ok, that would be fine. I'll at that, because I like that and it is good" ... The cake was mixture only of "all good things", however at the end it was uneatable. We are baking similar cake too...

Lack of larger picture, roadmap and kind of management affects development. Also lack of requirements specifications is making development of GNUstep much difficult and slow. Potential developers do not know what should be implemented, not speaking about how it should be developed.

From management point of view, first step that should be done in GNUstep is detailed roadmap with very good task breakdown and expressend depencencies. For this I would suggest to either revive the 'Tasks' on savannah or use Wiki. With savannah one would have better task tracking, however on the wiki there would be better public visibility and accessibility, even it would be in a plain- text. I would vote for the wiki option.

Tasks should be laid in a tree-like structure with good breakdown. 'CORBA' is an example of very bad task. Yes, one should start with taks like 'Windows support', but then it should be broken into 'Installation', 'Pasteboard', 'UI', 'Distributed Objects', etc. It is still not enough, because neither current nor new developer would know, what should be implemented for 'pasteboard'. Therefore one who knows should write: 'implement handling of type XY this or that way'.

Now back to the project, people, resources and time. Many, if not all, core gnustep developers complain that they do not have time. Ok, me neither. But I ask: "WHO IS GOING TO IMPLEMENT MISSING GNUSTEP PARTS, IF THE ONLY KNOW-HOW HOLDER IS YOU?". Answer is: noone. Solution: GET THE KNOW HOW OUT OF YOUR HEAD AND SHARE IT!. Please, if every core developer was able to find just a little bit of time to write unordered bulleted list of his observations or knowledge about GNUstep that would be really helpful. And most importantly, write what is missing. GNUstep developers do not even know what they do not know, not to say that they do not know what they do not know and they need to know.

Sharing your knowledge about GNUstep is investment in time. Shared knowledge will decrease obscurity and therefore decrease entry barrier for potential developers.

From the management point of view, as open-source project has two major kinds of developers: voulentary ones and company developers. Voulentary developers do what they like to do. Company developers develop manily to satisfy company needs ignoring for them irrelevant parts. Very roughly speaking, of course. We all know, that main problem is lack of interested developers and time. Therefore the person with a role manager or leader in this case should allocate more resources for single task to decrease risk of non-implementation.

Please, do not underestimate the importance of good project and knowledge management in development process. If a project is open- source, it does not mean, that it should be only programming driven as it is widely thought...

Suggested next steps:

- create roadmap with breakdown do implementable and understandable tasks
- collect current knowledge
- learn what we do not know
- learn what we do not know and we need to know
- define project roles (and use person redundancy)
and last, but not least:
- observe and copy behaviour of successful players (*)


Regards,

Stefan Urbanek

(*) there are many inferior projects that have great success compared to their alternatives. If it is not in the "idea behind", then whay it is? Go, find out and apply to GNUstep. Reasons are various, including: community suppport, poject management, knowledge management, publicity and visibility ("if it is visible, it should be good, no?"), friendliness, openness, flashiness, coolness, colourfulness
--
http://stefan.agentfarms.net

First they ignore you, then they laugh at you, then they fight you, then you win.
- Mahatma Gandhi





_______________________________________________
Gnustep-dev mailing list
Gnustep-dev@gnu.org
http://lists.gnu.org/mailman/listinfo/gnustep-dev

Reply via email to