I'm going to qualify this post by first saying that I'm not anti-noob or particularly 'anti' anything else. Also, this post is not supposed to be a lament, or be particularly dictatorial, though no doubt it could be interpreted in those ways
![Wink ;)](./images/smilies/icon_wink.gif)
In relation to the quote from Jamarr, I think it's important to establish what we consider a “noob” to be – because I feel that, as with most other things, there are various levels of “noob”. It's very important to distinguish between people who are new to CEGUI and people who are new or inexperienced programmers in a more general sense. Obviously at some stage or other pretty much everyone has been a “noob” as far as CEGUI is concerned, this unavoidable and part and parcel of using any library or software of any type. I believe the distinction Jamarr was making was about the more general type of “noob”; the type of person who doesn't have a clue about much of anything, and in that context I agree with Jamarr. Those types of user are unlikely to ever be productive users or contributors to the project.
The original CEGUI was written to fill a need that I had. I thought that the library might be useful to others, and so I made it available as open source. That's pretty much it. I believe this is also the case with a lot of other open source too, people create things for their own needs and decide to share that with others – generally the developers don't “sign up” to spend hours writing documentation, writing tutorials or providing support. Now I'm not saying this is a good situation, in an ideal world all of these open source projects would have the resources of Microsoft; would have thousands of employees with teams writing documentation, teams writing tutorials and teams providing support. Unfortunately most open source originates from small teams or individuals who do not have the resources to provide that level of supporting material – these projects rely on community to assist in those areas (these are some of the 'contributions' Jamarr refers to).
Of course you are correct that nobody sets out to create a system that is complex or otherwise impenetrable. On the plus side, CEGUI does have API documentation and some tutorials. Admittedly these are far from perfect; at times the API reference is especially terse and could be improved with more examples and such. Generally when I work on CEGUI I will work on what interests me and what I think offers the best overall value for my time, usually this turns out to be something other than tutorials and documentation; I'd rather spend the time I contribute to CEGUI working on the code, fixing bugs, integrating new facilities and so on. I don't enjoy the support role, it grinds me down, gives me migraine and generally makes me lose the will to live – the fact that I try to do it anyway sometimes seems to get overlooked and unappreciated, with certain users demanding more, More, MORE!
Generally I think people have the “wrong idea” as to what open source is about. My own opinion is that expecting anything other than the source code is a mistake; that anything that you do get above and beyond the source code should be treated with a certain level of respect and appreciation – this probably comes from me having more affinity to those old school, advanced geeks in the basement than of the 'new wave' of programmers from the 1990s and onwards. I'll avoid getting into a discussion about the merits – or lack of – of Microsoft, and instead just say that generally I do not share your views. I'm not an anti-MS zealot, I think their keyboards and mice are very nice
![Wink ;)](./images/smilies/icon_wink.gif)
CE