Hi Stephan,
As for help with your work on the USB stack. Don't you understand the simple fact that everyone had other stuff to do? I know it sucks if you need help, but that is the truth and it doesn't even mean that no one wants to help. For example, I read through all your code one day, but I simply didn't have anything to contribute/help. Now Michael is helping with USB. It has at least encouraged you to pick up work on the UBS stack again.
Thank you for reading through the code.
Wonderful! But how can you hold a grudge against anyone for not having drawn their attention towards USB before? It is like holding a grudge towards weather.
I'm not angry at a person. I just feel uncomfortable about what happened. But I won't go into it basically because it's something that doesn't matter. I was using USB to illustrate the point that there is a lacking open communication platform.
And one thing I found most untrue in your email is that of the open development process. How could it possibly be more open? Are you *seriously* not on the commit list? If you were, you would have known about Michaels USB progress at the same time as everyone else, right when it happened. When Michael temporarily had no internet access, he even went through the hassle and wrote a lengthy blog entry, just to keep everyone informed. He even posted to this list about it!! IIRC, you were the one doing your development in private, and not right in the repository.
I'll pick it up here again. Open Source Projects are not only about the product - the code - only. Open Source is a way of software development. It implies building up a community with several spheres (core developers, developers, testers, helpful users, whining users). This community is based on the free flow of information. But unfortunately, information, comparable to many concepts in physics, has the tendency to flow in a lot of directions instead of a central point. If there's no central point where core developers (like you) communicate, then it means that this project is based on a very dispersed information distributions system (a mix of the many lists, forums and private mails). This leads to a very difficult situation for happy enthusiastic newcomers that want to help. Imagine if I want to help with my general C/C++ skill set. Where do I go? To the mailinglist? I'd have to ask what needs to be done. The fact that I explicitly need to ask for information that's difficult to collect, proves that the information structure is too difficult.
I'd even like to put it this way: why do we/you still insist on keeping everything in teams? Haiku has big goals, but a small development team. Heck, there are cd-burning applications with a larger development teams. They use one mailing list, We've got like 10? Plus a whole range of forums (just to duplicate information). Keeping everything in teams is just plain overhead. If I want to do something, I'm bound to be referred to other places at least two times (one time to another mailinglist, then probably to a person who 'knows', but eventually doesn't seem to know, and I probably end up at axeld.). That's why a communications team is just plain silly. It will probably consist of one or two persons, who will get their own list, their own forum, while they just need to work with everybody else. Say it with me, *overhead*.
Haiku is a closed project, just because bits and pieces of information are everywhere. There are a few core developers that seem to know much (but not everything), probably because they hang out in all the forums and mailing lists. I made the false assumption that things were communicated on the admin list. I was wrong, I'm sorry. But it still means that the development process doesn't get the predicate community project.
And you mentioned "official word". Is it only official when Michael Phipps wrote it? Am I less official, even if I wrote the entire icon stuff? And by the way, Michael did post an email on the subject, stating that what I said was the official opinion (or something to that effect, because some other people asked as well).
I do not doubt your knowledge and comments on this topic, but I claim that in fact you have no authority. Michael might have, due to the history of this project, but in reality information is too much dispersed to create a single voice. Authority in Open Source means that information comes from established communication channels. Those channels are the platforms on which important things are centrally discussed. I'm not talking about whether the icon should be light blue or dark blue, that's a private mailing list or even a private mail, but I'm talking about the discussion on the icon contest. I applaud the discussion on the mailing list, because suddenly all kinds of people who have been sitting here quietly had the opportunity and the platform to _centrally_ communicate, since it seemed that the core developers weighed in as much as the 'lurkers'. But why was this idea started somewhere else? Why don't we have more of these discussions? Why is there a complete secondary communication going on on the web forums?
It's exactly this lack of central communication that keeps haiku from gaining development momentum. Over the years I've seen people trying to contribute things, but their efforts were lost and they disappeared. It's not the fault of a person, it's the fault of the fact that the division of the project into kits and teams seems to create a false assumption that there are actually teams of more than a few people.
I'm suggesting to fix this. Not only for the coding, but also to create a place where for example QA and artwork can be communicated by both inactive people that want to contribute and by the core developers who won't feel out of place because they are communicating outside their team.
I'm talking about opening up the development process.
Please, there certainly are things which can be improved. But please keep the discussion honest. (I mean to honestly analyse the cause of some things, and if one can even do something about them. And don't post untrue accusations.)
I apologize once again for calling the admin list a 'core-devel' list. It was a misinterpretation of the facts (you know the human mind). Luckily for me, my argumentation stands without this particular element, and I hope we can discuss it based on the ideas put forward in this mail.
Thank you,
Niels