Hi everyone, as you probably are aware, I had an idea fail to win an Apache Lab spot recently.
Being the incurable optimistic realist that I am, I counted no -1's, one +1 vote, one committer who joined my project immediately, and the fact that the idea wrote itself in about 16 hours flat. So on balance, I think as ideas go, this is a pretty good one, and whilst Apache Lab technically failed for me, it is still a big fat profit in my book :-) It was also recently suggested that Apache Labs could do with some ideas. So, having some experience of the Apache Lab process, here is my personal frank take and lemonade recipe, in no particular order and without guarantee of validity. Enjoy the lemonade! :) =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= * People who are eligible to vote and the process Problem: Most of the Apache PMC's are busy, successful people and may not have much spare time and there are only 72 hours for them to find out, think about and approve an idea, and then X-mas weekend shopping + real life happens. Solution: Scrap the vote, the mechanics are too failure prone. An Apache Committer usually already has passed the community quality test as person who can partake constructively in the community, so, they can be trusted to use the Lab space productively if given a spot. If not, well, this can be dealt with on a case-by-case basis. Open up the Apache Lab committee and appoint some Lab Guardians from the wider community whose job it will be to facilitate the success of ideas gifted to us. * What is a 'quality' idea? One that survives the ensuing fight. It might start small and ugly, but it needs opinions to grow and find shape. A good idea can awe people into silence (what could I possible add? Will my critique look mean?). In that case, send praise! Even a bad idea can fire people up into joining the melee and at the end, the idea often has morphed into something totally different, and shines because it's been roughed up to a high polish. So, we can at best say 'I like', but, until the concept has been thoroughly worked on by the community, 'quality' is relative. Maybe we can define it best as 'quality ideas inspire people to participate in their formation process'. But, the process makes or breaks the idea, not the other way round. * Purpose of Apache Labs I see Apache Labs as a prelude to Incubator -- it should be the nest where the egg is laid before it can be placed for hatching. Problem: This currently isn't happening, the mailing list is very quiet, and part of the reason may be that Apache Labs can look like a 'tough gig' and people who are looking for a space to play, might be intimidated by seeing stuff get turned down. The initial stepping out and presentation is quite a fragile and worrying process and takes a lot of guts on part of the designer. Solution: Open up the playground. Invite & recruit --- the more the merrier. Apache Labs should be a noisy, lively place that is easy to enter, and could do with some guidance as to how the community should work ideas. I do not see it as problem that non Apache members may not commit, this is what the mailing list and patches are for, and if Lab does it's job correctly it also functions as an entry process for potential new committers who make friends in this informal place and hopefully get roped into existing Apache projects. Additional thought: Some ideas are spanning several projects and the originating project space may sometimes not be the right forum to test an idea because the audience may be not be diverse enough. Apache Labs should be that space where projects can share ideas of this kind with the rest of the community before deciding to take it into their space or perhaps homing it elsewhere. Also, if projects bring ideas to Lab and invite their members to go take a look, it will promote Lab in their communities and we'll get more visitors. * A culture for nurturing ideas An idea is always just a little bit of raw material. It can be smashed into pieces and new ideas can be built from the fragments. It can grow into something wonderful, or be a good demonstration of why we do not do things that way. It's a teacher. And, good teachers are always ready to deliver proof of what they claim when challenged. Of course this should and can be done politely, but in essence, the process of working an idea into shape is always contentious to some degree. It's like making sausages, the result is great, but the process is somewhat mucky and needs some rules because it's etiquette lies somewhat out of the normal social space, it's a melee by definition, but even melees have (and need) engagement rules. Hence, Apache Labs needs a statement how ideas should be treated by the community and we should have guidelines that help people make great omelettes whilst being careful to compost the shells to make new fertile compost to grow new stuff in. Apache Labs also needs a more cleared defined pathway of how to reach the goal of entering the Incubator. * People who design ideas Some designers only have one idea they've carefully worked a lot on, others are literally plagued by a torrent of them and just make nice sketches they want to show and share. Some want to keep control of their ideas, others are just happy to give them away. However, all those creative people all have one thing in common: every designer always defends their creation like a mother hen, because it's usually their heartfelt opinion and best effort of creating the shape that things should be. If it were not so, we would not have ideas! Some designers can fall into the trap of viewing their idea as a public litmus for their capability, and some people may feel they have a professional reputation to protect, and public failure feels uncomfortable. This dread is more pronounced in designers who are new to publishing their ideas, and it's totally natural and part of the growth process of a designer. A good culture will go a long way of making that daunting first step easy and comfortable to take. Apache Labs needs to be explicit about stating that an idea fail is not a personal failure, and that it's better to have an idea fail than not be presented, and that stepping out with the idea is a 'great job done' as is --- if an idea that is gifted to Apache Labs fails or succeeds, we all learn something valuable, but the community is the actual body that is collectively responsible for the outcome, and, win or lose, we all have part of the honour. Ideas command our respect, and part of this is creative destruction. * How to fail an Apache Lab idea gracefully and productively I view Apache Labs as an entry point to Incubator. It's where the egg is conceived, and formed --- it arrives as a tiny bit of DNA instruction (inspiration), grows into a big yolk(idea), the albumen (community) that will feed the embryo (project) is established , and a pretty shell is formed(shape) and finally the egg is laid, ready to be put into Incubator for hatching. The more eggs we produce, more successful the Incubator will be, and the more ASF will grow. Every idea we can win for our world is an addition to our treasure hoard and a valuable chance for us. We cannot and should not control the creative process too much, it has it's own momentum and at best we can facilitate the magic that happens, when it does. There are of course techniques for conjuring up this happy event, and using them enhances the chances =) Let ideas fail naturally in the ensuing melee, a Lab is just a space where things go *boom*, or serendipity turns mere mould into the saviour of humanity. It's a place where we discover things, not where already complete things are delivered, and it's impossible to evaluate an idea properly before it's been tested by the community. An idea has failed when it's not growing or not rebuilt into a new idea. This is a longish process and a community effort, after all, if the designer could go solo they would, but they come to Apache Lab to gather a community that turns their dream into reality. So, give every idea a year to be tested to destruction by all-comers, and if it hasn't made it to Incubator by then, we have our answer and it's time to run a script that vaults the idea's repository and stashes it into a zip file complete with all the mails it attracted, ready to be delivered back safely to it's designer. Automate that process -- a retired project can always be resurrected, but hard deadlines tend to motivate people to make pace because there is no 'manana' option. A failed idea also deserves an 'exit interview' in order to help the designer to grow their creation-fu, and perhaps to point them into a more productive direction, Apache Lab may just not be the right place for this particular creation, despite everyone giving it their very best shot. So, the exit process is where all Apache Lab guardians should give a frank assessment to the instigator, and this feedback should be the designers' document and he gets to decide which parts to publish on the Apache Lab mailing list. Some designers may publish the entire thing, others may want to keep it private. It's their personal reward for daring to step out into the lime light and gifting the Apache Community a toy to play with, and a pretty good consolation prize in it's own right. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Anyway, that's all the lemonade I got for now, I hope you liked my recipe, if you did, go find some lemons and try it out :) :) :) All the best, Gabriela -- Visit my Coding Diary: http://gabriela-gibson.blogspot.com/