Back to site

Вытворчасць з адкрытым зыходным кодам (частка 2)

Выбар сістэмы кантролю версій

На момант напісання артыкула, двух найбольш папулярных сістэм кантролю версій у свеце вольнага праграмнага забеспячэння з'яўляюцца Concurrent Versions System (CVS, http://www.cvshome.org/ ) і Subversion (SVN, http://subversion.tigris.org/ ).

CVS была вакол на працягу доўгага часу. Большасць вопытных распрацоўшчыкаў, якія ўжо знаёмыя з ім, ён больш-менш тое, што вам трэба, і так як ён быў папулярны на працягу доўгага часу, вы, верагодна, не будзе ў канчатковым выніку ў любым доўгіх дэбатаў аб тым, ці варта гэта быў правільны выбар. CVS мае некаторыя недахопы, аднак. Ён не забяспечвае просты спосаб для абазначэння некалькіх файлаў зменаў, яна не дазваляе пераназываць або капіяваць файлы пад кантролем версій (так, калі вам трэба рэарганізаваць код дрэва пасля запуску праекта, ён можа быць рэальным боль), ён мае дрэнную зліцця падтрымкі, ён не апрацоўвае вялікія файлы ці бінарныя файлы вельмі добра, і некаторыя аперацыі павольна пры вялікай колькасці файлаў ўдзельнічаюць.

Ні адзін з недахопаў CVS з'яўляецца фатальным, і ён па-ранейшаму вельмі папулярныя. Аднак, у апошнія некалькі гадоў больш за апошнія Subversion стала заваёўваць пазіцыі, асабліва ў новых праектах. [ 15 ]. Калі вы пачынаеце новы праект, я рэкамендую Subversion.

З іншага боку, так як я ўдзельнічаю ў праекце Subversion, мая аб'ектыўнасць магла б быць разумна сумнеў. І ў апошнія некалькі гадоў колькасць новых кантролю версій сістэм адкрытага з'явіліся. Дадатак, бясплатная версія сістэмы кіравання пералічаны ўсе тыя, якія я ведаю, у грубым парадку папулярнасці. Як спісу ясна, прыняцце рашэнняў аб сістэме кантролю версій лёгка можа стаць пажыццёвае даследчы праект. Магчыма, вы будзеце пазбаўленыя рашэнне, таму што гэта будзе зроблена для вас ваш хостынг сайта. Але калі вы павінны выбраць, парайцеся з іншымі распрацоўшчыкамі, папытаеце, каб убачыць, што людзі маюць досвед працы з, а затым выбраць адзін і бегчы з ім. Любая стабільная, вытворчасць гатовай сістэмы кантролю версій будзе рабіць, вы не павінны занадта турбавацца аб тым, каб рэзка няправільнае рашэнне. Калі вы проста не можаце зрабіць свой розум, то ісці з Subversion. Гэта даволі лёгка вучыцца, і, верагодна, застанецца стандартнай, па меншай меры некалькі гадоў.

Выкарыстанне сістэмы кантролю версій

Рэкамендацыі, якія змяшчаюцца ў дадзеным раздзеле, не арыентавана на пэўную сістэму кантролю версій, і павінна быць просты для рэалізацыі ў любой з іх. Парайцеся з вашым канкрэтным сістэмы дакументацыі.

Версія ўсё

Трымайце не толькі вашага праекта зыходнага кода ў сістэму кіравання версіямі, а таксама яго вэб-старонак, дакументацыя, FAQ, дызайн нататкі, і ўсё астатняе, што людзі, магчыма, захочаце змяніць. Захоўвайце іх у непасрэднай блізкасці ад зыходнага кода, у тым жа сховішча дрэва. Любая інфармацыя варта запісваць варта версіямі, то ёсць любая інфармацыя, якая можа змяніць. Рэчы, якія не мяняюцца варта архіваваць, а не версій. Напрыклад, электронная пошта, раз размешчаны, не змяняецца, таму версіямі гэта не мела б сэнсу (калі толькі гэта становіцца часткай некаторай большай, стадыі распрацоўкі).

Прычына версіямі ўсе разам у адным месцы Важна, каб людзі толькі вывучыць адзін механізм для прадстаўлення змен. Часта укладчык будзе пачаць ўносіць змены на вэб-старонкі або дакументацыю, і пераехаць у невялікія ўнёскі код пазней, напрыклад. Калі праект выкарыстоўвае тую ж сістэму для ўсіх відаў матэрыялаў, людзі толькі павінны навучыцца вяроўкі раз. Версіі ўсе разам таксама азначае, што новыя магчымасці могуць быць здзейсненыя разам з іх абнаўлення дакументацыі, што галінаванне кода філіяла дакументацыі таксама, і г.д.

Не захоўваць створаныя файлы пад кантролем версій. Яны на самай справе не рэдагуемыя дадзеныя, паколькі яны вырабляюцца праграмна з іншых файлаў. Напрыклад, некаторыя сістэмы зборкі стварыць наладзіць на аснове шаблон configure.in. Каб унесці змены ў наладкі, можна было б змяніць configure.in, а затым рэгенерацыі, такім чынам, толькі шаблон configure.in з'яўляецца "рэдагуемы файл." Проста версіі шаблонаў, калі вы версія выніку файлы, а, людзі непазбежна забываем да рэгенерацыі, калі яны здзяйсняюць змены ў шаблон, і ў выніку неадпаведнасці не прывядзе да канца блытаніны. [ 16 ]

Правіла, што ўсе рэдагуемыя дадзеныя павінны быць пад кантролем версій мае адзін няшчасны выключэнне: памылка трэкера. Памылка базы дадзеных правесці мноства рэдагуемых дадзеных, але па тэхнічных прычынах наогул не могуць захоўваць гэтыя дадзеныя ў асноўнай сістэмы кантролю версій. (Некаторыя трэкеры ў прымітыўных версій асаблівасці іх ўласныя, аднак, незалежна ад асноўнай рэпазітар праекта.)

Browsability

рэпазітар праекту павінна быць даступным для прагляду ў Інтэрнеце. Гэта азначае не толькі магчымасць убачыць апошнія версіі файлаў праекта, але вярнуцца ў мінулае і паглядзець на больш ранніх версій, праглядаць адрозненні паміж версіямі, чытаць часопіс паведамленняў для асобных змяненняў і г.д.

Browsability важна, таму што гэта лёгкі партала да дадзеных праекта. Калі сховішча не можа быць прагледжаны праз вэб-браўзэр, то хто-то жадаючых праверыць канкрэтны файл (напрыклад, каб убачыць, калі пэўныя Выпраўленне зрабіў яго ў код) спачатку павінны ўсталяваць кантроль версій кліенцкага праграмнага забеспячэння на месцах, што можа ператварыць іх Просты запыт з двух хвілінах задачу на паўгадзіны або больш задач.

Browsability таксама мае на ўвазе кананічныя URL-адрасы для прагляду канкрэтных рэвізій файлаў, і для прагляду апошняга перагляду ў любы момант часу. Гэта можа быць вельмі карыснай у абмеркаванні тэхнічных пытанняў або пры навядзенні людзей да дакументацыі. Напрыклад, замест таго каб сказаць "Для прынцыпы кіравання памылка, гл community-guide/index.html файл у вашай рабочай копіі," можна сказаць "Для прынцыпы кіравання памылка, гл http://subversion.apache.org/docs/ абшчыны кіраўніцтва / ", даючы URL, які заўсёды паказвае на апошняй рэдакцыі community-guides/index.html файл. URL лепш, таму што гэта цалкам адназначная, і пазбягае пытанне аб тым, адрасат да сучаснай рабочай копіі.

Некаторыя сістэмы кіравання версіямі пастаўляюцца са ўбудаванай у сховішча-прагляд механізмаў, у той час як іншыя належаць на іншыя інструменты, каб зрабіць гэта. Тры такіх інструментаў Лепшы браўзэр ( http://viewvc.org/ ), CVSweb ( http://www.freebsd.org/projects/cvsweb.html ), і WebSVN ( http://websvn.tigris.org/ ). Першы працуе як з CVS і Subversion, другі з CVS толькі, а трэці з Subversion толькі.

Фіксацыя паведамленні

Кожны здзяйсняе ў сховішча павінна генерыраваць электроннай пошты паказаць, хто ўнёс змены, калі яны зрабілі гэта, якія файлы і каталогі змянілася, і як яны змяніліся. Электроннай пошты варта прыйсці ў адмысловы сьпіс рассылкі прысвечаны на здзяйсненне электроннай пошты, асобна ад рассылак, на якія паведамленні людзей. Распрацоўшчыкі і іншым зацікаўленым бакам варта заахвочваць, каб падпісацца на спіс робіць, так як гэта самы эфектыўны спосаб ісці ў нагу з тым, што адбываецца ў праекце на ўзроўні кода. Акрамя відавочных тэхнічных пераваг калегіяльнага агляду (гл. раздзел пад назвай "Практыка паказная Code Review" ), здзейсніць электроннай пошты дапаможа стварыць пачуццё агульнасці, так як яны ўсталёўваюць агульныя асяроддзя, у якой людзі могуць рэагаваць на падзеі (фіксацыі), што яны ведаюць, бачныя і іншыя.

Спецыфіка стварэння здзяйсняць электронныя лісты будуць адрознівацца ў залежнасці ад сістэмы кантролю версій, але звычайна ёсць сцэнар або іншых спакаваныя аб'екты за гэта. Калі ў вас узніклі праблемы з пошукам яго, паспрабуйце звярнуцца да дакументацыі на гаплікі, у прыватнасці, пасля здзяйснення кручок, званы таксама LOGINFO крук у CVS. Пасля здзяйснення гаплікі агульныя сродкі запуску аўтаматызаваных задач у адказ на здзяйсняе. Кручок выкліканая асобных здзейсніць, падаецца ўсю інфармацыю аб тым, што здзяйсняў, і затым свабодна выкарыстоўваць гэтую інфармацыю зрабіць што-небудзь, напрыклад, для адпраўкі электроннай пошты.

З гатовых здзейсніць сістэмы электроннай пошты, вы можаце змяніць некаторыя з паводзін па змаўчанні:

  1. Некаторыя з іх здзяйсняюць паштовыя праграмы не ўключаюць фактычныя змены "ў электронную пошту, але замест гэтага забяспечыць URL для прагляду змяненняў на вэб выкарыстаннем рэпазітара сістэмы прагляду. Хоць гэта добра, каб забяспечыць URL, так што змены могуць быць аднесены да больш позняга, гэта таксама вельмі важна, каб здзейсніць электроннай пошты ўключаюць параўнанні сябе. Чытанне электроннай пошты ўжо з'яўляецца часткай звычайных людзей, так што, калі ўтрыманне змены бачная прама ў здзяйсненне электроннай пошты, распрацоўшчыкі будуць разгледжаны здзейсніць на месцы, не выходзячы з паштовага кліента. Калі яны павінны націснуць на URL разгледзець змены, большасць з іх не будзе рабіць гэта, таму што гэта патрабуе новых дзеянняў, а не працяг таго, што яны ўжо робяць. Акрамя таго, калі рэцэнзент хоча што-то спытаць аб зменах, гэта значна лягчэй патрапіць адказаць-з-тэкст і проста каментаваць цытуе змен, чым гэта, каб наведаць вэб-старонку і карпатліва выразаць і ўстаўляць частцы змяненняў з вэб- браўзэр для паштовага кліента.

    (Вядома, калі зьменаў велізарны, напрыклад, калі вялікая колькасць новага кода быў дададзены ў сховішча, то мае сэнс апусціць адрозненняў і прапануем толькі URL. Большасць здзейсніць паштовыя праграмы могуць рабіць такога роду гранічных аўтаматычна . Калі ў вас не можа, то гэта яшчэ лепш ўключыць адрозненняў, і жыць з выпадковым велізарны электроннай пошце, чым пакідаць параўнанні з цалкам. Зручная агляду і каментаваньня з'яўляецца краевугольным каменем развіцця кааператыўнага руху, занадта важныя, каб абысціся.)

  2. Здзяйсняць электронныя лісты павінны ўсталяваць іх для адказу загаловак звычайны спіс развіццё, не здзяйсняюць спіс адрасоў электроннай пошты. Гэта значыць, калі хто-то водгукі здзейсніць і піша адказ, іх рэакцыя павінна быць аўтаматычна накіравана на чалавечае развіццё спіс, дзе тэхнічныя пытанні, як правіла, абмяркоўваюцца. Ёсць некалькі прычын для гэтага. Па-першае, вы хочаце захаваць усе тэхнічныя абмеркавання на адным спісе, таму што там людзі чакаюць, каб гэта адбылося, і таму, што шлях ёсць толькі адзін архіў для пошуку. Па-другое, можа быць зацікаўленымі бакамі не падпісаныя на здзяйсненне спіс адрасоў электроннай пошты. Па-трэцяе, здзяйсненне спіс адрасоў электроннай пошты рэкламуе сябе як сэрвіс для прагляду робіць, а не для прагляду і часам здзяйсняе тэхнічных абмеркаванняў. Тыя, хто падпісаўся на здзяйсненне спіс адрасоў электроннай пошты не падпісаў ні за што, але здзейсніць электронную пошту, адпраўка іх з дапамогай іншага матэрыялу, што спіс будзе парушаць сакрэтнага дагавора. Па-чацвёртае, людзі часта пішуць праграмы, якія чытаюць здзейсніць спіс адрасоў электроннай пошты і апрацоўкі вынікаў (для адлюстравання на вэб-старонкі, напрыклад). Гэтыя праграмы падрыхтаваныя да паслядоўна-фармаце здзяйсняць электронныя лісты, але не супярэчыць чалавечай напісаныя лісты.

    Звярніце ўвагу, што гэты савет ўсталяваць для адказу не супярэчыць рэкамендацыі ў раздзел пад назвай "Вялікая Адказ на дэбаты" раней у гэтай чале. Гэта заўсёды добра для адпраўніка паведамлення ўсталяваць для адказу. У гэтым выпадку адпраўнік сістэма кантролю версій сябе, і ён устанаўлівае адказ-у знак таго, што прыдатным месцам для адказаў спіс рассылкі для распрацоўшчыкаў, а не спіс фіксацыі.

Выкарыстоўвайце галіны, каб пазбегнуць вузкіх месцаў

Нумары для вопытных карыстальнікаў, кантролю версій, часам трохі баялася галінавання і зліцця. Верагодна, гэта пабочны эфект папулярнасці ў CVS: інтэрфейс CVS для галінавання і зліцця некалькі нелагічным, так шмат людзей навучыліся пазбягаць гэтых аперацый цалкам.

Калі вы належыце да ліку тых людзей, вырашаць прама цяпер, каб перамагчы любы страх вы, магчыма, і не спяшайцеся, каб даведацца, як зрабіць галінаванне і зліццё. Яны не складаныя аперацыі, як толькі вы абвыкнеце да іх, і яны становяцца ўсё больш важным, як праект набывае больш распрацоўнікаў.

Філіялы з'яўляюцца каштоўнымі, паколькі яны аказваюцца дэфіцытным рэсурсам рабочай пакоі ў праекце кодэкса, у багатай адзін. Як правіла, усё распрацоўшчыкі працуюць разам у адной пясочніцы, будаўніцтва ж замка. Калі хто-небудзь хоча, каб дадаць новы мост, але не можа пераканаць усіх астатніх, што гэта будзе паляпшэнне, галінаванне дазваляе ёй ісці ў ізаляваных кут і паспрабаваць яго. Калі намаганні паспяхова, яна можа прапанаваць іншым распрацоўнікам вывучыць вынік. Калі ўсё згодныя, што вынік добры, яны могуць сказаць, сістэма кантролю версій для перамяшчэння ("зліццё") пад'ёмны мост з філіяла замка да асноўнай замак.

Гэта лёгка ўбачыць, як гэтая здольнасць дапамагае сумеснай распрацоўкі. Людзі маюць патрэбу ў свабодзе, каб паспрабаваць новыя рэчы, не адчуваючы сябе, як быццам яны ўмяшання ў работу іншых. Не менш важна, Ёсць моманты, калі код павінен быць ізаляваны ад звычайнага развіцця маслабойку, каб атрымаць Выпраўлена памылка або выпуск стабілізаваўся (гл. раздзел пад назвай "Стабілізацыя рэлізу" і частку пад назвай "Захаванне некалькіх рэлізу лініі" ў Кіраўнік 7, Упакоўка, вызваленнем і штодзённая развіцця ), не турбуючыся аб удасканаленьні рухаецца мэты.

Выкарыстоўвайце галіны лібэральна, і заахвочваць іншых да іх выкарыстанню. Але таксама пераканацца, што дадзеная галіна з'яўляецца адзіным актыўным роўна столькі, колькі неабходна. Кожны актыўны Аддзяленне невялікае знясіленне увагі супольнасці. Нават тыя, хто не працуе ў аддзяленні па-ранейшаму падтрымліваць перыферычнай разуменне таго, што адбываецца ў ім. Такая дасведчанасць пажадана, вядома, і здзяйсняць электронныя лісты павінны быць накіраваны для філіяла здзяйсняе як і для любога іншага здзейсніць. Але галіны не павінны стаць механізмам для падзелу развіцця супольнасці. За рэдкімі выключэннямі, канчатковай мэтай большасці галін павінны быць аб'яднаць свае змены назад у галоўную лінію і знікаюць.

Singularity інфармацыі

Зліццё мае важнае следства: ніколі не рабіць тыя ж змены ў два разы. Гэта значыць, дадзенае змяненне павінна ўвайсці ў сістэму кантролю версій толькі адзін раз. Перагляду (або набор зменаў), у якіх змены ўступілі з'яўляецца яго ўнікальны ідэнтыфікатар, з тых часоў. Калі ён павінен быць ужыты да іншых галінах, чым той, на якім ён увайшоў, то яна павінна быць аб'яднаная з першапачатковай кропкі ўваходу ў гэтыя іншыя месцы, у адрозненне ад здзяйснення ідэнтычны тэксту змен, якія будуць мець той жа эфект у кодзе , але зрабіць дакладны бухгалтарскі ўлік і кіраванне выпускам немагчыма.

Практычныя наступствы гэтага савета адрозніваюцца адзін ад сістэмы кантролю версій на іншую. У некаторых сістэмах, зліваецца спецыяльныя падзеі, прынцыпова выдатнай ад фіксацыі, і ажыццяўляць свае ўласныя метададзеныя з імі. У іншых краінах, вынікі зліцця здзяйсняюцца так жа іншыя змены фіксуюцца, таму асноўным сродкам вызначэньня "зліцця здзейсніць" з "новых змен здзейсніць" ў паведамленне часопіса. У зліццё ў паведамленне часопіса, не паўтарайце паведамленні часопіса з арыгінальнага змены. Замест гэтага, проста пазначце, што гэта зліццё, і даць вызначэнне перагляду арыгінальныя змены, з не больш чым адно прапанову рэзюмэ сваё дзеянне. Калі хто-небудзь хоча бачыць поўнае паведамленне часопіса, яна павінна звярнуцца да першапачатковай рэвізіі.

Прычыне важна, каб пазбегнуць паўтору паведамленне часопіса з'яўляецца тое, што паведамленні часопіса часам рэдакцыяй пасля таго як яны былі здзейсненыя. Калі паведамленне часопіса змены былі паўтараецца на кожным зліцця прызначэння, то нават калі хто-то рэдагаваў зыходнае паведамленне, яна па-ранейшаму пакінуць усё паўтараецца неисправленный-які б толькі прывесці да блытаніны ў будучыні.

Той жа прынцып адносіцца і да вяртаючыся змены. Калі змены выведзеныя з кода, то паведамленне часопіса для вяртання павінен быць проста, што некаторыя канкрэтныя версія (ы) ў цяперашні час вярнуліся, не апісвае рэальнай змены кода, што вынікі ад рэверс, так як семантыка старонка можа быць атрымоўваныя чытанне зыходнага паведамленні часопіса і змены. Вядома, паведамленне часопіса вяртанне павінна таксама ўказаць прычыну, чаму змены ў цяперашні час вярнулася, але ён не павінен дубляваць што-небудзь з паведамлення часопіса арыгінальнае змяненне ў. Калі гэта магчыма, вярнуцца назад і адрэдагаваць паведамленне часопіса арыгінальныя змены, каб паказаць, што яна была адноўлена.

Усё вышэй вынікае, што вы павінны выкарыстоўваць паслядоўны сінтаксіс спасылаючыся на змены. Гэта карысна не толькі ў часопіс паведамленняў, але ў целе ліста, памылка трэкера, і ў іншых месцах. Калі вы карыстаецеся CVS, я прапаную "шлях / да / файла / ў / праект / дрэва: REV", дзе REV гэта нумар рэвізіі CVS, такія як "1,76". Калі вы выкарыстоўваеце Subversion, стандартны сінтаксіс для перагляду 1729 з'яўляецца "r1729" (шляхі да файлаў не патрэбныя, паколькі Subversion выкарыстоўвае глабальныя нумара рэвізіі). У іншых сістэмах, як правіла, стандартны сінтаксіс для выражэння змяненняў імя. Незалежна адпаведны сінтаксіс для вашай сістэмы, заахвочваць людзей выкарыстоўваць яго пры звароце да зменаў. Паслядоўнае выраз змены імёнаў робіць праект бухгалтарскага значна прасцей (як мы ўбачым у чале 6, сувязі і чале 7, Упакоўка, вызваленнем і штодзённая развіцця ), і так шмат бухгалтарскага будзе зроблена добраахвотнікамі, яна павінна быць як мага прасцей.

Глядзіце таксама раздзел "рэлізы і штодзённая развіцця" у чале 7, Упакоўка, вызваленнем і штодзённая развіцця .

Аўтарызацыя

Большасць сістэм кіравання версіямі прапануюць асаблівасць якой некаторыя людзі могуць быць дазволеныя ці забароненыя ад здзяйснення ў канкрэтных поўдзень ад вобласці рэпазітара. У адпаведнасці з прынцыпам, што, калі перадаў малаток, людзі пачынаюць шукаць вакол для пазногцяў, многія праекты, выкарыстоўваць гэтую функцыю з энергіяй, старанна прадастаўлення людзям доступ да толькі тыя раёны, дзе яны былі зацверджаны на яго ўчыненне, і пераканаўшыся, што яны не могуць зрабіць у іншым месцы . (Гл. раздзел "Коммиттеры" у чале 8, Упраўленне добраахвотнікаў для таго, як праекты вырашаць, хто можа здзейсніць дзе.)

Існуе, верагодна, мала шкоды шляхам ажыццяўлення такой жорсткі кантроль, але больш спакойна палітыкі гэта таксама добра. Некаторыя праекты проста выкарыстоўваць гонар сістэма: калі гэта асоба ажыццяўляе доступу, нават на поўдзень ад вобласці рэпазітара, што яны фактычна атрымліваюць гэта пароль, які дазваляе ім выконваць у любым месцы праекта. Яны проста просяць захаваць іх здзяйсняе ў сваёй вобласці. Памятайце, што няма ніякай рэальнай небяспекі тут: у актыўным праекце, усё здзяйсняе разглядаюцца ў любым выпадку. Калі хто-то робіць, дзе яны не павінны, іншыя заўважаць яго і нешта сказаць. Калі змены павінны быць адмененыя, што дастаткова проста-усё пад кантролем версій ўсякім разе, так проста вярнуцца.

Ёсць некалькі пераваг у паслабленай падыходу. Па-першае, як распрацоўнікі пашырацца ў іншых галінах (якія яны звычайна будзе, калі яны застаюцца з праектам), не існуе адміністрацыйных накладных расходаў на прадастаўленне ім больш шырокіх правоў. Як толькі рашэнне прынята, чалавек можа проста пачаць здзяйсненні ў новай вобласці адразу.

Па-другое, пашырэнне можа быць зроблена ў больш дробназярністай чынам. Як правіла, коммиттер ў галіне X, хто хоча пашырыць ў вобласць Y пачне размяшчэнне патчы супраць Y і просьбай аб пераглядзе. Калі хто-то, хто ўжо мае доступ да здзяйснення вобласці Y бачыць такое патч і сцвярджае яе, яны могуць проста сказаць заяўніка здзейсніць змены непасрэдна (згадвання рэцэнзент / зацвярджае "імя ў паведамленні часопіса, вядома). Такім чынам, здзяйсненне прыйдзе ад чалавека, які на самай справе піша змены, якія пераважней з пункту гледжання як кіравання інфармацыяй і з пункту гледжання крэдытавання.

Апошняе, бадай, самае важнае, выкарыстоўваючы гонар сістэма заахвочвае атмасферу даверу і ўзаемнай павагі. Нават калі ў здзяйсняць доступ да субдомены заяву аб іх тэхнічнай гатоўнасці, ён кажа: "Мы бачым, у вас вопыту, каб зрабіць здзяйсняе ў пэўнай сферы дзейнасці, таму пайсці на гэта." Але ўвядзення строгага кантролю дазволу кажа: "Мы не толькі сцвярджаючы, абмежаванне на свой ??вопыт, мы таксама трохі падазроным аб сваіх намерах." Гэта не такая заява вы хочаце зрабіць, калі вы можаце пазбегнуць гэтага. Прыцягненне каго-то ў праекце як коммиттер з'яўляецца магчымасць пачаць іх у кола ўзаемнага даверу. Добры спосаб зрабіць гэта, каб даць ім больш улады, чым яны, як мяркуецца выкарыстоўваць, а затым паведаміць ім, што гэта да іх, каб заставацца ў межах устаноўленых гранічных велічынь.

Праекту Subversion працуе на шляху сістэме гонару на працягу больш чатырох гадоў, з 33 поўных і 43 частковых коммиттеров на гэты ліст. Адзінае адрозненне сістэма фактычна забяспечвае паміж коммиттеров і не коммиттеров; далейшыя падраздзялення вядуцца выключна людзьмі. Але мы ніколі не меў праблем з кім-то наўмысна робіць за межамі сваёй вобласці. Адзін ці два разы там быў нявінным непаразуменнем аб ступені фіксацыі льгот хто-то, але гэта заўсёды былі вырашаны хутка і ветліва.

Відавочна, што ў сітуацыях, калі самакантроль непрактычна, вы павінны спадзявацца на жорсткі кантроль дазволу. Але такія сітуацыі рэдкія. Нават калі Ёсць мільёны радкоў кода і сотні ці тысячы распрацоўнікаў, распачаць якія-небудзь дадзены код модуль павінен яшчэ быць разгледжаны тых, хто працуе на гэтым модулі, і яны могуць распазнаць, калі хто-то дасканалыя там, хто не павінен быў. Калі рэгулярнае здзяйсненне агляду не адбываецца, то праект мае вялікія праблемы мець справу з чым сістэма аўтарызацыі ў любым выпадку.

Такім чынам, не марнаваць занадта шмат часу важдацца з дазволу сістэмы кантролю версій, калі ў вас няма асаблівай прычыны. Звычайна гэта не прынясе шмат матэрыяльных выгод, і Ёсць перавагі абапіраючыся на чалавечыя кіравання замест.

Нішто з гэтага не варта разумець, што абмежаванні сабе не важныя, вядома. Было б дрэнна для праекта, каб заахвоціць людзей здзяйсняюць у раёнах, дзе яны не кваліфікаваныя. Акрамя таго, у шматлікіх праектах, поўны (без абмежаванняў) здзейсніць доступ мае адмысловы статус: яна мае на ўвазе права голасу па ўсім праекце пытанні. Гэта палітычны аспект здзейсніць доступ абмяркоўваецца больш у раздзеле "Хто Галасоў?" у чале 4, сацыяльнай і палітычнай інфраструктуры .

Памылка Tracker

Памылка адсочвання шырокія тэмы, розныя яе аспекты разглядаюцца ў гэтай кнізе. Тут я пастараюся засяродзіцца ў асноўным на ўстаноўку і тэхнічныя меркаванні, але, каб дабрацца да тых, мы павінны пачаць з палітыкі пытанне: сапраўды, якога роду інфармацыя павінна быць у памылцы трэкера?

Тэрмін трэкера памылка ўводзіць у зман. Сістэмы адсочвання памылак таксама часта выкарыстоўваюцца для адсочвання новых запытаў асаблівасць, аднаразовыя задачы, непажаданых патчаў-сапраўды што-небудзь, што мае пэўныя пачатак і канец дзяржаў, з дадатковым пераходных станаў паміж імі, і што інфармацыя назапашваецца за час свайго існавання. Па гэтай прычыне, памылка трэкераў таксама званы пытанне трэкераў, дэфект трэкераў, артэфакт трэкераў, запыт трэкераў, білет сістэмы непрыемнасці, і г.д. Глядзіце Дадатак Б, бясплатныя адсочвання памылак для спісу праграмнага забеспячэння.

У гэтай кнізе, я буду працягваць выкарыстоўваць "памылка трэкера" для праграмнага забеспячэння, што робіць сачэння, таму што гэта тое, што большасць людзей заве яго, але будзе выкарыстоўваць пытанне спаслацца на адзін элемент у памылцы трэкера базы дадзеных. Гэта дазваляе нам правесці адрозненне паміж паводзінамі ці правіну, што карыстальнік сутыкаецца (гэта значыць, памылка сябе), і трэкера запіс аб памылку на адкрыццё, дыягностыкі і магчымай рэзалюцыі. Майце на ўвазе, што хоць большасць пытанняў аб фактычных памылак, пытанні могуць быць выкарыстаны для адсочвання іншых відаў задач таксама.

Класічны цыкл жыцця пытанне выглядае наступным чынам:

  1. Хто-то файлы пытанні. Яны забяспечваюць Такім чынам, першапачатковае апісанне (уключаючы прайграванне рэцэпт, калі гэта скарыстаная, гл. раздзел пад назвай "Лячыць Кожны карыстальнік ў якасці патэнцыйнага добраахвотніка" у чале 8, Упраўленне добраахвотнікаў аб тым, як заахвочваць добрыя паведамленні аб памылцы), і любой іншай інфармацыі трэкера просіць. Чалавек, які падае гэтае пытанне можа быць зусім невядомыя праекта аб памылцы і запыты, гэтак жа верагодна зыходзіць ад супольнасці карыстальнікаў як ад распрацоўшчыкаў.

    Як толькі падалі, пытанне знаходзіцца ў так званым адкрытым стане. Таму што ніякіх мер пакуль не прымалася, некаторыя трэкеры таксама назавіце яго як неправераныя і / або Unstarted. Гэта не аднесены да любога, або, у некаторых сістэмах, ён прызначаны фальшывы карыстальнік прадстаўляць адсутнасць рэальных спатканняў. На дадзены момант ён знаходзіцца ў зоне чакання: праблема не была зарэгістраваная, але яшчэ не інтэграваныя ў прытомнасць праекта.

  2. Іншыя прачытаць пытанне, дадаваць каментары да яго, і, магчыма, спытаеце арыгінальны фільтрам для тлумачэнняў па некаторых пунктах.

  3. Памылка атрымлівае прайграваецца. Гэта можа быць самы важны момант у яе жыццёвага цыкла. Хоць памылка на самай справе не фіксаванай тым не менш, той факт, што хто-то акрамя арыгінальнай фільтрам быў у стане зрабіць гэта здарыцца даказвае, што яна з'яўляецца сапраўднай, і, што не менш важна, пацвярджае да арыгінальным фільтрам, што яны ўнеслі ўклад у праект па справаздачнасці сапраўднай памылкай.

  4. Памылка атрымлівае дыягназ: яго прычыны вызначана, і, калі магчыма, намаганні, неабходныя, каб выправіць гэта ацэньваецца. Пераканайцеся, што гэтыя рэчы становяцца запісаныя ў гэтым пытанні, калі асоба, дыягнаставана памылка раптам адысці ад праекту на некаторы час (як гэта часта здараецца з добраахвотнікі з ліку праграмістаў), хто-то павінен быць у стане таго месца, дзе яна была перапыненая .

    На гэтым этапе, а часам і папярэдні, распрацоўнік можа "ўзяць на сябе адказнасць" гэтага пытання і прысвоіць яго сабе ( у раздзеле "праводзіць выразнае адрозненне паміж даследаваннем і прызначэнне" у чале 8, Упраўленне добраахвотнікаў разглядаюцца прызначэнне працэс больш падрабязна ). пытанне прыярытэтным таксама могуць быць устаноўлены на дадзеным этапе. Напрыклад, калі гэта так сур'ёзна, што яна павінна затрымкі наступнага рэлізу, то гэты факт неабходна вызначыць рана, і трэкер павінен якім-небудзь чынам адзначыўшы, што яна.

  5. Пытанне атрымлівае запланавана на рэзалюцыі. Планаванне не абавязкова азначае, наймення даты, да якой яна будзе выпраўлена. Часам гэта проста азначае, рашэнне якіх у будучыні выпуску (не абавязкова наступную) памылка павінна быць усталяваная, або вырашыўшы, што не трэба блакаваць любы канкрэтнай версіі. Планаванне можа таксама наносіцца, калі памылка хутка выправіць.

  6. Памылка фіксуецца (або задача завершана, або патч ўжываецца, або любы іншы). Змены або набор зменаў, якія фіксаванай яна павінна быць запісана ў каментары да гэтага пытання, пасля чаго пытанне зачынены і / ці пазначаныя як вырашана.

Ёсць некаторыя агульныя варыяцыі на гэтую жыццёвага цыклу. Часам пытанне зачынены неўзабаве пасля таго, як патрапіць, так як аказваецца, не будзе памылкай на ўсіх, а непаразуменне з боку карыстальніка. Як праект набывае больш карыстачоў, усё больш і больш такіх пытанняў несапраўднымі прыйдзе, і распрацоўшчыкі будуць закрываць іх з больш запальчывы адказаў. Паспрабуйце для абароны ад апошніх тэндэнцыі. Гэта нікому не добра, як асобных карыстальнікаў у кожным выпадку не нясе адказнасці за ўсе папярэднія несапраўднымі пытаннях; статыстычнай тэндэнцыі бачная толькі з распрацоўшчыкаў пункту гледжання, а не карыстальніка. (У раздзеле "папярэдняй фільтрацыі Bug Tracker" далей у гэтым раздзеле, мы разгледзім метады для скарачэння колькасці несапраўдных пытанняў.) Акрамя таго, калі розныя карыстальнікі адчуваюць тыя ж самыя непаразуменні зноў і зноў, гэта можа азначаць, што гэты аспект праграмнае забеспячэнне павінна быць зменены. Такая карціна лягчэй за ўсё заўважыць, калі ёсць праблема менеджэр маніторынгу памылка базы дадзеных, гл. раздзел пад назвай "Выпуск Manager" ў чале 8, Упраўленне добраахвотнікаў .

Іншы распаўсюджаны варыянт жыццёвага цыкла для пытання, будзе закрыты ў якасці дубліката неўзабаве пасля Крок 1. Дублікат, калі хто-файлы пытанне, які ўжо вядома, у праект. Дублікаты не толькі ў адкрытых пытанняў: гэта магчыма памылка вярнуцца пасля таго, як фіксаваная (гэта называецца рэгрэс), і ў гэтым выпадку пераважней вядома, як правіла, зноў адкрыць арыгінальны пытанне і закрыць усе новыя справаздачы, як дублікаты зыходнага. Сістэма адсочвання памылка павінна сачыць за гэтую сувязь у двух кірунках, так што прайграванне інфармацыі ў дублікатаў даступная для арыгінальнага пытання, і наадварот.

Трэцяя варыяцыя для распрацоўшчыкаў, каб зачыніць пытанне, думаючы, што яны маюць фіксаваны яго, толькі для таго, арыгінальны рэпарцёр адхіліць зафіксаваць і адкрыць яго. Гэта, як правіла, таму што распрацоўшчыкі проста не маюць доступу да асяроддзя неабходна прайграць памылку, ці таму, што яны не тэставалі выправіць выкарыстаннем дакладна такі ж рэцэпт ўзнаўлення як рэпарцёр.

Акрамя гэтых змяненняў, могуць быць і іншыя дробныя дэталі жыццёвага цыкла, якія змяняюцца ў залежнасці ад адсочвання. Але асноўная форма тое ж самае, і ў той час як жыццёвы цыкл сам па сабе не канкрэтнага ПА з адкрытым кодам, гэта мае наступствы для таго, як праекты з адкрытым кодам выкарыстоўваюць свае трэкеры памылка.

Як Крок 1 вынікае, трэкер столькі грамадскае твар праекта, як спісы рассылання або вэб-старонкі. Любы можа падаць пытанне, любы можа паглядзець на пытанне, і любы чалавек можа праглядзець спіс адкрытых пытанняў. Адсюль вынікае, што вы ніколі не ведаеце, колькі людзей чакаюць, каб убачыць прагрэс па дадзеным пытанні. Хоць памер і майстэрства Супольнасці па пытаннях развіцця абмяжоўвае хуткасць, з якой пытанні могуць быць вырашаны, праект павінен па крайняй меры паспрабаваць прызнаць кожнаму пытанню момант яна з'яўляецца. Нават калі пытанне затрымліваецца на некаторы час, адказ заклікае рэпарцёр працягваць удзельнічаць, таму што яна адчувае, што чалавек мае зарэгістравана, што яна зрабіла (не забывайце, што падача пытанне звычайна ўключае ў сябе больш намаганняў, чым, скажам, размяшчэнне электроннай пошты). Акрамя таго, раз пытанне разглядаецца распрацоўніка, яна ўваходзіць прытомнасць праекта, у тым сэнсе, што распрацоўшчык можа быць у пошуку іншых выпадках гэтага пытання, можна казаць аб гэтым з іншымі распрацоўшчыкамі, і г.д.

Неабходнасць своечасовай рэакцыі на ўвазе дзве рэчы:

  • Трэкер павінен быць падключаны да спісу рассылання, такое, што кожнае змяненне ў пытанні, у тым ліку яго першапачатковай падачы, прычыны пошты выйсці апісання таго, што адбылося. Гэты спіс рассылкі, як правіла, адрозніваецца ад рэгулярнага спісу развіцця, паколькі не ўсе распрацоўшчыкі могуць атрымліваць аўтаматычныя лісты памылка, але (як і з здзяйсняюць ліста) Адказ на загаловак павінен быць усталяваны ў спіс рассылкі развіцця.

  • Форма для падачы пытанні павінны захапіць адрас электроннай пошты рэпарцёра, так што яна можа быць звярнуцца за дадатковай інфармацыяй. (Аднак, гэта не павінна патрабаваць Адрас электроннай пошты рэпарцёра, як некаторыя людзі аддаюць перавагу паведамляць аб праблемах ананімна. Глядзіце раздзел "Ананімнасць і ўдзел" далей у гэтым раздзеле больш падрабязна пра важнасць ананімнасці.)

Узаемадзеянне са спісамі рассылкі

Пераканайцеся, што памылка трэкера не ператварыцца ў дыскусійны форум. Хоць гэта і важна захаваць прысутнасць чалавека ў памылцы трэкера, гэта не прынцыпова падыходзіць для абмеркавання ў рэжыме рэальнага часу. Думайце аб ім, хутчэй, як архіватар, спосаб арганізацыі факты і спасылкі на іншыя абмеркавання, у першую чаргу тых, якія маюць месца ў спісах рассылання.

Ёсць дзве прычыны, каб зрабіць гэта адрозненне. Па-першае, памылка трэкера больш грувасткім ў выкарыстанні, чым спісы рассылання (ці чым чат у рэальным часе форумаў, калі на тое пайшло). Гэта не таму, што памылка трэкеры маюць дрэнны дызайн карыстальніцкага інтэрфейсу, то гэта проста, што іх інтэрфейсы былі распрацаваны для збору і прадстаўлення дыскрэтных станаў, не сыпкіх абмеркавання. Па-другое, не ўсе, хто павінен прымаць удзел у абмеркаванні гэтага пытання абавязкова назіраць памылка трэкера. Частка добры пытанне кіравання (гл. раздзел "Упраўленне агульнымі рэсурсамі задач, а таксама тэхнічных задач" ў Кіраўніку 8, Упраўленне добраахвотнікаў ), каб пераканацца кожнаму пытанню даводзіцца да права народаў ўвагу, не патрабуючы кожны распрацоўнік, каб кантраляваць усе пытанняў. У раздзеле "ніякіх перамоваў у Bug Tracker" у чале 6, сувязі , мы будзем шукаць шляхі, каб людзі выпадкова не сіфон абмеркавання з адпаведных форумах і ў памылцы трэкера.

Некаторыя трэкеры памылка можа кантраляваць спісы рассылання і аўтаматычна рэгістраваць ўсе паведамленні, якія будуць пра вядомая праблема. Звычайна яны робяць гэта шляхам прызнання ідэнтыфікацыйны нумар выпуску ў тэме ліста па пошце, у рамках спецыяльнай радком; распрацоўшчыкі навучыцца ўключаць гэтыя радкі ў іх лістоў прыцягнуць увагу трэкера. Памылка трэкера можа альбо захаваць усю электронную пошту, або (яшчэ лепш) проста запісаць спасылку на пошту ў рэгулярных архіў спісу рассылання. У любым выпадку, гэта вельмі карысная функцыя, калі ваш трэкер значыць гэта, пераканайцеся, што абодва, каб уключыць яго і, каб нагадаць людзям, каб скарыстацца ёю.

Папярэдняй фільтрацыі Bug Tracker

Большасць баз дадзеных пытання ў канчатковым выніку пакутуюць ад той жа праблемы: драбнення нагрузкі дубляваць або несапраўдным пытанні пададзеных лепшых меркаванняў, але нявопытныя ці дрэнна інфармаваныя карыстальнікі. Першым крокам у барацьбе з гэтай тэндэнцыяй, як правіла, пакласці прыкметнае паведамленне на галоўнай старонцы памылка трэкера, тлумачачы, як сказаць, калі памылка сапраўды памылка, як шукаць, каб убачыць, калі яна ўжо была пададзена, і, нарэшце, як эфектыўна паведаміць пра гэта, калі да гэтага часу думае, што гэта новая памылка.

Гэта дазволіць знізіць узровень шуму на некаторы час, але, як колькасць карыстальнікаў павялічваецца, праблемы будуць у канчатковым выніку вяртаюцца. Няма асобнага карыстальніка можа быць абвінавачаны за гэта. Кожны з іх проста спрабуюць ўнесці свой уклад у праект дабрабыту, і нават калі іх першы справаздачу пра памылку не дапамагае, вы ўсё яшчэ хочаце, каб заахвоціць іх заставацца ўцягнутымі і файл лепш пытанняў у будучыні. У той жа час, хоць, праект павінен трымаць гэтае пытанне ў базе дадзеных як свабодныя ад непажаданай наколькі гэта магчыма.

Дзве рэчы, якія будуць рабіць большасць для прадухілення гэтай праблемы з'яўляюцца: забеспячэнне Ёсць людзі, назіралыя памылка трэкера якія маюць дастаткова ведаў, каб закрыць пытанні, як несапраўдныя або дублікатаў моманту іх паступлення, і патрабуюць (ці моцна заахвочвання) карыстальнікаў, каб пацвердзіць іх памылак з іншымі людзьмі да падачы іх у сеткі.

Першы спосаб здаецца, мае ўніверсальны прымяненне. Нават праекты з вялізнымі базамі дадзеных пытанні (напрыклад, Debian трэкера памылку на http://bugs.debian.org/ , у якім утрымліваецца 315929 пытанняў, на момант напісання артыкула) яшчэ задаволіць так, што хтосьці бачыць кожны пытанне, які прыходзіць цалі Гэта можа быць іншы чалавек у залежнасці ад катэгорыі пытання. Напрыклад, Debian праект уяўляе сабой набор праграмных пакетаў, таму Debian аўтаматычна накіроўвае кожнаму пытанню ў адпаведныя суправаджаюць пакетаў. Вядома, карыстальнікі могуць часам misidentify катэгорыі выпуску, у выніку чаго пытанне адпраўляецца на няправільны чалавек на пачатковым этапе, якія могуць затым перанакіраваць яго. Аднак, важна тое, што цяжар па-ранейшаму агульным Ці карыстальнік не адгадае правільна ці няправільна пры падачы, выпуск назіраць яшчэ размеркаваны больш ці менш раўнамерна сярод распрацоўшчыкаў, так што кожнае пытанне мае магчымасць атрымаць своечасовы адказ.

Другі метад з'яўляецца менш распаўсюджанай, верагодна, таму, што гэта цяжэй аўтаматызаваць. Асноўная ідэя ў тым, што кожны новы пытанне атрымлівае "buddied" ў базе дадзеных. Калі карыстальнік думае, што ён выявіў праблему, ён папрасіў, каб апісаць гэта на адным з спісаў рассылання, ці канал IRC, і атрымаць пацвярджэнне ад каго-тое, што гэта сапраўды памылка. Прывядзенне ў тым, што другая пара вачэй ранняга можа прадухіліць шмат ілжывых справаздач. Часам другая бок у стане вызначыць, што паводзіны не з'яўляецца памылкай, або фіксуецца ў апошніх рэлізах. Або яна можа быць знаёмыя з сімптомамі ад папярэдняга выпуску, і можа прадухіліць дубляваць падачу, паказваючы карыстачу старэй пытанні. Часта бывае дастаткова проста спытаць карыстальніка "Ты пошуку памылка трэкера, каб убачыць, калі ён ужо паведамлялася?" Многія людзі проста не думаюць пра тое, што яшчэ рады зрабіць пошук, як толькі яны ведаеце каго-небудзь чакае іх.

Бадзі сістэма сапраўды можа трымаць гэтае пытанне ў базе дадзеных чыстай, але яна мае некаторыя недахопы. Многія людзі будуць так ці інакш файл сола, альбо з дапамогай не бачачы, ці праз ўліку, інструкцыі, каб знайсці сяброў для новых пытанняў. Такім чынам, па-ранейшаму неабходныя для добраахвотнікаў глядзець пытанне базе дадзеных. Акрамя таго, паколькі большасць новых журналістам не разумею, як цяжка задача падтрымання пытанне база дадзеных, гэта не справядліва папракаць іх занадта строга за ігнараванне прынцыпаў. Пры гэтым добраахвотнікі павінны быць пільнымі, і ўсё ж праяўляць стрыманасць у тым, як яны падскокваюць unbuddied пытанняў у свае журналістам. Мэтай з'яўляецца падрыхтоўка кожнага рэпарцёра выкарыстоўваць buddying сістэмы ў будучыні, так што ёсць усе расце аб'яднанне людзей, якія разумеюць пытанне-сістэма фільтрацыі. Убачыўшы unbuddied пытанне, ідэальна крокі:

  1. Адразу адказаць на пытанне, ветліва падзякаваўшы карыстальніка для падачы, але паказваючы іх buddying прынцыпаў (якія павінны, вядома, прыкметна размешчаны на вэб-сайце).

  2. Калі пытанне відавочна, справядліва і не дубляваць, зацвердзіць яго ў любым выпадку, і запусціць яго ўніз нармальнага жыццёвага цыклу. У рэшце рэшт, рэпарцёр зараз былі праінфармаваны аб buddying, таму няма сэнсу марнаваць праведзеную працу, зачыніўшы сапраўды праблема.

  3. У адваротным выпадку, калі пытанне не відавочна, справядліва, закрыць яго, але спытайце рэпарцёр каб зноў адкрыць яе, калі яны атрымліваюць пацверджанне ад сяброў. Калі яны робяць, яны павінны пакласці спасылкай на пацверджанне патоку (напрыклад, URL-адрас у архівах спісаў рассылання).

Памятайце, што хаця гэтая сістэма дазволіць палепшыць суадносіны сігнал / шум у пытанні базы дадзеных з цягам часу, ён ніколі не будзе цалкам спыніць misfilings. Адзіны спосаб прадухіліць misfilings цалкам з'яўляецца зачыніць памылка трэкера для ўсіх, акрамя распрацоўшчыкаў-лячэнне, якое амаль заўсёды горш, чым хвароба. Лепш прызнаць, што чыстка несапраўднымі пытанняў заўсёды будзе часткай рэгламентных работ праекта, і, каб паспрабаваць атрымаць столькі людзей, колькі магчыма, каб дапамагчы.

Глядзіце таксама раздзел пад назвай "Выпуск Manager" ў чале 8, Упраўленне добраахвотнікаў .

IRC / чат у рэальным часе сістэмы

Многія праекты прапануюць у рэжыме рэальнага часу чаты выкарыстаннем Internet Relay Chat (IRC), форумы, дзе карыстачы і распрацоўнікі могуць задаваць адзін аднаму пытанні і атрымаць імгненны адказ. Хаця вы можаце запусціць сервер IRC з вашага ўласнага вэб-сайта, як правіла, не варта гэтага рабіць. Замест гэтага, рабіць тое, што робяць усё: запускаць IRC каналы на Freenode ( http://freenode.net/ ). Freenode дае вам кантроль неабходна для адміністравання праекта IRC сваіх каналах, [ 17 ], а зберагалыя вы не-нязначныя праблемы падтрымання сервера IRC сябе.

Першае, што трэба зрабіць, гэта выбраць імя канала. Найбольш відавочным выбарам з'яўляецца імя вашага праекта, калі гэта даступна на Freenode, то выкарыстоўваць яго. Калі няма, паспрабуйце выбраць што-то, як блізка да назвы вашага праекту, і як лёгка запомніць, як гэта магчыма. Рэклама availabity канала з вэб-сайта праекта, так што наведвальнік з хуткай пытанне будзе бачыць яго адразу ж. Напрыклад, гэта з'яўляецца ў бачным месцы ў верхняй частцы галоўнай старонкі ў Subversion:

Калі вы выкарыстоўваеце Subversion, мы рэкамендуем вам далучыцца users@subversion.tigris.org спіс рассылкі, і чытаць кнігі Subversion і часта задаюць пытанні . Вы можаце таксама задаваць пытанні па IRC на irc.freenode.net канал # SVN.

Некаторыя праекты маюць некалькі каналаў, па адным у кожнай подтеме. Напрыклад, адзін канал для ўстаноўкі праблемы, іншая для выкарыстання пытанняў, іншы для развіцця чат, і г.д. ( у раздзеле "Апрацоўка росту" ў чале 6, сувязі і абмяркоўвае, як падзяліць на некалькі каналаў). Калі ваш праект малады, павінен быць толькі адзін канал, з усімі гутарылі. Пазней, калі карыстальнікаў да павелічэння-распрацоўшчык адносіны, асобных каналаў можа стаць неабходным.

Як людзі будуць ведаць усе даступныя каналы, не кажучы ўжо пра які канал казаць? І калі яны кажуць, як яны будуць ведаць, што мясцовыя канвенцый?

Адказ на гэтае пытанне сказаць ім, усталяваўшы канала тэме. [ 18 ] канала тэма кароткае паведамленне кожны карыстальнік бачыць, калі яны ўпершыню ўвесці канал. Гэта дае хуткі кіраўніцтва для пачаткоўцаў, і спасылкі на дадатковую інфармацыю. Напрыклад:

Вы цяпер гаворыце пра # SVN

Тэма для # SVN гэта форум для пытанняў карыстальнікаў Subversion, глядзіце таксама
http://subversion.tigris.org/. | | Развіццё абмеркаванне адбываецца ў
# SVN-Dev. | | Калі ласка, не паста доўга стэнаграмы тут, а не выкарыстоўваць
Pastebin сайт, як http://pastebin.ca/. | | Навiны: Subversion 1.1.0
выпушчаны гл. http://svn110.notlong.com/ падрабязней.

Гэта кароткі, але ён кажа пачаткоўцаў, што яны павінны ведаць. Ён кажа менавіта тое, што канал прызначаны для, дае старонцы праекта дома (у выпадку, калі хто блукае ў канал без папярэдняга тым, каб вэб-сайта праекта), згадвае звязаных каналаў, і дае некаторыя ўказанні аб ўстаўкі.

Боты

Многія тэхнічна арыентаваным IRC каналы, не-чалавечае членаў, так званых бот, які можа захоўваць і вывяргае інфармацыю ў адказ на пэўныя каманды. Як правіла, бот імя, як і любы іншы член канала, гэта значыць, каманды выступіў "казаць з" бота. Напрыклад:

<kfogel> ayita: даведацца Diff-CMD = http://subversion.tigris.org/faq.html # Diff-CMD
<ayita> Дзякуй!

Гэта сказаў бота (які ўвайшоў у канал ayita) запомніць пэўныя URL, як адказ на запыт "Diff-CMD". Цяпер мы можам звярнуцца ayita, просячы бот сказаць іншаму карыстальніку аб Diff-CMD:

<kfogel> ayita: распавесці пра jrandom Diff-CMD
<ayita> jrandom: http://subversion.tigris.org/faq.html # Diff-CMD

Тое ж самае можа быць дасягнута праз зручны скарачэнне:

<kfogel>! jrandom Diff-CMD
<ayita> jrandom: http://subversion.tigris.org/faq.html # Diff-CMD

Дакладны набор каманды і паводзіны адрозніваецца ад бота бот. Прыведзены вышэй прыклад з ayita ( http://hix.nu/svn-public/alexis/trunk/ ), якія, як правіла, асобнік, запушчаны ў SVN # на FreeNode. Іншыя робаты ўключаюць Dancer ( http://dancer.sourceforge.net/ ) і Supybot ( http://supybot.com/ ). Звярніце ўвагу, што ніякіх асаблівых прывілеяў сервера, неабходныя для запуску бота. Бот кліенцкай праграмы; любы можа ўсталяваць адзін і накіраваць яго для праслухоўвання канкрэтны сервер / канал.

Калі ваш канал як правіла, атрымліваюць тыя ж пытанні зноў і зноў, я настойліва рэкамендую налады бота. Толькі невялікі працэнт карыстальнікаў канала будзе набыць веды, неабходныя для кіравання бот, але гэтыя карыстальнікі будуць адказваць непрапарцыйна высокі адсотак пытанняў, так як бот дазваляе ім рэагаваць так нашмат больш эфектыўна.

Архіваванне IRC

Хоць магчыма ў архіў ўсё, што адбываецца ў канал IRC, гэта не абавязкова чакаць. IRC размовы можна ўмоўна грамадскасці, але многія людзі думаюць пра іх, як неафіцыйныя, паў-прыватных размоў. Карыстальнікі могуць быць нядбайным з граматыкай, і часта выказваюць думкі (напрыклад, пра іншых праграмнага забеспячэння або іншых праграмістаў), што яны не хацелі б назаўжды захаваецца ў анлайнавы архіў.

Вядома, часам будзе урыўкі, якія павінны быць захаваны, і гэта выдатна. Большасць IRC кліенты могуць увайсці размовы ў файл па запыце карыстальніка, або ў адваротным выпадку, заўсёды можна проста выразаць і ўставіць гутарка з IRC ў больш сталага форуму (часцей за ўсё памылка трэкера). Але невыбарчага вядзення часопіса можа зрабіць некаторыя карыстачы няпроста. Калі вы архіве ўсё, пераканайцеся, што вы такім чынам дзяржава выразна ў канале тэме, і даць URL у архіў.

RSS-каналы

RSS (Really Simple Syndication) уяўляе сабой механізм для распаўсюджвання мэта-дадзеных багатых рэзюмэ навін "абанентаў", то ёсць людзі, якія заявілі аб сваёй зацікаўленасці ў атрыманні тых рэзюмэ. Дадзенага крыніцы RSS звычайна называюць корму, і па падпісцы інтэрфейсам карыстальніка называецца чытання каналаў або агрэгатар навін. RSS Bandit і аднайменны Feedreader два з адкрытым зыходным кодам RSS чытачоў, напрыклад.

Існуе не месца тут для атрымання падрабязных тэхнічных тлумачэнне RSS [ 19 ], але вы павінны ведаць аб двух асноўных рэчах. Па-першае, праграмнага забеспячэння па чытанню корму абраны абанентам і аднолькавым для ўсіх каналаў, якія абанент манітораў - на самай справе, гэта асноўныя пункты продажу RSS: што абанент выбірае адзін інтэрфейс для ўсіх іх корміць, так што кожны корму можа засяродзіцца толькі на дастаўку кантэнту. Па-другое, RSS зараз паўсюдна, так што большасць людзей, якія выкарыстоўваюць яго нават не ведаю, яны выкарыстоўваюць яе. Для свету ў цэлым, RSS выглядае як маленькая кнопка на вэб-старонку, з этыкеткай кажучы "Падпісацца на гэтым сайце" ці "Стужка навін". Вы націскаеце на кнопку, і з тых часоў, Ваш канал чытача (які можа быць ўбудаваны аплет ў вашай хатняй старонцы) аўтаматычна абнаўляецца, калі ёсць навіны з сайта.

Гэта азначае, што ваш праект з адкрытым кодам, верагодна, варта прапаноўваць канал (заўважым, што многія з кансерваў хостынг сайтаў - гл раздзел "Кансервы Хостынг" - прапануюць яго прама з каробкі). Будзьце асцярожныя, каб не пост так шмат навін кожны дзень, што абаненты не можа аддзяліць збожжа ад жыціца. Калі Ёсць занадта шмат падзей, навін, людзі будуць проста ігнараваць корму, ці нават адмовіцца ад падпіскі ў раздражненні. У ідэале, праект будзе прапаноўваць асобныя каналы, па адным для вялікага аб'явы, іншае наступныя (скажам) падзей у сістэме адсочвання праблем, іншы для кожнага спісу рассылання і г.д. На практыцы, гэта цяжка рабіць добра: гэта можа прывесці да блытаніны і інтэрфейс для наведвальнікаў вэб-сайта праекта і для адміністратараў. Але, як мінімум, праект павінен прапанаваць адзін RSS-канал на першай старонцы, для адпраўкі асноўных аб'явы, такіх як выкіды і папярэджання сістэмы бяспекі. [ 20 ]

Вікі

Вікі вэб-сайт, які дазваляе любому наведвальніку змяніць або падоўжыць яго ўтрыманне; тэрмін "вікі" (ад гавайскага слова, якое азначае "хутка" ці "супер-хуткі") таксама выкарыстоўваецца для абазначэння праграмнага забеспячэння, што дазваляе такім рэдагавання . Вікі былі вынайдзены ў 1995 годзе, але іх папулярнасць сапраўды пачаў здымаць з 2000 ці 2001 гадах, чаму збольшага поспех Wikipedia ( http://www.wikipedia.org/ ), вікі-свабоднай энцыклапедыі. Падумайце аб вікі як падзенне дзесьці паміж IRC і вэб-старонкі: вікі не адбудзецца ў рэжыме рэальнага часу, так што людзі атрымліваюць магчымасць абдумаць і польскія свае ўзносы, але яны таксама вельмі лёгка дадаць, звязаных менш рэсурсаў, чым інтэрфейс рэдагавання звычайнай вэб-старонкі.

Вікі яшчэ не стандартнае абсталяванне для праектаў з адкрытым кодам, але яны, верагодна, будзе ў бліжэйшы час. Паколькі яны з'яўляюцца адносна новай тэхналогіяй, і людзі ўсё яшчэ эксперыментаваць з рознымі спосабамі іх выкарыстання, я проста прапануем некалькі слоў засцярогі тут на дадзеным этапе, гэта лягчэй аналізаваць злоўжывання вікі, акрамя прааналізаваць свае поспехі.

Калі вы вырашылі запусціць вікі, паклаў шмат намаганняў, якія маюць дакладнай арганізацыі старонцы і прыемны візуальны макет, так што наведвальнікаў (т. е. патэнцыйных рэдактараў) будзе інстыктыўна ведае, як ўпісваецца ў іх унёскаў. Не менш важна, пасля гэтых стандартаў на вікі сябе, так што людзі кудысьці ісці за саветам. Занадта часта, адміністратары ахвярай фантазіі, што, паколькі арды наведвальнікаў індывідуальна дадаўшы высокую якасць зместу сайта, сума ўсіх гэтых узносаў павінна таксама быць высокай якасці. Гэта не так, як вэб-сайты працы. Кожнай асобнай старонкі ці пункта, можа быць добра, калі разглядаецца сама па сабе, але ён не будзе добра, калі ўкласці ў дэзарганізаваць або заблытаным цэлым. Занадта часта, вікі пакутуюць ад:

  • Адсутнасць навігацыйнага прынцыпаў. Добра арганізаваны вэб-сайт дазваляе наведвальнікам адчуваць, што яны ведаюць, дзе яны ў любы час. Напрыклад, калі старонкі добра прадуманыя, людзі могуць інтуітыўна адрозніць "змест" вобласці і "ўтрымання" рэгіёну. Аўтары на вікі будуць паважаць такія адрозненні таксама, але толькі тады, калі адрозненні прысутнічаюць з самага пачатку.

  • Дубляванне інфармацыі. Вікі часта ў канчатковым выніку з розных старонак кажуць падобныя рэчы, таму што асобныя ўдзельнікі не заўважылі дублявання. Гэта можа быць збольшага следствам адсутнасці навігацыйных прынцыпы адзначалася вышэй, у тым, што людзі не могуць знайсці дубляваць змест, калі яно не там, дзе яны чакаюць, каб гэта было.

  • Непаслядоўнасць мэтавай аўдыторыі. У нейкай ступені гэтая праблема непазбежна, калі Ёсць так шмат аўтараў, але гэта могуць быць зменшаны, калі Існуюць пісьмовыя інструкцыі аб тым, як стварыць новы змест. Гэта таксама дапамагае агрэсіўна рэдагаваць новыя ўзносы ў пачатку, як, напрыклад, так, што стандарты пачатку тануць цалі

Агульнае рашэнне для ўсіх гэтых праблем з'яўляецца тое ж: ёсць рэдакцыйныя стандарты, і дэманстраваць іх не толькі шляхам размяшчэння іх, але шляхам рэдагавання старонак далучэння да іх. Увогуле, вікі будзе ўзмацняць любыя недахопы ў іх зыходнага матэрыялу, так як удзельнікі імітуюць ўсе мадэлі яны бачаць перад імі. Не проста стварыць вікі і спадзяюся, што ўсё становіцца на свае месцы. Вы павінны таксама прэм'ер яго з добра напісанае змест, таму людзі ёсць шаблон для пераймання.

Яскравым прыкладам добра працаваць вікі Вікіпедыі, хоць гэта можа быць часткова таму, што ўтрыманне (энцыклапедыі запісу) натуральна добра падыходзіць для вікі-фармаце. Але калі вы паглядзіце ўважліва Вікіпэдыі, вы ўбачыце, што яе адміністратары закладзены вельмі старанна аснову для супрацоўніцтва. Існуе шырокая дакументацыя аб тым, як ствараць новыя запісы, як захаваць адпаведныя пункту гледжання, якога роду змены, каб зрабіць, што змены, каб пазбегнуць, працэс ўрэгулявання спрэчак для аспрэчваецца выпраўленняў (з удзелам некалькіх этапаў, уключаючы магчымыя арбітраж), і гэтак далей. Яны таксама маюць дазвол кіравання, так што калі старонка мэтавая паўторных неадпаведныя змены, яны могуць заблакаваць яго, пакуль праблема не будзе вырашана. Іншымі словамі, яны не проста выкінуць некаторыя шаблоны на вэб-сайт і спадзявацца на лепшае. Wikipedia працуе, таму што яе заснавальнікі думку аб тым, як старанна, каб атрымаць тысячы чужых адаптаваць іх пісьмовага агульнае бачанне. Хоць вам не спатрэбіцца такі жа ўзровень гатоўнасці для запуску вікі для адкрытага праекта, дух варта было б пераймаць.

Для атрымання дадатковай інфармацыі аб вікі гл. http://en.wikipedia.org/wiki/Wiki . Акрамя таго, першая вікі застаецца жывы і здаровы, і змяшчае шмат дыскусій аб запуску вікі: гл http://www.c2.com/cgi/wiki?WelcomeVisitors , http://www.c2.com/cgi/wiki ? WhyWikiWorks , і http://www.c2.com/cgi/wiki?WhyWikiWorksNot для розных пунктаў гледжання.

Вэб-сайт

Існуе не так шмат, каб гаварыць аб стварэнні вэб-сайт праекта з тэхнічнага пункту гледжання: стварэнне вэб-сервер і запісы вэб-старонкі досыць простых задач, і большасць з важных рэчаў, каб сказаць пра планіроўка і размяшчэнне былі пакрытыя папярэдняй чале. Асноўная функцыя вэб-сайта заключаецца ў прадстаўленні выразных і вітаючы агляд праекта, а таксама звязваць іншыя прылады (сістэма кантролю версій, памылка трэкера, і г.д.). Калі ў вас няма вопыту стварэння вэб-сервер самастойна, звычайна не цяжка знайсці таго, хто робіць, і гатовы дапамагчы. Тым не менш, для эканоміі часу і намаганняў, людзі часта аддаюць перавагу выкарыстоўваць адзін з кансерваў хостынг сайтаў.

Кансервы Хостынг

Існуюць два асноўных перавагі выкарыстання кансерваў сайта. Першы магутнасці сервера і прапускной здольнасці: іх серверы мускулісты скрынкі седзячы на ??самай справе тлушч труб. Незалежна ад таго, наколькі паспяхова ваш праект становіцца, вы не збіраецеся запускаць месца на дыску ці балота падлучэнне да сеткі. Другое перавага складаецца ў прастаце. Яны ўжо выбралі памылка трэкера, сістэма кантролю версій, спісаў рассылання, архіватар, а ўсё астатняе вам трэба запусціць сайт. Яны настроены інструменты, і клапоцяцца аб рэзервовых дзід для ўсіх дадзеных, якія захоўваюцца ў прылады. Вам не трэба рабіць шмат рашэнняў. Усё, што вам трэба зрабіць, гэта запоўніць форму, націснуць кнопку, і раптам у вас ёсць вэб-сайт праекта.

Гэта даволі значныя перавагі. Недахопам, вядома, з'яўляецца тое, што вы павінны прымаць свае рашэнні і канфігурацый, нават калі нешта іншае было б лепш для вашага праекта. Звычайна кансерваў сайтаў можна рэгуляваць ў пэўных вузкіх параметраў, але вы ніколі не атрымаеце дакладнага кантролю вы б, калі б Вы стварыць сайт самастойна і быў поўны адміністрацыйны доступ да сервера.

Выдатным прыкладам гэтага з'яўляецца апрацоўка створаныя файлы. Некаторыя вэб-старонкі праекту могуць быць згенераваныя файлы, напрыклад, Ёсць сістэмы для захоўвання дадзеных FAQ ў зручным для рэдагавання фармаце майстар, з якіх HTML, PDF, і іншыя фарматы прадстаўлення могуць быць атрыманы. Як тлумачыцца ў раздзеле "Версія ўсё" раней у гэтай чале, вы не хацелі б, каб версія спароджаных фарматаў, толькі майстар-файл. Але калі ваш вэб-сайт размешчаны на чужой сервер, гэта можа быць немагчыма стварыць карыстацкі крук для рэгенерацыі онлайн версія HTML з FAQ, калі майстар-файл зменены. Толькі рашэннем з'яўляецца версія спароджаных фарматаў таксама, так што яны з'яўляюцца на вэб-сайце.

Там можа быць больш, наступствы. Вы не можаце мець столькі кантролю над прэзентацыяй, як вы хацелі. Некаторыя з кансерваў хостынг сайтаў дазволіць Вам наладзіць вэб-старонак, але па змаўчанні макета сайта, як правіла, заканчваецца праз паказаны ў розных ніякавата спосабамі. Напрыклад, некаторыя праекты, якая прымае на сябе SourceForge поўнасцю наладзіць хатнюю старонку, але ўсё яшчэ паказваюць распрацоўшчыкі іх "SourceForge старонкі" для атрымання дадатковай інфармацыі. SourceForge старонцы тое, што будзе галоўнай старонцы праекту, быў праект не выкарыстоўваць карыстацкую старонку дадому. SourceForge старонцы ёсць спасылкі на памылку трэкера, CVS рэпазітара, загрузкі і г.д. На жаль, старонка SourceForge таксама змяшчае шмат пабочных шумоў. Верх банэраў, часта аніміраваныя выявы. Левая бок вертыкальным размяшчэнні звёнаў мала адносіны да хтосьці зацікаўлены ў праекце. Правая бок часта іншай рэкламы. Толькі цэнтра старонка прысвечана сапраўды канкрэтнага праекта матэрыялу, і нават, які праводзіцца ў заблытаным чынам, што часта робіць наведвальнікаў ўпэўненыя, што націсніце Далей.

За кожным асобным аспектам дызайну SourceForge's, няма ніякіх сумненняў у добрай прычыне-добры з пункту SourceForge гледжання, такія, як рэклама. Але з пункту індывідуальным праекце гледжання, вынік можа быць менш, чым ідэальны вэб-старонкі. Я не хачу, каб забраць на SourceForge; аналагічную заклапочанасць распаўсюджваецца на многія з кансерваў хостынг сайтаў. Справа ў тым, што ёсць кампраміс. Вы атрымаеце дапамогу ад тэхнічнай цяжар працуе сайт праекта, але толькі па цане прыняцця чужой спосаб запуску.

Толькі вы можаце вырашыць, ці будзе кансервы хостынг лепш за ўсё падыходзіць для вашага праекта. Калі вы вылучыце кансерваў сайце, пакінуць адкрытай магчымасць пераходу на ўласных серверах пазней, з дапамогай карыстацкіх даменнае імя для праекта "хатні адрас". Вы можаце пераслаць URL для кансерваў сайта, або поўнасцю наладзіць галоўную старонку па адрасе URL і грамадскіх боку карыстальніка з дакладнасцю да кансерваў сайт для складаных функцый. Проста пераканайцеся, што арганізаваць такія рэчы, што калі вы вырашыце выкарыстоўваць іншы хостынг рашэнне, адрас праекта не мае патрэбу ў змяненні.

Выбар кансерваў хостынг сайта

Ёсць у цяперашні час (па стане на пачатак 2011) створаны вялікай тройкі свабодных кансерваў хостынг сайтаў. Усе тры прапануюць бясплатнае зарада хостынг для праектаў, распаўсюджваецца па ліцэнзіі адкрытага крыніцы. Яны забяспечваюць кантролю версій, адсочвання памылка, і вікі (некаторыя таксама прапануюць іншыя магчымасці, такія як двайковыя загрузкі):

  • GitHub кантролю версій Git з'яўляецца толькі, але калі вы выкарыстоўваеце Git ў любым выпадку, гэта, верагодна, правільнае месца для вашага праекта. GitHub стаў цэнтрам сусвету для праектаў Git, і мае убудаваную усе свае паслугі з Git. GitHub таксама прапануе поўнае API для ўзаемадзеяння праграмна з іх абслугоўваннем. Ён не падае спісы рассылання, аднак яны даступныя і многія іншыя месцы, якія не павінны мець асаблівага значэння.

  • Google Code Хостынг Прапановы Subversion і Mercurial сістэмы кантролю версія (не Git, па меншай меры пакуль), вікі, загрузкі вобласці, і даволі добра памылка трэкера. Ён таксама пастаўляецца з API: сістэмы кантролю версія натуральна свой ??API; адсочвання праблем мае ўласны API , змест вікі прадастаўляецца непасрэдна ў сістэме кантролю версій і, такім чынам, рэдагаваць скрыпты; і загрузкі вобласці прапаноўвае сцэнар дадання , Іншымі словамі, API. Спісы рассылання прадастаўляюцца праз Google Groups (ізноў жа, тое ж заява можа быць выканана з любога хостынг сайта).

  • SourceForge Гэта самы стары, а па некаторых мерах па-ранейшаму самы буйны, з бясплатны хостынг сайтаў. Ён дае ўсе магчымасці для гэтага ёсць іншыя, і яго інтэрфейс дастаткова карыснай, аднак, некаторыя людзі знаходзяць рэкламных блокаў на старонках праекта, каб быць незадаволеным. Гэта, здаецца, толькі адзін з "вялікай тройкі", якая прапануе ўсе асноўныя сістэмы кантролю версій (Git, Subversion, Mercurial, і CVS) прама зараз. SourceForge таксама дае свае ўласныя спісы рассылання, хоць вы маглі б, вядома, выкарыстоўваць іншыя службы паштовай рассылкі.

Некалькі арганізацый, напрыклад Apache Software Foundation , а таксама прапануем бясплатны хостынг для праектаў з адкрытым зыходным кодам, якія добра ўпісваюцца ў іх прадстаўніцтваў і іх супольнасці існуючых праектаў.

Калі вы сумняваецеся пра тое, дзе размясціць, я настойліва рэкамендую толькі збіраецца з адным з вялікай тройкі. Калі вы хочаце яшчэ больш кіраўніцтва: выкарыстаць GitHub калі ваш праект выкарыстоўвае Git для кіравання версіямі, у адваротным выпадку выкарыстаць Google Code Hosting. SourceForge таксама цалкам прымальна, але на дадзены момант ён не мае значную перавагу перад іншымі, і рэклама можа раздражняць.

Многія заўважылі, што вольны праект хостынг сайтаў, часта самі не робяць усё праграмнае забеспячэнне, якое працуе сайт avialble пад вольнай ліцэнзіяй (некаторыя, якія з'яўляюцца Launchpad , Gitorious і GNU Саванна ). Мне здаецца, што ў той час як было б ідэальна, каб мець доступ да ўсіх код, які працуе сайт, вырашальны справа ў тым, каб нейкім чынам экспартаваць дадзеныя, і, каб мець магчымасць узаемадзейнічаць з дадзенымі ў аўтаматызаваным рэжыме. Такі сайт ніколі не можа па-сапраўднаму блакіроўкі цябе, і будзе нават пашыраецца да такой ступені, праз праграмны інтэрфейс. Нягледзячы на ??некаторы значэнне ў тым, увесь код, які запускае хостынг сайта даступна ў адпаведнасці з умовамі адкрытага крыніцы, на практыцы, патрабаванням на самай справе разгортвання, што код ў вытворчай асяроддзі з'яўляюцца непасільнымі для большасці карыстальнікаў. Гэтыя месцы неабходна мець некалькі сервераў, наладзіць сетку, і поўны працоўны дзень супрацоўнікаў, каб яны маглі працягваць функцыянаваць, толькі маючы код не будзе дастаткова, каб дубляваць ці "відэльца" службы ў любым выпадку. Галоўнае толькі, каб пераканацца, што вашыя дадзеныя не ў пастцы.

Вікіпэдыя дбайнае параўнанне хостынг аб'ектаў , гэта першае месца, каб глядзець на тэрмін да даты, поўную інфармацыю аб праекце з адкрытым зыходным кодам хостынгу. Haggen Так і зрабіў дбайную ацэнку розных кансерваў хостынг сайтаў, у рамках даследавання для кандыдацкай Дысертацыя, будаўніцтва мадэль ацэнкі для Free / Open Source праект Хостынг (FOSPHost) сайтаў. Хоць гэта было зроблена ў 2005 годзе, ён, здаецца, быў абноўлены зусім нядаўна, у 2007 годзе, і яго крытэры, верагодна, застаюцца ў сіле на працягу доўгага часу. Яго вынікі ў http://www.ibiblio.org/fosphost/ , і паглядзець, асабліва вельмі лёгка чытаюцца параўнальную табліцу на http://www.ibiblio.org/fosphost/exhost.htm .

Ананімнасць і ўдзел

Праблема, якая не з'яўляецца строга абмежавана кансерваў сайтаў, але найбольш часта сустракаюцца там, злоўжыванне карыстачу функцыянальнасць Увайсці. Функцыянальныя сябе досыць просты: сайт дазваляе кожнаму наведвальніку зарэгістраваць сябе імя карыстальніка і пароль. З тых часоў ён захоўвае профіль для дадзенага карыстальніка, і праект адміністратары могуць прызначыць карыстачу пэўныя дазволу, напрыклад, права на здзяйсненне ў сховішча.

Гэта можа быць надзвычай карысным, і на самай справе гэта адно з галоўных пераваг кансерваў хостынгу. Праблема ў тым, што часам карыстальнік Увайсці заканчвае тым, што патрабуецца для выканання задач, якія павінны быць дазволены для незарэгістраваных наведвальнікаў, у прыватнасці, здольнасць да файла пытанняў у памылцы трэкера, і выказаць свае заўвагі па існуючых праблемах. Патрабуючы ад які ўвайшоў у сістэму імя карыстальніка для такіх дзеянняў, праект выклікае ўдзел бара за тое, што павінна быць хуткім, зручным задач. Вядома, хочацца, каб мець магчымасць звязацца з чалавекам, які ўвайшоў дадзеных у сістэме адсочвання праблем, але з поля, дзе яна можа ўвайсці ў яе адрас электроннай пошты (калі яна хоча) з'яўляецца дастатковым. Калі новы карыстальнік плямы памылку і хоча, каб паведаміць пра гэта, яна будзе толькі раздражненне ў сувязі з неабходнасцю запоўніць форму стварэння ўліковага запісу, перш чым яна можа ўвайсці ў памылцы трэкера. Яна можа проста вырашылі не падаваць памылка на ўсіх.

Перавагі кіравання карыстальнікамі ў цэлым пераважваюць недахопы. Але калі вы можаце выбраць, якія дзеянні можна зрабіць ананімна, пераканайцеся, што не толькі тое, што ўсё толькі для чытання дзеянні дазваляецца без які ўвайшоў у госці, але і некаторыя ўступлення дзеянні дадзеных, асабліва ў памылцы трэкера, і калі яны ў вас ёсць , вікі-старонкі.



[ 12 ] З кнігі "Міфічны чалавека месяц 1975 года. Глядзіце http://en.wikipedia.org/wiki/The_Mythical_Man-Month і http://en.wikipedia.org/wiki/Brooks_Law .

[ 13 ] Неўзабаве пасля гэтага з'явілася кніга, Міхаіл Бернштэйн напісаў мне, каб сказаць: Ёсць і іншыя кліенты электроннай пошты, які рэалізацыі адказаць да спісу функцый, акрамя Mutt. "Напрыклад, эвалюцыя мае гэтую функцыю ў якасці клавішы хуткага доступу, але не кнопку (Ctrl + L) ".

[ 14 ] Так як я пісаў, што, я даведаўся, што ёсць па меншай меры аднаго спісу сістэма кіравання, якая дае такую ??магчымасць: Сиеста . Глядзіце таксама гэтую артыкул аб гэтым: http://www.perl.com/pub/a/2004/02/05/siesta.html

[ 15 ] Глядзіце http://cia.vc/stats/vcs і http://subversion.tigris.org/svn-dav-securityspace-survey.html для доказу гэтага росту.

[ 16 ] Для розныя думкі па пытанні аб версіях налады файлаў, гл Аляксей Махоткин ў перыяд пасля "configure.in і кантролю версій" на http://versioncontrolblog.com/2007/01/08/configurein-and-version-control/ .

[ 17 ] Існуе ніякіх патрабаванняў або чаканняў, што вы ахвяраваць Freenode, але калі вы або ваш праект можа сабе гэта дазволіць, чаму б ўклад. Яны беспадатковага дабрачыннасці ў ЗША, і яны выконваюць каштоўную паслугу.

[ 18 ] Для настройкі канала тэмы, выкарыстайце / тэмы каманды. Усе каманды ў IRC пачынаюцца з "/". Глядзіце http://www.irchelp.org/ калі вы не знаёмыя з IRC выкарыстання і адміністравання, у прыватнасці, http://www.irchelp.org/irchelp/irctutorial.html гэта выдатны ўрок.

[ 19 ] Глядзіце http://www.xml.com/pub/a/2002/12/18/dive-into-xml.html для гэтага.

[ 20 ] Крэдытныя па заслугах: гэты падзел быў не ў першым апублікаваным выданнем кнігі, але ў блогу Браян Акер "крытэрыі выпуску, Open Source, Думкі аб ..." нагадала мне аб карыснасці RSS-каналы для праектаў з адкрытым кодам.

Кіраўнік 4. Сацыяльнай і палітычнай інфраструктуры

Змест

Дабрачынны Дыктатары
Хто можа быць добрым Дабрачыннага дыктатар?
На аснове кансенсусу дэмакратыі
Упраўленне версіямі сродкі Вы можаце расслабіцца
Калі кансенсус не можа быць дасягнута, прагаласаваць
Калі на галасаванне
Хто Галасоў?
Апытанні Галасоў Versus
Вета
Даць усё гэта ўніз

Першыя людзі звычайна задаюць пытанні аб свабодным праграмным забеспячэнні: "Як гэта працуе? Што трымае праект працуе? Хто прымае рашэнні?" Я заўсёды незадаволеныя мяккі водгукі аб меритократии, дух супрацоўніцтва, код казаць само за сябе, і г.д. Справа ў тым, пытанне нялёгка адказаць. Меритократия, супрацоўніцтва і выкананне кода ўсе яго часткі, але яны мала што тлумачаць, як праекты на самай справе працуюць на дзень за днём, і нічога не кажуць аб тым, як дазвол канфліктаў.

У гэтай чале спрабуе паказаць структурныя асновы паспяховых праектаў маюць увогуле. Я маю на ўвазе "паспяховых" не толькі з пункту гледжання тэхнічнага якасці, але і аператыўнай здароўе і жывучасць. Аператыўная аховы здароўя працягваецца здольнасць праекта па ўключэнні новых узносаў код і новых распрацоўшчыкаў, і належным чынам рэагаваць на ўваходныя паведамленні пра памылку. Жывучасць з'яўляецца здольнасць праекта існаваць незалежна ад любога асобнага ўдзельніка ці фундатара-думаю пра яго, як верагоднасць таго, што праект будзе працягвацца, нават калі ўсе яго членаў-заснавальнікаў былі перайсці да іншых рэчаў. Тэхнічны поспех не так цяжка дасягнуць, але без надзейнай базы распрацоўшчык і сацыяльную аснову, праект можа быць не ў стане справіцца росту, што першапачатковы поспех прыносіць, ці ад'езд з харызматычных людзей.

Існуюць розныя спосабы для дасягнення такога поспеху. Некаторыя ўключаюць фармальнай структуры кіравання, у якой дэбаты будуць вырашаны, новыя распрацоўшчыкаў прапануецца ў (а часам і па-за), новыя функцыі, якія плануецца, і так далей. Іншыя ўключаюць менш фармальнай структуры, але больш свядомы стрыманасць, каб вырабіць атмасферы справядлівасці, што людзі могуць разлічваць на як-факта форме дэ кіравання. Абодва шляху вядуць да аднаго выніку: пачуццё інстытуцыйнай нестабільнасьці, падтрымліваецца звычкі і працэдуры, якія добра разумеюць усе, хто ўдзельнічае. Гэтыя магчымасьці яшчэ больш важна ў самоорганизующихся сістэм, чым у цэнтралізавана кіруемыя,, таму што ў самоорганизующихся сістэм, кожны ўсведамляе, што некалькі дрэнных яблыкаў можа сапсаваць цэлую бочку, па меншай меры на некаторы час.

Forkability

Незаменны інгрэдыенты, які звязвае распрацоўшчыкі разам на свабодны праграмны праект, і прымушае іх пайсці на кампраміс, калі гэта неабходна, з'яўляецца кода forkability: здольнасць любога ўзяць копію зыходнага кода і выкарыстоўваць яго, каб пачаць канкуруючых праекту, вядомага як відэльцам. Парадаксальнае тое, што магчымасць відэльцы, як правіла, значна большай сілай у свабодных праграмных праектаў, чым фактычныя відэльцы, якія вельмі рэдка. Таму што відэлец дрэнна для ўсіх (па прычынах, падрабязна разгледжаны ў раздзеле "відэльца" у чале 8, Упраўленне добраахвотнікаў ), больш сур'ёзныя пагрозы відэльцы, тым больш ахвотна людзі на кампраміс, каб пазбегнуць гэтага.

Форкс, ці, хутчэй, патэнцыял для відэльцы, з'яўляюцца прычынай Ёсць няма сапраўднага дыктатараў у свабодных праграмных праектаў. Гэта можа здацца дзіўным сцвярджэнне, улічваючы, як агульныя гэта пачуць кагосьці называюць "дыктатарам" і "тыранам" у дадзены праект з адкрытым кодам. Але гэты від тыраніі з'яўляецца асаблівым, вельмі адрозніваецца ад звычайнага разумення словы. Уявіце сабе, кароль якой суб'екты маглі капіяваць яго ўсё каралеўства ў любы час і перайсці да копію правілы па сваім меркаванні. Не такі цар кіруюць зусім інакш, чые суб'екты павінны былі заставацца пад сваёй уладай незалежна ад таго, што ён зрабіў?

Менавіта таму нават праекты, якія фармальна не арганізаваныя, як дэмакратыі, на практыцы, дэмакратыі, калі гаворка ідзе аб важных рашэнняў. Ўзнаўляльнасць разумее forkability; forkability разумее кансенсусу. Цалкам магчыма, што ўсё гатова адкласці да аднаго лідэра (самым вядомым прыкладам з'яўляецца Лінус Торвальдс у развіццё ядра Linux), але гэта таму, што яны захочуць гэта зрабіць, у цалкам не-цынічнай і не злавесным спосабам. Дыктатар не мае магічную ўладу над праектам. Ключавым уласцівасцю ўсіх адкрытых ліцэнзій з'яўляецца тое, што яны не даюць адзін бок больш энергіі, чым любы іншы ў тым, як код можа быць зменены або выкарыстоўвалі. Калі дыктатара былі раптоўна пачаць рабіць дрэнныя рашэнні, не было б неспакой, а затым у канчатковым выніку, паўстанне і відэльцам. За выключэннем, вядома, рэчы рэдка, што далёка, таму што дыктатар кампрамісы ў першую чаргу.

Але толькі таму, што forkability ставіць верхні мяжа на колькі любой улады могуць аказваць у праекце не азначае, Ёсць не істотныя адрозненні ў тым, як праекты рэгулююцца. Вы не хочаце кожнае рашэнне спусціцца ў апошняй інстанцыі пытанне аб тым, хто разглядае відэльцам. Гэта было б атрымаць стомна вельмі хутка, і SAP энергію ад рэальнай працы. У наступных двух раздзелах разглядаюцца розныя спосабы арганізацыі праектаў, такіх, што большасць рашэнняў ісці гладка. Гэтыя два прыкладу некалькі ідэалізаваны крайнасці, многія праекты падзенне дзе-то ўздоўж кантынууму паміж імі.

Дабрачынны Дыктатары

Добразычлівы мадэль дыктатара менавіта тое, што гэта гучыць як: канчатковае прыняцце рашэнняў ляжыць на аднаго чалавека, які, у сілу асобы і вопыту, будзе выкарыстоўваць яго з розумам.

Хоць "добразычлівыя дыктатара" (або BD) з'яўляецца стандартны тэрмін для гэтай ролі, было б лепш, каб думаць пра гэта як "супольнасць, зацверджаных арбітра" або "суддзя". Як правіла, добразычлівыя дыктатараў на самай справе не прымаць усе рашэнні, або нават большасць рашэнняў. Малаверагодна, што адзін чалавек можа мець дастаткова вопыту, каб зрабіць паслядоўна правільныя рашэнні ва ўсіх абласцях праекта, і ў любым выпадку, якасць распрацоўшчыкі не застануцца вакол, калі яны маюць некаторы ўплыў на кірунак праекта. Таму, добразычлівыя дыктатары звычайна не дыктуюць шмат. Замест гэтага, яны дазваляюць сабе ўсё гэта працуе праз дыскусіі і эксперыменты па меры магчымасці. Яны прымаюць удзел у гэтых дыскусіях сябе, але, як рэгулярныя распрацоўшчыкаў, часта пра пераносе на вобласць суправаджальніка, які мае больш вопыту. Толькі тады, калі ясна, што не можа быць дасягнуты кансенсус, і што большасць з групы хоча каго-то кіраўніцтва рашэння, з тым, што развіццё можа ісці далей, яны паставілі свае ногі ўніз і сказаць: "Гэта так, як гэта будзе." Нежаданне прымаць рашэнні па Fiat з'яўляецца агульнай рысай практычна ўсіх паспяховых добразычлівы дыктатараў, гэта адна з прычын, ім ўдаецца захаваць ролю.

Хто можа быць добрым Дабрачыннага дыктатар?

Будучы BD патрабуе спалучэння чорт. Ён павінен, перш за ўсё, адладжаная адчувальнасць да ўласнага ўплыву ў праекце, які ў сваю чаргу прыносіць стрыманасць. У ранняй стадыі абмеркавання, не варта выказваць свае думкі і высновы, з такой упэўненасцю, што іншыя адчуваю, што гэта бессэнсоўна іншадумства. Людзі павінны быць вольныя ў паветры ідэі, нават дурныя ідэі. Гэта непазбежна, што BD будзе размяшчаць дурная ідэя час ад часу таксама, вядома, і таму роля таксама патрабуе здольнасці ўсвядоміць і прызнаць, калі адзін зрабіў дрэннае рашэнне, хоць гэта проста рыса, што любы добры распрацоўшчык павінны мець, асабліва калі яна застаецца з праекта доўгі час. Але розніца ў тым, што BD можа дазволіць сабе слізгацення час ад часу, не турбуючыся аб доўгатэрміновым шкоды для яе аўтарытэту. Распрацоўнікі з меншым стажам не можа адчуваць сябе настолькі ўпэўнена, так BD павінны фразу крытыку ці наадварот рашэння з некаторымі адчувальнасці для якой вага яе словы нясуць, і тэхнічна, і псіхалагічна.

BD не павінны мець вострых тэхнічных навыкаў хто-небудзь у праекце. Яна павінна быць дастаткова дасведчаным для працы над кодам сябе, і каб зразумець і каментаваць якія-небудзь змены на разглядзе, але вось і ўсё. Пазіцыя BD ні набылі, ні якая адбылася ў сілу запалохаць навыкі праграмавання. Важна, вопыт і агульнае адчуванне дызайн-не абавязкова здольнасць вырабляць добры дызайн па патрабаванні, але здольнасць распазнаваць добры дызайн, незалежна ад крыніцы яе.

Яна з'яўляецца агульнай для добразычлівага дыктатара быць заснавальнік праекта, але гэта больш, чым карэляцыя прычыны. Віды якасцяў, якія робяць адзін у стане паспяхова пачала праект-тэхнічную кампетэнтнасць, здольнасць пераконваць іншых людзей далучыцца і т. д., з'яўляюцца менавіта якасці любога BD спатрэбіцца. І, вядома, заснавальнікамі пачаць з нейкай аўтаматычнай стажу, які часта можа быць дастаткова, каб зрабіць добразычлівы дыктатуры з'яўляюцца шлях найменшага супраціву для ўсіх зацікаўленых бакоў.

Памятайце, што патэнцыял для відэльцы ідзе ў абодвух напрамках. BD можа відэльцам праекта так жа лёгка, як ніхто іншы, і некаторыя з іх час ад часу зрабілі, калі яны адчувалі, што кірунак яны хацелі б прыняць праект адрозніваецца ад, дзе большасць іншых распрацоўшчыкаў хацеў ісці. З-за forkability, не мае значэння, будзь добразычлівым дыктатар корань (правамі сістэмнага адміністратара) на галоўнай праекта сервераў ці няма. Людзі часам кажуць аб серверны элемент кіравання, як калі б гэта было асноўнай крыніцай улады ў праекце, але на самой справе гэта не мае значэння. Магчымасць дадаць ці выдаліць здзейсніць паролі людзей на адным пэўным сэрвэры ўплывае толькі копію праекта, які знаходзіцца на гэтым сэрверы. Доўгі злоўжыванне, што ўлада, будзь то BD ці хто-небудзь яшчэ, проста прывесці да развіцця пераходу на іншы сервер.

Ці ваш праект павінен быць добразычлівым дыктатара, або будзе працаваць лепш з некаторымі менш цэнтралізаваная сістэма, шмат у чым залежыць ад таго, хто даступны для запаўнення ролю. Як правіла, калі гэта проста відавочна для ўсіх, хто павінен быць BD, то гэта шлях. Але калі ні адзін з кандыдатаў для BD адразу відаць, то праект павінен, верагодна, выкарыстоўваць дэцэнтралізаванай працэс прыняцця рашэнняў, як апісана ў наступным раздзеле.

На аснове кансенсусу дэмакратыі

Як праекты сталеюць, яны маюць тэндэнцыю перамяшчацца ад добразычлівага мадэль дыктатуры і да больш адкрыта дэмакратычным сістэмам. Гэта не абавязкова з незадаволенасць прыватнасці BD. Гэта проста, што група кіравання, заснаванага на больш "эвалюцыйна стабільнай", браць у доўг біялагічныя метафары. Кожны раз, калі добразычлівыя крокі дыктатара ўніз, або спробы распаўсюдзіць адказнасць за прыняцце рашэнняў больш раўнамерна, гэта магчымасць для групы па ўрэгуляванні на новых, не-дыктатарскія сістэмы стварэння канстытуцыі, як гэта было. Група не можа скарыстацца гэтай магчымасцю, упершыню, ці другі, але ў канчатковым выніку яны будуць, як толькі яны гэта зробяць, гэта рашэнне наўрад ці будзе наадварот. Разумны сэнс тлумачыць, чаму: калі група людзей N былі надзяліць аднаго чалавека з асаблівай сілай, гэта будзе азначаць, што N - 1 чалавек былі кожны пагадзіўшыся на зніжэнне іх індывідуальных ўплыву. Людзі звычайна не хочуць гэтага рабіць. Нават калі яны зрабілі, у выніку дыктатура будзе па-ранейшаму ўмоўнае: група памазаў BD, выразна група магла б зрынуць BD. Таму, як толькі праект перайшоў ад кіраўніцтва з боку асобных харызматычных да больш фармальным, гурт-сістэма, яна рэдка рухаецца таму.

Падрабязная інфармацыя аб тым, як гэтыя сістэмы працуюць значна адрознівацца, але Ёсць два агульных элемента: адзін, група працуе на аснове кансенсусу вялікую частку часу, два, ёсць фармальны механізм галасавання, каб вярнуцца, калі кансэнсус не можа быць дасягнута.

Кансенсус азначае толькі тое, што пагадненне ўсе жадаюць жыць. Гэта не неадназначнае стан: група дасягнула кансенсусу па дадзеным пытанні, калі хто-то прапануе, каб быў дасягнуты кансенсус, і ніхто не супярэчыць сцвярджэнню. Чалавек прапануе кансенсус павінен, вядома, стан, што канкрэтна кансенсус, і якія меры будуць прыняты ў следства гэтага, калі яны не відавочныя.

Большасць размову ў праект на тэхнічныя тэмы, такія, як права спосаб выправіць пэўную памылку, ці варта дадаць функцыю, як строга да дакумента інтэрфейсаў, і г.д. на аснове кансенсусу кіравання працуе добра, паколькі ён спалучае лёгка з тэхнічнай само абмеркаванне. Да канца абмеркавання, часта агульная згода аб тым, што курса. Кто-то, як правіла, робяць заключныя пост, які адначасова з'яўляецца выклад таго, што было вырашана і няяўных прапанову кансенсусу. Гэта дае апошні шанец для кагосьці яшчэ сказаць "Пачакайце, я не згодны з гэтым. Мы павінны хэш гэта яшчэ трохі."

Для малых, бясспрэчных рашэнняў, прапановы кансенсусу з'яўляецца няяўнай. Напрыклад, калі распрацоўшчык спантанна здзяйсняе Выпраўленне, узяць на сябе гэтую прапанову кансенсусу: "Я мяркую, мы ўсё згодныя з тым, што гэтая памылка павінна быць выпраўлена, і што гэта спосаб гэта выправіць". Вядома, распрацоўшчык не сказаць, што на самой справе, яна проста здзяйсняе выправіць, і іншыя ў праекце не турбуюць сябе дзяржава іх згоды, таму што маўчанне знак згоды. Калі хто-то здзяйсняе змяненне, якое аказваецца не мець кансенсус, вынік проста для праекта, каб абмеркаваць змены, як быццам ён ужо не было здзейснена. Прычына гэтай працы з'яўляецца тэмай наступнага падзелу.

Упраўленне версіямі сродкі Вы можаце расслабіцца

Той факт, што зыходны код праекта знаходзіцца пад кантролем версій азначае, што большасць рашэнняў можа быць лёгка насыпной. Найбольш распаўсюджаны спосаб гэта адбываецца, што хто-то робіць змены памылкова мыслення ўсе былі б шчаслівыя з ім, толькі каб быць сустрэўся з пярэчаннямі пасля факту. Гэта характэрна для такіх пярэчанняў пачаць з абавязковым выбачэнні за тое, што прапусцілі на папярэдняе абмеркаванне, хоць гэта можа быць апушчана, калі пярэчанне не знаходзіць запісу такога абмеркавання ў архівах спісаў рассылання. У любым выпадку, няма ніякіх падстаў для тон абмеркавання, якое будзе розным пасля змены было здзейснена, чым раней. Любыя змены могуць быць адмененыя, па меншай меры да залежныя змены ўносяцца (т. е. новы код, які будзе перапынак, калі арыгінальны змены былі раптоўна выдалены). Сістэма кантролю версій дае праекта спосаб адмяніць наступствы дрэннага або паспешлівых меркаванняў. Гэта, у сваю чаргу, вызваляе людзей давяраць сваім інстынктам аб тым, колькі зваротнай сувязі неабходна, перш чым рабіць што-то.

Гэта таксама азначае, што працэс стварэння кансенсусу не трэба быць вельмі фармальным. Большасць праектаў звяртацца з гэтым на навобмацак. Нязначныя змены могуць перайсці ў без якіх-небудзь абмеркавання, або з мінімальным дыскусія па некалькі ківае пагаднення. Для больш істотныя змены, асабліва тыя, з дэстабілізаваць шмат кода, людзі павінны пачакаць дзень або два, перш чым прыступіць існуе кансенсус, абгрунтаванне ў тым, што ніхто не павінен быць ізаляваныя ў важны размова проста таму, што ён не правяраў электроннай пошты досыць часта.

Такім чынам, калі хто-то ўпэўнены, што ён ведае, што трэба зрабіць, ён павінен проста ісці наперад і рабіць гэта. Гэта адносіцца не толькі да праграмнага забеспячэння выпраўлення, але на вэб-сайце абнаўлення, змены ў дакументацыі, а ўсё астатняе наўрад ці можа быць спрэчным. Звычайна там будзе толькі некалькі выпадкаў, калі дзеянні павінны быць адмененыя, і яны могуць быць апрацаваныя на кожным канкрэтным выпадку. Вядома, не варта заахвочваць, каб людзі ўпартыя. Існуе яшчэ псіхалагічная розніца паміж рашэннем ў стадыі абмеркавання і якое ўжо ўступіла ў сілу, нават калі гэта тэхнічна зварачальным. Людзі заўсёды адчуваюць, што імпульс саюзнікаў да дзеяння, і будзе некалькі больш неахвотна вярнуцца змен, чым, каб прадухіліць гэта, у першую чаргу. Калі распрацоўнік парушэння гэтага факту здзяйснення патэнцыйна супярэчлівых змяненняў занадта хутка, аднак, людзі могуць і павінны скардзіцца, і лічаць, што распрацоўніку жорсткі стандарт, пакуль сітуацыя палепшыцца.

Калі кансенсус не можа быць дасягнута, прагаласаваць

Непазбежна, некаторыя дэбаты проста не будзе кансенсусу. Калі ўсе іншыя сродкі парушэнні ў тупік не атрымалася, рашэнне, каб прагаласаваць. Але да галасавання можа быць прынята, павінна быць ясна, што выбар на галасаванні. Тут, зноў жа, нармальны працэс абмеркавання тэхнічных сумесяў шчаслівай выпадковасці з працэдурамі прыняцця рашэнняў праекта. Віды пытанняў якія прыходзяць на галасаванне часцяком патрабуецца комплекснае, шматграннае пытанняў. У любым такія складаныя абмеркавання, як правіла Ёсць адзін ці два чалавека гуляць ролю сумленнага пасярэдніка: размяшчэнне перыядычных рэзюмэ розныя аргументы і адсочваць, дзе асноўныя пункты разыходжанні (і пагаднення) ляжаць. Гэтыя рэзюмэ дапамагчы ўсім меру, які прагрэс быў дасягнуты, і нагадаць усім аб тым, што пытанні яшчэ трэба вырашыць. Тыя ж рэзюмэ можа служыць у якасці прататыпаў для галасавання ліст, павінны прагаласаваць стане неабходным. Калі сапраўды брокераў рабілі сваю працу добра, яны будуць мець магчымасць дакладна заклік прагаласаваць, калі прыйдзе час, і група будзе гатовая выкарыстаць галасаванне ліста на аснове іх рэзюмэ пытанняў. Брокеры самі па сабе могуць быць ўдзельнікі дыскусіі, гэта не з'яўляецца неабходным для іх заставацца над сутычкай, да тых часоў, як яны могуць зразумець і справядліва прадстаўляць думкі іншых, і не дапусціць іх партызанскіх настрояў прадухіліць іх абагульненне стану абмеркавання у нейтральнай моды.

Фактычнае ўтрыманне галасавання, як правіла, не спрэчны. Да таго часу, пытанні дасягненні галасавання, рознагалоссі, як правіла, зводзіцца да некалькіх ключавых пытаннях, з вядомымі этыкеткі і кароткім апісаннем. Часам распрацоўшчык аб'екта да форме само галасаванне. Часам яго заклапочанасць з'яўляецца законным, напрыклад, што важны выбар быў перарваны ці не апісаны дакладна. Аднак у іншых выпадках распрацоўнік можа быць проста спрабуе прадухіліць непазбежнае, магчыма, ведаючы, што галасаванне, верагодна, не будзе ісці ў шлях свой. Глядзіце частку пад назвай "Цяжкія людзі" у чале 6, сувязі аб тым, як мець справу з такога роду абструкцыі.

Не забудзьцеся пазначыць сістэме галасавання, як Ёсць шмат розных відаў, і людзі могуць зрабіць няправільныя здагадкі пра тое, якія працэдуры выкарыстоўваюцца. Добры выбар у большасці выпадкаў з'яўляецца зацвярджэнне галасавання, пры якой кожны выбаршчык можа галасаваць за, як многія з выбараў на галасаванне, як яму падабаецца. Сцвярджэнне галасавання проста растлумачыць, і лічыць, і ў адрозненне ад некаторых іншых метадаў, а толькі ўключае ў сябе адзін тур галасавання. Глядзіце http://en.wikipedia.org/wiki/Voting_system # List_of_systems для больш падрабязнай інфармацыі аб галасаванні зацвярджэння і іншыя сістэмы галасавання, але паспрабуйце не патрапіць ў доўгую спрэчку, аб якім сістэма галасавання для выкарыстання (таму што, вядома, вы будзеце то знайсці сябе ў дыскусіі аб якім сістэма галасавання выкарыстоўваць вырашыць сістэма галасавання!). Адна з прычын зацвярджэння галасавання з'яўляецца добрым выбарам у тым, што гэта вельмі цяжка для любога аб'екта-гэта аб якасці справядлівай сістэме галасавання могуць быць.

Нарэшце, правядзенне галасоў у грамадскіх месцах. Існуе няма неабходнасці ў таямніцы або ананімнасці у галасаванні па пытаннях, якія абмяркоўваліся публічна ў любым выпадку. У кожнага ўдзельніка пасля яе голасу ў спіс рассылкі праекта, так што любы назіральнік можа падліку і праверкі вынікаў для сябе, і так, што ўсё запісана ў архівах.

Калі на галасаванне

Самае цяжкае для людзей галасавання вызначэння таго, калі гэта зрабіць. У цэлым, прымаючы галасавання павінны быць вельмі рэдкімі апошняй інстанцыі, калі ўсе іншыя варыянты не ўвянчаліся поспехам. Не думаю, галасавання, як гэта выдатны спосаб для вырашэння дэбатаў. Гэта не так. Яна заканчваецца абмеркаванне, і, такім чынам канцы творчае мысленне аб праблеме. Пакуль дыскусія працягваецца, існуе магчымасць таго, што хто-то прыйдзе з новым рашэннем ўсё падабаецца. Гэта адбываецца, дзіўна часта: ажыўленая дыскусія можа вырабіць новы спосаб мыслення пра праблему, і прывесці да прапановы, што ў канчатковым выніку задавальняе ўсіх. Нават тады, калі не ўзнікае новая прапанова, ён усё яшчэ звычайна лепш кампрамісу, чым правесці галасаванне. Пасля кампраміс, усё трохі няшчасная, а пасля галасавання, некаторыя людзі незадаволеныя, а іншыя шчаслівыя. З палітычнага пункту гледжання, былы сітуацыі пераважней: па крайняй меры кожны чалавек можа адчуваць, што ён дастаў цану за свае няшчасці. Ён можа быць незадаволены, але так і ўсе астатнія.

Галоўная перавага Галасаванне з'яўляецца тое, што ён, нарэшце, вырашае пытанне так што кожны можа рухацца далей. Але гэта вырашае справа па галаве кол, а не рацыянальнымі дыялогу, вядучага ўсё да таго ж высновы. Больш вопытныя людзі з праектамі з адкрытым кодам, менш імкнуцца знайсці іх будзе ўрэгуляваць пытанні шляхам галасавання. Замест гэтага яны будуць спрабаваць вывучыць раней не рашэнні, або кампраміс большай ступені, чым яны першапачаткова планавалася. Розныя метады для папярэджання дачаснага галасавання. Найбольш відавочным з'яўляецца проста сказаць: "Я не думаю, што мы гатовыя для галасавання яшчэ", і растлумачыць, чаму няма. Іншы прасіць неафіцыйных (неабавязковага) ўзняццем рук. Калі адказ выразна імкнецца да той ці іншага боку, гэта будзе зрабіць некаторыя людзі раптам больш гатовыя ісці на кампраміс, ухіляючы неабходнасць ў афіцыйным галасаванні. Але найбольш эфектыўным спосабам проста прапанаваць новае рашэнне, або новы погляд на старую прапанову, каб людзі зноў дамовіцца з пытаннямі, а не проста паўтараць тыя ж аргументы.

У некаторых рэдкіх выпадках, усё могуць пагадзіцца, што ўсе кампрамісныя рашэнні горш, чым любы з бескампраміснасці іх. Калі гэта адбудзецца, галасаванне з'яўляецца менш непажаданым, так як гэта, хутчэй за ўсё, прывядзе да выдатнае рашэнне і таму, што людзі не будуць занадта няшчасныя незалежна ад таго, як гэта атрымліваецца. Нават тады, галасаванне не павінна быць паспеху. Абмеркаванне і да галасавання, што выхоўвае выбаршчыкаў, таму прыпынку, што абмеркаванне ранняга можа прывесці да зніжэння якасці выніку.

(Майце на ўвазе, што гэты савет не жадаюць галасаванняў не распаўсюджваецца на змены-ўключэнне галасавання апісана ў раздзеле "Стабілізацыя рэлізу" у чале 7, Упакоўка, вызваленнем і штодзённая развіцця . Там галасавання больш паведамленняў механізм, сродкі рэгістрацыі ўдзелу свайго ў працэсе разгляду змяненняў, з тым, што кожны можа сказаць, колькі агляд дадзенае змяненне атрымала.)

Хто Галасоў?

Наяўнасць сістэмы галасавання паднімае пытанне выбаршчыкаў: хто атрымлівае галасы? Гэта мае патэнцыял, каб быць адчувальным пытаннем, паколькі яна змушае праекта афіцыйна прызнаць некаторых людзей, як больш актыўны ўдзел, ці як якія маюць лепшае рашэнне, чым іншыя.

Лепшым рашэннем будзе проста прыняць існуючыя адрозненні, здзяйсняюць доступу, і прыкласці галасы да яго. У праектах, якія прапануюць поўны і частковы здзейсніць доступу, пытанне аб частковай коммиттеров можаце галасаваць у значнай ступені залежыць ад працэсу, пасродкам якога частковае здзейсніць прадастаўлены доступ. Калі праект рукі яго ліберальна, напрыклад, як спосаб падтрымання многіх іншых спрыялі інструментаў у сховішча, то гэта павінна быць ясна, што частковае магчымасці фіксаваць на самой справе проста аб здзяйсненні, якія не ўдзельнічаюць у галасаванні. Зваротная імплікацыі натуральна таксама выканана: з поўнай коммиттеров будзе мець права голасу, яны павінны быць выбраны не толькі праграмісты, але ў якасці членаў электарату. Калі хто-то паказвае разбуральнае або абструкцыянісцкіх тэндэнцыі на спіс рассылкі, групы павінны быць вельмі асцярожнымі аб тым, каб яго коммиттер, нават калі чалавек тэхнічна кваліфікаваных.

Сістэма галасавання сам павінен быць выкарыстаны, каб выбраць новыя коммиттеров, як поўнага, так і частковым. Але вось адзін з рэдкіх выпадкаў, калі таямніца з'яўляецца мэтазгодным. Вы не можаце мець галасы аб патэнцыйных коммиттеров апублікаванае на спіс рассылкі, так як пачуцці кандыдата (і рэпутацыі) можа быць балюча. Замест гэтага, як звычайна ў тым, што існуючыя паведамленні коммиттер для прыватных спіс рассылкі, які складаецца толькі з іншых коммиттеров, у якім прапаноўваецца, што хто-то быць прадастаўлены магчымасці фіксаваць. Іншых коммиттеров выказваць сваё меркаванне свабодна, ведаючы, абмеркавання з'яўляецца прыватным. Часта не будзе рознагалоссяў, і таму няма неабходнасці галасаваць. Вычакаўшы некалькі дзён, каб пераканацца, што кожны коммиттер была магчымасць адказаць, прапанова пошты кандыдата і прапануе яму здзейсніць доступу. Калі ёсць рознагалоссі, дыскусіі вынікае, што і для любой іншай пытанне, магчыма, у выніку галасавання. Для гэтага працэсу, каб быць адкрытымі і адкрытымі, сам факт, што абмеркаванне праходзіць на ўсіх павінна быць тайным. Калі асоба, якая не дасягнула разгляду ведаў, што гэта адбываецца, і то ніколі не былі прапанаваны магчымасці фіксаваць, ён мог бы заключыць, што ён страціў голас, і, хутчэй за ўсё, крыўдна. Вядома, калі хто-то відавочна просіць здзейсніць доступу, то няма выбару, акрамя як разгледзець гэтую прапанову і відавочна прыняць або адхіліць яго. Калі апошняе, то гэта павінна быць зроблена, як ветліва, як гэта магчыма, з выразным тлумачэннем: "Нам спадабалася ваша патчы, але не бачыў іх у дастатковай колькасці яшчэ", або "Мы высока цэнім ўсе вашы патчы, але яны патрабуюць значнай карэкціроўкі да яны могуць быць ужытыя, таму мы не адчувалі сябе камфортна даючы вам магчымасці фіксаваць яшчэ. Мы спадзяемся, што гэтая тэндэнцыя будзе змяняцца з цягам часу, аднак. " Памятайце, што вы кажаце можа прыйсці, як удар, у залежнасці ад узроўню чалавека даверу. Пастарайцеся, каб убачыць гэта, з іх пункту гледжання, як вы пішаце пошце.

Таму што даданне новых коммиттер больш ускосныя, чым большасць іншых аднаразовых рашэнняў, некаторыя праекты маюць спецыяльныя патрабаванні для галасавання. Напрыклад, яны могуць патрабаваць, каб атрымаць прапанову па крайняй меры п станоўчых галасоў і не ўтрымліваецца адмоўных галасоў, або кваліфікаванае большасць галасоў у карысць. Дакладныя параметры не важныя, асноўная ідэя, каб атрымаць групу быць асцярожным аб даданні новых коммиттеров. Аналагічныя, ці яшчэ больш жорсткія, спецыяльныя патрабаванні могуць прымяняцца да галасоў, каб выдаліць коммиттер, хоць мы спадзяемся, што ніколі не будзе неабходнасці. Глядзіце раздзел "Коммиттеры" у чале 8, Упраўленне добраахвотнікаў для атрымання дадатковай інфармацыі без права голасу аспекты дадання і выдалення коммиттеров.

Апытанні Галасоў Versus

Для некаторых відаў галасоў, ён можа быць карысным для пашырэння электарату. Напрыклад, калі распрацоўнікі проста не магу зразумець, ці з'яўляецца дадзены інтэрфейс выбару матчаў, як людзі на самай справе выкарыстаць праграмнае забеспячэнне, адно рашэнне прасіць, каб усе абаненты рассылкі праекта спісы для галасавання. Гэта сапраўды апытанні, а не колькасць галасоў, але распрацоўшчыкі могуць выбраць для лячэння вынік як абавязковыя. Як і любое апытанне, не забудзьцеся даць зразумець удзельнікам, што ёсць запісы ў варыянт: калі хто-небудзь думае пра лепшы варыянт не прапануецца ў апытанні пытанні, яе адказ можа апынуцца найбольш важным вынікам апытання .

Вета

Некаторыя праекты дазваляюць асаблівы від галасавання вядомага як вета. Вета шлях для распрацоўнікаў пакласці канец паспешныя або неабдуманыя змены, па крайняй меры дастаткова доўга, для ўсіх, каб абмеркаваць яго больш. Падумайце аб вета, як дзе-то паміж вельмі моцныя пярэчанні і пірата. Яго дакладнае значэнне залежыць ад аднаго праекту да іншага. Некаторыя праекты, зрабіць гэта вельмі цяжка адмяніць вета, іншыя дазваляюць ім быць адменена рэгулярнае большасцю галасоў, магчыма, пасля гвалтоўнага затрымкі для больш дэталёвага абмеркавання. Любы вета павінна суправаджацца дбайнай тлумачэнне; вета без такога тлумачэння павінны быць прызнаныя несапраўднымі па прыбыцці.

З вета прыходзіць праблема злоўжывання правам вета. Часам распрацоўнікі таксама хочуць падняць стаўкі, кідаючы вета, калі на самай справе ўсё, што называецца для больш абмеркавання. Вы можаце прадухіліць злоўжыванні правам вета, быўшы вельмі неахвотна выкарыстоўваюць вета сябе, і, асцярожна называючы яго, калі хто-то іншы выкарыстоўвае яе вета занадта часта. Пры неабходнасці, вы можаце таксама нагадаць групе, што вета з'яўляюцца абавязковымі для толькі да тых часоў, як група згодная з тым яны ў рэшце рэшт, калі пераважная большасць распрацоўнікаў хоча X, то X будзе адбывацца так ці інакш. Альбо вета распрацоўнік будзе адступіць, або група вырашыць аслабіць сэнс вета.

Вы можаце бачыць, што людзі пішуць "-1", каб выказаць вета. Гэта выкарыстанне паходзіць ад Apache Software Foundation, якая добра структураваны галасавання і права вета працэс, апісаны ў http://www.apache.org/foundation/voting.html . Apache стандарты распаўсюджваюцца на іншыя праекты, і вы ўбачыце іх ўмоўныя абазначэнні, якія выкарыстоўваюцца ў рознай ступені ў многіх месцах у свеце адкрытага зыходнага кода. Тэхнічна, "-1" не заўсёды азначае фармальнае вета нават па Apache стандартам, але неафіцыйна, як правіла, разумеецца права вета або, па крайняй меры вельмі моцныя пярэчанні.

Як галасоў, вета можа мець зваротнай сілы. Гэта не нармальна аб'ект вета на тым падставе, што змены ў пытанне ўжо было здзейснена, або дзеянняў (калі гэта тое, безотзывное, як тушэнне прэс-рэліз). З іншага боку, права вета, што прыходзіць тыдняў ці месяцаў канца не можа быць вельмі сур'ёзна, гэта не павінна быць.

Даць усё гэта ўніз

У нейкі момант, шэраг канвенцый і пагадненняў, якія цыркулююць у ваш праект можа стаць настолькі вялікім, што вам неабходна запісаць яго дзе-небудзь. Для таго, каб даць такі дакумент законнасці, ясна, што яна заснаваная на рассылку абмеркавання і пагаднення ўжо дзейнічаюць. Як вы яго складаюць, спасылкі на адпаведныя тэмы ў архівах спісаў рассылання, і, калі ёсць кропка вы не ўпэўненыя, спытаеце яшчэ раз. Дакумент не павінен утрымліваць якіх-небудзь сюрпрызаў: гэта не крыніца пагаднення, гэта проста іх апісанне. Вядома, калі яна будзе паспяховай, людзі пачнуць са спасылкай яго як крыніца улады сам па сабе, але гэта толькі азначае, што яна адлюстроўвае агульную волю групы дакладна.

Гэта дакуменце згадваецца ў раздзеле "Кіраўніцтва распрацоўніка" у чале 2, Прыступаючы да працы . Натуральна, калі праект яшчэ вельмі маладая, у вас будзе закласці прынцыпы без выгады доўгую гісторыю праекта, каб маляваць. Але, як Супольнасць па пытаннях развіцця спее, вы можаце наладзіць мову, каб адлюстраваць становішча рэчаў на самай справе атрымаецца.

Не спрабуйце быць усёабдымнай. Дакумент не можа захапіць усё, што трэба ведаць аб удзеле ў праекце. Многія з канвенцый развіцця праекта назаўсёды застаюцца нявыказанае, ніколі не згадваецца відавочна, але, да якіх далучыліся ўсе. Іншыя рэчы проста занадта відавочныя, каб быць вышэй, і будзе толькі адцягваць ад важных, але не відавочна матэрыялу. Напрыклад, няма сэнсу Даць кіруючых прынцыпаў, як "Будзьце ветлівыя і павага да іншых у спісах рассылання, і не пачынайце вайны полымя", або "Стварыць чысты, чытаны памылка-код, свабодны". Вядома, гэтыя рэчы з'яўляюцца пажаданымі, але так як няма ніякай мажлівае сусвету, у якой яны не могуць быць пажаданымі, яны не стаяць згадкі. Калі людзі грубасць на спіс рассылкі, або пісьмова памылка ў праграмным кодзе, яны не збіраюцца спыняцца толькі таму, што праект кіруючых прынцыпаў сказаў. Такія сітуацыі павінны вырашацца з па меры іх узнікнення, а не коўдру ўгаворванні быць добрым. З іншага боку, калі праект мае пэўныя ўказанні аб тым, як напісаць добры код, напрыклад, правілы дакументавання кожнага API ў пэўным фармаце, то гэтыя прынцыпы павінны быць запісаны як мага больш поўна.

Добры спосаб вызначыць, што ўключыць з'яўляецца базай дакументаў на пытанні, якія навічкі просяць часцей за ўсё, і на скаргі вопытныя распрацоўшчыкі робяць часцей за ўсё. Гэта не абавязкова азначае, што яна павінна ператварыцца ў FAQ-ліст ён, верагодна, мае патрэбу ў больш паслядоўнай апавядальная структура, чым часта задаюць пытанні могуць прапанаваць. Але яна павінна прытрымлівацца той жа рэальнасці аснове прынцыпу вырашэння пытанняў, якія ўзнікаюць на самай справе, а не тых, каго вы прадбачыць могуць паўстаць.

Калі праект з'яўляецца добразычлівае дыктатуры, або супрацоўнікі надзелены асаблівымі паўнамоцтвамі (прэзідэнт, старшыня, любы іншы), то дакумент таксама добрая магчымасць кадыфікаваць парадак вызначэння правапераемнасць. Часам гэта можа быць таксама проста, як імёны канкрэтных людзей у якасці замены ў выпадку BD раптам лісце праекта па любой прычыне. Наогул, калі ёсць BD, толькі BD можа сысці з рук назваўшы пераемніка. Калі Ёсць абраных службовых асоб, то вылучэнне і працэдуры выбараў, якая была выкарыстаная, каб выбраць іх у першую чаргу павінны быць апісаны ў дакуменце. Калі б не было працэдуры першапачаткова, а затым атрымаць згоду на працэдуры ў спісах рассылання, перш чым пісаць пра гэта. Людзі могуць быць часам крыўдлівы аб іерархічныя структуры, таму пытанне варта падыходзіць з адчувальнасцю.

Можа быць, самае галоўнае, каб зразумець, што правілы могуць быць перагледжаныя. Калі, апісаным у дакуменце пачынаюць перашкаджаць праекту, нагадаць усім, што ён павінен быць жывым адлюстраваннем намеры групы, а не крыніцай расчараванні і блакіроўкі. Калі хто-то робіць няправільна звычку прасіць правілы павінна быць перагледжана кожны раз, калі правілы ўстаюць на яе шляху, вы не заўсёды павінен абмеркаваць гэта з ёй, часам маўчанне лепшая тактыка. Калі іншыя людзі згодныя з скаргамі, яны будуць тэлефанаваць у, і будзе відавочна, што нешта павінна змяніцца. Калі ніхто не пагодзіцца, то чалавек не будзе атрымліваць значна адказ, і правілы знаходжання, як яны.

Два добрых прыкладу праекта кіруючых прынцыпаў Subversion супольнасці кіраўніцтва, у http://subversion.apache.org/docs/community-guide/ , і Apache Software кіравання дакументамі Фонду, на http://www.apache.org/foundation / як-яна-works.html і http://www.apache.org/foundation/voting.html . ASF сапраўды набор праграмных праектаў, юрыдычна арганізаваны як некамерцыйная арганізацыя, таму яго дакументы, як правіла, апісваюць працэдур кіравання больш чым развіццё канвенцый. Яны ўсё яшчэ стаіць прачытаць, хоць, таму што яны ўяўляюць сабой назапашаны вопыт шмат праектаў з адкрытым кодам.

Кіраўнік 5. Грошы

Змест

Тыпы ўдзелу
Арэнда на працяглы тэрмін
З'яўляюцца, як многія, не як адзін
Будзьце адкрыты аб Вашай матывацыі
Грошы не могуць купіць You Love
Дагаворныя
Разгляд і прыняцце зменаў
Прыклад: пароль аўтэнтыфікацыі пратаколу CVS
Фінансаванне Нумары для праграмавання дзейнасці
Забеспячэнне якасці (напрыклад, прафесійнае тэсціраванне)
Юрыдычныя кансультацыі і абарона
Дакументацыя і юзабіліці
Прадастаўленне хостынгу / прапускная здольнасць
Маркетынг
Памятайце, што вы Праглядаецца
Не Bash канкуруючых прадуктаў з адкрытым кодам

У гэтай чале разглядаецца, як прывесці фінансаванне ва ўмовах вольнага праграмнага забеспячэння. Яна накіраваная не толькі на распрацоўнікаў, якія атрымліваюць прыбытак для працы на праектаў вольнага праграмнага забеспячэння, але і на іх кіраўнікоў, якія павінны зразумець, сацыяльная дынаміка развіцця навакольнага асяроддзя. У наступных раздзелах, адрасату ("вы"), як мяркуецца, або выплачваецца распрацоўніку, або той, хто кіруе такімі распрацоўшчыкамі. Саветы часта будзе аднолькавая для абодвух, а калі гэта не так, мэтавая аўдыторыя будзе ясна з кантэксту.

Карпаратыўнае фінансаванне распрацоўкі вольнага праграмнага забеспячэння не з'яўляецца новым з'явай. Шмат развіцця заўсёды была неафіцыйна субсідуюцца. Калі сістэмны адміністратар піша інструмент аналізу сеткі, каб дапамагчы ёй рабіць сваю працу, то паведамленні яго ў Інтэрнэце і атрымлівае выпраўляе памылку і функцыя узносаў ад іншых сістэмных адміністратараў, што здарылася ў тым, што неафіцыйны кансорцыум быў сфарміраваны. фінансавання кансорцыума зыходзіць ад заробку сістэмных адміністратараў, і яго службовыя памяшканні і прапускной здольнасці сеткі ахвяраваныя, хоць і несвядома, па арганізацыі іх працы. Тыя арганізацыі, выгады ад інвестыцый, вядома, хоць яны не могуць быць інстытуцыйна ўсведамляе гэта ў першую чаргу.

Розніца сёння ў тым, што многія з гэтых намаганняў у цяперашні час фармалізавана. Карпарацыі павінны ўсвядоміць перавагі ПА з адкрытым кодам, і пачалі з удзелам сябе больш непасрэдна ў сваім развіцці. Распрацоўшчыкі таксама чакаюць, што сапраўды важныя праекты будуць прыцягваць па крайняй меры ахвяраванні, і, магчыма, нават доўгатэрміновых спонсараў. Хоць наяўнасць грошай не змянілася дынаміка асноўных распрацоўкі вольнага праграмнага забеспячэння, ён моцна змяніўся маштаб, у якім рэчы здараюцца, як з пункту гледжання ліку распрацоўнікаў і час за-распрацоўніка. Ён таксама быў эфект ад таго, як праекты арганізаваны, і пра тое, як бакі, якія ўдзельнічаюць у іх узаемадзеянні. Пытанні не толькі аб тым, як марнуюцца грошы, або як зварот інвестыцый вымяраецца. Яны таксама аб кіраванні і працэс: як іерархічныя структуры каманды карпарацый і паў-дэцэнтралізаванай добраахвотнікаў суполак праектаў вольнага праграмнага забеспячэння прадуктыўна працаваць адзін з адным? Ці будуць яны нават дамовіцца аб тым, што "прадуктыўна" азначае?

Фінансавая падтрымка, увогуле, вітаў адкрытым зыходным кодам абшчын. Гэта можа знізіць ўразлівасць праекта з сіламі Хаосу, які змяце так шмат праектаў, перш чым яны сапраўды адарвацца ад зямлі, і таму ён можа зрабіць людзей больш гатовыя даць праграмнага забеспячэння шанец, яны адчуваюць, яны інвестуюць свой час у тое, што ўсё яшчэ будзе каля шасці месяцаў. У рэшце рэшт, давер з'яўляецца заразнай, у кропку. Калі, скажам, IBM спіной праект з адкрытым кодам, людзі ў значнай ступені лічыць праект не будзе дазволена на правал, і іх выніковая гатоўнасць прысвяціць намаганні, каб яно можа зрабіць, што наклікаць бяду.

Тым не менш, фінансаванне таксама прыносіць пачуццё кантролю. Калі не асцярожна, грошы можна падзяліць праект у ў групе і па-за групы распрацоўнікаў. Калі добраахвотнікамі бясплатна атрымаць адчуванне, што праектныя рашэнні або функцыя дадання проста даступныя па высокай цане, яны адпраўляюцца на праект, які больш паходзіць меритократии і менш як неаплачаны праца за чужую выгаду. Яны ніколі не скардзяцца адкрыта ў спісах рассылання. Замест гэтага, там будзе проста менш і менш шуму ад знешніх крыніц, а добраахвотнікі паступова спыніць спробы прымаць сур'езна. Гудзенне дробных дзейнасці будзе і надалей, у выглядзе паведамленні пра памылку і часам дробныя выпраўленні. Але там не будзе вялікі ўклад код або па-за ўдзелу ў распрацоўцы абмеркавання. Людзі сэнсе тое, што ад іх чакаецца, і жыць ўверх (ці ўніз), каб гэтыя чаканні.

Хоць грошы трэба выкарыстоўваць асцярожна, гэта не азначае, што яна не можа купіць ўплыву. Гэта, безумоўна, можа. Фокус у тым, што ён не можа купіць непасрэдна ўплываць. У простай камерцыйнай угодай, вы гандлюеце грошы за тое, што вы хочаце. Калі вам патрэбна функцыя дададзеная, вы падпісваеце кантракт, заплаціць за гэта, і гэта будзе зроблена. У праект з адкрытым кодам, гэта не так проста. Вы можаце заключыць дамову з некаторымі распрацоўшчыкамі, але яны будуць тлуміць галаву сабе і вам, калі яны гарантавалі, што працу, якую вы заплацілі за будзе прынята Супольнасці па пытаннях развіцця проста таму, што вы заплацілі за яго. Працы могуць быць прынятыя толькі па сутнасці і пра тое, як яна ўпісваецца ў бачанне супольнасці для праграмнага забеспячэння. Вы, магчыма, некаторыя кажуць, што ў гэты бачанне, але вы не будзеце толькі голас.

Так грошы не могуць купіць ўплыў, але яно можа набыць рэчы, якія прыводзяць да ўплыву. Найбольш відавочным прыкладам з'яўляецца праграмістаў. Калі добрыя праграмісты на працу, а яны трымаюцца досыць доўга, каб атрымаць вопыт працы з праграмным забеспячэннем і аўтарытэт у грамадстве, то яны могуць уплываць на праект тымі ж сродкамі, як любы іншы член. Яны будуць мець права голасу, або калі Ёсць шмат з іх, яны будуць мець выбарчы блок. Калі яны паважаюць ў праект, яны будуць мець уплыў за межы толькі іх галасы. Існуе не трэба для платных распрацоўнікам, каб схаваць іх матывы, альбо. У рэшце рэшт, кожны, хто хоча зменаў, унесеных у праграмнае забеспячэнне хоча яго прычыны. прычыны Вашай кампаніі не менш за законным, чым хто-небудзь яшчэ. Гэта проста, што значэнне надаецца мэты вашай кампаніі будзе залежаць ад статусу яе прадстаўнікоў у праект, а не ад памеру кампаніі, бюджэт або бізнес-план.

Тыпы ўдзелу

Ёсць шмат розных прычын праектаў з адкрытым кодам атрымаць фінансаванне. Пункты ў гэтым спісе не з'яўляюцца ўзаемавыключальнымі, часта фінансавую падтрымку праекта будзе адбывацца ў сілу шэрагу, або нават усё, з гэтых матывацый:

Сумеснае цяжар

Асобныя арганізацыі з адпаведным праграмным забеспячэннем патрэбаў часта аказваюцца дубліравання намаганняў, альбо залішне Даць аналагічны код у доме, або шляхам набыцця аналагічнай прадукцыі ад прыватных пастаўшчыкоў. Калі яны разумеюць, што адбываецца, арганізацыі могуць аб'яднаць свае рэсурсы і стварыць (або далучыцца да) праект з адкрытым кодам з улікам іх патрэбаў. Перавагі відавочныя: выдаткі на распрацоўку падзеленыя, але выгады для ўсіх. Хоць гэты сцэнар здаецца найбольш зразумелым для некамерцыйных арганізацый, яна можа зрабіць стратэгічны сэнс нават для некамерцыйных канкурэнтаў.

Прыклады: http://www.openadapter.org/ , http://www.koha.org/

Дапаўняючы паслугі

Калі кампанія прадае паслугі, якія залежаць ад, або становяцца больш прывабнымі, асабліва праграм з адкрытым кодам, то натуральна, што ў інтарэсах кампаніі, каб забяспечыць гэтыя праграмы актыўна падтрымліваецца.

Прыклад: CollabNet ў падтрымку http://subversion.tigris.org/ (агаворка: гэта мая праца дня, але гэта таксама выдатны прыклад таго, гэтая мадэль).

Падтрымка апаратнага продажаў

Значэнне кампутараў і камп'ютэрных кампанентаў непасрэдна звязана з колькасцю праграмнага забеспячэння, даступнага для іх. Пастаўшчыкі абсталявання, а не толькі ўсе машыны пастаўшчыкоў, але і вытворцаў перыферыйных прылад і мікрачыпаў, выявілі, што наяўнасць высакаякаснага вольнага праграмнага забеспячэння для працы на сваіх апаратных важна для кліентаў.

Падрыў канкурэнта

Часам кампаніі падтрымку прыватнасці праект з адкрытым кодам у якасці сродку падрыву прадукту канкурэнта, які можа ці не можа быць адкрытага ПА. Раз'ядае долі рынку канкурэнтаў, як правіла, не адзіная прычына для атрымання звязаных з праектам з адкрытым кодам, але яна можа быць фактарам.

Прыклад: http://www.openoffice.org/ (не, гэта не толькі OpenOffice прычыне існуе, але ПА, па меншай меры часткова адказ на Microsoft Office).

Маркетынг

Пасля Вашай кампаніі, звязаныя з папулярным адкрытым зыходным кодам прыкладання можа быць проста добры брэнд-менеджменту.

Падвойнае ліцэнзаванне

Падвойнае ліцэнзаванне з'яўляецца практыка прадастаўлення праграмнага забеспячэння пад традыцыйныя ўласныя ліцэнзіі для кліентаў, якія хочуць, каб перапрадаць яе як частку ўласнай ўжывання іх ўласнага, і адначасова пад вольнай ліцэнзіяй для жадаючых выкарыстоўваць яго пад адкрытым умовах крыніцы (гл. частку пад назвай "двайны схемы ліцэнзавання" у чале 9, ліцэнзіі, аўтарскія правы і патэнты ). Калі адкрытым супольнасцю распрацоўшчыкаў актыўнага крыніцы, праграмнае забеспячэнне атрымлівае перавагі шырокай тэрыторыі адладкі і распрацоўкі, але кампанія па-ранейшаму атрымлівае роялці паток для падтрымкі некаторых поўны працоўны дзень праграмісты.

Два вядомых прыкладу MySQL , стваральнікаў праграмнага забеспячэння баз даных аднаго і таго ж імя, і Sleepycat , які прапаноўвае размеркавання і падтрымку Berkeley Database. Гэта не супадзеньне, што яны абедзве базы дадзеных кампаніі. База дадзеных праграмнага забеспячэння, як правіла, інтэграваныя ў прыкладанні, а не прадаюцца непасрэдна карыстальнікам, так што гэта вельмі добра падыходзіць для мадэлі двайнога ліцэнзавання.

Ахвяраванні

Шырока выкарыстоўваецца праекта можа часам значны ўклад з боку як прыватных асоб і арганізацый, толькі пры наяўнасці онлайн кнопку ахвяраванні, а часам і за кошт продажу фірмовых тавараў, такіх як кававыя кружкі, футболкі, кілімкі для мышы, і г.д. слова засцярогі: калі Ваш праект прымае ахвяраваньні, план, як грошы будуць выкарыстаны, перш чым яна прыходзіць, і дзяржаўныя планы на вэб-сайце праекту. Дыскусіі аб тым, як размеркаваць грошы, як правіла, ідуць значна больш гладка, калі адбылося да таго, фактычныя грошы траціць, і ў любым выпадку, калі Існуюць значныя рознагалоссі, лепш высветліць гэта, пакуль яна яшчэ акадэмічнай.

Бізнес-мадэль фундатара не адзіны фактар, як ён ставіцца да адкрытым зыходным кодам. Гістарычных адносін паміж дзвюма таксама пытанні: ці сапраўды кампанія пачала праект, ці гэта злучэнне існуючых намаганняў у галіне развіцця? У абодвух выпадках, спонсар будзе мець, каб зарабіць аўтарытэт, але, не дзіўна, што ёсць трохі больш зарабляць, каб быць зроблена ў апошнім выпадку. Арганізацыя павінна мець выразныя мэты ў дачыненні праекта. Ёсць кампанія, якая спрабуе захаваць лідэрства, або проста спрабуе быць у адзін голас у грамадстве, для кіраўніцтва, але не абавязкова вызначаюць напрамак праекта? Ці гэта проста хочуць мець пару коммиттеров вакол, у стане выправіць памылкі кліентаў і атрымаць змены ў публічнае распаўсюд без мітусні?

Трымайце гэтыя пытанні на ўвазе, калі вы праглядаеце кіруючых прынцыпаў, якія вынікаюць. Яны прызначаныя для прымянення да якой-небудзь арганізацыйнай ўдзел у вольны праграмны праект, але кожны праект асяроддзя пражывання чалавека, і таму няма двух аднолькавых. У нейкай ступені, у вас заўсёды будзе гуляць на слых, але пасля гэтых прынцыпаў павялічыць верагоднасць рэчы з павароту, як вы хочаце.

Арэнда на працяглы тэрмін

Калі вы кіруеце праграмістаў на праект з адкрытым кодам, трымаць іх там дастаткова доўга, што яны набываюць як тэхнічныя, так і палітычным вопытам, пару гадоў як мінімум. Вядома, ні адзін праект, будзь то адкрытыя ці з зачыненым зыходным кодам, выгады ад абмену праграмістаў і занадта часта. Неабходна для пачаткоўца, каб даведацца вяроўкі кожны раз будзе стрымліваючым фактарам у любы асяроддзі. Але пакаранне яшчэ мацней ў праекты з адкрытым кодам, так як выходныя распрацоўшчыкаў ўзяць з сабой не толькі свае веды кода, але і іх статус у грамадстве і чалавечых адносін яны зрабілі там.

Давер распрацоўшчыкаў назапашаны не могуць быць перададзеныя. Каб выбраць найбольш відавочны прыклад, якія ўваходзяць распрацоўнік не можа успадкаваць здзейсніць доступ з выходным адзін (гл. раздзел пад назвай "Грошы не могуць купіць You Love" далей у гэтым раздзеле), так што калі новы распрацоўнік не ўжо ёсць здзейсніць доступу, ён павінен будзе прадставіць патчы, пакуль ён не робіць. Але здзейсніць доступ толькі найбольш вымерным праява страчанае ўплыў. Доўгага часу Распрацоўнік таксама ведае ўсе старыя аргументы, якія былі хэшированного і перафразаваны на абмеркаванне спісаў. Новы распрацоўшчык, не маючы памяць аб тых гутарках, могуць паспрабаваць падняць тэмы яшчэ раз, што прывяло да страты даверу да вашай арганізацыі; іншыя маглі б задацца пытаннем "яны не могуць запомніць што-небудзь?" Новы распрацоўшчык таксама не маюць ніякай палітычнай адчуць асоб праекта, і не зможа ўплываць на развіццё напрамкі, як хутка або так гладка, як той, хто быў вакол даўно.

Цягнік пачаткоўцаў праз праграму кіраваў ўдзелу. Новы распрацоўшчык павінен знаходзіцца ў прамым кантакце з грамадскасцю развіцця абшчыны з самага першага дня, пачынаць з памылкай выпраўлення і ачысткі задач, так што ён можа даведацца код базы і набыць рэпутацыю ў супольнасці, але не любы іскры доўгі і складаны дызайн абмеркавання. Увесь гэты час, адзін або больш вопытных распрацоўшчыкаў павінны быць даступныя для допыту, і павінны чытаць кожны пост пачатковец робіць для развіцця спісаў, нават калі яны знаходзяцца ў тэмы, што вопытныя распрацоўшчыкі звычайна не звярнуць увагу. Гэта дапаможа выяўляць патэнцыйныя групы парод, перш чым пачатковец садзіцца на мель. Прыватныя, за кадрам заахвочванні і паказальнікі могуць таксама дапамагчы шмат, асабліва калі навічок не прывык да масавых паралелізм экспертнай ацэнкі яго код.

Калі CollabNet наймае новага распрацоўніка для працы на Subversion, мы садзімся разам і забраць некаторых памылак, адкрытых для новага чалавека, каб скараціць яго зубы. Мы будзем абмяркоўваць тэхнічныя контуры рашэнні, а затым прызначыць па меншай меры адзін дасведчаны распрацоўнік (публічна) агляд патч, што новы распрацоўшчык (і публічна) пост. Як правіла, мы нават не глядзець на патч да асноўнага спісу развіцця бачыць гэта, хоць мы маглі б, калі было некалькі прычын. Важна тое, што новы распрацоўшчык прайсці праз працэс грамадскага абмеркавання, навучання коду адначасова становіцца ўсё прывыклі атрымліваць крытыку ад зусім незнаёмых. Але мы стараемся, каб ўзгадняць тэрміны так, што наш уласны агляд прыходзіць адразу ж пасля размяшчэння патч. Такім чынам, першы агляд спісу бачыць наша, якая можа дапамагчы ўсталяваць тон водгукаў іншых. Ён таксама ўносіць свой уклад у тым, што гэта новае асоба павінна быць прынята сур'ёзна: калі іншыя бачаць, што мы накіроўваем ўсе намаганні на час, каб даць падрабязны агляд, з дбайнага тлумачэнні і спасылкі на архівы ў выпадку неабходнасці, яны будуць разумець, што форма навучання, што адбываецца, і што ён, верагодна, азначае, доўгатэрміновыя інвестыцыі. Гэта можа зрабіць іх больш станоўча настроены ў адносінах да распрацоўніку, што, па меншай меры, ступень выдаткаў трохі больш часу, адказваючы на ??пытанні і агляд выпраўленняў.

З'яўляюцца, як многія, не як адзін

Вашы распрацоўшчыкі павінны імкнуцца з'яўляцца ў грамадскіх форумах праекта, як асобных удзельнікаў, а не як маналітнае карпаратыўнага прысутнасці. Гэта не таму, што некаторыя негатыўныя канатацыі ўласцівыя ў маналітных карпаратыўнага прысутнасці (а, магчыма, ёсць, але гэта не тое, што гэтая кніга аб). Хутчэй, гэта таму, што людзі толькі роду асобай праектаў з адкрытым кодам структурна падрыхтаваныя для рашэння. Асабісты ўклад можа мець дыскусій, дасылаюць свае патчы, набываць аўтарытэт, галасаваць, і гэтак далей. Кампанія не можа.

Акрамя таго, вядучы сябе ў дэцэнтралізаванай парадку, можна пазбегнуць стымулюючыя цэнтралізацыі апазіцыі. Няхай вашы распрацоўшчыкі не згодныя адзін з адным на спісы рассылання. Заахвочвайце іх перагледзець адзін аднаго кода як часта і як публічна, так як яны камусьці яшчэ. Да адмовы ад галасавання, як заўсёды блок, таму што, калі яны робяць, іншыя могуць пачаць адчуваць, што, толькі на агульных прынцыпах, павінна быць арганізавана намаганні, каб трымаць іх у цуглях.

Там розніца паміж фактычна дэцэнтралізаванай і проста імкненне здацца, што шлях. Пры пэўных абставінах, вашы распрацоўшчыкі паводзяць сябе ў згодзе можа быць вельмі карысным, і яны павінны быць гатовыя ўзгадняць за сцэнай, калі гэта неабходна. Напрыклад, пры прыняцці прапановы, якія маюць некалькі чалавек, падарваўся і закрычаў з пагадненнем на ранняй стадыі можа дапамагчы яго разам, даючы ўражанне расце кансэнсус. Іншыя будуць адчуваць, што прапанова мае імпульс, і што калі б яны былі на аб'екце, яны былі б спыніць гэтую дынаміку. Такім чынам, людзі будуць пярэчыць, толькі калі яны маюць усе падставы для гэтага. Там няма нічога дрэннага з аркестроўку пагаднення, як гэта, да тых часоў, як пярэчанні па-ранейшаму сур'ёзна. Публічныя праявы прыватнага дамовы не менш шчырай за тое, што ўзгоднены загадзя, і не шкодныя, калі яны не выкарыстоўваюцца для згубна патушыць процілеглых аргументаў. Іх мэтай з'яўляецца толькі тармозяць роду людзей, якія хацелі б аб'ект проста каб заставацца ў форме, глядзіце раздзел "Мяккі тэма, тым больш Дэбаты" у чале 6, сувязі для падрабязнай інфармацыі пра іх.

Будзьце адкрыты аб Вашай матывацыі

Будзьце адкрыты пра мэты вашай арганізацыі, як вы можаце без шкоды для камерцыйнай тайны. Калі вы хочаце праекта набыць пэўную асаблівасць, таму што, скажам, вашы кліенты патрабавалі за яго, так і скажы прама на спісы рассылання. Калі кліенты жадаюць застацца ананімнымі, як гэта часам здараецца, то па меншай меры папрасіць іх, калі яны могуць быць выкарыстаны ў якасці прыкладаў неназваным. Больш грамадскага развіцця суполак ведае пра тое, чаму вы хочаце, што вы хочаце, больш зручнай яны будуць з таго, што Вы прапануеце.

Гэта ідзе насуперак з інстынктам так лёгка набыць, так цяжка пазбавіцца ад-што веданне гэта сіла, і што больш за іншых ведае пра вашых мэтаў, больш кантролю ў іх перад вамі. Але гэта інстынкт б няправільна тут. Па публічна выступае функцыя (або выпраўленне, ці што гэта такое), вы ўжо паклалі карты на стол. Адзінае пытанне, ці будзе вы даможацеся поспеху ў кіраўніцтве супольнасці падзяліцца сваёй мэты. Калі вы проста заявіць, што вы хочаце яго, але не можа прывесці канкрэтныя прыклады таго, чаму, ваш аргумент слабы, і людзі пачнуць падазраваць, утоенай парадку дня. Але калі вы задалі толькі некалькі сцэнарыяў рэальным свеце, які паказвае, чаму прапануецца функцыя важная, што можа мець драматычныя наступствы для абмеркавання.

Каб зразумець, чаму гэта так, разгледзім альтэрнатывы. Занадта часта, дыскусіі аб новых магчымасцях і новых напрамкаў доўга і стомна. Аргументы людзі загадзя часта зводзіцца да "я асабіста хачу X", ці калі-небудзь папулярнай "У гады майго досведу, як распрацоўшчык праграмнага забеспячэння, X з'яўляецца надзвычай важным для карыстальнікаў / бескарысна фальбоны, якія будуць радаваць не адзін". Як і чакалася, адсутнасць рэальных дадзеных аб выкарыстанні ні скарачае ні характары такія дэбаты, але замест гэтага дазваляе ім плыць далей і далей ад любога прычала ў фактычных карыстальнікаў. Без якой-небудзь кампенсацыйных сілы, канчатковы вынік жа верагодна, як не вызначаецца, хто быў найбольш выразна, або самыя ўстойлівыя, або самы старэйшы.

Як арганізацыя з багатымі дадзенымі кліента даступныя, у вас ёсць магчымасць забяспечыць менавіта такі ўраўнаважваючую сілы. Вы можаце быць правадніком інфармацыі, якая інакш магла не сродкам дасягнення развіцця супольнасці. Той факт, што гэтая інфармацыя падтрымлівае вашы жаданні няма чаго саромецца. Большасць распрацоўшчыкаў не індывідуальна маюць вельмі вялікі вопыт з тым, як яны пішуць праграмнае забеспячэнне выкарыстоўваецца. Кожны распрацоўнік выкарыстоўвае праграмнае забеспячэнне ў сваёй своеасаблівы спосаб; Што тычыцца іншых мадэляў выкарыстання ісці, яна належыць на інтуіцыю і здагадкі, і ў глыбіні душы, яна гэта ведае. Падаючы пэўныя дадзеныя аб значная колькасць карыстальнікаў, вы даеце грамадскасці што-то падобна развіцця суполак да кіслароду. Пакуль вы прадставіць яго права, яны будуць вітаць яе з энтузіязмам, і яна будзе рухаць рэчы ў напрамку, куды вы хочаце адправіцца.

Ключ, вядома, уяўляе гэта правільна. Ён ніколі не будзе рабіць, каб настойваць на тым, што проста таму, што вы маеце справу з вялікай колькасцю карыстальнікаў, і таму што яны маюць патрэбу (ці думаюць, што яны патрэбныя) гэтай функцыі, таму ваша рашэнне павінна быць рэалізаваны. Замест гэтага, вы павінны засяродзіць сваю пачатковае паведамлення на праблемы, а не на аднаго канкрэтнага рашэння. Апішыце падрабязна вопытам вашы кліенты сутыкаюцца, прапануюць столькі аналіз, як Вы маеце ў наяўнасці, і як многія разумныя рашэнні, як вы можаце думаць аб. Калі людзі пачынаюць спекуляцыі з нагоды эфектыўнасці розных рашэнняў, вы можаце працягваць выкарыстоўваць вашыя дадзеныя, каб пацвердзіць або абвергнуць тое, што яны кажуць. Вы, магчыма, адно прыватнае рашэнне на ўвазе ўвесь час, але не аднаго яго для спецыяльнага разгляду ў першую чаргу. Гэта не падман, гэта проста стандартны "сумленнага брокера" паводзін. У рэшце рэшт, ваша праўдзівая мэта заключаецца ў вырашэнні праблемы; рашэнне з'яўляецца толькі сродкам для дасягнення гэтай мэты. Калі вы аддаеце перавагу рашэнне сапраўды пераўзыходзіць, іншыя распрацоўнікі прызнаюць, што самі па сабе ў канчатковым рахунку, а потым яны будуць атрымліваць за гэта па сваёй добрай волі, што значна лепш, чым вы запалохванне іх у яго ажыццяўленні. (Існуе таксама магчымасць таго, што яны будуць думаць пра лепшае рашэнне.)

Гэта не азначае, што вы ніколі не можа выйсці ў карысць канкрэтнага рашэння. Але вы павінны мець цярпенне, каб убачыць аналізу вы ўжо зрабілі ўнутрана паўтарацца на публічныя спісы развіцця. Не змяшчайце кажучы "Так, мы былі на ўсё, што тут, але ён не працуе па прычыне, B і C. Калі вы атрымаеце прама да яго, адзіны спосаб вырашыць гэта ... " Праблема не так шмат, што гэта гучыць напышліва, як ён стварае ўражанне, што вы ўжо прысвечана невядомым (але, людзі будуць меркаваць, вялікая) колькасць аналітычных рэсурсаў, каб праблемы, за зачыненымі дзвярыма. Ён робіць гэта, здаецца, як быццам намаганні былі адбываецца, і, магчыма, рашэнні, што грамадскасць не ў курсе, і гэта рэцэпт для крыўды.

Натуральна, вы ведаеце, колькі намаганняў вы прысвечана праблеме ўнутрана, і што веды, такім чынам, недахоп. Гэта змяшчае вашыя распрацоўнікі ў некалькі іншым ментальнае прастору, чым усе астатнія ў спісах рассылання, памяншаючы іх здольнасць бачыць рэчы з пункту гледжання тых, хто яшчэ не думалі аб гэтай праблеме, як шмат. Чым раней вы можаце атрымаць усе астатнія думаць пра рэчы, у тых жа ўмовах, як і вы, тым менш гэта дыстанцыяванне эфект будзе. Гэтая логіка дастасоўная не толькі да асобным тэхнічным сітуацыі, але з больш шырокім мандатам рашэнняў вашых мэтаў ясна, як вы можаце. Невядомыя заўсёды больш Дэстабілізуючы, чым вядомая. Калі людзі разумеюць, чаму вы хочаце, што вы хочаце, яны будуць адчуваць сябе камфортна гаварыць з вамі, нават калі яны не згодныя. Калі яны не могуць зразумець, што прымушае вас клешч, яны будуць меркаваць самае горшае, па меншай меры час ад часу.

Вы не зможаце публікаваць ўсё, вядома, і людзей не будзе чакаць ад вас. Усе арганізацыі маюць таямніцы, можа быць, для прыбыткаў больш з іх, але некамэрцыйныя арганізацыі маюць іх. Калі вы павінны выступаць пэўны курс, але не можа паказаць што-небудзь аб тым, чаму, то проста прапануем лепшыя аргументы, якія вы можаце ў адпаведнасці з гэтым недахопам, і прыняць той факт, што вы не можаце мець такое ж ўплыў, як вы хочаце ў дыскусіі. Гэта адзін з кампрамісаў вы робіце, каб мець развіццё супольнасці не на вашай заработнай платы.

Грошы не могуць купіць You Love

Калі вы заплацілі распрацоўшчыкам праекта, а затым ўсталяваць кіруючыя прынцыпы на раннім этапе аб тым, што грошы могуць і не могуць купіць. Гэта не значыць, вам трэба размясціць два разы ў дзень, каб спісы рассылання пацвердзіўшы ваш высакародны і непадкупны характар. Гэта проста азначае, што вы павінны быць у пошуку магчымасцяў, каб разрадзіць напружанасць, якая можа быць створана на грошы. Вам не трэба, каб пачаць у здагадцы, што напружанасць там, вы павінны прадэманстраваць разуменне таго, што ў іх ёсць патэнцыял, каб паўстаць.

Выдатным прыкладам гэтага прыйшлі ў праекце Subversion. Subversion быў пачаты ў 2000 годзе CollabNet , які быў у асноўны спонсар праекта з моманту яе стварэння, плаціць заробкі з некалькіх распрацоўшчыкаў (агаворка: я адзін з іх). Неўзабаве пасля пачатку праекта, мы нанялі іншага распрацоўніка, Майк Pilato, каб аб'яднаць высілкі. Да таго часу, кадаванне ўжо пачалася. Хоць Subversion была яшчэ вельмі шмат ранніх стадыях, яна ўжо Супольнасці па пытаннях развіцця з наборам асноўных правілы.

прыбыцця Майка падняў цікавае пытанне. Subversion ўжо палітыка пра тое, як новы распрацоўшчык атрымлівае доступ здзейсніць. Па-першае, ён заяўляе, некаторыя выпраўленні ў спіс рассылкі развіцця. Пасля дастаткова патчы прайшло для іншых коммиттеров бачыць, што новы укладчык ведае, што ён робіць, хто-то прапануе, каб ён проста здзейсніць непасрэдна (гэта прапанова з'яўляецца прыватным справай, як апісана ў раздзеле "Коммиттеры" ). Мяркуючы, коммиттеров згодны, адзін з іх лісты новага распрацоўніка і прапануе яму здзейсніць прамы доступ да праекту сховішча.

CollabNet наняў Майк спецыяльна для працы на Subversion. Сярод тых, хто ўжо ведаў яго, не было сумненняў у яго навыкі праграмавання або яго гатоўнасць да працы над праектам. Акрамя таго, добраахвотнікі з ліку праграмістаў былі вельмі добрыя адносіны з супрацоўнікамі CollabNet, і, хутчэй за ўсё, не пярэчыў б, калі б мы толькі што Майк здзейсніць доступ дзень ён быў прыняты на працу. Але мы ведалі, мы б стварыць прэцэдэнт. Калі мы падалі Майк здзейсніць доступ у загадным парадку, мы будзем казаць, што CollabNet было права ігнараваць праекта кіруючых прынцыпаў, проста таму, што ён з'яўляецца асноўным спонсарам. Хоць шкода ад гэтага не абавязкова будзе адразу, ён будзе паступова прывесці, якія не з'яўляюцца наёмнымі распрацоўшчыкаў пачуццё бяспраўных. Іншыя людзі павінны зарабляць сабе на здзяйсненне доступу CollabNet проста купляе яе.

Так Майк вырашыў пачаць сваю працу ў CollabNet, як і любы іншы распрацоўнік добраахвотна, без магчымасці фіксаваць. Ён паслаў патчы спіс рассылкі, дзе яны маглі б быць, і былі, разгледзеў ўсё. Мы таксама сказалі, на спіс, які мы рабілі, то такі спосаб свядома, таму не можа быць і адсутнічае кропка. Праз пару тыдняў цвёрдых дзейнасці Майк, хто-то (я не памятаю, калі ён быў распрацоўнікам CollabNet або няма), прапанаваў яму для здзяйснення доступу, і ён быў прыняты, як мы ведалі, што ён будзе.

Такая ўзгодненасць атрымлівае вас давер, што грошы ніколі не маглі купіць. І давер з'яўляецца каштоўным валюты, каб у абмеркаванні тэхнічных пытанняў: гэта імунізацыі супраць матывы, якія маюць сваё сумненне пазней. У запалу аргумент, людзі часам шукаць нетехнические спосабы, каб выйграць бой. першасны спонсар праекта, з-за яго глыбокае ўцягванне і відавочна заклапочанасць з нагоды напрамку праекта прымае, прадстаўляе больш шырокія мэты, чым большасць. Будучы скрупулёзна выконваць усе кіруючыя прынцыпы праекта з самага пачатку, спонсар дае аб сабе ж памеру, як і ўсе астатнія.

(Гл. таксама Купера блог Danese на http://blogs.sun.com/roller/page/DaneseCooper/20040916 за аналагічны аповяд аб магчымасці фіксаваць. Купер быў нд микросистемная ў "Open Source Diva" Я лічу, што было яе афіцыйная назва і ў блогу яна апісвае, як супольнасць Tomcat развіццё атрымалі нд правесці сваё ўласнае распрацоўнікам жа стандарты здзяйснення доступу як не распрацоўнікам-аў.)

Неабходна для спонсараў гуляць па тых жа правілах, як і ўсе астатнія азначае, што дыктатура кіравання Дабрачыннага мадэлі (гл. раздзел "Дабрачыннага Дыктатары" у чале 4, сацыяльнай і палітычнай інфраструктуры ) трохі складаней зняць у наяўнасці фінансавання , асабліва, калі дыктатар работ па першаснай фундатара. З дыктатуры некалькі правілаў, цяжка для спонсара, каб даказаць, што ён выконвае стандарты супольнасці, нават калі яна ёсць. Гэта, вядома, не немагчыма, ён проста патрабуе, кіраўнік праекта, хто ўмее глядзець на рэчы з пункту гледжання іншых распрацоўнікаў, а таксама, як і фундатар, і дзейнічаць адпаведна. Нават тады, верагодна, гэта добрая ідэя мець прапанова для не-дыктатарскага кіравання сядзяць у вашым заднім кішэні, гатовыя быць вывезены момант Ёсць прадмет наяўнасці прыкмет шырокае незадаволенасць у грамадстве.

Дагаворныя

Па кантракце праца павінна быць асцярожна ў праектаў вольнага праграмнага забеспячэння. У ідэале, вы хочаце працаваць падрадчыка быць прынятым супольнасцю і скласці ў публічнае распаўсюд. У тэорыі, гэта не мае значэння, хто падрадчык, да тых часоў, як яго праца добрая і адпавядае патрабаванням праекта. Тэорыя і практыка часам могуць супадаць, таксама: зусім незнаёмага чалавека, які паказвае з добрай патч як правіла, будзе ў стане атрымаць яго ў праграмнае забеспячэнне. Бяда ў тым, што гэта вельмі цяжка зрабіць добрае патч для нетрывіяльных павышэнне або новую функцыю ў той час як сапраўды быць зусім незнаёмага чалавека, трэба спачатку абмеркаваць яго з астатняй часткай праекта. Працягласць гэтага абмеркавання не можа быць сапраўды прадказана. Калі падрадчык з пагадзіннай аплатай, вы можаце ў канчатковым выніку плаціць больш, чым вы чакалі, калі ён выплачваецца фіксаваная сума, ён можа ў канчатковым выніку робіць больш працы, чым ён можа сабе дазволіць.

Ёсць два спосабу абысці гэта. Пераважны спосаб гэта зрабіць абгрунтаванае меркаванне аб працягласці абмеркавання працэсу, заснаваныя на мінулым вопыце, дадайце ў некаторых абіўка на памылку, і база кантракту на гэты конт. Гэта таксама дапамагае падзяліць праблемы на столькі малы, незалежныя кавалкі, як гэта магчыма, павысіць прадказальнасць кожнага кавалка. Іншы спосаб складаецца ў дамову толькі на пастаўку патч, і лячыць прыняцці латы ў грамадскі праект, як асобны пытанне. Тады яна становіцца значна прасцей напісаць дамову, але вы затрымаліся з цяжар падтрымання прыватнага патч да тых часоў, як вы залежыць ад праграмнага забеспячэння, або, па крайняй меры да тых часоў, як яна прымае вас, каб атрымаць гэты патч ці эквівалентнай функцыянальнасці ў асноўную галіну. Вядома, нават з пераважным спосабам, сам кантракт не можа патрабаваць, што патч будзе прыняты ў кодзе, таму што прадугледжвае продаж тое, што не для продажу. (Што рабіць, калі астатнія праекта нечакана прымае рашэнне не падтрымліваць функцыю?) Тым не менш, дагавор можа патрабуюць добрасумленныя намаганні, каб змены прынятыя супольнасцю, і што ён будзе зафіксаваны ў сховішча, калі супольнасць пагодзіцца з гэтым . Напрыклад, калі праект мае пісьмовых стандартаў, якія датычацца змяненняў у код, дагавор можа спасылацца на гэтыя стандарты і паказаць, што праца павінна сустрэцца з імі. На практыцы гэтае правіла працуе, як усе надзеі.

Лепшая тактыка для паспяховага заключэння кантрактаў на арэнду аднаго з распрацоўшчыкаў праекта, пажадана коммиттер-у якасці падрадчыка. Гэта можа здацца форме набыцця ўплыву, і, ну, гэта так. Але гэта не гэтак карумпаваныя, як можа здацца. Уплыў распрацоўніка ў праекце абумоўлена ў асноўным якасць свайго кода і яго ўзаемадзеяння з іншымі распрацоўшчыкамі. Той факт, што ў яго ёсць кантракт, каб атрымаць пэўныя рэчы рабіць не павышае яго статус у любым выпадку, і не таньней за яго альбо, хоць яна можа прымусіць людзей вывучаць яго больш старанна. Большасць распрацоўшчыкаў не будзе рызыкаваць сваёй доўгатэрміновай пазіцыі ў праекце па падтрымцы недарэчным або шырока не любіў новую функцыю. На самай справе, частка таго, што вы атрымаеце, або павінны атрымаць, калі вы наймае такога падрадчыка парады аб тым, што віды змен, верагодна, будуць прынятыя супольнасцю. Вы таксама атрымліваеце невялікі зрух у прыярытэтах праекта. Паколькі прыярытэтаў з'яўляецца толькі пытаннем аб тым, хто мае час для працы на тым, што, калі вы плаціце за час хто-то, вы прымушаеце іх працаваць, каб падняцца ў прыярытэтнай чарзе трохі. Гэта добра разумеў факт жыцця сярод вопытных распрацоўшчыкаў адкрытага зыходнага кода, і па крайняй меры некаторыя з іх будуць надаваць увагу падрадчыка працу проста таму, што гэта падобна, што збіраецца атрымаць зрабіць, таму яны хочуць, каб дапамагчы яму атрымаць усё зроблена правільна. Можа быць, яны не будуць пісаць у кодзе, але яны ўсё яшчэ абмеркаваць дызайн і агляд кода, абодва з якіх могуць быць вельмі карысныя. Па ўсіх гэтых прычынах, падрадчык лепшых з шэрагаў тых, хто ўжо ўдзельнічае ў праекце.

Гэта адразу ставіць два пытанні: Калі кантрактаў ніколі не будзе закрытым? І калі гэта не так, вы павінны турбавацца аб стварэнні напружанасці ў грамадстве тым, што вы заключылі кантракт з некаторымі распрацоўшчыкамі, а не іншыя?

Лепш за ўсё, каб быць адкрытымі аб кантрактах, калі вы можаце. У адваротным выпадку, паводзіны падрадчыка можа здацца дзіўным для іншых членаў супольнасці, можа быць, ён раптам дае невытлумачальна высокі прыярытэт асаблівасці ён ніколі не выяўляў цікавасці ў мінулым. Калі людзі пытаюцца яго, чаму ён хоча іх цяпер, як ён можа адказаць пераканаўча, калі ён не можа казаць аб тым, што ён быў заключаны кантракт на запіс іх?

У той жа час, ні вы, ні падрадчык павінен дзейнічаць, як быццам іншыя павінны ставіцца да вашай дамоўленасці, вялікая справа. Занадта часта я бачыў падрадчыкаў вальс на развіццё спіс стаўленне, што іх пасады павінны быць прынятыя больш сур'ёзна проста таму, што яны плацяць. Такое стаўленне сігналаў у астатняй часткі праекта, што падрадчык тычыцца факту кантракт-у адрозненне ад кода ў выніку кантракта будзе важная рэч. Але з пункту іншыя гледжання распрацоўшчыкаў, толькі пытанні кода. Ва ўсе часы, у цэнтры ўвагі павінны знаходзіцца на тэхнічныя пытанні, а не на дэталі, хто плаціць каму. Напрыклад, адзін з распрацоўшчыкаў ў супольнасць Subversion ручкі заключэння дагавораў у прыватнасці вытанчаны спосаб. Пры абмеркаванні яго зменаў кода ў IRC, ён будзе згадаць, як у бок (часта ў прыватных заўвагу, PRIVMSG IRC, да аднаго з іншых коммиттеров), што ён выплачваецца за яго працу на дадзеным памылка або асаблівасць. Але ён таксама пастаянна стварае ўражанне, што ён бы хацеў, каб працаваць на гэтым змены ў любым выпадку, і што ён шчаслівы грошы робіць гэта магчымым для яго зрабіць. Ён можа ці не можа раскрыць асобу свайго кліента, але ў любым выпадку ён не спыняецца на кантракт. Яго заўвагі аб гэтым толькі упрыгажэннем іншае тэхнічнае абмеркаванне таго, як нешта зрабіць.

Гэты прыклад паказвае, яшчэ адна прычына, чаму гэта добра, каб быць адкрытымі аб кантрактах. Там можа быць некалькі арганізацый спонсарамі кантракты на дадзены праект з адкрытым кодам, і калі кожны ведае, што іншыя спрабуюць зрабіць, яны могуць аб'яднаць свае рэсурсы. У прыведзеным вышэй выпадку, найбуйнейшы спонсар праекта (CollabNet) не ўдзельнічае ў любым выпадку з гэтымі здзельная кантрактаў, але, ведаючы, што хто-то спансіруе пэўныя выпраўлення памылка дазваляе CollabNet пераарыентаваць свае рэсурсы на рашэнне іншых памылак, што прыводзіць да павышэння эфектыўнасці для праекта ў цэлым.

Будуць іншыя распрацоўнікі абураюцца, што некаторыя з іх заплацілі за працу над праектам? Увогуле, няма, асабліва калі тыя, хто плацяць ўсталёўваюцца, паважаных членаў супольнасці так ці інакш. Ніхто не чакае, падрадныя работы для размяркоўваюцца пароўну паміж усімі коммиттеров. Людзі разумеюць важнасць доўгатэрміновых адносінаў: нявызначанасьцяў ў Дагаворных такія, што як толькі вы знойдзеце каго-то вы можаце працаваць надзейна, вы не хацеў бы, каб перайсці да іншай асобе толькі дзеля бесстароннасці. Падумайце пра гэта так: у першы раз вы наймае, не будзе ніякіх скаргаў, таму што выразна трэба было абраць каго-то-гэта не ваша віна вы не можаце наняць ўсіх. Пазней, калі вы наймае жа чалавек другі раз, гэта проста здаровы сэнс: вы ўжо ведаеце яго слоў, апошні раз была паспяховай, дык чаму б ісці на непатрэбны рызыка? Такім чынам, гэта цалкам натуральна мець адзін ці два выхаду на людзей у супольнасці, замест размеркавання работы вакол раўнамерна.

Разгляд і прыняцце зменаў

Супольнасць па-ранейшаму важныя для поспеху падрадных работ. Іх удзел у распрацоўцы і працэсу разгляду значныя змены не могуць быць заднім лікам. Ён павінен разглядацца як частка працы, і ў поўнай меры ахопленыя падрадчыка. Не думайце аб суполцы кантролю як перашкода, якое неабходна пераадолець, думаю пра яго, як бясплатная дошка дызайн і QA аддзела. Гэта дапаможнік будзе агрэсіўна пераследвалі, а не проста перажыць.

Прыклад: пратакол CVS пароль аўтэнтыфікацыі

У 1995 годзе я быў ??адным палове партнёрства, пры ўмове падтрымкі і ўдасканалення для CVS (Версій Паралельнае; гл. http://www.cvshome.org/ ). Мой партнёр Джым і я, неафіцыйна, якія суправаджаюць CVS па гэтым пытанні. Але мы ніколі не думаў аб тым, як уважліва мы павінны ставіцца да існуючых, у асноўным добраахвотнікаў CVS развіцця супольнасці. Мы толькі выказаць здагадку, што яны б адправіць на асобных участках, і мы будзем іх выкарыстоўваць, і што было ў значнай ступені, як яна працуе.

У той час, сеткавых CVS можа быць зроблена толькі праз выдаленае Увайсці праграмы, такія як rsh. Выкарыстоўваючы той жа пароль для доступу CVS таксама для доступу Лагін быў відавочны рызыка для бясьпекі, і многія арганізацыі былі перанесеныя ім. Асноўны інвестыцыйны банк наняў нас, каб дадаць новы механізм аўтэнтыфікацыі, каб яны маглі бяспечна выкарыстоўваць сеткавай CVS з выдаленымі офісамі.

Джым і я ўзяў кантракт і сеў для распрацоўкі новай сістэмы аўтэнтыфікацыі. Тое, што мы прыдумалі, была даволі просты (Злучаныя Штаты кантролю за экспартам крыптаграфічных кодаў у той час, так што кліент разумее, што мы не маглі ажыццяўляць строгую аўтэнтыфікацыю), але, як мы не былі ўспрынятыя ў распрацоўцы такіх пратаколаў, мы ўсё яшчэ зроблена Некалькі хібы, якія былі б відавочныя для экспертаў. Гэтыя памылкі будуць лёгка былі злоўленыя, калі б мы знайшлі час, каб напісаць прапанову і запусціць яго на іншых распрацоўнікаў на разгляд. Але мы ніколі не рабілі так, таму што гэта не адбылося з намі, каб думаць аб развіцці, як спіс рэсурсаў, якія будуць выкарыстоўвацца. Мы ведалі, што людзі, верагодна, будзе прымаць усё, што мы здзейснілі, і, таму, што мы не ведалі, што мы не ведаем, мы не папрацавалі, каб зрабіць працу ў бачны шлях, напрыклад, размяшчэнне патчы часта, робячы невялікі , лёгка засвойваецца абавязваецца адмысловая галіна, і г.д. У выніку праверкі сапраўднасці пратаколу быў не вельмі добра, і, вядома, як толькі стала ўстаноўлена, было цяжка палепшыць, з-за сумяшчальнасці праблем.

Корань праблемы не ў адсутнасці вопыту, мы маглі б лёгка пазналі, што нам трэба ведаць. Праблема заключаецца ў нашым стаўленні да развіцця суполак добраахвотнікаў. Мы разглядалі прыняцце змяненняў як перашкода для скачка, а не як працэс, пры якім якасць змены могуць быць палепшаны. Так як мы былі ўпэўненыя, што амаль усё, што мы зрабілі б быць прыняты (як гэта было), мы зрабілі мала намаганняў, каб іншыя ўдзельнікі.

Відавочна, што калі вы выбіраеце падрадчыка, вы хочаце кагосьці з правай тэхнічныя навыкі і вопыт работы. Але гэта таксама важна абраць кагосьці з паслужным спісам канструктыўнага ўзаемадзеяння з іншымі распрацоўшчыкамі ў супольнасці. Такім чынам, вы атрымліваеце больш, чым проста адзін чалавек, вы атрымліваеце агента, які будзе абапірацца на сетку экспертызу, каб пераканацца, праца вядзецца ў надзейныя і зручныя ў суправаджэнні спосабам.

Фінансаванне Нумары для праграмавання дзейнасці

Праграмаванне гэта толькі частка працы, якая працягваецца ў праект з адкрытым кодам. З пункту гледжання валанцёраў праекта, гэта найбольш бачныя і гламурнай часткі. На жаль, гэта азначае, што іншыя віды дзейнасці, такія як дакументацыя, фармальнае тэсціраванне і інш, часам можна занядбаць, па меншай меры па параўнанні з колькасцю увагі, яны часта атрымліваюць у уласнае праграмнае забеспячэнне. Карпаратыўныя арганізацыі часам у стане зрабіць для гэтага, прысвяціўшы частку свайго ўнутранага развіцця інфраструктуры праграмнага забеспячэння з адкрытым зыходным кодам праектаў.

Ключ да рабіць гэта паспяхова з'яўляецца пераклад паміж ўнутранымі працэсамі кампаніі і тых грамадскіх развіцця суполак. Такі пераклад не з'яўляецца лёгкім: часта два не блізка супадаюць, і адрозненні могуць быць пераадолены толькі з дапамогай ўмяшання чалавека. Напрыклад, кампанія можа выкарыстоўваць розныя трэкера памылку, чым грамадскі праект. Нават калі яны выкарыстоўваюць тое ж праграмнае забеспячэнне сачэння, дадзеныя, якія захоўваюцца ў ім будзе моцна адрознівацца, таму што памылка адсочвання патрэбаў кампаніі вельмі моцна адрозніваюцца ад тых з супольнасці вольнага праграмнага забеспячэння. Частка інфармацыі, якая пачынаецца ў адным трэкера, магчыма, павінны быць адлюстраваны ў іншых, з канфідэнцыйнай часткі выдаленыя або, у іншым накірунку, дадаў.

У наступных раздзелах з'яўляюцца аб тым, як ствараць і падтрымліваць такія масты. Канчатковым вынікам павінна быць тое, што праект з адкрытым кодам працуе больш плаўна, супольнасць прызнае інвестыцыйнай кампаніі рэсурсаў, і тым не менш не лічыць, што кампанія няправільна руля рэчы ў бок свае ўласныя мэты.

Забеспячэнне якасці (напрыклад, прафесійнае тэсціраванне)

Ва ўласнай распрацоўкі праграмнага забеспячэння, гэта нармальна, каб у каманды людзей, адданых выключна да забеспячэння якасці: памылка паляванне, прадукцыйнасць і маштабаванасць тэсціравання, інтэрфейс і дакументацыя праверкі, і г.д. Як правіла, гэтыя мерапрыемствы не робяцца, як энергічна добраахвотнікаў супольнасці свабодным праграмным праектам. Гэта часткова таму, што цяжка атрымаць добраахвотнага працы для непапулярных працы як тэсціраванне, часткова таму, што людзі схільныя лічыць, што наяўнасць вялікага супольнасці карыстальнікаў дае праект добры ахоп тэсціравання, і, у выпадку прадукцыйнасць і маштабаванасць тэсціравання, часткова таму, што валанцёры часта не маюць доступу да неабходным апаратных рэсурсаў у любым выпадку.

Здагадка, што наяўнасць шматлікіх карыстальнікаў гэта эквівалентна таго, што многія тэстары не зусім беспадстаўныя. Вядома, ёсць невялікая кропка прызначэння тэстараў для базавай функцыянальнасці ў агульных умовах: памылак не будзе хутка знайсці карыстальнікаў у натуральны ход рэчаў. Але так як карыстальнікі проста спрабуеце атрымаць працу, яны свядома не меў намер даследаваць нязведаныя краю ў выпадках функцыянальнасць праграмы, і, верагодна, пакіне некаторых класаў памылак ненайденные. Акрамя таго, калі яны выяўляюць, памылка з лёгка абыйсці, яны часта моўчкі ажыццяўлення абыходнага шляху, не клапоцячыся, каб паведаміць пра памылку. Большасць падступна, мадэляў выкарыстання Вашых кліентаў (людзей, якія дыску вашага цікавасці ў праграмнае забеспячэнне) можа адрознівацца ў статыстычна значных шляхоў з выкарыстаннем мадэляў сярэдняга карыстальніка на вуліцы.

Прафесійная каманда тэсціраванне можа выявіць такога роду памылкі, і можа зрабіць гэта так жа лёгка, са свабодным праграмным забеспячэннем, як з прапрыетарным праграмным забеспячэннем. Задача складаецца ў тым, каб перадаць вынікі тэставання каманды спіной да публіцы ў зручнай форме. У доме-аддзелаў тэсціравання, як правіла, свой уласны спосаб справаздачнасці вынікаў выпрабаванняў, з удзелам асобных кампаній жаргону, або спецыяльныя веды аб канкрэтных кліентаў і іх набораў дадзеных. Такія даклады будуць падыходзяць для грамадскіх трэкера памылку, як з-за іх формы і з-за прыватнасці. Нават калі ўнутраны адсочвання памылка вашай кампаніі праграмнага забеспячэння былі тыя ж, што выкарыстоўваецца грамадзкі праект, кіраванне можа спатрэбіцца, каб зрабіць кампаніі канкрэтныя заўвагі і змяненні метададзеных на пытанні (напрыклад, для павышэння ўнутранай прыярытэтных пытання, або графік сваёй рэзалюцыі для канкрэтнага кліента). Звычайна такія адзначае, носяць канфідэнцыйны характар, часам яны нават не паказалі кліента. Але нават калі яны не з'яўляюцца канфідэнцыйнымі, яны не тычыцца грамадскага праекту, і, такім чынам, грамадскасць не павінна адцягваць увагу на іх.

Аднак паведамленне пра памылку само ядро мае важнае значэнне для грамадскасці. На самай справе, паведамленне пра памылку з вашага аддзела тэсціравання з'яўляецца ў некаторым сэнсе больш каштоўным, чым атрыманая ад карыстальнікаў у цэлым, так як тэсціраванне зондаў аддзела за тое, што іншыя карыстальнікі не будуць. Улічваючы, што вы наўрад ці атрымаеце, што асабліва паведамленне пра памылку з любога іншага крыніцы, вы пэўна хочаце, каб захаваць яго і зрабіць яго даступным для грамадскасці праект.

Каб зрабіць гэта, альбо аддзела тэсціравання можа падаць пытанні непасрэдна ў грамадскіх адсочвання праблем, калі яны зручныя з гэтым, або пасярэдніка (як правіла, адзін з распрацоўшчыкаў) можна "перавесці" унутраныя справаздачы аддзела тэсціравання ў новыя пытанні ў грамадскага трэкера. Пераклад проста азначае, якія апісваюць памылка ў шляху, які робіць ніякіх спасылак на кліентаў канкрэтнай інфармацыі (узнаўленне рэцэпт можа выкарыстаць дадзеныя аб кліентах, мяркуючы, кліент сцвярджае ён, вядома).

Гэта некалькі лепш мець аддзела QA падачы пытанняў у грамадскіх трэкер напрамую. Гэта дае грамадскасці больш прамой ўдзячнасць ўдзелу Вашай кампаніі ў праекце: карысныя паведамленні пра памылку Дадаць у давер да вашай арганізацыі як і любы тэхнічны ўклад будзе. Ён таксама дае распрацоўнікам прамую лінію сувязі для каманды тэсціравання. Напрыклад, калі ўнутраная каманда КК з'яўляецца маніторынг грамадскага адсочвання праблем, распрацоўнік можа здзейсніць выпраўленне для маштабаванасці памылка (што распрацоўнік не можа мець рэсурсы, каб выпрабаваць сябе), а затым дадаць заўвагу да пытання прасіць КК каманды, каб убачыць, калі выправіць далі жаданага эфекту. Чакаць трохі супраціў з боку некаторых з распрацоўшчыкаў, праграмістаў ёсць тэндэнцыя разглядаць як КК, у лепшым выпадку, неабходнае зло. Каманда КК можа лёгка пераадолець гэтую праблему шляхам знаходжання значных памылак і падачы зразумелыя справаздачы, а з другога боку, калі іх дакладаў па крайняй меры не так добра, як тых, хто прыбывае з рэгулярнага супольнасць карыстачоў, то няма сэнсу з імі ўзаемадзейнічаць непасрэдна з развіццём каманды.

У любым выпадку, як толькі праблема грамадскага існуе, арыгінальны ўнутранае пытанне павінен проста спасылка грамадскай праблемай для тэхнічнага ўтрымання. Кіраванне і заплаціў распрацоўшчыкі могуць працягваць каментаваць ўнутраныя пытанне з кампаніяй-канкрэтныя заўвагі па меры неабходнасці, але і выкарыстоўваць грамадскі пытанне для інфармацыі, якая павінна быць даступная для ўсіх.

Вы павінны ўвайсці ў гэты працэс чакаем дадатковых накладных расходаў. Падтрыманне два пытанні для аднаго памылка, натуральна, больш працы, чым падтрыманне адно пытанне. Перавага ў тым, што многія іншыя кодэры ўбачыце справаздачу і быць у стане ўнесці свой уклад у рашэнне.

Юрыдычныя кансультацыі і абарона

Карпарацый, камерцыйных або некамерцыйных, амаль толькі асоб, якія калі-небудзь звярнуць увагу на складаных юрыдычных пытанняў у свабоднае праграмнае забеспячэнне. Індывідуальныя распрацоўшчыкі часта зразумець нюансы розных адкрытых ліцэнзій, але яны звычайна не маюць часу або рэсурсаў для наступнай аўтарскім праве, таварных знаках і патэнтным правам у дэталях. Калі ў вашай кампаніі ёсць юрыдычны аддзел, ён можа дапамагчы Вікіпэдыі праверкі прававы статус кода і дапамагае распрацоўнікам зразумець магчымыя патэнтаў і таварных знакаў пытанняў. Дакладныя формы гэтай дапамогі можа заняць разглядаюцца ў чале 9, ліцэнзіі, аўтарскія правы і патэнты . Галоўнае, каб пераканацца, што сувязь паміж юрыдычным аддзелам і развіцця суполак, калі яны здараюцца на ўсіх, здарылася з ўзаемнай ацэнкі вельмі розныя сусветы боку і адкуль. У некаторых выпадках, гэтыя дзве групы казаць адзін міма аднаго, кожны бок лічачы прадметна-арыентаваных ведаў, якія іншыя не маюць. Добрая стратэгія павінна мець сувязь (як правіла, распрацоўнікам, альбо адваката з тэхнічнай экспертызы) стаяць у сярэднім і пераклад на столькі, колькі неабходна.

Дакументацыя і юзабіліці

Дакументацыя і зручнасць з'яўляюцца вядомыя слабыя месцы ў праектах з адкрытымі кодамі, хоць я думаю, па меншай меры ў выпадку дакументацыі, што розніца паміж свабоднымі і патэнтаванага праграмнага забеспячэння часта перабольшаныя. Тым не менш, гэта праўда, што эмпірычнаму шмат адкрытым зыходным кодам не хапае першакласных дакументацыі і юзабіліці даследаванняў.

Калі ваша арганізацыя жадае дапамагчы запоўніць гэтыя прабелы для праекта, верагодна, лепшае, што ён можа зрабіць, гэта наняць людзей, якія не з'яўляюцца рэгулярнымі распрацоўшчыкаў праекта, але хто будзе ў стане ўзаемадзейнічаць прадуктыўна з распрацоўшчыкамі. Не найму рэгулярных распрацоўшчыкі добра па двух прычынах: адна, такім чынам вы не прымаюць час распрацоўкі ад праекту, два, блізкіх да праграмнага забеспячэння, як правіла, не тых людзей пісаць дакументацыю або даследаваць выгода ў любым выпадку, таму што ў іх ёсць праблема бачачы праграмнага забеспячэння з пункту аўтсайдарам гледжання.

Аднак, яна ўсё роўна будзе неабходна для таго, хто працуе на гэтых праблем мець зносіны з распрацоўнікамі. Знайсці людзей, якія носяць тэхнічны характар ??дастаткова, каб казаць аб кадаванні каманды, але не настолькі спецыяліст у праграмнае забеспячэнне, якое яны не могуць спачуваць рэгулярных карыстальнікаў больш.

Сярэдняга ўзроўню карыстальнікаў, верагодна, правы чалавека, каб напісаць добрую дакументацыю. На самай справе, пасля першага выдання гэтай кнігі была апублікаваная, я атрымаў наступнае ліст ад распрацоўшчыкаў адкрытага крыніцы імя Дырк Reiners:

Адзін каментар на грошы:: Дакументацыя і юзабіліці: калі ў нас было некалькі 
грошай і вырашыў, што пачаткоўцаў падручнік быў найбольш 
важнай часткай, што нам трэба, мы нанялі на сярэднім узроўні карыстальніка, каб напісаць яе. 
Ён прайшоў па індукцыі сістэмы ў апошні час досыць 
памятаю праблемы, але ён атрымаў міма іх, каб ён ведаў, як 
апісаць іх. Гэта дазволіла яму напісаць тое, што трэба толькі 
нязначныя выпраўленні ад распрацоўшчыкаў ядра для рэчаў, якія ён не атрымаў 
права, але ўсё ж пакрыццё "відавочны" распрацоўнікі рэчы прапусціў бы.

Яго справа была нават лепш, бо яна была яго праца ўвесці кучу 
іншых людзей (студэнтаў) у сістэме, таму ён аб'яднаў вопыт 
многія людзі, якія нешта, што было проста пашанцавала ўзнікнення і 
, Верагодна, цяжка атрымаць у большасці выпадкаў.

Прадастаўленне хостынгу / прапускная здольнасць

Для праекта, які не выкарыстоўвае адзін з вольных кансерваў хостынг сайтаў (гл. раздзел пад назвай "Кансервы Хостынг" ў раздзеле 3, тэхнічная інфраструктура ), прадастаўленне серверных і сеткавых злучэнняў і, самае галоўнае, сістэмнае адміністраванне дапамагчы-можа быць значную дапамогу . Нават калі гэта ўсё ваша арганізацыя робіць для праекту, ён можа быць ўмерана эфектыўны спосаб атрымаць добрую карму грамадскіх адносін, хоць гэта не прынясе ніякага ўплыву на кірунак праекта.

Вы, верагодна, чакаць, рэкламны банэр або пацверджанне на галоўнай старонцы праекту, дзякуючы вашай кампаніі за прадастаўленне хостынгу. Калі вы наладзіце хостынг так што вэб-адрас праекта знаходзіцца пад даменнае імя вашай кампаніі, то вы атрымаеце дадатковыя асацыяцыі толькі праз URL. Гэта прымусіць большасць карыстальнікаў думаць пра праграмных як якія маюць што-то рабіць з вашай кампаніяй, нават калі вы не спрыяюць развіццю на ўсіх. Праблема ў тым, распрацоўшчыкі ведаюць пра гэта асацыятыўная тэндэнцыя таксама, і можа быць не вельмі зручным з наяўнасцю праекта ў вашым дамене, калі вы спрыяюць больш рэсурсаў, чым проста прапускной здольнасці. У рэшце рэшт, Ёсць шмат месцаў для размяшчэння ў гэтыя дні. Супольнасць можа ў канчатковым выніку адчуваю, што маецца на ўвазе нерацыянальнае выкарыстанне крэдыту не варта зручнасць прынёс на хостынг, і прыняць праект у іншым месцы. Так што калі вы жадаеце падаць хостынг, зрабіць гэта, але альбо план, каб атрымаць яшчэ больш актыўна ў бліжэйшы час, або быць абачлівымі аб тым, колькі вы ўдзел прэтэнзіі.

Маркетынг

Хоць большасць распрацоўшчыкаў адкрытага зыходнага кода, верагодна, ніколі гэта не прызнаюць, работ маркетынгу. Добрая маркетынгавая кампанія можа стварыць шум вакол прадукт з адкрытым крыніцай, нават у пункце, дзе цвярозы кодэры знайсці сябе з цьмяна станоўчыя думкі аб праграмным забеспячэнні па прычынах, яны не могуць досыць пакласці руку на. Гэта не маё месца тут, каб рассякаць гонка ўзбраенняў дынамікі маркетынгу ў цэлым. Любая карпарацыя ўдзельнічае ў свабоднае праграмнае забеспячэнне, у канчатковым рахунку сама разглядае як прадаць сябе, праграмнае забеспячэнне, або іх адносіны да праграмнага забеспячэння. Саветы ніжэй, пра тое, як пазбегнуць распаўсюджаных памылак у такіх намаганняў, глядзіце таксама раздзел пад назвай "Рэклама" у чале 6, сувязі .

Памятайце, што вы Праглядаецца

Дзеля захавання супольнасці распрацоўнікаў добраахвотнікам на вашым боку, вельмі важна не казаць нічога, што відавочна не так. Аўдыт усіх прэтэнзій, перш чым зрабіць іх, і даць грамадскасці магчымасць праверыць свае прэтэнзіі на свае ўласныя. Незалежная праверка Справа ў тым, вялікая частка з адкрытым зыходным кодам, і распаўсюджваецца на большае, чым проста код.

Натуральна, ніхто не раяць кампаніям зрабіць непроверяемой прэтэнзій у любым выпадку. Але з адкрытым крыніцай дзейнасці, ёсць незвычайна высокае колькасць людзей, якія маюць вопыту для праверкі сцвярджэнняў людзей, якія таксама, верагодна, з высокай прапускной здольнасцю доступ у Інтэрнэт і права сацыяльных кантактаў прапагандаваць свае высновы ў шкоду чынам, яны павінны выбраць ст. Калі глабальныя MegaCorp хімічнай прамысловасці забруджвае паток, які паддаецца праверцы, але толькі навучаным і вучоных, якія затым могуць быць абвергнуты навукоўцамі Глабальны MegaCorp, пакінуўшы грамадскага ламаюць галаву і думаў, што і думаць. З іншага боку, ваша паводзіны ў свеце адкрытага зыходнага кода з'яўляецца не толькі бачны і запісаў, гэта таксама проста для многіх людзей, каб праверыць гэта самастойна, рабіць уласныя высновы, і распаўсюджвання гэтых высноў з вуснаў у вусны. Гэтыя сеткі сувязі ўжо існуюць, яны сутнасць як з адкрытым зыходным кодам працуе, і яны могуць быць выкарыстаны для перадачы якой-небудзь інфармацыі. Абвяржэнне, як правіла, цяжка, калі не немагчыма, асабліва калі тое, што людзі кажуць, што гэта праўда.

Напрыклад, гэта нармальна ставяцца да вашай арганізацыі, паколькі гэта "заснаваны праект X", калі вы сапраўды зрабілі. Але не ставяцца да сябе як "стваральнікі X", калі вялікая частка кода была напісана з боку. Наадварот, не трэба сцвярджаць, што актыўны ўдзел супольнасьці добраахвотнікаў распрацоўніка, калі хто можа паглядзець на ваша сховішча і бачым, што Ёсць некалькі або змяняць код не звонку арганізацыі.

Не так даўно, я ўбачыў аб'яву вельмі добра вядома кампутарнай кампаніі, заявіўшы, што яны былі выпускаць важныя пакет праграмнага забеспячэння пад адкрытай ліцэнзіяй. Пры пачатковай заява была зроблена, я зірнуў на іх зараз грамадскіх сховішча кантролю версій і ўбачыў, што ён утрымоўвае ўсяго тры змены. Іншымі словамі, яны зрабілі першапачатковы імпарт з зыходнага кода, але наўрад ці што-небудзь здарылася з тых часоў. Гэта само па сабе было не турбавацца-they'd толькі што зрабіў аб'яву, у рэшце рэшт. Быў няма падстаў чакаць шмат развіцця дзейнасці адразу.

Некаторы час праз, яны зрабілі яшчэ адно аб'ява. Вось што ён сказаў, з указаннем прозвішчы і нумар версіі замененыя псеўданімамі:

Мы рады паведаміць, што пасля ўважлівага тэсціравання па Спявачка супольнасці, спявачка 5 для Linux і Windows ў цяперашні час гатовыя да прадуктыўнаму выкарыстання.

Цікава ведаць, што супольнасць выяўленыя ў "дбайнае тэставанне", я пайшоў назад у сховішча, каб паглядзець на сваю нядаўнюю гісторыю змяненняў. Праект быў яшчэ на перагляд 3. Па-відаць, яны не знайшлі ні аднаго памылка варта мацавання да выхаду! Думаючы, што вынікі тэсціравання супольнасці павінны былі зарэгістраваныя ў іншых месцах, я разгледзеў наступны памылка трэкера. Існавалі роўна шэсць адкрытых пытанняў, чатыры з якіх былі адкрыты ўжо некалькі месяцаў.

Гэта верыцца, вядома. Калі тэстараў фунт на вялікі і складаны кавалак праграмнага забеспячэння для любога перыяду часу, яны знойдуць памылкі. Нават калі выпраўлення гэтых памылак не робяць гэта ў наступнай версіі, можна было б чакаць яшчэ які-небудзь дзейнасці кіравання версіямі ў выніку тэставання, або, па крайняй меры, некаторыя новыя пытанні. Тым не менш, мяркуючы па ўсім, нічога не адбылося паміж аб'явай адкрытай ліцэнзіяй і першы адкрыты рэліз крыніца.

Справа не ў тым, што кампанія ляжаў каля супольнасці тэсціравання. Я паняцця не маю, калі яны былі ці не. Але яны звяртаюць увагі, колькі ён глядзеў, як яны ляжалі. Паколькі ні сховішча кантролю версій, ні адсочвання праблем даў ніякіх указанняў, што меркаваны дбайнае тэставанне адбылося, кампанія павінна альбо не зрабілі прэтэнзіі ў першую чаргу, або пры ўмове выразнай сувязі з некаторымі адчувальны вынік, што тэсціраванне ("Мы знойдзена 278 памылак, націсніце тут для падрабязнасьцяў "). Апошняе дазволіла б хто-небудзь, каб атрымаць ручку на ўзровень грамадскай дзейнасці вельмі хутка. Як гэта было, гэта толькі мне спатрэбілася некалькі хвілін, каб вызначыць, што ўсё гэта супольнасць тэставанне, ён не пакінуў слядоў ні ў адным са звычайных месцаў. Гэта не шмат намаганняў, і я ўпэўнены, што я не адзіны, хто ўзяў на сябе працу.

Празрыстасць і проверяемости таксама важная частка дакладнай крэдытавання, вядома. Глядзіце частку пад назвай "крэдыт" у чале 8, Упраўленне добраахвотнікаў інфармацыю па гэтым пытанні.

Не Bash канкуруючых прадуктаў з адкрытым кодам

Ўстрымацца ад негатыўных меркаванняў аб канкуруючых з адкрытым зыходным кодам. Гэта цалкам нармальна, каб даць адмоўныя факты, то ёсць лёгка confirmable зацвярджэння роду часта бачылі ў добрым дыяграмы параўнання. Аднак негатыўныя характарыстыкі менш строгія прыродзе лепш пазбягаць, па двух прычынах. Па-першае, яны нясуць адказнасць, каб пачаць полымя вайны, якія прымяншае прадуктыўнае абмеркаванне. Па-другое, і што больш важна, некаторыя з добраахвотных распрацоўнікаў, у праекце можа аказацца для працы на канкуруючых праектаў, а таксама. Гэта больш верагодна, чым на першы можа здацца: праекты ўжо ў тым жа дамене (менавіта таму яны ў конкурсе), і распрацоўшчыкаў, якія маюць вопыт у гэтай галіне можа ўнесці свой уклад ўсюды, дзе іх вопыт выкарыстоўваецца і ў дачыненні. Нават тады, калі няма прамога распрацоўшчык перакрыцці, цалкам верагодна, што распрацоўшчыкі на ваш праект, па крайняй меры азнаёміцца ??з распрацоўшчыкамі па адпаведных праектах. Іх здольнасць падтрымліваць канструктыўны асабістых сувязяў можа быць ускладнены празмерна адмоўнага маркетынгавых паведамленняў.

Зьбіцьцё канкуруючых з зачыненым зыходным кодам прадуктаў уяўляецца больш шырокае прызнанне ў свеце адкрытага зыходнага кода, асабліва, калі гэтыя прадукты зробленыя Microsoft. Асабіста я шкадую гэтая тэндэнцыя (хоць зноў жа, нічога дрэннага з простым фактычных параўнання), а не проста таму што гэта груба, але і таму, што гэта небяспечна для праекта, каб пачаць верыць ўласнай рэкламы і тым самым ігнараваць спосабамі, у якіх канкурэнцыя можа на самай справе быць вышэй. Увогуле, сачыць за эфектам, што маркетынг заявы можа быць на вашым уласным развіцці суполак. Людзі могуць быць у такой захапленне пры яе падтрымцы маркетынгу даляраў, якія яны губляюць аб'ектыўнасць аб сапраўднай сілы іх праграмнае забеспячэнне і слабыя бакі. Гэта нармальна, і нават чакаць, для распрацоўнікаў кампаніі праяўляць пэўную атрад да маркетынгу заявы, нават у грамадскай думцы. Ясна, што яны не павінны выйсці і супярэчыць маркетынгавае паведамленне непасрэдна (калі гэта сапраўды так, хоць ёсць надзея, што падобнае было б злавілі раней). Але яны могуць смяяцца над яго час ад часу, як спосаб прыцягнення астатніх развіцця супольнасці зваротна на зямлю.

Частка 6. Сувязь

Змест

Вы тое, што вы пішаце
Структура і фарматаваньне
Змест
Тон
Прызнаючы грубасць
Твар
Як пазбегнуць Найбольш распаўсюджаныя памылкі
Не змяшчайце без мэты
Вытворчыя супраць непрадуктыўныя Тэмы
Мяккі тэма, тым больш Дэбаты
Пазбягайце Holy Wars
"Шумная меншасцяў" Уплыў
Цяжкія людзі
Апрацоўка цяжкімі людзьмі
Прыклад
Апрацоўка росту
Прыкметнае выкарыстанне архіваў
Ставіцеся да ўсіх рэсурсаў, як архівы
Кадыфікацыя Традыцыя
Няма размоваў ў Bug Tracker
Галоснасць
Аб'ява Уразлівасці
Атрымаць справаздачу
Распрацоўка выправіць спакойна
CAN / CVE нумары
Папярэдняе паведамленне
Размеркаваць выправіць публічна

Здольнасць пісаць выразна, мабыць, самы важны навык, можна мець у адкрытай асяроддзі крыніцы. У доўгатэрміновай перспектыве гэта мае большае значэнне, чым талент праграмавання. Вялікі праграміст з паршывай камунікацыйныя навыкі можна атрымаць толькі адну рэч зрабіць у той час, ды і то могуць узнікнуць праблемы з пераканаўчай іншых звярнуць увагу. Але паршывы праграміст з добрымі навыкамі камунікацыі могуць каардынаваць і пераканаць многіх людзей рабіць шмат розных рэчаў, і тым самым аказваюць істотны ўплыў на кірунак праекта і імпульсу.

Там, здаецца, не нашмат карэляцыя, у любым напрамку, паміж уменне пісаць добры код і ўменне мець зносіны са сваім чалавечым субратам. Існуе некаторая карэляцыя паміж праграмавання добра і апісанне тэхнічных праблем, але апісанне тэхнічных праблем, толькі малая частка камунікацый у праекце. Значна больш важным з'яўляецца здольнасць суперажываць са сваёй аўдыторыяй, каб бачыць свае паведамленні і каментары, як іншыя іх бачыць, і выклікаць іншыя, каб убачыць свае ўласныя паведамленні з аналагічнымі аб'ектыўнасці. Не менш важным з'яўляецца заўважыўшы пры дадзенай асяроддзі і сувязь метад больш не працуе добра, магчыма, таму што не маштаб, як колькасць карыстальнікаў павялічваецца, і знайшлі час, каб нешта рабіць.

Усё гэта відавочна ў тэорыі, што робіць яе цяжка на практыцы, што свабодныя асяроддзяў распрацоўкі праграмнага забеспячэння bewilderingly разнастайныя як у аўдыторыі і ў сувязі механізмаў. Калі дадзены думка выяўляецца ў пасаду ў спіс рассылкі, так як у анатацыі памылка трэкера, або ў якасці каментара ў кодзе? Пры адказе на пытанне ў грамадскім форуме, колькі ведаў можна лічыць з боку чытача, улічваючы, што "чытач" гэта не толькі той, хто задаў пытанне, у першую чаргу, але ўсіх тых, хто можа ўбачыць ваш адказ ? Як распрацоўшчыкі знаходжання ў канструктыўны кантакт з карыстальнікамі, без атрымання завалены па функцыянальнасці, ілжывыя паведамленні пра памылку, і агульнай балбатні? Як вы сказаць, калі асяроддзя дасягнула межаў сваіх магчымасцяў, і што вы будзеце рабіць з гэтай нагоды?

Для вырашэння гэтых праблем, як правіла, часткова, таму што любое прыватнае рашэнне, у канчатковым рахунку зрабіў састарэлых ростам праекта або змены ў структуры праекта. Яны таксама часта адмысловыя, таму што яны імправізаваных адказаў на дынамічнай сітуацыі. Усе ўдзельнікі павінны быць дасведчаныя аб тым, калі і як сувязь можа загразнуць, і прымаць удзел у рашэннях. Дапамагаць людзям зрабіць гэта вялікая частка кіравання праектам з адкрытым кодам. У наступных раздзелах разгледзім абодва, як праводзіць уласныя камунікацыі, і як зрабіць падтрымання сувязі механізмаў прыярытэтнай для ўсіх у гэтым праекце. [ 21 ]

Вы тое, што вы пішаце

Возьмем такі прыклад: толькі хто-небудзь рэч ведае пра вас у Інтэрнэце ідзе ад таго, што вы пішаце, або тое, што іншыя пішуць пра вас. Вы можаце быць бліскучым, праніклівы, і харызматычны ў твар, але калі вашы лісты няскладныя і неструктураваных, людзі будуць лічыць, што ў рэальным вы. Ці, магчыма, вы на самой справе няскладныя і неструктураваных ў твар, але ніхто не павінен ніколі не пазнае яго, калі Вашы паведамленні выразны і інфарматыўны.

Вылучэнне некаторай асцярогай, каб вашыя тэксты акупіцца велізарна. Даўні свабоднае праграмнае забеспячэнне хакера Джым Бланди распавядае наступную гісторыю:

У 1993 годзе, я працаваў на Free Software Foundation, і мы былі бэта-тэставанні версіі 19 з GNU Emacs. Мы хацелі зрабіць бэта-версіі кожны тыдзень або каля таго, і людзі будуць спрабаваць яго і адправіць нам паведамленні пра памылку. Быў адзін хлопец якога ніхто з нас не сустракаліся асабіста, але якія зрабілі вялікую працу: яго даклады памылка заўсёды былі выразнымі і прывяла нас прама да праблемы, і калі ён прадставіў сабе выправіць, гэта было амаль заўсёды мае рацыю. Ён быў першакласным.

Зараз, перш чым FSF можна выкарыстоўваць код, напісаны кімсьці іншым, яны ў нас ёсць зрабіць некаторыя юрыдычныя дакументы, каб перадаваць свае аўтарскія правы цікавасць да гэтага коду FSF. Проста прымаючы код з зусім незнаёмых і, паклаўшы яго ў гэты рэцэпт для юрыдычных бедства.

Так што я па электроннай пошце хлопец формы, кажучы: "Вось некаторыя дакументы нам трэба, вось што гэта значыць, вам знакам гэты, ваш працадаўца прыкмета таго, што адзін, і тады мы зможам пакласці пачатак у выпраўленняў. Вялікае дзякуй."

Ён паслаў мяне назад паведамленне аб тым, "у мяне няма працадаўцы."

Таму я сказаў: "Добра, гэта выдатна, проста ваш універсітэт падпісаць яго і адправіць яго назад."

Пасля трохі, ён напісаў мне зноў і сказаў: "Ну, на самой справе ... Я трынаццаць гадоў і я жыву з бацькамі."

Таму што дзіця не пісаць, як трынаццаць-гадовы, ніхто не ведаў, што тое, што ён быў. Ніжэй прыведзены некаторыя спосабы, каб зрабіць вашыя тэксты даюць добрае ўражанне занадта.

Структура і фарматаваньне

Не трапляючы ў пастку напісання ўсё так, як калі б гэта быў тэкст мабільны тэлефон паведамленне. Стварыць у поўныя прапановы, капіталізацыі першае слова кожнага прапановы, і выкарыстанне абзаца, дзе неабходна. Гэта асабліва важна ў электронныя лісты і іншыя складаюцца пісанняў. У IRC або аналагічным эфемернае форумах, звычайна, лепей выйсьці зь капіталізацыі, выкарыстанне сціснутага формаў агульных выразаў і г.д. Проста не нясуць гэтыя звычкі больш у больш фармальнай, устойлівыя форумах. Лісты, дакументы, паведамленні пра памылку, і іншыя часткі лісты, прызначаныя мець пастаянны жыцця павінны быць напісаны з выкарыстаннем стандартнай граматыкі і правапісу, і маюць узгодненую структуру апавядання. Гэта не таму, што ёсць што-небудзь добрае пра сутнасць наступныя адвольных правілаў, а тое, што гэтыя правілы не адвольныя: яны ператварыліся ў іх цяперашняй форме, паколькі яны робяць тэкст больш чытэльным, і вы павінны прытрымлівацца іх па гэтай прычыне. Чытальнасць пажадана не толькі таму, што гэта значыць, больш людзей зразумеюць, што вы пішаце, а таму, што прымушае вас выглядаць, як той чалавек, які займае час, каб мець зносіны ясна: гэта значыць, хто-то варта звярнуць увагу.

Для электроннай пошты, у прыватнасці, вопытных распрацоўшчыкаў адкрытага зыходнага кода спыніліся на пэўных канвенцый:

Адправіць пошту раўніне толькі тэкст, а не HTML, RichText, або іншых фарматах, якія могуць быць непразрыстымі ў тэкст толькі для чытачоў пошце. Фарматаванне ліній, каля 72 слупкоў доўга. Не перавышае 80 калон, які стаў стандартам дэ-факта шырыня тэрмінала (гэта значыць, некаторыя людзі могуць выкарыстоўваць больш шырокі тэрміналаў, але ніхто не выкарыстоўвае вузкі адзін). Робячы свае лініі крыху менш чым 80 слупкоў, пакінуць месца для некалькіх узроўняў цытаванні знакаў, якія будуць дададзеныя ў "іншых адказаў, не прымушаючы rewrapping тэксту.

Выкарыстанне рэальных радкоў. Некаторыя паштовыя праграмы робяць выгляд падробленых ўпаковачную лінію, прычым, калі вы пішаце электроннай пошты, на дысплеі адлюстроўваецца радкоў, якія на самай справе не існуе. Калі пошта сыходзіць, яно не можа мець разрывы радкоў вы думалі, што гэта было, і ён будзе абгарнуць ніякавата на экранах некаторых людзей. Калі ваша паштовая праграма можа выкарыстоўваць падробленыя разрывы радкоў, шукаць налады вы можаце змяніць, каб зрабіць яго паказаць сапраўдныя разрывы радкоў, як вы складаць.

Калі ў тым ліку вывад на экран, фрагменты кода, або іншыя папярэдне адфарматаваную тэкст, афсетнага гэта ясна, так што нават лянівы вачэй лёгка бачыць мяжы паміж прозай і матэрыял вы цытаванні. (Я ніколі не чакаў, каб напісаць, што рады, калі я пачаў гэтую кнігу, але на лік адкрытых спісаў рассылання крыніцы ў апошні час, я бачыў людзей, спалучэнне тэкстаў з розных крыніц, не даючы зразумець, што ёсць што. Эфект вельмі складана. Гэта робіць іх паведамлення значна складаней для разумення, і шчыра робіць гэтыя людзі выглядаюць трохі дэзарганізаваць.)

Пры цытаванні чужой пошты, увядзіце вашыя адказы, дзе яны найбольш прыдатным, у некалькіх розных месцах, калі гэта неабходна, і абрэзаць часткі сваёй пошты вы не выкарыстоўвалі. Калі Вы пішаце каментар хутка, што ставіцца да іх само паведамленне, гэта нармальна для верхняга паста (гэта значыць, паставіць ваш адказ вышэй вытрымку сваёй пошце), у адваротным выпадку, вы павінны цытатай адпаведная частка арыгінальнага тэксту Па-першае, варта ваш адказ.

Пабудаваць сюжэтныя лініі новага ліста старанна. Гэта самае важнае кірунак у вашу пошту, таму што яна дазваляе кожнаму іншаму асобе ў рамках праекта вырашаць, быць ці не чытаць далей. Сучасная пошта праграмнага забеспячэння па чытанню арганізуе групы звязаных паведамленні ў тэмы, якія могуць быць вызначаны не толькі агульныя тэмы, але і розныя іншыя загалоўкі (якія часам не адлюстроўваецца). Адсюль вынікае, што калі паток пачынае дрэйфаваць да новай тэме, вы можаце і павінны рэгуляваць-тэма адпаведна пры адказе. цэласнасць патоку будуць захаваны, у сувязі з тым іншыя загалоўкі, але новы прадмет дапаможа людзі, гледзячы на ??агляд нітку ведае, што тэма дрэйфаваў. Аналагічным чынам, калі вы сапраўды жадаеце пачаць новую тэму, зрабіць гэта шляхам размяшчэння свежых пошце, не адказаўшы на існуючых пошты і іншую тэму. У адваротным выпадку, ваша пошта будзе па-ранейшаму быць згрупаваны ў той жа паток, як тое, што Вы адказваеце на, і такім чынам падмануць людзей, думаючы, што гэта пра што-то гэта не так. Зноў жа, пакаранне будзе не толькі трата часу, але невялікія ўвагнутасці ў давер да вас як чалавек, свабодна гаворыць на выкарыстанне сродкаў сувязі.

Змест

Ну фармаце пошту прыцягнуць чытачоў, але трымае іх змест. Няма набору фіксаваных правіл можа гарантаваць добрае змест, вядома, але Ёсць некаторыя прынцыпы, якія робяць яго больш верагодным.

Зрабіце рэчы лёгка для вашых чытачоў. Там у тону інфармацыі, якія цыркулююць у любой актыўнай праект з адкрытым кодам, і чытачы не могуць быць павінны быць знаёмыя з большасцю ІТ-У самай справе, яны не заўсёды могуць быць як чакаецца, ведаеце, як пазнаёміцца. Усюды, дзе магчыма, вашы паведамленні павінны ўтрымліваць інфармацыю ў форме, найбольш зручнай для чытачоў. Калі вам давядзецца выдаткаваць дадатковыя дзве хвіліны, каб выкапаць URL для пэўнага струменя ў архівах спісаў рассылання, у мэтах эканоміі вашых чытачоў праца Паступаючы такім чынам, яно таго варта. Калі вам давядзецца выдаткаваць дадатковыя 5 або 10 хвілін з кароткім выкладам высноў дагэтуль комплекснай ніткі, з тым каб даць людзям кантэкст, у якім, каб зразумець ваша паведамленне, то зрабіць гэта. Падумайце аб гэтым так: больш паспяховым праектам, тым вышэй чытача да пісьменніку адносіны ў тым ці іншым форуме. Калі кожнае паведамленне вы робіце разглядаецца N людзей, то пры п падвышаецца ў каштоўнасці чалавечага марнаваць дадатковыя намаганні, каб выратаваць тых людзей час паднімаецца з ім. І як людзі бачыць Вас ўвядзення гэтага стандарту на сябе, яны будуць працаваць, каб адпавядаць яго ў сваіх паведамленнях. У выніку, у ідэале, павелічэнне глабальнай эфектыўнасці праекта: калі ёсць выбар паміж п людзі прыкладаюць намаганні і адзін чалавек робіць так, праект аддае перавагу апошняе.

Не ўступайце ў гіпэрбала. Перабольшанне ў інтэрнэт-паведамленняў класічныя гонкі ўзбраенняў. Напрыклад, чалавек справаздачнасці памылка можа турбавацца, што распрацоўшчыкі не надаюць дастатковай увагі, так што ён пра яго будзе расказана, як цяжкія, Showstopper праблема, якая перашкаджае яму (і ўсе яго сябры / калегі / сваякі) з выкарыстаннем праграмнага забеспячэння прадуктыўна , калі ён на самай справе толькі мяккай раздражненне. Але перабольшанне не толькі ўдзельнікі-праграмісты часта робяць тое ж самае падчас абмеркаванне тэхнічных пытанняў, у прыватнасці, калі рознагалоссі па справа густу, а не карэктнасці:

"Робім гэта такім чынам зробіць код цалкам нечытэльным. Гэта быў бы кашмар, у параўнанні з S прапанову J. Random'..."

Тое ж настрой сапраўды становіцца мацней, калі фармулёўцы менш рэзка:

"Гэта працуе, але гэта далёка не ідэальны з пункту гледжання чытэльнасці і ремонтопригодность, я думаю. S прапанову J. Random 'дазволіць пазбегнуць гэтых праблем, таму што ..."

Вы не зможаце пазбавіцца ад гіпэрбала цалкам, ды і наогул гэта не трэба рабіць так. У параўнанні з іншымі формамі недаразуменні, гіпэрбала не з'яўляецца глабальна пашкоджанні-гэта балюча асноўным злачынца. Атрымальнікі могуць кампенсаваць, гэта проста, што адпраўнік губляе трохі больш даверу кожны раз. Таму, дзеля ўласнага ўплыву ў праекце, спрабуюць памыляцца ў бок ўмеранасці. Такім чынам, калі вам трэба зрабіць моцнай, людзі будуць прымаць вас сур'езна.

Змяніць у два разы. Для любога паведамлення больш, чым сярэднія пункта, перачытаў яго зверху ўніз перад яго адпраўкай, але пасля вы думаеце, гэта зроблена ўпершыню. Гэта знаёмы парады для тых, хто ўзяў па класе кампазіцыі, але гэта асабліва важна ў інтэрнэт-дыскусіі. Паколькі працэс онлайн складу, як правіла, высока разрыўнымі (у працэсе напісання паведамлення, вам можа спатрэбіцца, каб вярнуцца і праверыць іншыя лісты, наведаць пэўныя вэб-старонкі, выканайце каманду, каб захапіць яе адладкі, і г.д.), гэта Асабліва лёгка страціць сэнс апавядання месца. Паведамленні, якія былі складзеныя скокам і не правяраюцца перад адпраўкай часта вядомы як такой, да вялікага засмучэння (або каля таго можна было б спадзявацца) іх аўтараў. Выдаткуйце час, каб разгледзець тое, што вы пасылаеце. Чым больш вашыя паведамленні трымацца разам структурна, тым больш яны будуць чытаць.

Тон

Пасля напісання тысяч паведамленняў, вы, верагодна, знайсці свой стыль імкнучыся да кароткім. Гэта, здаецца, нормай у большасці тэхнічных форумаў, і няма нічога дрэннага з ёй як такой. Ступень сцісласць, што было б непрымальна ў нармальных сацыяльных узаемадзеянняў, проста па змаўчанні для свабоднага праграмнага забеспячэння хакераў. Вось адказ я калі-то звярнуў на рассылку аб некаторых вольнага праграмнага забеспячэння кіравання кантэнтам, двукоссі ў поўным аб'ёме:

Можа вы, магчыма, распрацоўваць трохі больш на тое, што праблемы
Вы сутыкнуліся з, і г.д.?

А таксама:

Якая версія Slash вы карыстаецеся? Я не магу сказаць з вашага
зыходнае паведамленне.

Сапраўды, як жа вы будуеце Apache / mod_perl крыніца?

Спрабавалі Ці вы Apache 2.0 патч, які быў размешчаны на о
slashcode.com?

  Шэйн

Зараз гэта кароткім! Няма прывітанне, не знаёмы-з іншай, чым яго імя, а само паведамленне толькі шэраг пытанняў сфармуляваны як кампактна, як гэта магчыма. Яго адзін дэкларатыўны прысуд быў няяўнай крытыкай майго арыгінальнага паведамлення. І ўсё ж, я быў шчаслівы бачыць пошты Шэйн, і не прымаць яго сцісласць, як знак чаго-небудзь, акрамя яго час заняты чалавек. Той факт, што ён задаваў пытанні, а не ігнараваць маё паведамленне, азначала, што ён гатовы патраціць некаторы час на маю праблему.

Ці будуць усе чытачы рэагуюць станоўча на гэты стыль? Не абавязкова, гэта залежыць ад чалавека і кантэксту. Напрыклад, калі хтосьці толькі што апублікавалі прызнаючы, што яна зрабіла памылку (магчыма, яна піша памылка), і вы ведаеце, з мінулага досведу, што гэты чалавек, як правіла, крыху небяспечным, то ў той час як вы ўсё роўна можаце напісаць кампактны адказ, вы павінны пераканайцеся, што закваска яго з нейкай прызнанне яе пачуцці. Асноўная частка вашага адказу можа быць кароткім, engineer's вачэй аналіз сітуацыі, як кароткім, як вы хочаце. Але ў канцы, выйсці з яго з чым-то аб тым, што ваш сцісласць не павінны быць прынятыя як халоднасць. Напрыклад, калі вы толькі што пачкаў парады, як менавіта чалавек павінен выправіць памылку, то падпісваць з "Поспехі, тут> <ваш імя", каб паказаць, што вы хочаце іх добра і не вар'ят. Стратэгічна смайлік ці іншых emoticlue часта можа быць дастаткова, каб супакоіць суразмоўцы, таксама.

Гэта можа здацца дзіўным засяродзіцца больш на пачуццях удзельнікам як на паверхні, што яны гавораць, але паставіць яго прама, то пачуцці ўплываюць на прадукцыйнасць. Пачуцці важныя для іншых прычын, але нават калі абмежавацца чыста утылітарным прычынах, мы можам адзначыць, што няшчасныя людзі пішуць горш, праграмнае забеспячэнне, і менш яе. Улічваючы абмежаваны характар ??большасці электронных сродкаў масавай інфармацыі, хоць, часта будзе не адкрытым ключом, як чалавек адчувае. Вы павінны будзеце зрабіць абгрунтаванае здагадка заснавана на), як большасць людзей будзе адчуваць сябе ў гэтай сітуацыі, і б) што вы ведаеце гэтага канкрэтнага чалавека з мінулага ўзаемадзеяння. Некаторыя людзі аддаюць перавагу больш неўмяшання адносіны, ды і проста мець справу з кожным па намінальным кошце, ідэя ў тым, што калі ўдзельнік не сказаць прама, што яна адчувае сябе пэўным чынам, то няма ніякага бізнэсу, звяртаючыся з ёй як быццам яна робіць. Я не купляю гэты падыход, па некалькіх прычынах. Адзін з іх, людзі не паводзяць сябе ў рэальным жыцці, так чаму ж яны ў Інтэрнэце? Два, так як большасць ўзаемадзеяння адбываюцца ў грамадскіх форумах, людзі, як правіла, яшчэ больш стрыманы ў выражэнні эмоцый, чым яны могуць знаходзіцца ў прыватнай. Каб быць больш дакладным, яны часта гатовыя выказваць эмоцыі, накіраваныя на іншых, такіх як падзяку або абурэнне, але не эмоцыі накіраваны ўнутр, такія як адсутнасць бяспекі або гонару. Тым не менш большасць людзей працуюць лепш, калі яны ведаюць, што іншыя ведаюць пра стан свайго розуму. Звяртаючы ўвагу на маленькі ключ, звычайна можна адгадаць вялікую частку часу, і матываваць людзей, каб працягваць удзельнічаць у большай ступені, чым у іншым выпадку яны могуць.

Я не маю на ўвазе, вядома, што ваша ролю павінна быць група тэрапеўт, пастаянна дапамагаць кожнаму увайсці ў кантакт са сваімі пачуццямі. Але, уделение асаблівай увагі доўгатэрміновым заканамернасці ў паводзінах людзей, то вы пачнеце атрымліваць сэнсе іх як людзей, нават калі вы ніколі не сустрэцца з імі тварам да асобе. І, быўшы адчувальным да тоне вашай уласнай пісьмовай форме, вы можаце мець дзіўна вялікі ўплыў над тым, як іншыя лічаць, у канчатковым выніку карысць праекта.

Прызнаючы грубасць

Адна з вызначальных характарыстык адкрытай культуры крыніца яго адметныя паняцці, што робіць і не з'яўляецца грубіянствам. Хоць, апісаным ніжэй, не з'яўляюцца унікальнымі для распрацоўкі вольнага праграмнага забеспячэння, ні нават да праграмнага забеспячэння ў цэлым, яны былі б знаёмыя, хто працуе ў галіне матэматыкі, прыродазнаўчых навук, або інжынерных дысцыплін вольнага праграмнага забеспячэння, з яго кіпрай мяжы і пастаянны прыток навічкоў , з'яўляецца асяроддзе, у якой гэтыя канвенцыі асабліва верагодна, з якімі сутыкаюцца людзі знаёмыя з імі.

Давайце пачнем з рэчаў, якія не груба:

Тэхнічныя крытыкі, нават калі прамой і без вядучага, не груба. Сапраўды, гэта можа быць форма ліслівасці: крытык кажа, ускосна, што мэта варта сур'езна, і варта патраціць некаторы час на. Гэта значыць, больш жыццяздольным было б проста ігнараваць па паведамленні каго-то, больш хваліць гэта становіцца ўзяць час, каб крытыкаваць яго (калі крытыка спускаецца ў прадузятасці атакі аб'яваў ці іншай форме відавочна грубасць, вядома ).

Блант, без усялякіх упрыгожванняў пытанняў, такіх, як пытанні Шэйн мне ў раней цытуе электроннай пошце, не грубіяніць небудзь. Пытанні, якія ў іншых умовах можа здацца халоднай, рытарычнае, і нават насмешлівы, часта прызначаны сур'ёзна, і ніякай ўтоенай парадку дня, акрамя атрымання інфармацыі як мага хутчэй. Вядомы тэхнічнай падтрымкі пытанне "Ці з'яўляецца ваш кампутар падключаны? з'яўляецца класічным прыкладам гэтага. Падтрымка чалавек сапраўды трэба ведаць, калі ваш кампутар падключаны да сеткі, і пасля першых некалькіх дзён на працу, атрымаў стаміліся ад прэфікса яе пытанне з ветлівай ўгаворы ("Я прашу прабачэння, я проста хачу задаць некалькі простых пытанні, каб выключыць некаторыя магчымасці. Некаторыя з іх могуць здацца даволі просты, але, мядзведзь са мной ..."). На дадзены момант, яна не важдацца з абіўка больш, яна проста пытаецца прама: гэта падключаны ці не? Эквівалентныя пытанні задаюцца ўвесь час на бясплатныя спісы рассылання праграмнага забеспячэння. Мэтай з'яўляецца не абражаць атрымальніка, але хутка выключыць найбольш відавочным (і, магчыма, найбольш распаўсюджаны) тлумачэнні. Атрымальнікі, якія разумеюць гэта і рэагаваць адпаведным чынам выйграць кропкі для прыняцця шырокім кругаглядам прагляд без запыту. Але атрымальнікі, якія хваравіта рэагаваць не павінны быць звернута спагнанне, альбо. Гэта проста сутыкненне культур, а не нічыёй віны. Растлумачце прыязна, што Ваш пытанне (або крытыка) не мелі схаваны сэнс, а проста хацеў атрымаць (ці перадачы) інфармацыі як мага больш эфектыўна, не больш таго.

Так што груба?

Па такім жа прынцыпе, пры якім падрабязныя тэхнічныя крытыка форма ліслівасці, няздольнасць забяспечыць якасць крытыка можа быць свайго роду абраза. Я не маю на ўвазе проста ігнаруюць працу хто-то, будзь то прапанова, змяненне кода, новыя падачы пытання, ці Што заўгодна. Калі вы відавочна абяцаў падрабязную рэакцыі загадзя, ён, як правіла, добра, каб проста не рэагуюць наогул. Людзі будуць лічыць вас проста не было часу, каб сказаць што-небудзь. Але калі вы рэагаваць, не скупіцца: узяць час, каб аналізаваць рэчы, прывесці канкрэтныя прыклады, дзе неабходна, капацца ў архівах, каб знайсці адпаведныя паведамленні з мінулага, і г.д. Ці, калі ў вас няма часу, каб пакласці у тым выглядзе, намаганняў, але ўсё ж трэба напісаць нейкі кароткі адказ, то дзяржава недахоп адкрыта ў сваім паведамленні ("Я думаю, што пытанне падала на гэта, але, на жаль не было часу, каб знайсці яе, прабачце" ). Галоўнае заключаецца ў прызнанні існавання культурнай нормы, альбо шляхам яго рэалізацыі ці адкрыта прызнаючы, што адна не апраўдала гэты раз. У любым выпадку, норма ўзмоцнена. Але невыканання гэтай нормы, і ў той жа час, не тлумачачы, чаму вы не выканалі яго, усё роўна што сказаць тэму (і тых, хто ўдзельнічае ў ёй) не варта шмат вашага часу. Лепш, каб паказаць, што цаніце свой час, быўшы кароткім, чым ленавацца.

Ёсць шмат іншых формаў грубасць, вядома, але большасць з іх не з'яўляюцца спецыфічнымі для распрацоўкі вольнага праграмнага забеспячэння, і здаровага сэнсу дастаткова добрая кіраўніцтва, каб пазбегнуць іх. Глядзіце таксама раздзел называецца "Nip грубасць у зародку" у чале 2, Прыступаючы да працы , калі вы яшчэ не зрабілі.

Твар

Існуе рэгіёну ў чалавечы мозг, прызначаных канкрэтна для прызнання асобы. Гэта неафіцыйнае назву "веретенообразной вобласці асобы", і яго магчымасці ў асноўным прыроджанымі, а не пазнаў. Аказваецца, што прызнанне асобных людзей з'яўляецца такім важным навыкам выжывання, што мы развіваліся спецыялізаваныя апаратныя сродкі, каб зрабіць гэта.

Інтэрнэт-супрацоўніцтва Таму псіхалагічна дзіўна, таму што яна прадугледжвае цеснае супрацоўніцтва паміж чалавечымі істотамі, якія амаль ніколі не дабрацца да ідэнтыфікаваць адзін аднаго па найбольш натуральны, інтуітыўна метады: распазнанне асоб, перш за ўсё, але і гук голасу, пастава, і г.д. Для кампенсаваць гэта, паспрабуйце выкарыстоўваць паслядоўнае імя экран ўсюды. Варта пярэдняя частка вашага адрасу электроннай пошты (частка да @-знак), ваш IRC імя карыстальніка, імя вашага сховішчы коммиттер, ваш пытанне трэкера імя карыстальніка, і гэтак далей. Гэта імя вашага онлайн "твар": кароткае вызначэнне радкі, якая служыць некаторыя з той жа мэтай, ваша сапраўдны твар, хоць гэта не так, на жаль, стымуляваць ж ўбудаваны апаратны ў мозг.

Адлюстроўваецца імя, павінны быць некаторыя інтуітыўна перастаноўкі ваша рэальнае імя (у мяне, напрыклад, "kfogel"). У некаторых выпадках гэта будзе суправаджацца Ваша поўнае імя ў любым выпадку, напрыклад, у загалоўку ліста:

Ад: "Карл Фогель" <kfogel@whateverdomain.com>

На самай справе, Ёсць дзве рэчы, адбываецца ў гэтым прыкладзе. Як згадвалася вышэй, экран імя супадае з рэальным імем у інтуітыўна зразумелым спосабам. А акрамя таго, сапраўднае імя рэальнага. Гэта значыць, гэта не нейкія выдуманыя назвы, як:

Ад: "Цуд-Хакер" <wonderhacker@whateverdomain.com>

Там у вядомага мультфільма Пол Штайнер, ад 5 Ліпень 1993 г. пытанне аб Нью-Ёрку, які паказвае адну сабаку ўвайсці ў кампутарны тэрмінал, гледзячы ўніз і кажа іншы змоўніцку: "У Інтэрнэце ніхто не ведае, што ты сабака. " Гэты выгляд думкі, верагодна, ляжыць у аснове шматлікіх самовозвеличенных, азначала-да-быць-хіп онлайн людзей тоеснасці даць сябе, як быццам называць сябе "Цуда-Хакер" на самай справе прымушае людзей верыць адзін выдатны хакера. Але факт застаецца фактам: нават калі ніхто не ведае, што ты сабака, вы ўсё яшчэ сабака. Фантастычных ідэнтычнасць ніколі не ўражвае чытачоў. Замест гэтага, ён прымушае іх думаць, вы больш ў малюнак, чым рэчывы, або, што вы проста небяспечна. Выкарыстоўваць сваё сапраўднае імя для ўсіх узаемадзеянняў, або калі па якой-небудзь прычыне вам патрабуецца ананімнасць, то прыдумайце імя, што гучыць як цалкам нармальнае сапраўднае імя, і выкарыстоўвайце яго пастаянна.

У дадатак да падтрымання онлайн тварам паслядоўнай, Ёсць некаторыя рэчы, якія вы можаце зрабіць, каб зрабіць яго больш прывабным. Калі ў вас ёсць афіцыйная назва (напрыклад, "доктар", "прафесар", "дырэктар"), не выстаўляць напаказ, і нават не згадваць яго выключэннем выпадкаў, калі гэта непасрэднае дачыненне да гутаркі. Хакераў ў цэлым і свабоднай культуры праграмнага забеспячэння, у прыватнасці, імкнецца да заголовке адлюстроўваецца як забаронныя і знак небяспекі. Нічога страшнага, калі ваша назва з'яўляецца як частка стандартнага блока падпісання ў канцы кожнага пошце вы пасылаеце, проста ніколі не выкарыстоўваць яго ў якасці інструмента для ўмацавання вашай пазіцыі ў дыскусіі, спроба гарантавана мець непрыемныя наступствы. Вы хочаце, каб людзі з павагай ставіцца да асобы, а не назва.

Гаворачы аб подпісы блокаў: трымаць іх мала і з густам, ці яшчэ лепш, не існуе. Пазбягайце вялікіх прававой адказнасці прыфастрыгоўваць да канца кожнага пошты, асабліва калі яны выказваюць настрою несумяшчальна з удзелам у вольным праграмным праекце. Напрыклад, наступныя класіка жанру з'яўляецца ў канцы кожнага паведамленні канкрэтнага карыстальніка ўносіць у спіс рассылкі Я знаходжуся на:

УВАГА!

Калі Вы атрымалі гэты ліст па памылцы або хочаце чытаць нашу электронную пошту
Заява аб адказнасці і маніторынгу палітыкі, калі ласка, звярніцеся да
Заява ніжэй або звяжыцеся з адпраўшчыкам.

Дадзенае паведамленне ад Deloitte & Touche LLP. Deloitte &
Touche LLP з'яўляецца таварыствам з абмежаванай адказнасцю, зарэгістраванага ў Англіі
і Ўэльсе з зарэгістраванымі OC303675 нумар. Спіс імёнаў членаў
даступная для агляду ў Стонкаттер суда, 1 Стонкаттер
Street, London EC4A 4TR, Злучанае Каралеўства, асноўнае месца фірмы з
бізнес і юрыдычны адрас. Deloitte & Touche LLP з'яўляецца
упаўнаважаных і рэгулюецца Упраўленнем па фінансавых паслуг.

Гэта паведамленне і любыя ўкладання ўтрымліваюць інфармацыю, якая
канфідэнцыйнымі і могуць быць прывілеяваным. Гэта для выключнага выкарыстання
ад атрымальніка (ы). Калі вы не прызначаных
атрымальнік (і) Калі ласка, звярніце ўвагу, што любая форма раскрыцця інфармацыі, распаўсюджванне,
Капіраванне або выкарыстанне гэтага паведамлення або інфармацыю ў ім або ў
любыя ўкладання строга забаронена і можа быць незаконным. Калі вы
атрымалі гэтае паведамленьне па памылку, калі ласка, вярніце яго з
Назва "атрымалі па памылцы" на deloitte.co.uk IT.SECURITY.UK @ затым выдаліце
адрас электроннай пошты і знішчыць усе копіі яго.

Паведамленняў электроннай пошты не можа быць гарантавана бяспечнай і без памылак,
як інфармацыя можа быць перахопленая, пашкоджаны, зменены, страціў,
знішчаныя, спазняюцца або няпоўнай, або утрымліваць вірусы. Мы не
нясе адказнасці за любому з гэтых пытанняў або іх наступствы. Хто-небудзь
хто мае зносіны з намі па электроннай пошце бярэцца прымаць рызыкі ў
гэтым.

Калі ў адрас нашых кліентаў, любыя думкі ці рэкамендацыі, якія змяшчаюцца ў
гэта электронная пошта і любыя ўкладанні ў адпаведнасці з умовамі і
умоў выяўляецца ў Deloitte & кіраўнікоў Touche LLP кліента
ліст-абавязацельства.

Меркаванні, высновы і іншую інфармацыю ў гэтай электроннай пошты і любыя
ўкладанні, якія не адносяцца да афіцыйнай дзейнасці фірмы
не прапануюцца і не адобраны ёю.

Для тых, хто проста з'яўляецца, каб задаць пытанне то і справа, што вялікі адмову выглядае крыху недарэчна, але, верагодна, не робіць любога доўгатэрміновага шкоды. Аднак, калі гэты чалавек хацеў прыняць актыўны ўдзел у праекце, што прававыя шаблоннага пачаў бы мець больш падступным эфектам. Было б паслаць па крайняй меры два патэнцыйна разбуральных сігналаў: па-першае, што гэты чалавек не мае поўнага кантролю над сваімі інструментамі, ён у пастцы ўнутры некаторыя карпаратыўныя паштовыя што кнопкі раздражняе паведамленне канцы кожнага электроннага паведамлення, і ён не атрымаў спосаб маршрут вакол яго, і, па-другое, ён мае мала ці ўвогуле не арганізацыйнай падтрымцы яго дзейнасці, свабоднай ад праграмнага забеспячэння. Праўда, арганізацыя відавочна не забараніў яму прама адпраўляць іх на публічныя спісы, але ён зрабіў свой Паведамленняў паглядзець выразна няветлівасьць, як быццам рызыку выпускае канфідэнцыйная інфармацыя павінна козыр ўсіх іншых напрамкаў.

Калі вы працуеце ў арганізацыі, якая настойвае на ўключэнні такіх блокаў подпіс на ўсю выходную пошту, а затым разгледзець магчымасць атрымання бясплатнага акаўнта электроннай пошты ад, напрыклад, gmail.google.com , www.hotmail.com , або www.yahoo.com , і ён выкарыстоўваецца ў якасці адрасы для праекта.

Як пазбегнуць Найбольш распаўсюджаныя памылкі

Не змяшчайце без мэты

Распаўсюджаная памылка ў Інтэрнэце ўдзелу праект думаць, што вы павінны адказаць на ўсё. Вы гэтага не робяць. Перш за ўсё, як правіла, будзе некалькі патокаў адбываецца, чым вы можаце сачыць, па меншай меры пасля праекту мінулым першыя некалькі месяцаў. Па-другое, нават у тэмы, што вы вырашылі займацца, многае з таго, людзі кажуць не патрабуе адказу. Развіццё форумаў, у прыватнасці, як правіла, дамінуюць тры выгляду паведамленняў:

  1. Паведамленні прапануецца нешта нетрывіяльнае

  2. Паведамленні выказвання падтрымкі або апазіцыі да чаму-то хто-то сказаў

  3. Падвядзенне вынікаў паведамленні

Ні адзін з гэтых першапачаткова патрабуе адказу, асабліва, калі вы можаце быць абсалютна ўпэўнены, заснаваныя на праглядзе нітку так далёка, што хто-то, верагодна, сказаць, што вы сказалі б у любым выпадку. (Калі вы занепакоеныя тым, што вы будзеце злоўленыя ў чакаць-чакаць пятлю, таму што ўсе іншыя выкарыстоўваюць гэтую тактыку таксама не будзе; амаль заўсёды хто-то там хто будзеце адчуваць сябе, як скачкі ў бойку. Існуе) Адказ павінен быць матываваны пэўнай мэты. Задайце сабе пытанне першы: вы ведаеце, што вы хочаце дасягнуць? А па-другое: гэта будзе не атрымаць ажыццяўляецца, калі вы што-небудзь сказаць?

Дзве важкія прычыны, каб дадаць свой голас да ніткі), калі вы бачыце памылкі ў сказе і падазраю, што вы адзіны, хто бачыць гэта, і б) калі вы бачыце, што адбываецца недаразуменне паміж іншымі, і ведаю, што Вы можаце выправіць гэта з тлумачэннем пост. Гэта таксама, як правіла штрафу каб атрымаць магчымасць адпраўляць толькі падзякаваць каго-то робіць нешта, ці сказаць: "Я таксама!", Таму што чытач можа сказаць адразу, што такія паведамленні не патрабуюць якога-небудзь адказу або далейшых дзеянняў, і, такім чынам, разумовага намаганні патрабуюць Паведамленне канцы чыста, калі чытач даходзіць да апошняга радка пошце. Але нават тады, падумайце двойчы, перш чым сказаць што-небудзь, гэта заўсёды лепш пакінуць жадаючых вы пасля больш чым жадаючых вы пост менш. (Гл. другой палове Дадатак C, чаму я павінен турбавацца аб колеры Bikeshed ці што? для больш думак пра тое, як паводзіць сябе на ажыўленай спісу рассылкі.)

Вытворчыя супраць непрадуктыўныя Тэмы

На занятыя спіс рассылкі, у вас ёсць два імператываў. Адзін з іх, відавочна, каб высветліць, што вам трэба звярнуць увагу на тое, што і вы можаце ігнараваць. Іншы павінен паводзіць сябе такім чынам, каб пазбегнуць прычынення шуму: не толькі вы хочаце, каб вашыя ўласныя паведамленні мець высокае стаўленне сігнал / шум, вы таксама хочаце, каб яны віды паведамленняў, якія стымулююць іншых людзей альбо пост з аналагічным высокае стаўленне сігнал / шум, ці не размяшчаць на ўсіх.

Каб убачыць, як гэта зрабіць, давайце разгледзім кантэкст, у якім гэта робіцца. Якія прыкметы непрадуктыўны нітка?

  • Аргументы, якія былі зробленыя ўжо пачала паўтараецца, як быццам плакат думае ніхто не чуў іх упершыню.

  • Павелічэнне ўзроўню парабалы і ўдзел у якасці стаўкі становяцца ўсё менш і менш.

  • Большасць заўваг, якія паступілі ад абанентаў, хто нічога ці амаль нічога, а людзі, якія імкнуцца дабіцца сваёй мэты маўчаць.

  • Многія ідэі, якія абмяркоўваліся без дакладных прапаноў калі-небудзь зрабіў. (Вядома, любая цікавая ідэя пачынаецца як недакладныя бачання;. Важны пытанне, у якім кірунку яна ідзе адтуль ці паток, як уяўляецца, ператварэнне ідэі ў нешта больш пэўнае, ці гэта спінінг з у суб-бачання, бакі -бачання, і анталагічна спрэчак?)

Проста таму, што паток не з'яўляецца прадуктыўным спачатку не азначае, што гэта пустая трата часу. Гэта можа быць аб важнай тэме, і ў гэтым выпадку факт, што гэта не робіць ніякага прагрэсу з'яўляецца ўсё больш клапотна.

Кіруючыя паток у бок карыснасці, не будучы напорысты гэта мастацтва. Ён не будзе працаваць, каб проста пераконваць людзей, каб спыніць марнаваць свой час, або папрасіць іх не публікаваць, калі яны нешта канструктыўнае сказаць. Вы можаце, вядома, думаю, што гэтыя рэчы ў прыватным парадку, але калі вы кажаце ўслых, то вам будзе наступ. Замест гэтага, вы павінны прапанаваць ўмовы для далейшага прагрэсу, даць людзям маршруту, шлях следавання, што прыводзіць да вынікі, якія вы хочаце, але без гучаць як вы дыктаваць паводзіны. Адрозненне ў асноўным адна з тоны. Напрыклад, гэта дрэнна:

Гэтая дыскусія вядзе ў нікуды. Ці можам мы калі ласка напішыце гэтую тэму, пакуль хто-то патч да рэалізацыі аднаго з гэтых прапаноў? Там няма прычын, каб працягваць ісці па крузе кажуць адно і тое ж. Кодэкс кажа гучней, чым словы, людзі.

У той час як гэта добра:

Некалькі прапаноў было выказана на гэтую тэму, але ніхто не меў усе дэталі канкрэтызаваны, па меншай меры, дастаткова для да-ці ўніз галасавання. Але мы таксама не кажу нічога новага цяпер, мы проста паўтарыўшы тое, што было сказана раней. Так лепш за ўсё ў гэты момант, верагодна, будзе для далейшых паведамленняў, каб утрымліваць альбо поўная спецыфікацыя для прапанаванага паводзінаў, або патч. Тады па крайняй меры мы б пэўныя меры трэба прыняць (гэта значыць, атрымаць кансенсус па спецыфікацыі, або ўжываць і выпрабаванні ў архіве).

Кантрастнасць Другі падыход з першым. Другі спосаб не маляваць лініі паміж вамі і іншымі, або абвінаваціць іх прыняцця абмеркавання ў спіраль. У ім гаворыцца пра "мы", што вельмі важна Ці вы на самой справе ўдзельнічаў у струмені да гэтага часу, таму што яна нагадвае ўсім, што нават тыя, хто маўчаў да гэтага часу па-ранейшаму зацікаўлены ў выніках патоку. Ён апісвае, чаму паток ідзе ў нікуды, але робіць гэта без pejoratives або меркаванні-ён проста абыякава дзяржаў некаторыя факты. Самае галоўнае, ён прапануе станоўчы вобраз дзеянняў, так што замест таго, што людзі адчуваюць, як абмеркаванне зачыняцца (абмежаванні ў дачыненні да якіх яны могуць быць толькі спакуса Rebel), яны будуць адчуваць сябе, як быццам яны прапануюць спосаб прыняць размова на больш канструктыўны ўзровень. Гэта стандартныя людзі, натуральна, жадаюць сустрэцца.

Вы не заўсёды хочуць нітку зрабіць гэта на наступны ўзровень канструктыўнасці, часам вы хочаце, каб проста сысці. Мэта вашага посту, то гэта, каб зрабіць яго выканаць адно ці іншае. Калі вы можаце сказаць па тым, як паток зайшло так далёка, што ніхто на самай справе адбываецца, каб зрабіць крокі, вы прапанавалі, то ваш пост эфектыўна закрывае паток, не прадстаўляючыся, зрабіць гэта. Вядома, няма ніякай бяспечны спосаб закрыць тэму, і нават калі там былі, вы не жадаеце яго выкарыстоўваць. Але просім удзельнікаў альбо дамагчыся прыкметнага прагрэсу або спыніць размяшчэнне цалкам апраўданым, калі ўсё зроблена дыпламатычна. Будзьце асцярожныя з адменай тэмы заўчасна, аднак. Некаторая колькасць спекулятыўных балбатня можа быць прадуктыўным, у залежнасці ад тэмы, і прасіць, каб ён быў вырашаны вельмі хутка будзе душыць творчы працэс, а таксама прымусіць вас выглядаць нэрвовымі.

Не чакайце, што любы паток спыняцца на капейкі. Там будзе, верагодна, яшчэ будзе некалькі паведамленняў пасля тваё, альбо таму, што атрымаў лісты перайшлі ў трубу, ці таму, што людзі хочуць мець апошняе слова. Гэта не аб чым турбавацца, і вам не трэба, каб паведамленне яшчэ раз. Проста дайце з патоку Пятра, ці не скончацца, а ў залежнасці ад абставін. Вы не можаце мець поўны кантроль, з другога боку, вы можаце разлічваць на статыстычна значны эфект на многія тэмы.

Мяккі тэма, тым больш Дэбаты

Хоць абмеркаванне можа меандры ў любой тэме, верагоднасць звілістыя падымаецца, як тэхнічныя цяжкасці тэме ідзе ўніз. У рэшце рэшт, вялікую тэхнічную складанасць, тым менш удзельнікаў сапраўды можа вынікаць, што адбываецца. Тыя, хто можа, верагодна, будуць найбольш вопытных распрацоўшчыкаў, якія ўжо прымалі ўдзел у такіх абмеркаваннях тысячы разоў да гэтага, і ведаю, што такое паводзіны можа прывесці да кансенсусу кожны можа жыць.

Такім чынам, кансенсус цяжэй дасягнуць у тэхнічных пытаннях, якія з'яўляюцца простымі для разумення і лёгка мець меркаванне о, а ў "мяккай" такія тэмы, як арганізацыя, рэклама, фінансаванне і г.д. Людзі могуць удзельнічаць у гэтых аргументаў назаўжды, паколькі Ёсць не кваліфікацыяй, неабходнай для гэтага, няма дакладнага спосабу вырашыць (нават пасля гэтага), калі рашэнне было правільным ці няправільным, і таму проста outwaiting іншыя ўдзельнікі дыскусіі часам паспяховай тактыкай.

Прынцып, згодна з якім колькасць абмеркавання зваротна прапарцыйная складанасці тэма была вакол на працягу доўгага часу, і неафіцыйна называюць Bikeshed эфект. Вось тлумачэнне Poul-Henning Kamp аб ім, ад цяпер знакамітае паведамленне апублікавана на BSD распрацоўнікаў:

Гэта доўгая гісторыя, ці, хутчэй, гэта старая гісторыя, але насамрэч яна кароткая. С. Норткот Паркінсан піша кнігу ў пачатку 1960'ies, званы "Закон Паркінсана", якая ўтрымлівае шмат цікавых поглядаў на працэс кіравання.

[...]

У пэўным прыкладзе веласіпедны навес, іншых жыццёва важных кампанент атамнай сілавы устаноўкай, я думаю, што гэта ілюструе старажытнасць кнігі.

Паркінсан паказвае, як вы можаце пайсці ў сістэму, каб савет дырэктараў і атрымаць дабро на будаўніцтва шматмільённай ці нават шматмільярднай атамнай электрастанцыі, але калі вы хочаце пабудаваць навес для ровара, вам будзе заблытацца ў бясконцых абмеркаваннях.

Паркінсан тлумачыць гэта тым, што атамная станцыя настолькі вялікі, дарагі і складаны, што людзі не могуць зразумець яго, каб паспрабаваць гэта зрабіць, яны належаць на здагадцы, што хто-то ўжо праверыў усе дэталі, перш чым гэта зайшло так далёка. Рычард П. Фейнмана дае некалькі цікавых і вельмі павучальных прыкладаў, звязаных ў Лос-Аламосе ў сваіх кнігах.

Веласіпедны навес з другога боку. Любы можа пабудаваць адзін з тых, каму за выходныя, і яшчэ ёсць час, каб паглядзець гульню па тэлевізары. Таму незалежна ад таго, наколькі добра падрыхтаваныя, незалежна ад таго, як разумна вы з вашым прапановай, хто-небудзь скарыстаецца шанцам паказаць, што ён робіць сваю працу, што ён звяртае ўвагу, што ён тут.

У Даніі мы называем гэта "адбітак свайго пальца". Гэта датычыцца асабістай гонару і прэстыжу, гаворка ідзе аб магчымасці куды-то і сказаць: "Там! Я зрабіў гэта." Гэта моцна выяўленае ў палітыках, але прысутнічае ў многіх людзях, якія атрымліваюць шанец. Проста успомніце пра адбіткі ног ў вільготным цэменце.

(Поўны тэкст яго пасаду вельмі шмат варта чытаць, таксама бачу. Дадатак C, чаму я павінен турбавацца аб колеры Bikeshed ці што? ; гл. таксама http://bikeshed.com .)

Любы, хто калі-небудзь рэгулярнай часткі ў групе прыняцця рашэнняў будзе прызнаць, што Камп кажа. Аднак, як правіла, немагчыма, каб пераканаць усё, каб пазбегнуць карціна bikesheds. Лепшае, што вы можаце зрабіць, гэта паказаць, што з'ява існуе, калі вы бачыце, гэта адбываецца, і пераканаць старэйшых распрацоўшчыкаў, людзей, чые паведамленні несці большую вагу, адмовіцца ад сваіх пэндзля рана, так па крайняй меры яны не спрыялі шум. Bikeshed боку карціна ніколі не знікне поўнасцю, але вы можаце зрабіць іх карацей і радзей шляхам распаўсюджвання дасведчанасці аб з'яве ў культуры праекта.

Пазбягайце Holy Wars

Свяшчэнная вайна з'яўляецца спрэчка, часта, але не заўсёды за адносна невялікую праблему, якая не адрозныя па сутнасці аргументы, але дзе людзі адчуваюць сябе гарачай дастаткова, каб працягваць спрачацца ў любым выпадку ў надзеі, што іх бок будзе пераважаць. Святой войнаў не зусім так жа, як bikeshed карціны. bikesheds Людзі карціну, як правіла, хутка скакаць у з меркаваннем (таму што яны могуць), але яны не абавязкова будуць адчуваць моцна пра гэта, і сапраўды часам выказваюць іншыя, несумяшчальныя думкі, каб паказаць, што яны разумеюць ўсе бакі пытання. У свяшчэннай вайне, з другога боку, разуменне іншых бакоў з'яўляецца прыкметай слабасці. У свяшчэннай вайне, кожны ведае, што ёсць адзін правільны адказ, яны проста не згодныя на тое, што гэта такое.

Як толькі свяшчэнная вайна пачалася, ён наогул не можа быць вырашана да ўсеагульнага задавальнення. Гэта не добра б адзначыць, у разгар святую вайну, што свяшчэнная вайна працягваецца. Усім вядома, што ўжо. На жаль, агульнай рысай свяшчэнных войнаў рознагалоссі на самай пытанне аб спрэчцы адрозная шляхам працягу абмеркавання. Праглядаў звонку, то ясна, што ні адна з бакоў змяняецца аднаго розуму. Калі глядзець знутры, з другога боку ў цяперашні час тупыя і не ясна мысліць, але яны могуць прыйсці, калі вакол browbeaten дастаткова. Зараз, я не кажу, што ніколі не правага боку ў свяшчэннай вайне. Часам ёсць у свяшчэнных войнах я ўдзельнічаў, гэта заўсёды было маёй боку, вядома. Але гэта не мае значэння, таму што няма ніякай алгарытм пераканаўча дэманструе, што адна бок або іншыя правы.

Агульнай, але нездавальняюча, як людзі спрабуюць вырашыць свяшчэнных войнаў ёсць "Мы ўжо выдаткавалі значна больш часу і энергіі абмеркаванні гэтага чым яно таго варта! Ці можам мы, калі ласка, проста змясціце яго?" Ёсць дзве праблемы з гэтым. Па-першае, часу і энергіі ўжо правялі і ніколі не могуць быць адноўлены-адзінае пытанне зараз у тым, наколькі больш намаганняў застаецца? Калі некаторыя людзі лічаць, што яшчэ ледзь-ледзь абмеркаванне прынясе пытанне да канца, то яна ўсё яшчэ мае сэнс (з іх пункту гледжання), каб працягнуць.

Іншая праблема з просьбай пытанне, які зваліўся ў тым, што часцяком гэта эквівалентна ўліку аднаго боку, статус-кво, каб абвясціць аб сваёй перамозе на бяздзейнасць. А ў некаторых выпадках, статус-кво, як вядома, непрымальная ў любым выпадку: усе згодныя з тым, што нейкае рашэнне павінна быць зроблена, некаторыя меры. Выдаленне пытанне будзе горш для ўсіх, чым проста адмова ад аргумент быў бы для ўсіх. Але так як гэтую дылему ставіцца да ўсіх аднолькава, гэта ўсё яшчэ магчыма ў канчатковым выніку вечна спрачаюцца аб тым, што рабіць.

Так як жа вы спраўляецеся свяшчэнных войнаў?

Першы адказ, паспрабуйце ўсталяваць рэчы, каб яны не адбудзецца. Гэта не так безнадзейна, як здаецца:

Вы можаце прадбачыць некаторыя стандартныя свяшчэнных войнаў: яны, як правіла, каб прыдумаць больш моў праграмавання, ліцэнзій (гл. раздзел "GPL і ліцэнзіі сумяшчальнасці" у чале 9, ліцэнзіі, аўтарскія правы і патэнты ), для адказу munging (гл. раздзел называюць "Вялікай Адказ на дэбаты" ў раздзеле 3, тэхнічная інфраструктура ), і некалькі іншых тэм. Кожны праект звычайна мае святую вайну ці два усе свае ўласныя, а таксама, што даўні распрацоўнікам хутка азнаёміцца ??з. Метады прыпынку свяшчэнных войнаў, ці, па меншай меры абмяжоўвае іх пашкоджання, у значнай ступені аднолькавыя ўсюды. Нават калі вы ўпэўнены, бок права, спрабуюць знайсці спосаб, каб выказаць спачуванне і разуменне пункту іншая бок рашэнняў. Часта праблема ў свяшчэннай вайне, што, паколькі кожны бок мае убудаваную яго сцены як мага вышэй, і даў зразумець, што любое іншае меркаванне чыстай дурасці, акт здачы або змены розум становіцца псіхалагічна невыносна: гэта было б прызнанне не толькі памыліцца, але што яны былі вызначаныя і яшчэ не так. Тое, як вы можаце зрабіць гэта прызнанне прымальным для другога боку, каб выказаць некаторую нявызначанасць сабе-сапраўды, паказаўшы, што вы разумееце Аргументы, якія яны робяць, і знайсці іх па крайняй меры разумным, калі не канчаткова пераканаўчымі. Зрабіць жэст, які забяспечвае прастора для ўзаемнага жэст, і, як правіла сітуацыя палепшыцца. Вы не больш і не менш верагодна, каб атрымаць тэхнічны вынік вы хацелі, але па меншай меры, вы можаце пазбегнуць непатрэбнага ўрону залогу для маральнага праекта.

Калі святой вайны не пазбегнуць, загадзя вырашыць, колькі вы турбуецеся, а затым быць гатовыя публічна адмовіцца. Калі вы зробіце гэта, можна сказаць, што вы рэзервовае з-за свяшчэннай вайны не варта, але не выказваюць горыч і не скарыстацца гэтай магчымасцю для апошняга стрэлу развітанне на процілеглым баку аргументы. Адмова ад эфектыўная толькі тады, калі зроблена хупава.

Мова праграмавання святой вайны трохі асаблівы выпадак, таму што яны часта асабліва тэхнічны, але многія людзі адчуваюць сябе кваліфікаваным, каб прыняць у іх удзел, і стаўкі вельмі высокія, так як вынік можа вызначыць, якая мова значную частку праекта код напісаны цалі лепшым рашэннем будзе выбраць мову рана, з бай-іншым ад уплывовых пачатковай распрацоўнікаў, а затым абараніць яго на той падставе, што гэта тое, што вы ўсё зручна пісаць у, а не на тым падставе, што гэта лепш, чым некаторыя іншай мове, які можна было б выкарыстоўваць замест. Ніколі не дазваляйце размова выраджаецца ў акадэмічныя параўнанне моў праграмавання (гэта, здаецца, адбываюцца асабліва часта, калі хто-то падымае Perl, па некаторых прычынах), вось і смерць тэму, што вы павінны проста адмаўляюцца быць ўцягнутымі ст.

Дадатковыя гістарычная даведка аб свяшчэнных войнах, гл http://catb.org/ ~ ЭПР / жаргону / HTML / H / Свята-wars.html , і праца Дэні Коэн, які папулярызаваў тэрмін, http://www.ietf .org/rfc/ien/ien137.txt .

"Шумная меншасцяў" Уплыў

У любым абмеркаванні спісу рассылання, гэта проста для малаважнага меншасці, каб стварыць уражанне, што існуе шмат іншадумства, паводкі спіс шматлікіх працяглых лістоў. Гэта крыху падобна на пірата, акрамя таго, што ілюзія шырокае нязгоду яшчэ больш магутным, таму што ён падзелены па адвольных лікам дыскрэтных паведамленняў, і большасць людзей не будзе турбаваць, каб адсочваць, хто сказаў, што, калі. Яны проста ёсць інстыктыўнае адчуванне, што тэма вельмі спрэчная, і чакаць мітусні сціхаць.

Лепшы спосаб пазбегнуць гэтага эфекту, каб паказаць на гэта вельмі выразна і забяспечыць падтрымку доказы таго, наколькі малы фактычная колькасць нязгодных, у параўнанні тым, у пагадненні. У мэтах павелічэння няроўнасьці, вы можаце прыватнай апытанне людзей, якія былі ў асноўным маўчаў, але хто вы падазрае, што згодзен з большасцю. Нічога не кажы, што мяркуе іншадумцаў былі наўмысна спрабуе раздуць ўражанне, што яны рабілі. Хутчэй за ўсё, яны не былі, і нават калі б яны былі, не было б стратэгічнае перавага паказваючы яго. Усё, што вам трэба зрабіць, гэта паказаць рэальныя лічбы ў параўнанні бок аб бок, і людзі зразумеюць, што іх інтуіцыя сітуацыя не адпавядае рэчаіснасці.

Гэты савет ставіцца не толькі да пытанняў, з ясна-і-супраць пазіцыі. Гэта адносіцца да любой дыскусіі, дзе мітусня робіцца, але гэта не зразумела, што большасць людзей лічаць гэтае пытанне ў рамках абмеркавання, якое будзе рэальная праблема. Праз некаторы час, калі вы згодныя, што пытанне не стаіць дзеянняў, і відаць, што ёй не ўдалося атрымаць шмат цягі (нават калі гэта спарадзіла шмат лістоў), вы можаце проста назіраць публічна, што ён не атрымлівае цягі. Калі "Шумны меншасцяў" эфект быў на працы, ваш пост будзе выглядаць, як глыток свежага паветра. Большасць людзей ўражанне ад абмеркавання да гэтага моманту будзе былі некалькі цёмных: "Ха, ён упэўнены, адчувае, што ёсць некаторы вялікая справа тут, таму што ўпэўнены, шмат паведамленняў, але я не бачу відавочны прагрэс адбываецца." , Тлумачачы, як форма абмеркаваньня стала здавацца больш турбулентным, чым яна на самай справе, вы рэтраспектыўна надаць яму новую форму, з дапамогай якога людзі могуць выказаць сваё разуменне таго, што адбылося.

Цяжкія людзі

Цяжкія людзі не лягчэй мець справу з электронным форумах, чым у твар. Да "цяжкім" Я не маю на ўвазе "грубы". Rude людзей раздражняе, але яны не абавязкова цяжка. Гэтая кніга ўжо абмяркоўвалі, як справіцца з імі: каментар на грубасць ў першы раз, і з тых часоў, як іх ігнараваць ці ставіцца да іх так жа, як ніхто іншы. Калі яны прадоўжаць грубіяніць, яны, як правіла, даюць аб сабе настолькі непапулярным, каб мець ніякага ўплыву на іншыя ў праекце, таму яны самастойна змяшчаюць праблемы.

Сапраўды цяжкіх выпадках людзі, якія адкрыта не груба, але, хто маніпулюе або злоўжывання праекта працэсы такім чынам, што ў канчатковым выніку кошт іншы час і энергію людзей, пакуль не прыносяць ніякай карысці для праекту [ 22 ].

Часта такія людзі шукаюць wedgepoints ў працэдурах праекта, каб даць сабе больш ўплыву, чым яны маглі б мець. Гэта значна больш падступным, чым проста грубасць, таму што ні паводзінамі, ні пашкодзіць яго прычын з'яўляецца відавочным для выпадковага назіральніка. Класічным прыкладам з'яўляецца пірата, у якім хто-то (заўсёды гучанне, як разумныя магчымасці, вядома) працягвае сцвярджаць, што абмяркоўваецца пытанне не гатовы да рэзалюцыі, і прапануе ўсе больш і больш магчымых рашэнняў, або новыя погляды на старыя рашэння, калі Што адбываецца на самой справе з'яўляецца тое, што ён адчувае, што кансенсусу або галасаванне аб да формы і яму не падабаецца, дзе ён узначальвае. Іншы прыклад, калі ёсць дыскусія, якая не будзе сыходзіцца на кансэнсусе, але група спрабуе па крайняй меры, растлумачыць рознагалоссяў і падрыхтаваць рэзюмэ для ўсіх, каб звярнуцца да з тых часоў. Абструкцыянісцкіх, хто ведае, рэзюмэ можа прывесці да выніку, ён не любіць, будзе часта спрабуюць затрымаць нават Такім чынам,, няўхільна ўскладняе пытанне аб тым, што павінна быць у ім, альбо пярэчыць супраць разумныя прапановы, або шляхам увядзення новых нечаканых пунктаў.

Апрацоўка цяжкімі людзьмі

Каб пазбегнуць такога паводзінаў, яна дапамагае зразумець менталітэт тых, хто ўдзельнічае ў ім. Людзі звычайна не робяць гэта свядома. Ніхто не прачынаецца раніцай і кажа сабе: ". Сёння я збіраюся цынічна маніпуляваць працэсуальных формах, з тым каб быць раздражняльным абструкцыянісцкіх" Замест гэтага, такія дзеянні часта папярэднічае паў-паранаідальнае пачуцці былі зачыненыя з групы ўзаемадзеяння і рашэнні. Чалавек адчувае, што ён не прымаюць сур'ёзна, або (у больш цяжкіх выпадках), што амаль змова супраць яго, што іншыя ўдзельнікі праекта вырашылі форма эксклюзіўнага клуба, з якіх ён не складаецца. Гэта апраўдвае тое, на яго думку, прымаючы правілы літаральна і ўдзел у фармальных маніпуляцый праекта працэдур, з тым, каб усе астатнія прымаюць яго сур'езна. У крайнім выпадку, чалавек можа нават лічаць, што ён змагаецца самотна бітве за выратаванне праекта ад самога сябе.

Гэта характар ??такога нападу знутры, што не кожны заўважыць гэта ў той жа час, і некаторыя людзі не могуць убачыць яго на ўсіх, калі прадстаўленыя вельмі важкія доказы. Гэта азначае, што нейтралізуюць гэта можа быць даволі шмат працы. Гэта не дастаткова, каб пераканаць сябе, што гэта адбываецца, вы павінны маршала дастаткова доказаў, каб пераканаць іншых таксама, і тады вы павінны распаўсюджваць, што доказы ў ўдумлівы шлях.

Улічваючы, што гэта так шмат працы па барацьбе, часта лепш проста трываць яго на некаторы час. Думайце пра гэта як паразітычны, але лёгкае захворванне: калі гэта не занадта знясільваючай, праект можа дазволіць сабе заставацца інфіцыраванымі, і медыцына можа мець шкодныя пабочныя эфекты. Аднак, калі ён становіцца занадта пашкоджанні трываць, то надышоў час для дзеянняў. Пачатак адзначае збору на мадэлі, якія вы бачыце. Пераканайцеся ў тым, каб уключыць спасылкі на дзяржаўных архіваў-гэта адна з прычын, праект вядзе ўлік, так што вы можаце таксама выкарыстоўваць іх. Як толькі вы атрымалі добры выпадак пабудаваны, пачаць з прыватных гутарках з іншымі ўдзельнікамі праекта. Не кажаце ім, што вы назіралі, замест гэтага, па-першае спытаць іх, што яны назіралі. Гэта можа быць ваш апошні шанец, каб атрымаць зваротную сувязь нефільтраванае аб тым, як іншыя бачаць паводзіны парушальніка спакою ў, як толькі вы пачнеце адкрыта казаць пра гэта, меркаванне будзе палярызаванае, і ніхто не зможа ўспомніць, што ён раней думаў з гэтай нагоды.

Калі прыватныя абмеркавання паказваюць, што па крайняй меры некаторыя іншыя бачаць праблемы занадта, то прыйшоў час зрабіць што-то. Вось калі ў вас ёсць, каб атрымаць сапраўды асцярожныя, таму што гэта вельмі лёгка для такога роду чалавек, каб паспрабаваць зрабіць выгляд, як быццам Вы выбіраеце на іх несправядліва. Усё, што вы робіце, не абвінавачваюць іх у злоўжыванні злым працэдур праекта, быць параноікам, або, у агульным, любы з іншых рэчаў, якія вы падазрае, што, верагодна, так. Ваша стратэгія павінна быць выглядаць як больш разумным і больш заклапочаныя агульнае дабрабыт праекта, з мэтай або рэфармавання паводзін чалавека, або прымусіць іх з'ехаць назаўсёды. У залежнасці ад іншых распрацоўшчыкаў, і вашыя адносіны з імі, гэта можа быць выгадна, каб сабраць саюзнікаў прыватная першую чаргу. Ці ён не можа, то можа проста стварыць дрэнна будзе за кулісамі, калі людзі думаюць, што ты ўдзел у кампаніі неналежнае шэпт.

Памятайце, што, хоць іншы чалавек можа быць адзін паводзіны разбуральна, вам будзе той, хто здаецца разбуральным, калі вы зробіце публічнага абвінавачвання, што вы не можаце стварыць рэзервовую копію. Пераканайцеся, што ёсць шмат прыкладаў, каб прадэманстраваць, што вы кажаце, і сказаць гэта як мага мякчэй яшчэ будучы прамым. Вы не можаце пераканаць чалавека ў пытанне, але гэта нармальна да тых часоў, як вы пераканаць усіх астатніх.

Прыклад

Я памятаю толькі адну сітуацыю, у больш чым 10 гадоў працы ў свабоднае праграмнае забеспячэнне, дзе ўсё стала настолькі дрэнна, што нам сапраўды прыйшлося папрасіць каго-небудзь, каб спыніць размяшчэнне ў цэлым. Як гэта часта бывае, ён не быў грубы, і шчыра хацеў толькі, каб быць карысным. Ён проста не ведаў, калі да паведамлення, а калі няма посту. Нашы спісы былі адкрытымі для грамадскасці, і ён быў праводкі так часта, і задаюць пытанні, на вельмі многіх розных тым, што становіцца ўсё будзе праблемай шуму для супольнасці. Мы ўжо спрабавалі прасіць яго добра рабіць крыху больш даследаванняў для адказаў перад публікацыяй, але гэта не ўплывае.

Стратэгіі, якая, нарэшце, працаваў з'яўляецца выдатным прыкладам таго, як пабудаваць моцную выпадку на нейтральнай, колькасныя дадзеныя. Адзін з нашых распрацоўшчыкаў зрабіў некаторыя раскопкі ў архівах, а затым паслаў наступнае паведамленне ў прыватным парадку некалькі распрацоўнікаў. Правапарушальніка (трэцяе імя ў спісе ніжэй, паказаны тут як "J. Random") было вельмі мала гісторыі з праектам, і ўнеслі свой уклад не код або дакументацыю. Тым не менш ён быў трэцім найбольш актыўных плакат на спісы рассылання:

Ад: "Браян У. Фітцпатрык" <fitz@collab.net>
Каму: [... спіс атрымальнікаў апушчаны на ананімнасць ...]
Тэма: Ракавіна Subversion энергіі
Дата: Wed, 12 Лістапада 2003 23:37:47 -0600

У апошнія 25 дзён, 6 найбольш плакатаў [Dev | карыстачы] SVN спісе ёсць
былі:

    294 kfogel@collab.net
    236 "С. Майкл Pilato" <cmpilato@collab.net>
    220 "J. Random" <jrandom@problematic-poster.com>
    176 Бранка Cibej <brane@xbc.nu>
    130 Філіп Марцін <philip@codematters.co.uk>
    126 Бэн <sussman@collab.net> Колінз-Сассман

Я б сказаў, што пяць з гэтых людзей прымаюць удзел у Subversion
1,0 ўдару ў найбліжэйшай будучыні.

Я хацеў бы таксама сказаць, што адзін з гэтых людзей пастаянна малюнак часу
і энергіі з іншых 5, не кажучы ўжо спіс у цэлым, такім чынам,
(Хоць і ненаўмысна) запаволенне развіцця Subversion. Я
не рабіць рэзьбавыя аналізу, але vgrepping мой паштовую скрыню Subversion кажа
мне, што кожны пошту ад гэтага чалавека адказалі, па меншай меры адзін раз у
меры 2 з іншых 5 чалавек з прыведзенага вышэй спісу.

Я думаю, што нейкае радыкальнае ўмяшаньне тут неабходна, нават калі мы
зрабіць напалохаць вышэйпаказаных асоб ад гатэля. Тонкасці і дабрыні ёсць
ўжо даказана, не ўплывае.

Subversion Dev @ з'яўляецца спіс рассылкі, каб спрыяць развіццю версія
сістэмы кіравання, а не сесіі групавой тэрапіі.

-Фиц, спрабуючы прабрацца праз тры дні SVN пошты, што ён дазволіў
 назапашваць

Хоць гэта можа здацца не гэтак на першы, змяняецца паводзіны J. Random быў класічны выпадак злоўжывання праекта працэдур. Ён не робіць нешта відавочнае, як спрабуюць пірата галасаванне, але ён быў скарыстаўшыся палітыкі рассылкі спадзявацца на сябе мадэрацыя яе членамі. Мы пакінулі яго на рашэнне кожнага чалавека, калі на пасаду і на якія тэмы. Такім чынам, у нас не было працэдурных звароту для працы з тымі, хто альбо не маюць, ці не будзе выконваць, такога судовага рашэння. Быў не правіла можна было б паказаць і сказаць чалавек парушае яго, але ўсе ведалі, што яго частае прызначэнне было дабіраецца, каб быць сур'ёзнай праблемай.

Стратэгія Фиц быў, у рэтраспектыве, па-майстэрску. Ён сабраў забойны колькасных даных, а затым распаўсюджваюць яе незаўважна, і адправіць яго першым некалькіх людзей, чыя падтрымка будзе ключавым у якіх-небудзь рэзкіх дзеянняў. Яны пагадзіліся, што якое-небудзь дзеянне было неабходна, і ў рэшце рэшт мы называлі J. Random па тэлефоне, апісаныя праблемы з ім непасрэдна, і папрасіў яго, каб проста спыніць рэгістрацыю. Ён ніколі не разумеў прычын, чаму, калі ён быў у стане зразумець, ён бы, напэўна, ажыццяўляюць адпаведныя рашэнні, у першую чаргу. Але ён пагадзіўся, каб спыніць праводкі, і спісы рассылання стала карыснай зноў. Адной з прычын гэтага стратэгія працавала, мабыць, ўтоеную пагрозу, што мы маглі б пачаць абмяжоўваць яго паведамленні па ўмерана праграмнага забеспячэння звычайна выкарыстоўваецца для прадухілення спаму (гл. раздзел пад назвай "абарона ад спаму" ў раздзеле 3, тэхнічная інфраструктура ). Але па гэтай прычыне мы былі ў стане мець такую ??магчымасць у рэзерве, што Фиц сабраў неабходную падтрымку з боку ключавых людзей у першую чаргу.

Апрацоўка росту

Кошт поспеху цяжка ў свеце адкрытага зыходнага кода. Як ваша праграмнае забеспячэнне становіцца ўсё больш папулярным, лік людзей, якія з'яўляюцца шукае інфармацыю рэзка ўзрастае, а колькасць людзей, якія могуць даць інфармацыю павялічваецца значна павольней. Акрамя таго, нават калі адносіны былі збалансаваны, па-ранейшаму асноўнай праблемай маштабаванасці з тым, як большасць праектаў з адкрытым кодам ручкі сувязі. Разгледзім спісы рассылання, напрыклад. Большасць праектаў рассылкі па агульных пытаннях карыстальнікам часам называюць спіс з'яўляецца "карыстальнікі", "абмеркаваць", "Дапамога", ці нешта іншае. Незалежна ад назвы, мэта спісу заўсёды ж: забяспечыць месца, дзе людзі могуць атрымаць адказы на свае пытанні, а іншыя гадзіны і (магчыма) "паглынаць веды ад выканання гэтых абменаў.

Гэтыя спісы рассылання вельмі добра працуюць да некалькіх тысяч карыстальнікаў і / або пару сотняў паведамленняў у дзень. Але дзе-то пасля гэтага, сістэма пачынае руйнавацца, таму што кожны абанент бачыць кожны пост, калі лік пасад у спіс пачынае перавышаць тое, што любы асобны чытач можа апрацоўваць у дзень, спіс становіцца цяжарам для яе членаў. Уявіце сабе, напрыклад, калі Microsoft быў такі спіс рассылкі для Windows XP. Windows XP мае сотні мільёнаў карыстальнікаў, а калі нават адна дзясятая частка аднаго адсотка з іх былі пытанні далі дваццаць чатыры гадзіны, то гэты гіпатэтычны спіс будзе атрымаць сотні тысяч паведамленняў у дзень! Такі спіс не можа існаваць, вядома, таму што ніхто не застанецца падпісаліся на гэта. Гэтая праблема не абмяжоўваецца спісы рассылання; ж логіка дастасоўная і да IRC-каналы, анлайнавых дыскусійных форумах, сапраўды для любой сістэмы, у якой група разглядае пытанні ад прыватных асоб. Наступствы злавеснае: звычайныя мадэлі адкрытага зыходнага кода масіўна паралельнай падтрымкі проста не маштабуецца да ўзроўню, неабходнага для сусветнага панавання.

Там не будзе выбух, калі форумах дасягнуць мяжы. Існуе толькі ціхі негатыўны эфект зваротнай сувязі: людзі адмовіцца ад спісаў, або пакінуць канал IRC, або па крайняй меры спыніць турбуе задаваць пытанні, таму што яны могуць бачыць, што яны не будуць пачутыя ва ўсіх шуму. Паколькі ўсё больш і больш людзей робяць гэта вельмі рацыянальны выбар, дзейнасць форуму будзе здавацца заставацца на прымальным узроўні. Але спыніцца кіраваным менавіта таму, што рацыянальнае (або па крайняй меры дасведчаныя) людзі пачалі шукаць у іншым месцы для інфармацыі ў той час як нявопытныя людзі застацца і далей адпраўляць паведамленні. Іншымі словамі, адзін пабочны эфект працягваюць выкарыстоўваць немасштабируемый мадэлі камунікацыі як праект расце, што сярэдняя якасць пытанняў і адказаў мае тэндэнцыю да зніжэння, што робіць яго падобным на новых карыстальнікаў яшчэ тупей, чым яны калі-то, калі ў то яны, верагодна, няма. Гэта толькі, што суадносіны выгод і выдаткаў, дасягнутага ужываннем тых высокай колькасцю насельніцтва форумах ідзе ўніз, таму, натуральна тых, з вопытам, зрабіць гэта пачаць шукаць у іншым месцы за адказы. Настройка сувязі механізмы, каб справіцца з праектам росту таму ўключае два узаемазвязаных стратэгій:

  1. Прызнаючы, калі асобныя часткі форуму не пакутуюць неабмежаванага росту, нават калі форуму ў цэлым, і падзяляючы тыя часткі прэч у новых, больш спецыялізаваных форумах (напрыклад, не дазваляйце добрай быць запаволены дрэнна).

  2. Пераканаўшыся Ёсць шмат аўтаматызаваных крыніц інфармацыі, і што яны захоўваюцца арганізаванай, да сучасных, і лёгка знайсці.

Стратэгія (1), як правіла, не занадта цяжка. Большасць праектаў пачынаюцца з адной галоўнай форуму: агульны спіс рассылкі абмеркаванне, на якім функцыя ідэі, дызайн пытанні і задачы кадавання могуць быць хэшированного. Кожны ўдзел у праекце прысутнічае ў спісе. Праз некаторы час, як правіла, становіцца ясна, што спіс ператварылася ў некалькі розных тэму аснове подсписков. Напрыклад, некаторыя тэмы відавочна аб развіцці і дызайн, іншыя пытанні карыстальнікаў аб "? Як мне гэта зрабіць X" разнастайнасцю, можа быць, ёсць трэцяя сям'я тэмы вакол апрацоўкі паведамленні аб памылцы і запыты, і так далей. Дадзенага індывіда, вядома, можа ўдзельнічаць у многіх розных тыпаў патокаў, але галоўнае, што ёсць не шмат агульнага паміж тыпамі сябе. Яны могуць быць падзеленыя на асобныя спісы, не выклікаючы ніякіх шкодных балканизации, таму што тэмы рэдка крыж тэму межаў.

На самай справе рабіць гэта дзяленне двух этапаў. Вы ствараеце новы спіс (або IRC-канал, або што-то павінна быць), а затым вы марнуеце столькі часу, колькі неабходна асцярожна ныццё і нагадваць людзям выкарыстоўваць новыя форумы належным чынам. Гэта апошні крок можа працягнуцца на працягу тыдняў, але ў выніку людзі атрымаюць прадстаўленне. Вы проста павінны зрабіць пункту заўсёды кажу адпраўніка, калі паведамленне адпраўляецца на няправільны прызначэння, і зрабіць гэта прыкметна, так што іншым людзям рэкамендуецца, каб дапамагчы з маршрутызацыяй. Гэта таксама карысна мець вэб-старонцы, якая забяспечвае кіраўніцтва для ўсіх спісаў даступныя; Вашы адказы можна проста спасылкі, вэб-старонкі і, як бонус, атрымальнік можа даведацца што-то аб пошуку прынцыпаў, перш чым адпраўляць.

Стратэгія (2) з'яўляецца бесперапынным працэсам, трывалага жыццёвага цыкла праекта і з удзелам шматлікіх удзельнікаў. Вядома, гэта збольшага пытанне, якія маюць да сучаснай дакументацыі (гл. раздзел "Дакументацыя" у чале 2, Прыступаючы да працы ) і пераканаўшыся ў тым, кропкі людзей. Але гэта таксама значна больш, чым, што; наступных раздзелах абмеркаваць гэтую стратэгію ў дэталях.

Прыкметнае выкарыстанне архіваў

Як правіла, усе камунікацыі ў праект з адкрытым кодам (за выключэннем часам IRC гутаркі) архівуюцца. Архівы адкрытыя для ўсіх і для пошуку, і Гэты стабільнасці, то ёсць адзін раз у дадзеным частка інфармацыі запісваецца ў пэўным месцы, ён застаецца па гэтым адрасе назаўжды.

Выкарыстоўвайце гэтыя архівы як мага больш, і, як відаць наколькі гэта магчыма. Нават калі вы ведаеце адказ на якое-небудзь пытанне з верхняй часткі галавы, калі вы думаеце, ёсць згадванне ў архіве, які змяшчае адказ, марнаваць час, каб выкапаць яго і прадставіць яго. Кожны раз, калі вы, што ў публічна бачным чынам, некаторыя людзі вучацца ў першы раз, што архівы ёсць, і што пошук у іх можа даць адказы. Акрамя таго, спасылаючыся на архівы замест перапісвання савет, вы умацаваць сацыяльныя нормы ў дачыненні дубліравання інфармацыі. Чаму ж адказ у двух розных месцах? Калі колькасць месцаў яна можа быць знойдзена зведзена да мінімуму, людзі, якія знайшлі яго да больш верагодна, памятайце, што для пошуку, каб знайсці яго зноў. Добра размешчаныя спасылкі таксама садзейнічаць павышэнню якасці вынікаў пошуку ў цэлым, таму што яны ўмацоўваюць рэйтынг мэтавых рэсурсаў у пошукавых сістэмах Інтэрнэту.

Ёсць моманты, калі дубліравання інфармацыі мае сэнс, аднак. Напрыклад, выкажам здагадку, ёсць адказ ўжо ў архіве, а не ад вас, кажучы:

Падобна на тое, што вашыя Scanley індэксы сталі frobnicated. Для
unfrobnicate іх, выканайце наступныя дзеянні:

1. Выключыце сервер Scanley.
2. Выканаць "defrobnicate" праграму, якая пастаўляецца з Scanley.
3. Запуск сервера.

Затым, некалькі месяцаў праз, вы бачыце іншую пасаду паказвае індэксы, якія хто-то стаў frobnicated. Вы шукалі архівы і прыдумаць стары адказ вышэй, але вы разумееце, што не хапае некаторых крокаў (магчыма, па памылцы, ці, магчыма, так як праграмнае забеспячэнне змянілася з тых пост быў напісаны). Класны спосаб справіцца з гэтым складаецца ў пасаду новы, больш поўны набор інструкцый, і відавочна састарэлыя стары пост, згадаўшы яго:

Падобна на тое, што вашыя Scanley індэксы сталі frobnicated. Мы
бачыў гэтую праблему яшчэ ў ліпені, і J. Random Паведамленні рашэнні ў
http://blahblahblah/blah. Ніжэй прыводзіцца больш поўнае апісанне
Як unfrobnicate вашыя індэксы, заснаваныя на інструкцыях J. Random 'S
але распаўсюджванне іх няшмат:

1. Выключыце сервер Scanley.
2. Стаць карыстальнікам сервера Scanley звычайна працуе як.
3. Як гэтага карыстальніка, запуск праграмы "defrobnicate" на індэксы.
4. Выканаць Scanley ўручную, каб убачыць, калі індэксы працаваць.
5. Перазагрузіце сервер.

(У ідэальным сьвеце можна было б прымацаваць запіску стары пост, кажучы, што ёсць новая інфармацыя і, паказваючы на ??новую пасаду. Аднак, я не ведаю ні аднаго архівавання праграмнае забеспячэнне, якое прапануе "састарэлых "асаблівасць, магчыма, таму што гэта будзе мякка нялёгка рэалізаваць такім чынам, каб не парушаць цэласнасць архіваў як стэнаграфічную справаздачу. Гэта яшчэ адна прычына, чаму стварэння спецыялізаваных вэб-старонак з адказамі на часта задаюць пытанні з'яўляецца добрай ідэяй.)

Архіў, верагодна, часцей за ўсё шукалі адказы на тэхнічныя пытанні, але іх значэнне для праекта выходзіць далёка за рамкі гэтага. Калі афіцыйныя кіруючыя прынцыпы праекта з'яўляюцца яго Канстытуцыйнае права, архівы яго агульнага закона: справаздачу аб усіх прымаемых рашэнняў і як яны прыйшлі. У любым паўтаральных абмеркавання, гэта ў значнай ступені абавязковага ў цяперашні час, каб пачаць з пошуку ў архівах. Гэта дазваляе пачаць абмеркаванне з рэзюмэ цяперашняе становішча рэчаў, прадбачыць пярэчанні, падрыхтаваць аспрэчанняў, і, магчыма, выявіце кутоў вы пра гэта не падумаў. Акрамя таго, іншыя ўдзельнікі чакаюць, што вы зрабілі пошук у архіве. Нават калі папярэднія абмеркавання нікуды не хадзіў, вы павінны ўключаць паказальнікі на іх, калі вы паўторна падняць тэму, каб людзі маглі бачыць для сябе), што яны нікуды не хадзіў, і б) што вы зрабілі сваю хатнюю працу, і таму, верагодна, казаў што-то Зараз, калі яшчэ не было сказана раней.

Ставіцеся да ўсіх рэсурсаў, як архівы

Усе папярэднія парады ставіцца больш, чым проста архівы спісаў рассылання. Маючы пэўныя часткі інфармацыі па стабільным, зручна даступным для пошуку адрасы павінны быць арганізуюць прынцыпам для ўсіх інфармацыі праекта. Давайце праекце Пытанні і адказы, як прыклад.

Як людзі выкарыстоўваюць FAQ?

  1. Яны хочуць, каб шукаць у ім пэўныя словы і фразы.

  2. Яны хочуць, каб праглядзець яго, убіраючы інфармацыю, не абавязкова шукаць адказы на канкрэтныя пытанні.

  3. Яны чакаюць, што пошукавыя сістэмы, такія як Google, каб даведацца пра змест Пытанні і адказы, так што пошукі могуць прывесці да запісу Пытанні і адказы.

  4. Яны хочуць мець магчымасць перадаваць іншым людзям непасрэдна да канкрэтных пунктаў у FAQ.

  5. Яны хочуць, каб мець магчымасць дадаваць новы матэрыял да FAQ, але улічыце, што гэта адбываецца значна радзей, чым адказаў шукаюцца-Часта задаюць пытанні значна часцей, чым чытанне запіс.

Пункт 1 вынікае, што адказы павінны быць даступныя ў нейкім тэкставым фармаце. Пункты 2 і 3 вынікае, што адказы павінны быць даступныя як старонкі HTML, з пунктам 2 дадаткова аб тым, што HTML павінны быць распрацаваны для зручнасці чытання (гэта значыць, вы хочаце, каб некаторыя кантроль за яго знешні выгляд), і павінны мець табліцы змесціва. Пункт 4 азначае, што кожны асобны ўваход у Пытанні і адказы павінны быць прызначаныя HTML імя якара, тэг, які дазваляе людзям дасягнуць пэўнага месца на старонцы. Пункт 5 сродкамі зыходныя файлы Пытанні і адказы павінны быць даступныя ў зручным выглядзе (гл. раздзел пад назвай "Версія усе" ў раздзеле 3, тэхнічная інфраструктура ), у фармаце, зручным для рэдагавання.

Фарматаванне Пытанні і адказы, як гэта толькі адзін прыклад таго, як зрабіць рэсурс прэзентабельна. Тымі ж ўласцівасцямі, прамы магчымасці пошуку, наяўнасць асноўных пошукавых сістэмах, browsability, Гэты стабільнасці, і (калі прыдатнаю) рэдагуемага-прымяняюцца да іншых вэб-старонак, дрэва зыходнага кода, памылка трэкера, і г.д. Гэта проста здараецца, што большасць спісаў рассылання архівавання даўно прызнала важнасць гэтых уласцівасцяў, таму спісы рассылання, як правіла, гэтая функцыянальнасць першапачаткова, у той час як іншыя фарматы можа запатрабаваць дадатковых намаганняў на суправаджальніка у частцы ( Кіраўнік 8, Упраўленне добраахвотнікаў абмяркоўваецца, як чуткі, што ўтрыманне цяжару ў шматлікіх добраахвотнікі).

Кадыфікацыя Традыцыя

Як праект набывае гісторыі і складанасці, колькасць дадзеных кожнага ўваходнага ўдзельнік павінен паглынаць павялічваецца. Тыя, хто быў з праекта доўгі час былі ў стане вучыцца, і вынаходзіць, канвенцый праекта, як яны пайшлі разам. Яны часта не ўсведамляюць таго, што вялікі цела традыцыі назапашаны, і можаце быць здзіўлены, як шмат памылак апошніх пачаткоўцаў, здаецца, робяць. Вядома, пытанне не тое, што пачаткоўцы маюць якое-небудзь нізкай якасці, чым раней, гэта тое, што яны сутыкаюцца з вялікім аккультурации цяжар, ??чым навічкі рабілі ў мінулым.

Традыцыі праекта з'яўляюцца назапашваецца столькі пра тое, як камунікаваць і захоўваць інфармацыю, як яны пра стандарты кадавання і іншых тэхнічных minutae. Мы ўжо глядзелі на абодва выгляду стандартаў, у раздзеле "Дакументацыя для распрацоўшчыкаў" у чале 2, Пачатак і частку пад назвай "Даць усё гэта ўніз" ў главе 4, сацыяльнай і палітычнай інфраструктуры , адпаведна, і прыклады ёсць . Тое, што гэта раздзел аб тым, як захаваць такія кіруючыя прынцыпы да сучасных меры развіцця праекта, асабліва кіруючых прынцыпаў аб тым, як сувязь кіруюцца, таму што тыя з іх, якія змяняюцца найбольш якасьці праекту павялічваецца ў памерах і складанасці.

Па-першае, паглядзець на мадэлі ў тым, як людзі не заўсёды разумеюць. Калі вы бачыце жа сітуацыі Далей зноў і зноў, асабліва з новымі ўдзельнікамі, шанцы ёсць асноўнае становішча, якое павінна быць дакумэнтавана, але гэта не так. Па-другое, не стамляюцца казаць адно і тое ж зноў і зноў, і не гучаць як вы стаміліся вымаўляць іх. Вы і іншыя ветэраны праекта прыйдзецца паўтарыць самі часта, гэта непазбежны пабочны эфект прыход пачаткоўцаў.

Кожная вэб-старонка, кожнае паведамленне спісу рассылкі, і кожны канал IRC павінны разглядацца месца для рэкламы, а не для камерцыйнай рэкламы, але і для аб'явы аб уласных рэсурсаў праекта. Што вы пакладзеце ў гэтай прасторы залежыць ад дэмаграфічных тых, верагодна, чытаў. Канал IRC для карыстальнікаў пытанняў, напрыклад, можа прымусіць людзей, якія ніколі не ўзаемадзейнічалі з праекта да-часта той, хто толькі што усталяваў праграмнае забеспячэнне, і пытанне, які ён хацеў адказаць адразу (у рэшце рэшт, калі гэта магло б чакаць, што ён паслаў яго ў спіс рассылкі, які, верагодна, выкарыстоўваць менш яго агульны час, хоць гэта зойме больш часу для адказу на вярнуцца). Людзі звычайна не робяць інвестыцый у асноўны капітал у канал IRC, яны пакажуць, спытайце іх пытанне, і пакінуць.

Такім чынам, канал тэма павінна быць накіравана на людзей, якія будуць сачыць за тэхнічнай адказы аб праграмным забеспячэнні, прама зараз, а не, скажам, людзей, якія могуць звязвацца з праектам у доўгатэрміновай шляху і для каго ўзаемадзеяння правілаў супольнасці могуць апынуцца больш падыходнымі. Вось як вельмі заняты канал апрацоўвае яго (параўнайце з раней Напрыклад, у раздзеле "IRC / чат у рэальным часе сістэмы" ў раздзеле 3, тэхнічная інфраструктура ):

Вы цяпер гаворыце пра # linuxhelp

Тэма для # linuxhelp з'яўляецца Калі ласка, прачытайце
http://www.catb.org/ ~ ЭПР / FAQ / смарт-questions.html & &
http://www.tldp.org/docs.html # Howto Перш чым задаваць пытанні | Крыніца
Правілы на http://www.nerdfest.org/lh_rules.html | Звярніцеся
http://kerneltrap.org/node/view/799, перш чым прасіць аб абнаўленні да
2.6.x ядра | ПСП на чытанне магчыма: http://tinyurl.com/4s6mc ->
абнаўленне 2.6.8.1 або 1927/04/02 | хэш-алгарытму катастрофа: http://tinyurl.com/6w8rf
| Reiser4 з

З спісы рассылання, "рэкламнае прастора" з'яўляецца малюсенькі колонтитул дадаецца да кожнага паведамлення. Большасць праектаў пакласці падпіску / адпіску там інструкцыі, і, магчыма, паказальнік на галоўную старонку праекта або FAQ старонцы. Вы можаце падумаць, што хто падпісаўся на спіс будзе ведаць, дзе знайсці гэтыя рэчы, і яны, верагодна,-але значна больш людзей, чым проста абанентаў гэтыя паведамленні спісу рассылання. Заархіваваны паведамленне можа быць звязана з з многіх месцаў, больш таго, некаторыя пасады сталі настолькі шырока вядома, што яны ў канчатковым выніку мець больш чытачоў з спісу, чым на ім.

Фарматаванне можа мець вялікае значэнне. Напрыклад, у праекце Subversion, мы былі з абмежаваным поспехам выкарыстання памылка фільтрацыі методыцы, апісанай у раздзеле "папярэдняй фільтрацыі Bug Tracker" ў раздзеле 3, тэхнічная інфраструктура . Многія падробленыя паведамленні пра памылку па-ранейшаму пададзеных нявопытныя людзі, і кожны раз гэта здарылася, фільтрам павінны былі быць створаны ў дакладнасці так жа, як 500 чалавек перад ім. Аднойчы, пасля аднаго з нашых распрацоўшчыкаў, нарэшце, дабраўся да канца свайго вяроўкі і запалалі некаторых бедных карыстальнікаў, хто не чытаў прынцыпаў адсочвання праблем досыць дбайна, іншы распрацоўнік вырашыў, што гэта карціна сышла на досыць доўга. Ён прапанаваў, каб мы перафарматаваць перад адсочвання праблем старонцы, так што самая важная частка, судовы забарону, каб абмеркаваць памылку на спісы рассылання або IRC-каналы да падачы, будзе стаяць у вялізных, смелыя чырвонымі літарамі, на ярка-жоўтым фоне, па цэнтру прыкметна вышэй за ўсё астатняга на старонцы. Мы зрабілі гэта (вы можаце ўбачыць вынікі на http://subversion.tigris.org/project_issues.html ), і ў выніку было прыкметнае падзенне хуткасці фіктыўных заявак пытанні. Мы па-ранейшаму атрымліваць іх, вядома, мы заўсёды будзем, але хуткасць істотна запаволілася, як і колькасць карыстальнікаў павялічваецца. Вынік не толькі тое, што памылка базы даных змяшчае менш смецця, але тыя, хто адказвае на пытанне заявак знаходжання ў лепшым настроі, і, хутчэй за ўсё, застаюцца сяброўскімі, адказваючы на ??адно з цяпер рэдкіх фіктыўных заявак. Гэта паляпшае праекта выявы і псіхічнае здароўе сваіх добраахвотнікаў.

Урок для нас было тое, што проста напісанне кіруючых прынцыпаў было недастаткова. Мы таксама павінны былі пакласці іх там, дзе яны былі б бачылі тыя, хто ў іх мае патрэбу больш за ўсё, і фармат іх такім чынам, што іх статус як ўводны матэрыял будзе адразу зразумела для людзей не знаёмых з праектам.

Старонкі статычных вэб не толькі месца для рэкламы мытных праекта. Пэўную колькасць інтэрактыўных паліцэйскіх (у сяброўскай-напамін сэнсе, а не кайданкі і-турму сэнсе) таксама патрабуецца. Усе экспертнай ацэнкі, нават здзейсніць водгукаў апісана ў раздзеле "Практыка паказная кодэкса агляд" у чале 2, Прыступаючы да працы , павінны ўключаць у сябе агляд людзей адпаведнасці або неадпаведнасці з праектам нормаў, асабліва ў дачыненні паведамленняў канвенцый.

Іншы прыклад з праекту Subversion: мы спыніліся на з'езд "r12908" азначае "перагляд 12908 у сховішча кантролю версій." Малыя "г", код лёгка ўвесці, і таму што гэта палова вышыні лічбаў, ён робіць лёгка вядомы блок тэксту ў спалучэнні з лічбамі. Вядома, асядаючы на ??Канвенцыю не азначае, што ўсё будзе пачаць выкарыстоўваць яго паслядоўна адразу. Такім чынам, калі здзяйсняюць пошта прыходзіць з лог паведамлення накшталт гэтага:

Popular Links
Published (Last edited): Jun 1 , source: http://producingoss.com/en/producingoss.html