Hi Zachary,
I have spent the last few months familiarizing myself with the base API and creating some sample projects. While I am relatively new to Genode, I had a few ideas during my initial exploration for areas to which I might contribute.
"First contact" is an interesting time, rich in impressions and creative suggestions indeed, as (I think) Norman has noted in the past, noting the need to encourage well-thought feedback from "fresh eyes".
Genode demo scenarios, and generally making Genode builds more reproducible.
Newbie-level question about the reproducible build concept: is it about making sure people using different build platforms/OS will still end up creating byte-for-byte identical binaries (so long as they build from the exact same source of course), so that one may "trust" a binary build just by comparing it with an upstream one ? Or is it about something else entirely ?
- Is anyone working on a build and/or runtime abstraction for system
composition?
I've seen several opinions on this between both extremes (change nothing/overhaul-all). I took the middle road with my perforce jam/mr build system that could be described as just "reducing the boilerplate a little", or maybe as "refactoring xml config creation a bit".. It's very spepcific to my project so might not serve as inspiration much or at all for other projects... Even on the (hypothetical) day when I'll finally clean it up and make it decent-looking *g*.
That jam-based system does work wonders for me in several ways, but I still find myself inefficient sometimes when dealing with routing sessions and such, so I'll keep an eye out watching for possible developments in the future, coming from genodians or the Genode team. To be honest, difficulties I face are due more to my brain being slow to 'grok' some thing, or simply making the same mistakes over and over again :-). But, imagining that later on something comes up that is useful both to newbies learning the ropes, *and* supposed experienced devs like me who are still slow on the intake (several years in), then why not ! This might not be a high priority item for the community currently, but sometimes a breakthrough is made even on things that were believed to be "not low hanging fruit/not worth the time" :-)
- Is there any ongoing or planned work toward formal verification of Genode
components (e.g., core, init, etc.)?
I seem to remember the Genode team experimenting with the Spark language a few years back, for one specific component, which would have allowed (IIRC) formal correctness checking of that component, and (if the concept worked well) could have been extended to others, but eventually abandoning that venue and sticking with C++. www.genodians.org should have it.
Also remember breathing a sigh of relief for selfish purposes (I have to build the toolchain from scratch, and building GCC is a lot of work already, without adding more on top) but feeling guilt about that sentiment *g*
Cedric