<<<TOC / OBSAH  >>>ENCSEN/CSZVONP/T

9. Necessary Preconditions for the Bazaar Style

9. Nutné podmínky pro styl tržiště

Early reviewers and test audiences for this paper consistently raised questions about the preconditions for successful bazaar-style development, including both the qualifications of the project leader and the state of code at the time one goes public and starts to try to build a co-developer community. První čtenáři tohoto článku se neustále dotazovali na podmínky, které je třeba splnit pro úspěšný vývoj ve stylu tržiště. Ptali se, jaké musí mít kvality vůdce projektu a v jakém stavu musí být kód ve chvíli, kdy je zpřístupněn veřejnosti a snaží se získat další vývojáře.
It's fairly clear that one cannot code from the ground up in bazaar style. One can test, debug and improve in bazaar style, but it would be very hard to originate a project in bazaar mode. Linus didn't try it. I didn't either. Your nascent developer community needs to have something runnable and testable to play with. Je celkem jasné, že není možné programovat od počátku ve stylu tržiště. Je možné testovat, hledat chyby a vylepšovat na tržišti, ale bylo by velmi obtížné projekt zahájit ve stylu tržiště. Linus se o to nepokusil a já také ne. Vaše vznikající společenství vývojářů potřebuje něco, co může testovat a s čím si může hrát.
When you start community-building, what you need to be able to present is a plausible promise. Your program doesn't have to work particularly well. It can be crude, buggy, incomplete, and poorly documented. What it must not fail to do is convince potential co-developers that it can be evolved into something really neat in the foreseeable future. Když začnete hledat spolupracovníky, potřebujete jim představit uskutečnitelný cíl. Váš program nemusí pracovat příliš dobře, může být nepohodlný, obsahovat chyby a špatně dokumentován. Musí však přesvědčit budoucí vývojáře o tom , že se v dohledné budoucnosti může vyvinout v něco skutečně užitečného.
Linux and fetchmail both went public with strong, attractive basic designs. Many people thinking about the bazaar model as I have presented it have correctly considered this critical, then jumped from it to the conclusion that a high degree of design intuition and cleverness in the project leader is indispensable. Linux i fetchmail měly již v době prvého zpřístupnění silnou a atraktivní konstrukci. Mnoho lidí, kteří přemýšlejí o programování ve stylu tržiště, toto považují zcela správně za základ úspěchu. Z tohoto faktu však zbrkle docházejí k závěru, že další nutnou podmínkou je konstrukční intuice vedoucího projektu a jeho chytrost.
But Linus got his design from Unix. I got mine initially from the ancestral popclient (though it would later change a great deal, much more proportionately speaking than has Linux). So does the leader/coordinator for a bazaar-style effort really have to have exceptional design talent, or can he get by on leveraging the design talent of others? Linus ale převzal svoji konstrukci od Unixu a já tu svoji z předchůdce popclienta (ačkoliv ta se potom podstatně změnila, procentuálně vzato mnohem více než v případě Linuxu). Takže musí mít vedoucí/koordinátor pro projekt ve stylu tržiště neobyčejný konstrukční talent nebo mu stačí využívat talent ostatních?
I think it is not critical that the coordinator be able to originate designs of exceptional brilliance, but it is absolutely critical that the coordinator be able to recognize good design ideas from others. Já se domnívám, že není zcela nutné, aby koordinátor byl schopen tvořit dokonalé konstrukce, ale je naprosto nutné, aby byl schopen rozeznat dobré nápady ostatních.
Both the Linux and fetchmail projects show evidence of this. Linus, while not (as previously discussed) a spectacularly original designer, has displayed a powerful knack for recognizing good design and integrating it into the Linux kernel. And I have already described how the single most powerful design idea in fetchmail (SMTP forwarding) came from somebody else. Linux i fetchmail to potvrzují. Linus, ačkoliv není (jak jsme již diskutovali) neobyčejně originální konstruktér, prokázal svoji výbornou schopnost rozpoznat dobré nápady a integrovat je do jádra Linuxu. A já jsem již popsal, že s tím nejlepším nápadem ohledně fetchmailu (SMTP přesměrování) přišel někdo jiný.
Early audiences of this paper complimented me by suggesting that I am prone to undervalue design originality in bazaar projects because I have a lot of it myself, and therefore take it for granted. There may be some truth to this; design (as opposed to coding or debugging) is certainly my strongest skill. Moji první čtenáři se mi snažili podbízet tím, že tvrdili, že jsem náchylný podceňovat originalitu konstrukce u projektů tržiště, neboť já sám jsem jí obdařen, a proto ji považuji za samozřejmou. V tom může být něco pravdy, konstrukce (narozdíl od kódování nebo hledání chyb) je mojí nejsilnější stránkou.
But the problem with being clever and original in software design is that it gets to be a habit -- you start reflexively making things cute and complicated when you should be keeping them robust and simple. I have had projects crash on me because I made this mistake, but I managed not to with fetchmail. S originalitou při konstrukci programů je ale problém. Začnete podvědomě hledat původní a složitá řešení tam, kde je na místě použít něco robustního a jednoduchého. Některé mé projekty dříve selhali, protože jsem se dopustil podobných chyb, v případě fetchmailu se mi jich ale podařilo vyvarovat.
So I believe the fetchmail project succeeded partly because I restrained my tendency to be clever; this argues (at least) against design originality being essential for successful bazaar projects. And consider Linux. Suppose Linus Torvalds had been trying to pull off fundamental innovations in operating system design during the development; does it seem at all likely that the resulting kernel would be as stable and successful as what we have? Já se domnívám, že projekt fetchmail uspěl částečně proto, že jsem omezil svoje tendence hledat chytrá řešení. To ale argumentuje proti tvrzení o nutnosti originality v projektu ve stylu tržiště. A vezměte si Linux. Řekněme, že by se Linus Torvalds snažil zakomponovat originální nápady během vývoje systému. Je pravděpodobné, že by vzniklé jádro systému bylo tak stabilní a úspěšné?
A certain base level of design and coding skill is required, of course, but I expect almost anybody seriously thinking of launching a bazaar effort will already be above that minimum. The open-source community's internal market in reputation exerts subtle pressure on people not to launch development efforts they're not competent to follow through on. So far this seems to have worked pretty well. Je zapotřebí mít jistou úroveň konstrukčních schopností i programátorského umění, nicméně si myslím, že prakticky každý, kdo o něčem takovém uvažuje bude na patřičné úrovni. Vnitřní trh otevřeného společenství tlačí na všechny, aby nezačínaly projekty, které nejsou schopni uskutečnit. Dosud se zdá, že vše funguje.
There is another kind of skill not normally associated with software development which I think is as important as design cleverness to bazaar projects -- and it may be more important. A bazaar project coordinator or leader must have good people and communications skills. Existuje ale další schopnost, která se obvykle nespojuje s rozvojem software a která je stejně důležitá, jako je shopnost konstruovat, a možná ještě důležitější. Vedoucí projektu tržiště musí být schopný komunikovat a zacházet s lidmi.
This should be obvious. In order to build a development community, you need to attract people, interest them in what you're doing, and keep them happy about the amount of work they're doing. Technical sizzle will go a long way towards accomplishing this, but it's far from the whole story. The personality you project matters, too. To by mělo být samozřejmé. Abyste mohli stavět vývojářskou společnost, musíte přitáhnout lidi, získat jejich zájem o to, co děláte a snažit se, aby byli spokojení s prací, kterou dělají. Technické zapálení hodně pomáhá, ale zdaleka není vším. Vaše povaha je také důležitá.
It is not a coincidence that Linus is a nice guy who makes people like him and want to help him. It's not a coincidence that I'm an energetic extrovert who enjoys working a crowd and has some of the delivery and instincts of a stand-up comic. To make the bazaar model work, it helps enormously if you have at least a little skill at charming people. Není náhodné, že Linus je příjemný chlapík, kterého mají lidé rádi a chtějí mu pomoci. Není náhodné, že já jsem energický extrovert, který rád pracuje v davu a má některé instinkty a způsoby komika. Aby projekt ve stylu tržiště uspěl, velmi pomáhá, pokud dokážete alespoň trochu okouzlit lidi.

<<<TOC / OBSAH  >>>ENCSEN/CSZVONP/T