Thanks for the comprehensive answer. I was already looking for coding conventions. That preferred style is actually fair, and it is important that everyone is in line and respect that. I also agree that goto is fair way to model exceptions in C language.
Couple of questions before I start hacking: 1. Is there any preferred way to post diffs? 2. Is there any preferred framework to write tests? 3. If I wrote a bit more code and there is need to separate it, is there any ready guidelines/templates for software modules, folder structure etc? 4. What kind of test suites are used to ensure that changes don't break thigs or causes bugs? I mean others that are found in sources. 5. What is the licence policy in toolchain? I mean, it is clear to me that platform itself conforms much as possible http://www.openbsd.org/policy.html but how about development tools which are used only to produce ISC code? Is the policy relaxed to allow then more restricted open source code? Let's say, GPL code in some verification tool or testsuite? >That question is unrelated to OpenBSD. The OpenBSD base system >does not contain any GUI API. Well, Xenocara does contain the >bare X11R6 API, but we certainly don't recommend using that for >application programming. >But i'm not aware of anybody developing a GUI >application *as an OpenBSD subproject*. Right. And I don't expect that anybody do that because there is no API for that in base system. To fully understand mindset correctly related to standards, licenses and contributions I use GUI API as an example: As we know, UNIX 98 workstation defines Motif and CDE. Nowadays possible to use because these are open sourced. Well, enough standard to me but no one want's to write that legacy, and that is LGPL. Not as nice ISC. However, OpenBSD default FVWM look is like Motif. Practically GTK+ 2 replaced it as a C-language, standard GUI API. Everyone used that because it was open source. Enough standard to me as it is defined in LSB. That was too LGPL. Coming GTK+ 4 replaces it to next fifteen years but when it is ready, probably no one else uses that then except Red Hat. Nowadays, GUI programming is usually not done using C. It is correct to say that ECMAScript is standard language for portable applications, using browser technology and native applications are written usually platform dependent APIs. And what is nice, Webkit is mostly BSD code. But it is also C++, which is ugly while rest of the base is C code. Assume that rich man appears, $700000 cash in briefcase and say: "I love your work and I will donate this pile of money to OpenBSD foundation, if you provide GUI API that is most appropriate, secure and practical for OpenBSD base." If offer is accepted, what is the preferred way to do the task? --- In terms of licensing, I don't think LGPL is as pure as ISC, but I can accept that to commercial product if BSD-style license won't cut. It may be even preferred to application programmer. -Matti