Copyright 2005 ©, 2006, 2007, 2008, 2009, 2010 Карл Фогель, пад CreativeCommons Attribution-ShareAlike (3,0) ліцэнзіі.
Гэтая кніга прысвечана двум дарагія сябры, без якіх яно не было б магчымым: Карэн Андерхилл і Джым Бланди.
Змест
На вечарынах, людзі больш не даюць мне пустым позіркам, калі я кажу ім, што пісаць свабодным праграмным забеспячэннем. "О, так, з адкрытым зыходным кодам, як Linux?" яны кажуць. Я ківаю ў згодзе з нецярпеннем. "Так, сапраўды! Вось што я раблю." Прыемна, не цалкам махрамі больш. У мінулым, наступны пытанне, як правіла, даволі прадказальныя: "Як вы зарабляе грошы для гэтага зрабіць?" Каб адказаць, я б абагульніць эканомікі з адкрытым зыходным кодам: што існуюць арганізацыі, у інтарэсах якога ён хоча мець пэўнае праграмнае забеспячэнне існуюць, але яны не павінны прадаваць копіі, яны проста хочуць, каб пераканацца, што праграмнае забеспячэнне даступна і падтрымліваецца, як інструмент, а не тавар.
У апошні час, аднак, наступны пытанне, ці не заўсёды аб грошах. Эканамічнае абгрунтаванне для адкрытага праграмнага забеспячэння [ 1 ] з'яўляецца не гэтак таямнічым, і многія не-праграмістаў ўжо разумеюць або, па крайняй меры не здзіўленыя, што-Ёсць занятых на гэта поўны працоўны дзень. Замест гэтага, пытанне, які я чую ўсё часцей і часцей з'яўляецца "Ах, як гэта працуе?"
У мяне не было здавальняючага адказу гатовыя, і чым мацней я спрабаваў прыдумаць з адным, тым больш я разумеў, наколькі складаная тэма на самой справе. Запуск праекта распрацоўкі праграмнага забеспячэння не гэтак жа, як працуе бізнэс (Уявіце сабе, што ўвесь час перамовы характар ??вашага прадукту з групай добраахвотнікаў, большасць з якіх вы ніколі не сустракаліся!). Таксама, па розных прычынах, гэта дакладна, як працуе традыцыйная некамерцыйнай арганізацыі, ні ўраду. Ён мае падабенства ўсіх гэтых рэчаў, але я павольна прыходзяць да высновы, што вольнае праграмнае забеспячэнне ў сваім родзе. Ёсць шмат рэчаў, з якімі ён можа быць карысным у параўнанні, але ні адзін, з якім яно можа быць прыраўнянае. Сапраўды, нават у здагадцы, што праектаў вольнага праграмнага забеспячэння можа быць "запусціць" гэта расцяжэнне. Свабодны праграмны праект можа быць запушчаны, і ён можа знаходзіцца пад уплывам зацікаўленых бакоў, часта даволі моцна. Але яе актывы не могуць быць ўласнасцю якога-небудзь аднаго ўладальніка, і да тых часоў, як Ёсць людзі куды-то дзе-небудзь, зацікаўленыя ў працягу яго, яно не можа быць у аднабаковым парадку закрылі. Кожны чалавек мае бясконцую сілу; кожны чалавек мае ніякай улады. Гэта робіць для цікавую дынаміку.
Вось чаму я хацеў напісаць гэтую кнігу. Бясплатнае праграмнае забеспячэнне праекты развіваліся самабытную культуру, дух, у якім свабода, каб зрабіць праграмнае забеспячэнне нічога рабіць не хоча з'яўляецца асноўным прынцыпам, і ўсё ж вынік гэтай свабоды не рассейванне людзей кожны будзе свой асобны шлях з кодам, але энтузіязму супрацоўніцтва. Сапраўды, у кампетэнцыі самага супрацоўніцтва з'яўляецца адным з найбольш высока цэняцца навыкі свабоднага праграмнага забеспячэння. Для кіравання гэтымі праектамі займацца ў нейкі гіпертрафаванай супрацоўніцтва, дзе адзін здольнасць не толькі працаваць з іншымі людзьмі, але, каб прыдумаць новыя спосабы сумеснай працы можа прывесці да адчувальныя выгоды для праграмнага забеспячэння. Гэтая кніга спробы апісаць метады, якімі гэта можа быць зроблена. Гэта далёка не поўны, але гэта па меншай меры пачатак.
Добрае свабоднае праграмнае забеспячэнне дастойнага мэтай само па сабе, і я спадзяюся, што чытачы, якія прыходзяць шукае шляхі для яе дасягненні будуць задаволены тым, што яны знаходзяць тут. Але акрамя гэтага я таксама спадзяюся перадаць што-то задавальненне, якое будзе мецца ў працы з матываванай камандай распрацоўшчыкаў адкрытага зыходнага кода, і ад ўзаемадзеяння з карыстальнікамі ў дзіўна прамы шлях, што з адкрытым зыходным кодам заклікае. Удзел у паспяховых свабодным праграмным праектам гэта весела, і ў канчатковым рахунку тое, што трымае ўсю сістэму адбываецца.
Гэтая кніга прызначана для распрацоўнікаў праграмнага забеспячэння і менеджэраў, якія разглядаюць магчымасць, пачынаючы праект з адкрытым кодам, або якія пачалі адно і задаюцца пытаннем, што рабіць далей. Яна павінна таксама быць карысным для людзей, якія проста жадаюць удзельнічаць у праект з адкрытым кодам, але ніколі не рабілі гэтага раней.
Чытач не трэба быць праграмістам, але павінен ведаць асноўныя распрацоўкі праграмнага забеспячэння такія паняцці, як зыходны код, кампілятары, і патчы.
Папярэдні вопыт з адкрытым зыходным кодам, як карыстальнік або распрацоўшчык, не з'яўляецца неабходным. Тыя, хто працаваў у свабодных праграмных праектаў, перш чым, верагодна, знайсці хаця б некаторыя часткі кнігі трохі відавочна, і можаце прапусціць гэтыя часткі. Таму што такія патэнцыйна шырокае кола аўдыторыі вопыт, я зрабіў высілак, каб пазнака падзелу ясна, што і сказаць, калі што-то можа быць прапушчаны тымі, хто ўжо знаёмы з матэрыялам.
Большая частка сыравіны для гэтай кнігі прыйшлі з пяці гадоў працы з праектам Subversion ( http://subversion.tigris.org/ ). Subversion з'яўляецца адкрытым зыходным кодам сістэма кіравання версіямі, напісаны з нуля, і прызначаны для замены CVS як-факта версія дэ сістэма кіравання выбарам у адкрытымі зыходнымі кодамі. Праект быў пачаты мой працадаўца, CollabNet ( http://www.collab.net/ ), у пачатку 2000 года, і слава богу CollabNet зразумеў з самага пачатку, як запусціць яго як сапраўды сумеснай, размеркаваных намаганняў. Мы атрымалі шмат добраахвотнікаў распрацоўшчык бай-ін на ранняй стадыі, а сёння Ёсць 50-некаторыя распрацоўнікі на праект, з якіх толькі нешматлікія CollabNet супрацоўнікаў.
Subversion шмат у чым класічны прыклад праекта з адкрытым кодам, і я апынуўся малюнак на ёй у большай ступені, чым я першапачаткова меркавалася. Збольшага гэта было пытаннем выгоды: кожны раз, калі мне трэба прыкладзе канкрэтнага з'явы, я магу звычайна называем адзін параўнанні з Subversion адразу верхняй частцы маёй галавы. Але гэта быў таксама пытанне аб праверцы. Хоць я ўдзельнічаю ў іншых свабодных праграмных праектаў у рознай ступені, і пагаварыць з сябрамі і знаёмымі ўдзел у шматлікіх іншых, адзін хутка разумее, калі пішаш для друку, што ўсе зацвярджэння павінны быць падмацаваныя фактамі правераны. Я не хачу, каб выступіць з заявамі пра падзеі ў іншых праектаў, заснаваных толькі на тое, што я чытаў у сваіх публічных архівах спісу рассылання. Калі хто-то паспрабаваць, што з Subversion, я ведаў, што яна будзе права каля паловы часу і няправільнага іншай паловы. Таму, калі чэрпаючы натхненне або прыклады з праекта, з якім у мяне не было прамога вопыту, я спрабаваў спачатку пагаварыць з інфарматарам там, каго я мог давяраць, каб растлумачыць, што адбываецца на самай справе.
Subversion была мая праца на працягу апошніх 5 гадоў, але я прымаў удзел у бясплатнае праграмнае забеспячэнне для 12. Іншыя праекты, якія паўплывалі гэтай кнігі ўключаюць у сябе:
Тэкст GNU Emacs рэдактар ??праекта на Free Software Foundation, у якім я сцвярджаю, некалькі невялікіх пакетаў.
Concurrent Versions System (CVS), што я працаваў на інтэнсіўна ў 1994-1995 гадах з Джымам Бланди, але быў звязаны з перапынкамі толькі так.
Калекцыя праектаў з адкрытым кодам вядомы як Apache Software Foundation, у асаблівасці Apache Portable Runtime (APR) і HTTP-сервер Apache.
OpenOffice.org, Berkeley Database ад Sleepycat, а таксама базы дадзеных MySQL, я не быў звязаны з гэтымі праектамі асабіста, але назіраў за імі, а ў некаторых выпадках, размаўляў з людзьмі там.
GNU Debugger (GDB) (аналагічна).
Праект Debian (аналагічна).
Гэта не поўны спіс, вядома. Як і большасць праграмістаў адкрытым зыходным кодам, я прыглядаюць у падлогу вочы шмат розных праектаў, толькі, каб мець пачуццё агульнага стану рэчаў. Я не буду іх усё тут, але іх згадванні ў тэксце, дзе неабходна.
Гэтая кніга узяў чатыры разы больш часу, каб напісаць, чым я думаў, што гэта, і вялікую частку гэтага часу хутчэй адчуў, як раяль, падвешаны над маёй галавой, дзе б я пайшоў. Без дапамогі ад многіх людзей, я бы не змог завяршыць яе падчас знаходжання здаровым.
Эндзі Орам, мой рэдактар ??у O'Reilly, быў марай пісьменніка. Акрамя ведаючы поле цесна (ён прапанаваў многія тэмы), ён валодае рэдкім дарам ведаючы, што адзін хацеў сказаць, і дапамагаць адзін знайсці правільны спосаб сказаць гэта. Гэта была вялікая гонар працаваць з ім. Дзякуй таксама Чак Toporek для кіравання гэтым прапановай да Эндзі адразу.
Brian Fitzpatrick разгледжаны практычна ўсе матэрыялы, як я напісаў, што не толькі зрабілі кнігу лепш, але трымалі мяне пісаць, калі мне хацелася быць дзе заўгодна ў свеце, а ў пярэдняй часткі кампутара. Бэн Колінз-Сассман і Майк Pilato таксама праверана на прагрэс, і заўсёды рады абмеркаваць, часам у даўжыню-якую б тэму я спрабаваў ахапіць гэтым тыдні. Яны таксама заўважылі, калі я запаволіўся, і акуратна грызла, калі гэта неабходна. Дзякуй, хлопцы.
Biella Coleman пісаў сваю дысертацыю ў той жа час я пісаў гэтую кнігу. Яна ведае, што значыць сядзець і пісаць кожны дзень, і пры ўмове, натхняюць прыкладам, а таксама спагады. Яна таксама мае захапляльны від anthropologist's вачэй руху за свабоднае праграмнае забеспячэнне, падаючы як ідэі і спасылкі, якія я змог выкарыстаць у кнізе. Аляксей Голуб-іншы антраполаг адной нагой у свеце вольнага праграмнага забеспячэння, а таксама аддзелачныя дысертацыю ў той жа час, быў выключна падтрымкі на ранняй стадыі, якая дапамагла многае.
Міка Андэрсан як-то ніколі не здавалася занадта прыгнечаных сваімі канцэрце пісьмовай форме, які быў натхняльнай ў хворым, зайздрасць генеруе роду спосаб, але ён заўсёды быў гатовы з сяброўствам, размова, і (па крайняй меры аднойчы) з тэхнічнай падтрымкай. Дзякуй, Міка!
Джон Троубридж і Sander Нападаючы адарылі мяне заахвочваннем і канкрэтную дапамогу, іх шырокі вопыт у свабоднае праграмнае забеспячэнне, матэрыял, які я не мог бы атрымаць ніякім іншым спосабам.
Дзякуючы Грег Штэйн не толькі за падтрымку дружбы і своечасовай, але для паказу праекта Subversion, наколькі важна рэгулярнага прагляду кода, у фарміраванні грамадства. Дзякуй таксама Браян Белендорфу, які тактоўна убіў у нашы галовы важнасць публічных дыскусій, я спадзяюся, што прынцып знайшоў адлюстраванне ў гэтай кнізе.
Дзякуючы Бенджамін "мака" Хіл і Сэт Шону, за розныя размовы аб свабодным праграмным забеспячэнні і яго палітыцы; Заку Урлокеру і Луіс Суарэс-Потс, што знайшлі час з свайго шчыльнага графіка на інтэрв'ю, каб Шэйн на спіс Slashcode за прадстаўленую яго Паведамленне заключыць у двукоссі, і Haggen Так што для яго неверагодна карыснае параўнанне кансерваў хостынг сайтаў.
Дзякуючы Ала Дехтяр, Паліна, і Соня за іх неаслабнае і пацыента падтрымку. Я вельмі рады, што я больш не будзе да канца (ці, хутчэй, бескарысна спрабаваць) нашы вечара і ісці дадому і працаваць на "Кнігі".
Дзякуючы Джэк Repenning за сяброўства, гутарку, і ўпартае нежаданне калі або лёгкім няправільным аналізам, калі цяжэй права такі маецца. Я спадзяюся, што некаторыя з яго досведу, як распрацоўка праграмнага забеспячэння і індустрыі праграмнага забеспячэння сцёр на гэтай кнізе.
CollabNet былі выключна вялікадушныя, дазваляючы мне гнуткі графік, і не скардзіўся, калі гэта працягвалася нашмат даўжэй, чым першапачаткова планавалася. Я не ведаю ўсіх хітрасцяў таго, як менеджмент прыходзіць да такіх рашэнняў, але я падазраю, Сандхья Klute, і пазней Махеш Мурти, што-то з ім рабіць-дзякуй ім абодвум.
Усе развіццё Subversion каманды быў натхненнем для апошніх пяці гадоў, і многае з таго, што ў гэтай кнізе я даведаўся ад працы з імі. Я не буду дзякаваць іх тут усіх па імя, таму што Ёсць занадта шмат, але я караю любому чытачу, які ў коммиттер Subversion, каб адразу купіць што коммиттер напой па свайму выбару, я збіраюся зрабіць.
Шмат разоў я напыщено Рэйчел Сколлон аб стане кнігі, яна была заўсёды гатовыя выслухаць, і як-то атрымалася зрабіць праблемы здаюцца менш, чым раней мы казалі. Гэта дапамагло шмат-дзякуй.
Дзякуй (яшчэ раз) Ноэль Тэйлар, які, безумоўна, задаецца пытаннем, чаму я хацеў напісаць іншую кнігу, улічваючы колькі я скардзіўся мінулы раз, але чыя сяброўства і кіраўніцтвам Галасы дапамагло захаваць музыку і добрую кампанію ў сваім жыцці нават у самых ажыўленых раз. Дзякуй таксама Мэцью Дын і Даратэя Samtleben, сябры і шматпакутнай музычных партнёраў, якія былі вельмі разумеюць з нагоды майго апраўдання не практыкуе звалілі. Меган Джэнінгс была пастаянна падтрымлівае, і шчыра зацікаўлены ў тэме кнігі, хаця гэта быў незнаёмы ёй-вялікі тонік для няўпэўненага пісьменніка. Дзякуй, прыяцель!
У мяне было чатыры дасведчаны і старанны водгукі на гэтую кнігу: Йоав Шапіра, Андрэй Стелман, Davanum Srinivas, і Бэн Хайд. Калі б я быў у стане ўлічыць усе іх пышныя пажаданні, гэта было б лепш кнігі. Як гэта было, часовыя рамкі прымусілі мяне выбіраць, але паляпшэння ўсё яшчэ былі значнымі. Любыя памылкі, якія застаюцца цалкам мая.
Мае бацькі, Фрэнсіс і Генры, былі неверагодна добрыя, як заўсёды, і так як гэтая кніга з'яўляецца менш тэхнічнай, чым папярэдні, я спадзяюся, яны знойдуць яго некалькі больш зручным для чытання.
Нарэшце, я хацеў бы падзякаваць прысвечана, Карэн Андерхилл і Джым Бланди. Дружба Кэрэн і яе разуменне, азначалі для мяне ўсё, не толькі ў час напісання гэтай кнігі, але на працягу апошніх сямі гадоў. Я проста не было б скончаным без яе дапамогі. Падобна і Джым, сапраўдны сябар і хакер хакераў, які першым навучыў мяне аб вольным праграмным забеспячэнні, гэтак жа як птушка можа навучыць самалёта аб рэйсах.
Думкі і меркаванні, выказаныя ў гэтай кнізе з'яўляюцца маімі ўласнымі. Яны не абавязкова адлюстроўваюць пункт гледжання CollabNet або праекта Subversion.
[ 1 ] Тэрмін "адкрыты крыніца" і "свабодных" па сутнасці сінонімамі ў гэтым кантэксце, яны больш падрабязна абмяркоўваюцца ў раздзеле "" бясплатна "Versus" Open Source " ў главе 1, Уводзіны.
Змест
Большасць праектаў вольнага праграмнага забеспячэння няўдачу.
Мы звычайна не чуем вельмі шмат пра няўдачах. Толькі паспяховыя праекты прыцягваюць увагу, і Ёсць так шмат праектаў вольнага праграмнага забеспячэння ў цэлым [ 2 ], што, хоць толькі невялікі працэнт поспеху, вынік па-ранейшаму шмат прыкметных праектаў. Мы таксама не чулі пра неэфектыўнасць з-за адмовы не падзея. Існуе не адзін момант, калі праект перастае быць жыццяздольным, людзі толькі выгляд адыходу і перастаць працаваць на ім. Там можа быць момант, калі канчатковыя змены, унесеныя ў праект, але тым, хто зрабіў гэта звычайна не ведаў у той час, што ён быў апошнім. Існуе нават не дакладнае вызначэнне таго, калі праект скончыўся. Гэта, калі ён не быў актыўна працаваў на працягу шасці месяцаў? Калі яе карыстацкая база перастае расці, не перавысіўшы распрацоўшчык базы? Што рабіць, калі распрацоўнікі аднаго праекта адмовіцца, таму што яны зразумелі, што яны былі дубляваць працу іншага і што, калі яны далучаюцца, што іншы праект, а затым распаўсюдзіць яе на вялікую частку сваіх ранніх высілкаў? Хіба першы канец праекту, ці проста змяніць дома?
З-за такіх складанасцяў, немагчыма паставіць дакладны нумар адмоў. Але неафіцыйныя дадзеныя з больш чым дзесяцігоддзе з адкрытым зыходным кодам, некаторыя ліцця вакол на SourceForge.net, і трохі трошкі усе кропкі да таго ж высновы: стаўка вельмі высокая, верагодна, на парадак 90-95%. Лік падымаецца вышэй, калі вы ўключыце тых, хто выжыў, але дісфункціональных праекты: тыя, якія вырабляюць выкананне кода, але якія не прыемных месцаў для быць ці не прагрэс, як хутка або як надзейна, як маглі.
Гэтая кніга пра пазбегнуць правалу. У ім разглядаюцца не толькі як зрабіць усё правільна, але як іх рабіць няправільна, так што вы можаце прызнаваць і выпраўляць праблемы на раннім этапе. Я спадзяюся, што пасля яе чытання, вы будзеце мець рэпертуар метадаў не толькі для пазбягання тыповых памылак распрацоўкі ПА з адчыненым зыходным кодам, але таксама для працы з росту і падтрымання паспяховага праекта. Поспех не гульня з нулявой сумай, і гэтая кніга не пра перамогу ці забегаю наперад канкурэнцыі. Сапраўды, важнай часткай вядзення праекта з адкрытым кодам працуе плаўна з іншымі, звязаных праектаў. У канчатковым рахунку, кожны паспяховы праект ўносіць свой уклад у дабрабыт У цэлым, ва ўсім свеце цела вольнага праграмнага забеспячэння.
Было б павабна сказаць, што праектаў вольнага праграмнага забеспячэння няўдача для тых жа прычын у камерцыйных праектаў. Вядома, свабоднае праграмнае забеспячэнне не мае манаполіі на нерэальныя патрабаванні, расплывістыя спецыфікацыі, неэфектыўнае кіраванне рэсурсамі, недастаткова фазы праектавання, або любой з іншых дамавікоў ужо добра вядомыя ў індустрыі праграмнага забеспячэння. Існуе вялікая цела лісты на гэтыя тэмы, і я пастараюся, каб не дубляваць яе ў гэтай кнізе. Замест гэтага, я паспрабую апісаць праблемы ўласцівыя свабоднае праграмнае забеспячэнне. Калі свабодным праграмным праектам сядзе на мель, гэта часта таму, што распрацоўшчыкі (або менеджэры) не ацанілі унікальныя праблемы распрацоўкі ПА з адчыненым зыходным кодам, хоць яны, магчыма, быў цалкам гатовы для больш вядомыя цяжкасці з зачыненым зыходным кодам развіцця.
Адзін з самых распаўсюджаных памылак з'яўляецца нерэалістычныя чакання пра перавагі адкрытага ПА. Адкрытай ліцэнзіі не гарантуе, што орды актыўных распрацоўнікаў раптам добраахвотна ахвяруюць сваім часам, каб ваш праект, і не адкрытых крыніц праблемных праекта аўтаматычна вылечыць яго бед. На самай справе, як раз наадварот: адкрыццё праекта можа дадаць новы мноства складанасцяў і выдаткаў у кароткатэрміновай перспектыве, чым проста трымаючы яго ў дом. Адкрыццё сродкаў арганізацыі кода, які будзе зразумела цалкам незнаёмых, стварэнне распрацоўка вэб-сайтаў і спісы адрасоў электроннай пошты, і часцяком для напісання дакументацыі ў першы раз. Усё гэта шмат працы. І, вядома, калі такія маюцца зацікаўленыя распрацоўшчыкі паказваюцца, ёсць дадатковае цяжар адказваючы на іх пытанні на некаторы час перш, чым бачыць якую-небудзь выгаду ад іх прысутнасці. Як распрацоўшчык Джэймі Завінскі кажа аб праблемных першыя дні праекту Mozilla:
Адкрыты зыходны код працуе, але гэта дакладна не панацэя. Калі ёсць павучальная гісторыя тут, гэта тое, што вы не можаце прыняць памірае праекта, пасыпаць яе з магіяй пікс пыл "з адкрытым зыходным кодам", і ёсць усе чароўна атрымалася. Праграмнае забеспячэнне цяжка. Пытанні не так проста.
Звязаных памылкай з'яўляецца тое, што з эканомія на прэзентацыі і ўпакоўкі, мяркуючы, што гэта заўсёды можна зрабіць пазней, калі праект ідзе поўным ходам. Прэзентацыя і ўпакоўка уключае шырокі спектр задач, усё круціцца вакол тэмы зніжэння бар'ера для ўваходу. Стварэнне праекта з запрашэннем на неазнаёмленых азначае, што запіс карыстальніка і распрацоўніка дакументацыі, стварэнні вэб-сайт праекта, які ў інфарматыўнай для пачаткоўцаў, аўтаматызацыі, як большая частка кампіляцыі праграмнага забеспячэння і ўстаноўкі ў якасці магчымых, і г.д. Многія праграмісты жаль ставіцца да гэтай працы як другараднае значэнне у самым кодзе. Ёсць некалькі прычын для гэтага. Па-першае, ён можа адчуваць сябе ебля, таму што яе перавагі найбольш прыкметныя для тых, хто менш знаёмы з праектам, і наадварот. У рэшце рэшт, людзі, якія развіваюць код не патрэбен упакоўкі. Яны ўжо ведаюць, як ўсталёўваць, адміністраваць і выкарыстоўваць праграмнае забеспячэнне, таму што яны напісалі. Па-другое, навыкаў, неабходных для рабіць прэзентацыі і ўпаковачныя матэрыялы часта цалкам адрозніваюцца ад тых, неабходныя для напісання кода. Людзі маюць тэндэнцыю засяроджвацца на тое, што яны добра, нават калі гэта можа служыць праект лепш выдаткаваць крыху часу на тое, што падыходзіць ім менш. чале 2, Пачатак прэзентацыі абмяркоўваюцца і ўпакоўкі ў дэталях, і тлумачыць, чаму гэта важна, каб яны прыярытэт з самага пачатку праекта.
Далей ідзе зман, што мала ці ўвогуле не кіраванне праектамі патрабуецца адкрытым зыходным кодам, ці, наадварот, што ж метады кіравання выкарыстоўваюцца для развіцця ў хаце будзе аднолькава добра працаваць на праекце з адкрытым зыходным кодам. Кіраванне ў праект з адкрытым кодам не заўсёды вельмі прыкметныя, але ў паспяховых праектаў, звычайна адбываецца за кулісамі ў той ці іншай форме. Дастаткова невялікі разумовы эксперымент, каб паказаць, чаму. Праект з адкрытым кодам складаецца з выпадковы набор праграмістаў-ужо вядома, незалежным норавам катэгорыі, якія, хутчэй за ўсё, ніколі не сустракаліся адзін з адным, і якія могуць мець розныя асабістыя мэты ў працы над праектам. Разумовы эксперымент проста ўявіць сабе, што здарыцца з такой групай без кіравання. Забарона цуды, яна паваліцца або разыходзяцца вельмі хутка. Рэчы не проста запусціць сябе, гэтак жа як мы, магчыма, пажадае ў адваротным выпадку. Але кіраўніцтва, хоць яно можа быць вельмі актыўным, часцяком неафіцыйных, тонкім і стрыманым. Адзінае падтрыманню развіцця групы разам іх агульнае перакананне, што яны могуць зрабіць больш, чым у канцэрце ў індывідуальным парадку. Такім чынам, мэта кіравання ў асноўным для забеспячэння таго, каб яны па-ранейшаму лічым, што гэта, шляхам устанаўлення стандартаў для сувязі,, пераканаўшыся, карысныя распрацоўшчыкі не атрымліваюць маргінальныя з-за асабістых idiosyncracies, і ў цэлым, робячы праект месцы распрацоўшчыкі хочуць захаваць Вяртаючыся к. Канкрэтныя метады для гэтага, абмяркоўваюцца ў астатняй частцы гэтай кнігі.
Нарэшце, існуе агульная катэгорыя праблем, якія можна назваць "правалы культурнай навігацыі". Дзесяць гадоў таму, нават пяць, было б заўчасна казаць аб глабальнай культуры вольнага праграмнага забеспячэння, але не больш. Вядомы культуры паступова з'явіліся, і, хоць яна, вядома, не маналітна-гэта, па меншай меры схільныя да унутраным іншадумствам і фракцыйнай, як любы геаграфічна звязаны культурай у яго ёсць у асноўным адпавядае асноўнай. Большасць паспяховых праектаў з адкрытым зыходным кодам выставу усе ці некаторыя з характарыстык гэтага ядра. Яны ўзнагароджвае пэўныя тыпы паводзінаў, і караць іншых, яны ствараюць атмасферу, якая заахвочвае незапланаваных удзел, часам на шкоду цэнтральнай каардынацыі; яны маюць паняцці грубасці і ветлівасці, якія могуць істотна адрознівацца ад тых, распаўсюджаных у іншых месцах. Самае галоўнае, даўні ўдзельнікаў, як правіла ўнутраную гэтыя стандарты, так што яны маюць грубую кансенсусу адносна чаканага паводзін. Няўдалыя праекты звычайна адрозніваюцца істотным чынам ад гэтай асноўны, хоць і ненаўмысна, і часцяком не маюць кансенсусу аб тым, што ўяўляе сабой разумнае паводзіны па змоўчванні. Гэта азначае, што калі ўзнікаюць праблемы, сітуацыя можа хутка пагоршыцца, так як удзельнікі адсутнасць ужо створаны запас культурных рэфлексаў, каб вярнуцца для ўрэгулявання рознагалоссяў.
Гэтая кніга ўяўляе сабой практычнае кіраўніцтва, а не антрапалагічнае даследаванне або гісторыі. Аднак, практычнае веданне вытокаў свабоднай культуры сучаснага праграмнага забеспячэння з'яўляецца важнай асновай для любой практычны савет. Чалавек, які разумее культуру можна ехаць далёка і шырока ў свеце адкрытага зыходнага кода, сустракаючы шматлікіх лакальных варыяцый ў звычаях і дыялекце, але ўсё яшчэ быць у стане ўдзельнічаць камфортна і эфектыўна ва ўсім свеце. У адрозненне ад чалавека, які не разумее культуру знойдзеце працэс арганізацыі або ўдзелу ў праекце цяжкім і поўным сюрпрызаў. Так як колькасць людзей, распрацоўцы вольнага праграмнага забеспячэння па-ранейшаму расце не па днях, а па гадзінах, Ёсць шмат людзей, у гэтай апошняй катэгорыі-гэта ў асноўным культуры нядаўніх імігрантаў, і будзе заставацца такім на працягу некаторага часу. Калі вы думаеце, можа быць адным з іх, у наступным раздзеле змяшчаецца даведачная для абмеркавання вы сутыкнецеся пазней, як у гэтай кнізе і ў інтэрнэце. (З іншага боку, калі вы працавалі з адкрытым зыходным кодам на некаторы час, вы ўжо ведаеце многае ў сваёй гісторыі, так што не саромейцеся, каб прапусціць наступны раздзел.)
Праграмнае забеспячэнне для доступу была вакол тых часоў, як само праграмнае забеспячэнне. У першыя дні кампутараў, вытворцы лічылі, што канкурэнтныя перавагі павінны былі былі ў асноўным у апаратных інавацый, і таму не надаюць вялікую ўвагу на праграмнае забеспячэнне ў якасці бізнес-актыву. Многія з кліентаў для гэтых ранніх машынах былі вучоных і тэхнікаў, якія былі ў стане змяніць і пашырыць праграмнае забеспячэнне, якое пастаўляецца разам з машынай самі. Кліенты часам размеркаваных свае патчы не толькі вытворцам, але і да іншых уладальнікам падобных машын. Вытворцы часта мірацца і нават заахвочвалі гэта: у іх вачах, паляпшэнне праграмнага забеспячэння, незалежна ад крыніцы, толькі што зрабілі машыну больш прывабнай для іншых патэнцыйных кліентаў.
Хоць гэты ранні перыяд нагадваў свабоднай культуры сучаснага праграмнага забеспячэння ў многіх адносінах, яна адрозніваецца ў двух найважнейшых адносінах. Па-першае, там было яшчэ мала стандартызацыі апаратных гэта быў час росквіту інавацыі ў кампутарным дызайне, але разнастайнасць вылічальных архітэктур азначала, што ўсё было несумяшчальна з усім астатнім. Такім чынам, праграмы, напісаныя для адной машыны, як правіла, не працуе на іншым. Праграмісты як правіла, набываюць вопыт у пэўнай архітэктуры або сямейства архітэктур (у той час як сёння яны з большай верагоднасцю набываюць веды ў мове праграмавання або сям'і моў, упэўнены, што іх вопыт будзе перадавацца на любы вылічальнай тэхнікі яны адбываюцца, каб знайсці сабе працоўныя с). Паколькі вопыту чалавека, як правіла, характэрных для аднаго выгляду кампутара, іх назапашванне вопыту быў эфект пасля прыняцця такога кампутара больш прывабнымі для іх і іх калегаў. Таму ў інтарэсах вытворцы для канкрэтнага кампутара код і веды, каб распаўсюджваць як мага шырэй.
Па-другое, не было інтэрнэту. Хоць было менш юрыдычных абмежаванняў на абмен, чым сёння, было больш тэхнічнага характару: сродкі атрымання дадзеных з месца на месца былі нязручнымі і грувасткімі, умоўна кажучы. Існавалі некаторыя маленькія, лакальныя сеткі, добра для абмену інфармацыяй паміж супрацоўнікамі ў той жа даследчай лабараторыі або кампаніі. Але ж засталося бар'ераў для пераадолення, калі хацелі падзяліцца з усімі, дзе б яны ні былі. Гэтыя перашкоды былі пераадоленыя ў многіх выпадках. Часам розных груп у кантакт адзін з адным незалежна, пасылаючы дыскі або касеты праз зямлі пошце, а часам і самі вытворцы служыў цэнтральным каардынацыйныя цэнтры для патчаў. Гэта таксама дапамагло тое, што многія з ранніх распрацоўшчыкаў кампутар працаваў у універсітэтах, дзе веды публікацыі сваіх чакалася. Але фізічныя рэаліі перадачы дадзеных азначаюць, што заўсёды супраціў абмену, супраціў прапарцыйна адлегласці (рэальных або арганізацыйнай), што праграмнае забеспячэнне было падарожнічаць. Шырокае, без спрэчкі абмену, як мы яго ведаем сёння, было не магчыма.
Як прамысловасці паспеў, некалькі ўзаемазвязаных змены адбыліся адначасова. Дзікія разнастайнасць апаратных канструкцыі паступова саступіла месца некалькі пераможцы-пераможцаў праз перадавыя тэхналогіі, галоўнае маркетынг, або спалучэнне таго і іншага. У той жа час, і не зусім выпадкова, развіццё так званага "высокага ўзроўню" моў праграмавання азначала, што можна было б напісаць праграму адзін раз на адной мове, і ён аўтаматычна перакладаецца ("складзены") для запуску на розных відах кампутараў. Наступствы гэтага былі не выслізнула ад вытворцаў апаратнага забеспячэння: кліент можа цяпер распачаць сур'ёзныя намаганні распрацоўкі праграмнага забеспячэння не абавязкова замак сябе ў адной канкрэтнай архітэктуры сістэмы. Калі гэта было ў спалучэнні з паступовым звужэннем розніца ў прадукцыйнасці паміж рознымі кампутарамі, як менш эфектыўныя праекты былі пустазеллі, вытворцы, якія разглядалі яго апаратнай часткі ў якасці адзінага актыву можа разлічваць на будучыню зніжэнне прыбытку. Сыравіна вылічальнай магутнасці становіцца ўзаемазаменнымі добра, у той час як праграмнае забеспячэнне становіцца адзнакай. Продаж праграмнага забеспячэння, або, па крайняй меры разглядаючы яго ў якасці складовай часткі апаратных продажаў, стаў глядзець, як добрая стратэгія.
Гэта азначала, што вытворцы былі пачаць захавання аўтарскіх правоў на свой код больш строга. Калі карыстальнікі проста працягвалі абменьвацца і змяняць код свабодна паміж сабой, яны могуць самастойна перавызначыць некаторыя паляпшэнні ў цяперашні час прадаецца "дабаўленую вартасць" ад пастаўшчыка. Горш таго, агульны код можа трапіць у рукі канкурэнтаў. Іронія заключаецца ў тым, што ўсё гэта адбывалася ў часы Інтэрнэт быў атрымліваць ад зямлі. Проста, калі па-сапраўднаму свабодны праграмнае забеспячэнне для доступу, нарэшце, становіцца тэхнічна магчымым, змены ў кампутарны бізнэс зрабіў яго эканамічна непажадана, па меншай меры з пункту гледжання якой-небудзь адной кампаніі. Пастаўшчыкоў спыніў, альбо адмова карыстальнікам доступ да коду, які кіраваў іх машыны, ці настойваць на пагаднення аб невыдаванні, які зрабіў эфектыўнага абмену немагчыма.
Як свет неабмежаваных код абмену сталі паступова знікаць, counterreaction крышталізуецца на ўвазе па крайняй меры аднаго праграміста. Рычард Столлман працаваў у Лабараторыі штучнага інтэлекту ў Масачусецкім тэхналагічным інстытуце ў 1970-х і пачатку 80-х, у якой апынуўся залатым стагоддзем і залаты месца для абмену кодам. AI Lab была моцнай "хакерскай этыкі", [ 3 ], і людзі былі не толькі заахвочваць, але чакаецца, доля ўсё ўдасканалення яны ўнеслі ў сістэму. Як Столлман пазней пісаў:
Мы не называлі наша праграмнае забеспячэнне "свабодным праграмным забеспячэннем", таму што гэты тэрмін яшчэ не існаваў, але гэта тое, што гэта было. Кожны раз, калі людзі з іншага універсітэта або кампанія хоча ў порт і выкарыстоўваць праграму, мы ахвотна дазволім ім. Калі вы бачылі, хтосьці выкарыстоўвае незнаёмыя і цікавыя праграмы, ты заўсёды можаш папрасіць, каб убачыць зыходны код, так што вы маглі б прачытаць яго, змяніць яго, або пажыраць яго часткі, каб зрабіць новую праграму.
Гэта супольнасць Эдемского павалілася вакол Столлман неўзабаве пасля 1980 года, калі змены, якія адбываліся ў астатняй прамысловасці, нарэшце, дагналі AI Lab. Запуску кампанія наняла многія праграмісты Лабараторыі працаваць на аперацыйнай сістэме падобнае таму, што яны працавалі па крайняй Лабараторыі, толькі зараз пад выключнай ліцэнзіяй. У той жа час, AI Lab набыла новае абсталяванне, што прыйшлі з уласнай аперацыйнай сістэмы.
Столлман ўбачыў вялікія карціны ў тым, што адбываецца:
Сучасных кампутараў таго часу, такіх як VAX або 68020, мелі свае ўласныя аперацыйныя сістэмы, але ніхто з іх не было вольнага праграмнага забеспячэння: Вы павінны былі падпісаць пагадненне аб невыдаванні нават атрымаць выкананую копію.
Гэта азначала, што першым крокам у выкарыстанні кампутара было абяцанне не дапамагаць блізкаму. Супрацоўнічаюць краінамі было забаронена. Правіла, даюць ўладальнікі патэнтаванага праграмнага забеспячэння было, "Калі вы падзяляеце з вашым суседам, вы пірат. Калі вы хочаце зменаў, маліць нас, каб зрабіць іх".
Па некаторых дзівацтва асобы, ён вырашыў супрацьстаяць тэндэнцыі. Замест таго каб працягваць працу ў цяпер ужо знішчаныя лабараторыі ІІ, або з працай напісання кода на адным з новых кампаній, дзе вынікі яго працы будуць зачыненыя ў акно, ён пайшоў з лабараторыі і пачаў праект GNU і Фонд вольнага праграмнага забеспячэння (FSF). Мэта GNU [ 4 ] была распрацоўка цалкам свабоднымі і адкрытымі кампутары аперацыйнай сістэмы і цела прыкладнога праграмнага забеспячэння, у якія карыстальнікі ніколі не будуць папярэджаныя ад узлому або ад абмену іх мадыфікацый. Ён быў, у сутнасці, у якіх выкладаюцца ўзнавіць тое, што было разбурана ў лабараторыі штучнага інтэлекту, а ў сусветным маштабе і без уразлівасцяў, якія былі зробленыя культуры А. І. Лабараторыі схільныя распаду.
У дадатак да працы на новай аперацыйнай сістэмы, Столлман распрацаваў аўтарскую ліцэнзію, тэрмін паўнамоцтваў якіх гарантавана, што яго код будзе пастаянна бясплатна. GNU General Public License (GPL) з'яўляецца разумным частка прававой дзюдо: ён кажа, што код можа быць скапіяваны і зменены без абмежаванняў, і што абодва копіі і вытворныя працы (напрыклад, змена версіі) павінны быць размеркаваны па той жа ліцэнзіі, як арыгінал, без якіх-небудзь дадатковых абмежаванняў. У сутнасці, ён выкарыстоўвае закон аб аўтарскім праве для дасягнення эфекту, процілеглага традыцыйнага аўтарскага права: замест абмежаванні праграмнага забеспячэння размеркавання, гэта прадухіляе любы, нават аўтар, ад абмежавання яго. Для Столлман, гэта было лепш, чым проста паклаўшы яго код ў грамадскую ўласнасць. Калі б гэта было ў грамадзкай уласнасьці, якой-небудзь канкрэтнай копіі ён можа быць уключаны ў закрытую праграму (як гэта таксама было вядома, здараецца, код у дазваляюць ліцэнзій аўтарскімі правамі). Хоць такое ўключэнне не ў якай меры не памяншае пастаянную даступнасць зыходнага кода, гэта азначала б, што намаганні Столлмана могуць скарыстацца вораг-прапрыетарнае праграмнае забеспячэнне. GPL можа разглядацца як форма пратэкцыянізму для свабоднага праграмнага забеспячэння, таму што гэта перашкаджае несвабоднай праграмнага забеспячэння ў поўнай меры скарыстацца з GPL-кода. GPL і яе сувязь з іншымі вольнымі ліцэнзіямі падрабязна разглядаюцца ў чале 9, ліцэнзіі, аўтарскія правы і патэнты.
З дапамогай шматлікіх праграмістаў, некаторыя з якіх агульнай ідэалогіі Столлмана і некаторыя з іх проста хацеў, каб убачыць шмат вольнага кода даступна, праекта GNU пачаў выпускаць свабоднай замены для многіх з найбольш важных кампанентаў аперацыйнай сістэмы. З цяпер шырока стандартызацыі ў галіне камп'ютэрнага абсталявання і праграмнага забеспячэння, можна было выкарыстаць GNU замены па іншых несвабодных сістэм, і многія людзі. Рэдактар ??GNU тэкст (Emacs) і C (кампілятар GCC) былі асабліва паспяховыя, атрымаўшы вялікі і ляяльнай наступныя не па ідэалагічных меркаваннях, а проста ад іх тэхнічных характарыстык. Прыкладна да 1990 годзе, GNU падрыхтавала большасць свабодная аперацыйная сістэма, за выключэннем ядра часткі, што машына на самай справе загружаецца, і што нясе адказнасць за кіраванне памяццю, дыска і іншых сістэмных рэсурсаў.
На жаль, праект GNU абраў ядро ??дызайн, які апынуўся складаней, чым чакалася. Наступныя затрымкі перашкодзілі Free Software Foundation ад стварэння першага рэлізу цалкам свабоднай аперацыйнай сістэмы. Апошняя частка была ўведзена ў месцы замест гэтага Лінус Торвальдс, фінскі студэнт інфарматыкі, які з дапамогай добраахвотнікаў па ўсім свеце, былі завершаны вольнага ядра з дапамогай больш кансерватыўны дызайн. Ён назваў яго Linux, і, калі яна была аб'яднаная з існуючымі праграмамі GNU, вынік быў цалкам свабоднай аперацыйнай сістэмы. У першы раз, вы можаце загрузцы кампутара і працаваць без выкарыстання ўласнага праграмнага забеспячэння. [ 5 ]
Большая частка праграмнага забеспячэння на гэтай новай аперацыйнай сістэмы не быў выраблены ў рамках праекта GNU. На самай справе, GNU нават не толькі рабочая група па вытворчасці свабодная аперацыйная сістэма (напрыклад, код, які ў канчатковым выніку стаў NetBSD і FreeBSD ўжо на стадыі распрацоўкі да гэтага часу). Важнасць Free Software Foundation была не толькі ў кодзе яны пісалі, але ў іх палітычнай рыторыкі. Па гаворым аб свабодным праграмным забеспячэнні ў якасці прычыны, а не выгоды, яны зрабілі гэта цяжка для праграмістаў не маюць палітычнага свядомасці аб ім. Нават тыя, хто не згодны з FSF было займацца пытаннем, калі толькі заслупаваць іншую пазіцыю. Эфектыўнасць FSF як прапагандысты ляжаў у звязваючы іх код на паведамленне, з дапамогай GPL і іншых тэкстаў. Як іх код шырокае распаўсюджванне, што паведамленне распаўсюджвання, а таксама.
Існавалі многае іншае адбываецца ў нараджалася свабоднай сцэны праграмнага забеспячэння, аднак, і нешматлікія былі відавочным ідэалагічных як праект GNU Столлмана. Адным з найбольш важных быў Software Distribution Berkeley (BSD), паступовае аднаўленне ажыццяўлення аперацыйнай сістэмы Unix-якія да канца 1970-х гадоў былі слаба ўласнай навукова-даследчы праект у AT & T-праграмістамі ў Універсітэце Каліфорніі ў Берклі. Група BSD не рабіў ніякіх адкрытых палітычных заяў аб неабходнасці для праграмістаў аб'яднацца і падзяліцца адзін з адным, але яны практыкавалі ідэя з талентам і энтузіязмам, шляхам каардынацыі масіўных размеркаваных намаганняў у галіне развіцця, у якім Unix ўтыліты каманднага радка і Код бібліятэкі, і ў канчатковым выніку ядро ??аперацыйнай сістэмы, былі перапісаны з нуля асноўным добраахвотнікі. Праект BSD стала яркім прыкладам не-ідэалагічнай распрацоўкі вольнага праграмнага забеспячэння, а таксама служыў трэніровачнай пляцоўкай для многіх распрацоўшчыкаў, якія працягнулі б заставацца актыўным у свеце адкрытага зыходнага кода.
Іншы тигле развіцця кааператываў была X Window System, свабодны, сеткі-празрысты графічны вылічальнай асяроддзя, распрацаваны ў Масачусецкім тэхналагічным інстытуце ў сярэдзіне 1980-х гадоў у супрацоўніцтве з вытворцамі апаратнага забеспячэння, хто меў агульны інтарэс у тым, у стане прапанаваць сваім кліентам аконнай сістэмы. Удалечыні ад процілеглых прапрыетарнае праграмнае забеспячэнне, ліцэнзіі X свядома дазволілі ўласныя пашырэння ў верхняй частцы вольнага ядра кожнага члена кансорцыума хацеў шанец для павышэння размеркавання X па змаўчанні, і тым самым атрымаць канкурэнтная перавага перад іншымі членамі. X Windows [ 6 ] Сам свабоднае праграмнае забеспячэнне, але галоўным чынам як спосаб ўзроўню гульнявога поля паміж канкуруючымі інтарэсамі бізнэсу, а не з якога-то жадання, каб пакласці канец панавання патэнтаванага праграмнага забеспячэння. Яшчэ адзін прыклад, які папярэднічаў праекта GNU па некалькі гадоў, быў TeX, свабодны, Дональда Кнута выдавецка-якасць вёрсткі сістэмы. Ён выпусціў яе на ўмовах ліцэнзіі, што падалі магчымасць усім жадаючым мадыфікаваць і распаўсюджваць код, але не называць вынік "TeX", калі яна прайшла вельмі строгі набор тэстаў на сумяшчальнасць (гэта прыклад "таварны знак-абарона" класа свабодных ліцэнзій, больш падрабязна абмяркоўваюцца ў чале 9, ліцэнзіі, аўтарскія правы і патэнты ). Кнут не прымаў стаяць так ці іншых па пытанні аб свабодным супраць-прапрыетарнае праграмнае забеспячэнне, ён проста трэба лепш вёрсткі сістэмы, з тым каб завяршыць яго рэальная мэта-кніга пра праграмаванні і не бачыць прычын не вызваліць яго з светам, калі скончыце.
Не пералічваючы кожны праект і кожная ліцэнзія, можна з упэўненасцю сказаць, што да канца 1980-х гадоў, было шмат вольнага праграмнага забеспячэння, даступнага ў шырокім дыяпазоне ліцэнзій. Разнастайнасць ліцэнзій адлюстраваны адпаведныя разнастайнасць матывацый. Нават некаторыя з праграмістаў, якія абралі GNU GPL былі значна менш ідэалагізаваны, чым праект GNU сябе. Хоць яны і прыемна працаваць на вольным праграмным забеспячэнні, шматлікія распрацоўнікі не лічаць уласнае праграмнае забеспячэнне сацыяльнага зла. Былі людзі, якія адчувалі маральную імпульс, каб пазбавіць свет "праграмнае забеспячэнне назапашвання" (тэрмін Столлмана для несвабоднай ПА), але іншыя былі больш матываваныя тэхнічнай хвалявання, або задавальненне працаваць з аднадумцамі супрацоўнікаў, ці нават з дапамогай простага чалавечага жадання славы. Але ў агульным і цэлым гэтыя разрозненыя матывы не ўзаемадзейнічаюць у згубным чынам. Гэта часткова таму, што праграмнае забеспячэнне, у адрозненне ад іншых творчых формаў, як проза або выяўленчага мастацтва, павінны прайсці паў-аб'ектыўныя тэсты для таго, каб лічыць паспяховым: ён павінен працаваць, і быць дастаткова свабодным ад памылак. Гэта дае ўсім удзельнікам праекта выгляд аўтаматычнага агульную мову, розум і рамкі для сумеснай працы, не занадта клапаціцца аб кваліфікацыі за межы тэхнічнай.
Распрацоўнікам прыйшлося яшчэ адна прычына трымацца разам, а таксама: апынулася, што ў свеце вольнага ПА вырабляў вельмі высокай якасці кода. У некаторых выпадках, гэта быў відавочна тэхнічна пераўзыходзіць бліжэйшага несвабоднай альтэрнатыўных, у іншых яна была па меншай меры супастаўныя, і, вядома, гэта заўсёды танней. Хоць толькі нешматлікія людзі маглі быць матываваныя, каб працаваць вольнага праграмнага забеспячэння на строга філасофскіх падстаў, вельмі многія людзі былі шчаслівыя, каб запусціць яго, таму што ён лепш. І тых, хто выкарыстаў яго, нейкі адсотак заўсёды былі гатовыя ахвяраваць сваім часам і навыкі, якія дапамогуць падтрымліваць і паляпшаць праграмнае забеспячэнне.
Гэтая тэндэнцыя вырабляць добры код, вядома, не універсальны, але гэта адбываецца ўсё часцей і часцей ў свабодных праграмных праектаў па ўсім свеце. Прадпрыемствы, якія моцна залежалі ад праграмнага забеспячэння паступова пачалі звяртаць увагу. Многія з іх выявілі, што яны ўжо выкарыстоўваюць свабоднае праграмнае забеспячэнне ў дзень-у дзень аперацыі, і проста не ведаў яго (вышэйшае кіраўніцтва не заўсёды ў курсе ўсяго ІТ-аддзел робіць). Карпарацыі сталі гуляць больш актыўную і прыкметную ролю ў свабодных праграмных праектаў, якія спрыяюць часу і абсталявання, а часам і прамое фінансаванне развіцця свабодных праграм. Такія інвестыцыі могуць, у лепшым сцэнары, пагасіць самі шмат разоў. Спонсар аплачвае толькі невялікае лік экспертаў праграмістаў прысвяціць сябе праекту поўны працоўны дзень, але прыносіць перавагі ўклад кожнага чалавека, уключаючы працу з добраахвотнікамі бясплатна і ад праграмістаў надаецца іншымі карпарацыямі.
Як карпаратыўны свет даў больш і больш увагі на свабоднае праграмнае забеспячэнне, праграмісты сутыкнуліся з новымі пытаннямі прэзентацыі. Адзін з іх слова "свабодны" само па сабе. На першым слуханні тэрмін "свабоднае праграмнае забеспячэнне" многія людзі памылкова думаюць, яно азначае толькі "нулявы кошту ПА." Гэта праўда, што ўсе вольнае праграмнае забеспячэнне з нулявой коштам, [ 7 ], але не ўсе з нулявой коштам праграмнае забеспячэнне з'яўляецца бясплатным. Напрыклад, падчас бітвы браўзэраў у 1990-х гадоў, як Netscape і Microsoft аддалі свае канкуруючыя вэб-браўзэры на бязвыплатнай аснове, у сутычцы, каб атрымаць долю на рынку. Ні браўзэр бясплатна ў "свабоднае ВА" сэнсе. Вы не маглі атрымаць зыходны код, і нават калі б вы маглі, вы не маюць права змяняць або распаўсюджваць яго. [ 8 ] Адзінае, што вы маглі зрабіць, гэта загрузіць выкананы файл і запусціць яго. Браўзэры былі не больш свабоднымі, чым спакавалі праграмнага забеспячэння купіў у краме, яны проста былі больш нізкай цане.
Гэтая блытаніна на слова "бясплатна" абумоўлена выключна няшчасны двухсэнсоўнасць ў англійскай мове. Большасць іншых мовах адрозніваць нізкія цэны ад волі (адрозненне паміж бязвыплатна і Libre адразу ясна размаўлялых на раманскіх мовах, напрыклад). Але пазіцыя англійская як мост дэ-факта мова Інтэрнэту азначае, што праблемы з ангельскай, у некаторай ступені, праблема для ўсіх. Непаразуменні вакол слова "свабодны" было настолькі распаўсюджанае, што свабодных праграмістаў у канчатковым выніку ператварылася ў стандартную формулу адказу: "Гэта бясплатна, як ва ўмовах свабоды, думаю, свабоду слова, а не бясплатнае піва". Тым не менш, прыходзіцца тлумачыць гэта зноў і зноў, стомна. Многія праграмісты адчувалі, з некаторымі агаворкамі, што неадназначнае слова "свабодны" было перашкаджае разуменню грамадскасцю гэтага праграмнага забеспячэння.
Але праблема пайшлі глыбей. Слова "бясплатна" цягне за сабой непазбежнае маральнае канатацыю: калі свабода была самамэтай, гэта не мела Ці свабоднае праграмнае забеспячэнне таксама апынуліся лепш, або больш выгадна для некаторых прадпрыемстваў у пэўных абставінах. Гэта былі ўсяго толькі прыемным пабочныя эфекты матыў, які быў, у сутнасці, ні тэхнічных, ні гандлёвага, але і маральная. Акрамя таго, "бясплатна, як ва ўмовах свабоды" пазіцыі вымушаныя абуральнае неадпаведнасць у дачыненні да карпарацый, якія хацелі падтрымаць прыватнасці свабодных праграм у адным з аспектаў свайго бізнесу, але працягваюць маркетынг прапрыетарнага праграмнага забеспячэння ў іншых.
Гэтыя дылемы прыйшлі да супольнасці, што ўжо на парозе крызісу ідэнтычнасці. Праграмістаў, якія на самай справе напісаць свабоднае праграмнае забеспячэнне ніколі не было адзінага меркавання аб канчатковай мэты, калі такія маюцца, руху вольнага праграмнага забеспячэння. Нават сказаць, што меркаванні працаваць ад адной крайнасці да іншай можа ўвесці ў зман, у тым, што было б памылкова мяркуюць лінейнай вобласці, дзе ёсць замест шматмернага рассеяння. Тым не менш, дзве шырокія катэгорыі веры можна вылучыць, калі мы гатовыя ігнараваць тонкасці на дадзены момант. Адна група бярэ гледжання Столлмана, што свабоду сумесна выкарыстоўваць і змяняць гэта самае галоўнае, і што, такім чынам, калі перастаць гаварыць пра свабоду, вы пакінулі з асноўных пытанняў. Іншыя лічаць, што само праграмнае забеспячэнне з'яўляецца найбольш важным аргументам у яе карысць, і няёмка з абвяшчэньня прапрыетарнае праграмнае забеспячэнне першапачаткова дрэнных. Некаторыя, але не ўсё, свабодны праграмісты лічаць, што аўтар (ці працадаўцы, у выпадку аплачваную працу) павінны мець права на кантроль умоў распаўсюджвання, і што не маральнае меркаваньне неабходна быць далучаны да выбару канкрэтных умоў.
Для доўгага часу, гэтыя адрозненні не павінны быць старанна вывучаны і сфармуляваны, але які расце поспех свабоднага праграмнага забеспячэння ў свеце бізнесу робяць пытанне непазбежна. У 1998 годзе тэрмін з адкрытым зыходным кодам быў створаны як альтэрнатыва "бясплатна", кааліцыяй праграмістаў, якія ў канчатковым выніку стаў Open Source Initiative (OSI). [ 9 ] OSI адчуваў, што не толькі "вольнае ПА" быў патэнцыйна супярэчлівай, але, што слова "свабодны" было толькі адным сімптомам агульнай праблемы: што рух неабходна маркетынгавую праграму, каб перадаць яго ў карпаратыўным свеце, і, што казаць пра мараль і сацыяльныя выгады ад абмену ніколі не будзе лятаць у залах пасяджэнняў. Па іх уласным словах:
Open Source Initiative з'яўляецца маркетынгавая праграма для вольнага праграмнага забеспячэння. Гэта крок для "вольнага ПА" на цвёрдым прагматычнымі меркаваннямі, а не ідэалагічныя напышлівы. Перамогі рэчывы не змянілася, страты стаўленне і сімвалізм ёсць....
Выпадку, што павінна быць зроблена для большасці тэхнароў не пра канцэпцыі адкрытага зыходнага кода, але імя. Чаму б не называць яго, як мы традыцыйна, бясплатнае праграмнае забеспячэнне?
Адзін непасрэднай прычынай з'яўляецца тое, што тэрмін "вольнае ПА" лёгка зразумелі такім чынам, каб прывесці да канфлікту....
Але рэальная прычына для паўторнага маркіроўка маркетынгавай. Мы спрабуем, каб перадаць нашу канцэпцыю ў карпаратыўным свеце цяпер. У нас ёсць прадукт перамогі, але нашы пазіцыі, і ў мінулым, было жудасна. Тэрмін "вольнае ПА" быў зразуметы дзелавых людзей, якія памылкі жаданне падзяліцца з анты-камерцыі, ці яшчэ горш, крадзяжы.
Mainstream карпаратыўныя кіраўнікі і тэхнічныя дырэктара ніколі не купяць "свабоднае праграмнае забеспячэнне". Але калі ўзяць тыя ж традыцыі, тыя ж людзі, і ў той жа ліцэнзій на праграмнае забеспячэнне бясплатна і змяніць цэтлік на "з адкрытым зыходным кодам"?, Што яны будуць купляць.
Некаторыя хакеры цяжка ў гэта паверыць, але гэта таму, што яны тэхнары, якія думаюць у бетоне, істотныя ўмовы і не разумею, як важна малюнак, калі вы прадаеце што-то.
У маркетынгу, знешні выгляд рэальнасці. Выгляд, што мы гатовыя спусціцца з барыкад і працаваць з карпаратыўным светам разлічвае на столькі, колькі ў рэальнасці наша паводзіны, нашы перакананні, і наша праграмнае забеспячэнне.
(Ад http://www.opensource.org/ -. Дакладней, раней з гэтага сайта Інстытута "Адкрытае грамадства па-відаць, знялі старонак з тых часоў, хоць яны ўсё яшчэ можна ўбачыць на http://web.archive.org/web / 20021204155057/http: / / www.opensource.org / прапагандысцкай / faq.php і http://web.archive.org/web/20021204155022/http://www.opensource.org/advocacy/case_for_hackers.php # маркетынгу.)
Саветы многіх айсбергаў спрэчак бачныя ў гэтым тэксце. Яно спасылаецца на "нашы перакананні", але спрытна пазбягае напісання, што менавіта гэтыя перакананні. Для некаторых, гэта можа быць упэўненасць, што код, распрацаваны ў адпаведнасці з адкрытага працэсу будзе лепш код, для іншых гэта можа быць упэўненасць, што ўся інфармацыя павінна быць агульнай. Там у выкарыстанні словы "крадзеж" у стаўленні (магчыма) "для незаконнага капіявання, выкарыстання, што многія аб'ект, на той падставе, што гэта не крадзёж, калі першапачатковы ўладальнік да гэтага часу пункт пасля. Там у дразнящий намёк, што руху вольнага праграмнага забеспячэння можа быць памылкова абвінавачваюць у анты-камерцыі, але яна пакідае старанна недаследаваны пытанне аб тым, такіх абвінавачанне будзе мець ніякіх падстаў.
Ні адзін з якіх павінен сказаць, што вэб-сайт Інстытута "Адкрытае грамадства з'яўляецца несумяшчальным або ўводзіць у зман. Гэта не так. Хутчэй, гэта прыклад таго, што OSI прэтэнзіі былі адсутнічаюць руху вольнага праграмнага забеспячэння: добры маркетынг, дзе "добра" азначае "жыццяздольным у дзелавым свеце." Open Source Initiative даў шмат людзей, што менавіта яны шукалі-слоўнік для гаворым аб свабодным праграмным забеспячэнні ў якасці метадалогіі развіцця і бізнес-стратэгіі, а не як маральны крыжовы паход.
З'яўленне Open Source Initiative змяніўся пейзаж вольнага праграмнага забеспячэння. Гэта фармалізаваная дыхатаміі, што ўжо даўно неназваным, і пры гэтым вымушаныя руху прызнаць, што яна ўнутранай палітыкі, а таксама вонкавыя. Сёння эфект, што абодва бакі павінны былі знайсці агульную мову, так як большасць праектаў ўключаюць праграмістаў з абодвух лагераў, а таксама ўдзельнікі, якія не падыходзяць выразных катэгорый. Гэта не азначае, што людзі ніколі не кажуць аб маральнай матывацыі-хібы ў традыцыйнай "хакерскай этыкай" часам называюць з, напрыклад. Але гэта рэдкі для свабоднага праграмнага забеспячэння / распрацоўшчык адкрытай крыніца адкрыта пытанне асноўнай матывацыі іншых у праекце. Уклад казыры укладчыкам. Калі хто-то піша добры код, вы не папытаеце яны робяць гэта па маральным прычынах, ці таму, што іх працадаўца выплачвае ім, ці таму, што яны будуюць свае рэзюмэ, ці Што заўгодна. Вы ацэньваеце ўклад па тэхнічных прычынах, і адказваць па тэхнічных прычынах. Нават відавочна палітычных арганізацый, такіх як Debian праекту, мэтай якога з'яўляецца прадастаўленне 100% свабоднай (гэта значыць, "бясплатна, як ва ўмовах свабоды") вылічальнае асяроддзе, досыць паралізаваны аб інтэграцыі з несвабоднай код і супрацоўнічае з праграмістамі, якія не Доля роўна тыя ж мэты.
Пры запуску праекта вольнага праграмнага забеспячэння, вам не трэба будзе казаць аб такіх важкіх філасофскіх пытанняў на штодзённай аснове. Праграмісты не будзе настойваць на тым, што кожны з праектаў згодны з іх поглядамі на ўсе (тыя, хто настойваюць на гэтым хутка аказваюцца не ў стане працаваць у любым праекце). Але вы павінны ведаць, што пытанне аб "свабодных" супраць "з адкрытым зыходным кодам" існуе, збольшага каб не гаварыць рэчы, якія могуць быць варожыя некаторыя з удзельнікаў, а часткова таму, што разуменне матывацыі распрацоўнікаў з'яўляецца лепшым спосабам, у некаторых сэнсе, адзіны шлях да кіравання праектам.
Вольнае праграмнае забеспячэнне культуры па выбары. Каб паспяхова працаваць у ім, вы павінны зразумець, чаму людзі хочуць быць у ім у першую чаргу. Прымусовыя метады не працуюць. Калі людзі незадаволеныя ў адным праекце, яны проста перабяруцца на іншы. Бясплатнае праграмнае забеспячэнне адрозніваецца нават сярод добраахвотнікаў суполак для сваёй лёгкасці інвестыцый. Большасць людзей, якія ўдзельнічаюць у рэчаіснасці ніколі не сустрэліся іншых удзельнікаў тварам да асобе, і проста ахвяраваць біт часу, калі яны адчуваюць, што гэта. Нармальныя каналы па якой людзі звязваюцца адзін з адным і ўтвараюць трывалы групы павузіўся да маленькіх каналаў: пісьмовае слова, пераносяцца электронных правадоў. З-за гэтага, гэта можа заняць шмат часу, згуртаванай і прысвечаны групе форме. Наадварот, гэта вельмі лёгка для праекта страціць патэнцыйных добраахвотнікаў у першыя пяць хвілін знаёмства. Калі праект не зрабіць добрае першае ўражанне, навічкі рэдка даць яму другі шанец.
Хуткацечнасць, ці, хутчэй, патэнцыйныя хуткацечнасць, адносін, мабыць, самая складаная задача, якая стаіць перад новым праектам. Што будзе пераканаць усіх гэтых людзей, каб трымацца разам досыць доўга, каб вырабіць нешта карыснае? Адказ на гэтае пытанне дастаткова складаны, каб заняць на астатняй частцы гэтай кнігі, але калі яна павінна быць выяўлена ў адным сказе, што ён будзе такім:
Людзі павінны адчуваць, што іх сувязь з праектам, і ўплыў на яе, прама прапарцыянальна іх ўкладах.
Ні адзін клас распрацоўшчыкаў, ці патэнцыяльных распрацоўшчыкаў, павінна калі-небудзь адчувалі са зніжкай або дыскрымінацыі за не-тэхнічных прычынах. Ясна, што праекты з карпаратыўнага спонсарства і / або наёмным распрацоўшчыкі павінны быць асабліва асцярожныя ў гэтым дачыненні, як кіраўнік 5, грошы разглядаюцца падрабязна. Вядома, гэта не азначае, што калі няма карпаратыўнага спонсарства, то вам няма чаго турбавацца. Грошы толькі адным з многіх фактараў, якія могуць паўплываць на поспех праекта. Ёсць таксама пытанні аб тым, што мова выбраць, што ліцэнзія, што працэс развіцця, сапраўды нейкая інфраструктура створана, як публікаваць пачатку праекта эфектыўна, і многае іншае. Запуск праекта на правую нагу з'яўляецца тэмай наступнай кіраўніка.
[ 2 ] SourceForge.net, адзін папулярны хостынг сайта, было 79225 праектаў, зарэгістраваных па стане на сярэдзіну красавіка 2004 года. Гэта далёка не агульная колькасць праектаў вольнага праграмнага забеспячэння ў Інтэрнэце, вядома, гэта проста нумар, які вырашыў выкарыстоўваць SourceForge.
[ 3 ] Столлман выкарыстоўвае слова "хакер" у сэнсе "той, хто любіць праграмаваць і любіць быць разумным аб гэтым", а не адносна новае значэнне "той, хто ўрываецца ў кампутарах."
[ 4 ] Гэта азначае "Not Unix GNU", і "GNU" у тым, што пашырэнне стэнды для... тое ж самае.
[ 5 ] Тэхнічна, Linux не была першай. Свабодная аперацыйная сістэма для IBM-сумяшчальных камп'ютэраў, званая 386BSD, выйшла незадоўга да Linux. Аднак, гэта было нашмат складаней атрымаць 386BSD і працуе. Linux зрабіў такі ўсплёск не толькі таму, што яна была свабоднай, а таму, што на самой справе былі высокія шанцы загрузцы кампутара, калі вы ўстанавілі.
[ 6 ] Яны аддаюць перавагу яго зваць "X Window System", але на практыцы, людзі звычайна называюць гэта "X Windows", таму што тры словы проста занадта грувастка.
[ 7 ] Адзін можа спаганяць плату за выдачу копіі свабоднага ПЗ, але паколькі ніхто не можа спыніць атрымальнікаў прапаноўваць яе бясплатна потым, цана эфектыўна даведзены да нуля неадкладна.
[ 8 ] зыходны код Netscape Navigator быў выпушчаны пад ліцэнзіяй адкрытага крыніцы, у 1998 годзе і стала асновай для вэб-браўзэра Mozilla. Глядзіце http://www.mozilla.org/.
[ 9 вэб-старонка] ИОО http://www.opensource.org/.
Змест
Класічны прыклад таго, як праектаў вольнага праграмнага забеспячэння пачатку было пастаўлена Эрык Рэйманд, у цяперашні час вядомы дакумент аб адкрытым зыходным кодам працэсаў азагалоўленай Сабор і кірмаш. Ён піша:
Кожная добрая праца праграмнага забеспячэння пачынаецца з драпін асабістага свербу распрацоўніка.
Звярніце ўвагу, што Райманд быў не кажу, што праекты з адкрытым кодам адбудзецца толькі тады, калі асобныя атрымлівае сверб. Хутчэй, ён казаў, што добрыя вынікі праграмнага забеспячэння, калі праграміст мае асабістую зацікаўленасць у тым, каб праблема вырашылася, актуальнасць гэтага ў свабоднае праграмнае забеспячэнне было тое, што асабістыя сверб апынуўся найбольш частай матывацыяй для пачатку адкрытага праекта.
Гэта па-ранейшаму, як большасць праектаў вольнага праграмнага забеспячэння запускаюцца, але ў меншай ступені, чым у 1997 годзе, калі Райманд напісаў гэтыя словы. Сёння ў нас ёсць з'ява арганізацый, у тым ліку некамерцыйных карпарацый, пачынаючы вялікія, цэнтралізавана кіруемыя праекты з адкрытым кодам з нуля. Самотны праграміст, ударыўшы з код, каб вырашыць мясцовыя праблемы, а затым рэалізацыі вынік больш шырокае прымяненне, па-ранейшаму крыніцай шмат новага вольнага праграмнага забеспячэння, але не толькі гісторыя.
Райманд кропкі па-ранейшаму праніклівыя, аднак. Неабходнай умовай з'яўляецца тое, што вытворцы праграмнага забеспячэння маюць прамую зацікаўленасць у яго поспеху, таму што яны выкарыстоўваюць гэта самі. Калі праграмнае забеспячэнне не рабіць тое, што ён павінен рабіць, асобы або арганізацыі вытворчасці ён будзе адчуваць нездаволенасць ў сваёй паўсядзённай працы. Напрыклад, праект OpenAdapter ( http://www.openadapter.org/ ), які быў пачаты інвестыцыйны банк Dresdner Kleinwort Wasserstein, як з адкрытым зыходным кодам для інтэграцыі разрозненых сістэм фінансавай інфармацыі, наўрад ці можна сказаць з нуля любога асобнага праграміста асабістага зуд. Гэта драпін інстытуцыйных сверб. Але што сверб ўзнікае непасрэдна з вопыту арганізацыі і яе партнёраў, і таму, калі праект не вызваляе іх, яны будуць ведаць. Гэты механізм вырабляе добрае праграмнае забеспячэнне, паколькі зваротная сувязь патокаў у правільным кірунку. Праграма не напісаны, каб быць прададзены каму-небудзь яшчэ, каб яны маглі вырашаць свае праблемы. Гэта пішацца, каб вырашыць свае ўласныя праблемы, а затым сумесна з кожнага, колькі, хоць праблемы былі хваробы і праграмнае забеспячэнне былі медыцыны, размеркаванне якіх прызначана для поўнага выкаранення эпідэміі.
У гэтай чале аб тым, як ўвесці новы бясплатны праграмны праект у свеце, але многія з яго рэкамендацый будзе гучаць знаёмыя арганізацыя аховы здароўя распаўсюдзе медыцыны. Мэтаў вельмі падобныя: вы хочаце, каб зразумець, што медыцына робіць, атрымаць яго ў рукі патрэбных людзей, і пераканайцеся, што тыя, хто атрымлівае яго ведае, як яго выкарыстоўваць. Але з праграмным забеспячэннем, вы таксама хочаце спакусіць некаторых атрымальнікаў да ўступлення ў бягучых даследчых намаганняў для паляпшэння медыцыны.
Бясплатнае распаўсюджванне праграмнага забеспячэння з'яўляецца падвойная задача. Праграмнае забеспячэнне павінна набыць карыстальнікі, а таксама набываць распрацоўнікаў. Гэтыя дзве патрэбы не абавязкова ў канфлікце, але яны сапраўды дадаюць некаторую складанасць у першапачатковай прэзентацыі праекта. Некаторая інфармацыя карысная як для гледачоў, некаторыя мае сэнс толькі для аднаго або іншага. Абодва віду інфармацыі павінны падпісацца на прынцып маштабнай прэзентацыі, гэта значыць, ступень дэталізацыі прадстаўленых на кожным этапе павінна адпавядаць непасрэдна колькасць часу і высілкаў, пакласці ў чытачоў. Больш намаганняў павінна заўсёды роўна больш ўзнагароджанне. Калі двое не карэлюе цесна, людзі могуць хутка страціць веру і спыніць інвестыцыі намаганняў.
Следствам гэтага з'яўляецца тое, што выступы пытанні. Праграмісты, у прыватнасці, часта не падабаецца ў гэта верыць. Іх любоў да прыярытэту ўтрымання над формай амаль пункту прафесійнай гонару. Гэта не выпадкова, што многія праграмісты выставу антыпатыі для маркетынгу і работы з грамадскасцю, ні, што прафесійныя графічныя дызайнеры часта жах на тое, што праграмісты прыдумалі самі па сабе.
Гэта шкада, таму што Ёсць сітуацыі, у якіх форма рэчывы, а таксама прэзентацыя праекта з'яўляецца адным з іх. Напрыклад, самае першае, што наведвальнік пазнае аб праекце, што яго вэб-сайт выглядае. Гэтая інфармацыя паглынаецца да таго, фактычнае ўтрыманне на сайце зразумеў, да таго, тэкст быў прачытаны або спасылкі пстрыкнулі. Аднак несправядлівым яно ні было, людзі не могуць спыніць сябе ад фарміравання неадкладнага першае ўражанне. З'яўленне сайта сігналаў Ці былі прыняты меры ў арганізацыі прэзентацыі праекта. Людзі маюць надзвычай адчувальныя антэны для выяўлення інвестыцыйнай дапамогі. Большасць з нас можа сказаць, у адным поглядзе ці вэб-сайт быў кінуты разам хутка і атрымаў сур'ёзныя думкі. Гэта першая частка інфармацыі вашага праекта выдае, і гэта стварае ўражанне будзе перанесены на астатняй часткі праекта па асацыяцыі.
Такім чынам, у той час як вялікая частка гэтай кіраўніка гаворыцца пра змест вашага праекта павінны пачаць з, памятайце, што яго знешні выгляд і пытанне таксама. Паколькі вэб-сайт праекта, які працуе на два розных тыпу наведвальнікаў-карыстальнікаў і распрацоўшчыкаў, асаблівая ўвага павінна быць нададзена выразнасці і накіраванасці. Хоць гэта не месца для агульнага трактат пра вэб-дызайне, адным прынцыпам з'яўляецца дастаткова важным, каб заслугоўваюць згадвання, асабліва калі сайт абслугоўвае некалькі (калі дубліруючых адзін аднаго) аўдыторыя: людзі павінны мець агульнае ўяўленне, дзе сувязь ідзе, перш чым націснуць на яе. Напрыклад, гэта павінна быць відавочна, ад глядзення на спасылкі на дакументацыю, што яны прыводзяць да карыстацкай дакументацыі, а не, скажам, распрацоўшчык дакументацыі. Запуск праекта часткова аб прадастаўленне інфармацыі, але таксама аб пастаўках камфорту. Простае прысутнасць некаторых стандартных прапаноў, у нечаканых месцах, пераконвае карыстальнікаў і распрацоўшчыкаў, якія вырашаюць, ці жадаюць яны прыняць удзел. Ён кажа, што гэты праект мае свае дзейнічаць разам, які апярэдзіў пытанні людзі будуць пытацца, і зрабіў высілак, каб адказаць на іх у шляху, які патрабуе мінімальнага напружання з боку аўтара. Даючы з гэтай аўрай падрыхтаванасці, праекта пасылае паведамленне: "Ваш час не будзе змарнаваны, калі вы патрапілі", якое ў дакладнасці тое, што людзі павінны пачуць.
Перад пачаткам праекта з адкрытым кодам, ёсць адно важнае перасцярогу:
Заўсёды глядзіце вакол, каб убачыць, ці ёсць існуючы праект, які робіць тое, што вы хочаце. Шанцы даволі добра, што ўсе праблемы трэба вырашыць цяпер, хтосьці хацеў вырашыць перад вамі. Калі яны яе вырашыць, і выпусціла свой код пад свабоднай ліцэнзіяй, то няма ніякіх прычын для вас вынаходзіць кола сёння. Ёсць выключэнні, вядома: калі вы хочаце, каб пачаць праект як адукацыйны вопыт, ужо існуючы код не дапаможа, або, можа быць праект, які вы маеце на ўвазе так спецыялізаваных што вы ведаеце, ёсць нулявой шанец хто-то яшчэ зрабіць яго. Але ў цэлым, няма ніякага сэнсу не гледзячы, і выйгрыш можа быць вялізным. Калі звычайныя пошукавыя інтэрнэт не зьявіўся нічога, паспрабуйце выканаць пошук па http://freshmeat.net/ (з адкрытым зыходным кодам праекта навінавы сайт, аб якім яшчэ будзе сказана пазней), на http://www.sourceforge. нета /, а ў Free Software Foundation, каталог вольнага праграмнага забеспячэння ў http://directory.fsf.org/.
Нават калі вы не можаце знайсці менавіта тое, што вы шукалі, вы можаце знайсці што-то так блізка, што мае сэнс далучыцца да гэтага праекту і дадаць функцыянальнасці, чым пачынаць з нуля.
Ты азірнуўся, выявіў, што нічога там сапраўды адпавядае вашым патрэбам, і вырашылі пачаць новы праект.
Што ж цяпер?
Самая цяжкая частка аб запуску праекта вольнага ПА, трансфармацыі прыватных бачанне ў грамадскай. Вы ці ваша арганізацыя можа выдатна ведаем, што вы хочаце, але выказваючы гэтай мэты зразумела ў свеце нямала працы. Важна, аднак, што вы знайшлі час, каб зрабіць гэта. Вы і іншыя заснавальнікі павінны вырашыць, што праект сапраўды о, гэта значыць вырашаць свае абмежаванні, што ён не будзе рабіць, а таксама тое, што ён будзе і пісаць місіі. У гэтай частцы, як правіла, не занадта моцна, хоць часам гэта можа выявіць нявыказанае здагадкі і нават рознагалоссі аб характары праекта, і гэта добра: лепш дазваляць тых, хто зараз, чым пазней. Наступным крокам з'яўляецца пакет да праекта для грамадскага спажывання, і гэта, у асноўным, чыста цяжкай.
Што робіць яго такім працаёмкім, што яна складаецца ў асноўным з арганізацыі і дакументавання рэчы ўсё ўжо ведае "усё", гэта значыць, хто прымаў удзел у праекце да гэтага часу. Такім чынам, для людзей, якія робяць працу, няма ніякай непасрэднай выгады. Яны не маюць патрэбы ў README файл дае агляд праекта, ні праектнай дакументацыі або кіраўніцтве карыстальніка. Яны не маюць патрэбы ў дбайна арганізаваны код дрэва адпаведнай неафіцыйнай, але шырока распаўсюджаны стандартаў размеркавання праграмнага забеспячэння. Незалежна ад спосабу зыходны код уладкованы добра для іх, таму што яны ўжо прывыклі да яго ў любым выпадку, і калі код выконваецца на ўсіх, яны ведаюць, як яго выкарыстоўваць. Гэта нават не пытанне, для іх, калі фундаментальныя архітэктурныя ўмовы праекта застаецца незарэгістраванай, яны ўжо знаёмыя з гэтым таксама.
Пачаткоўцы, з другога боку, патрэбныя гэтыя рэчы. На шчасце, ім не трэба іх усё адразу. Гэта не з'яўляецца неабходным для вас прадаставіць усе магчымыя рэсурсы, перш чым прымаць праект грамадскасці. У ідэальным сьвеце, мабыць, кожны новы праект з адкрытым кодам бы пачаць жыццё з дбайнай дакумент праекта, поўнае кіраўніцтва карыстальніка (з спецыяльнай маркіроўкі для магчымасцяў, запланаваных, але яшчэ не рэалізавана), хораша і пераноснасці упакованы код, які можа працаваць на любой вылічальнай платформы, і так далей. У рэчаіснасці, прымаючы на ??сябе ўсе гэтыя канцы будуць надмерна шмат часу, і ў любым выпадку, гэта працы, якія можна без падстаў спадзявацца, добраахвотнікі дапамогуць з калі-то праекта ідзе поўным ходам.
Што неабходна, аднак, з'яўляецца тое, што досыць інвестыцый ўвесці ў прэзентацыі, што пачаткоўцы могуць прайсці пачатковы перашкодай няведаннем. Думайце пра гэта як першы крок у працэсу загрузкі, каб давесці гэты праект да роду мінімальнай энергіяй актывацыі. Я чуў гэты парог называецца hacktivation энергіі: колькасць энергіі, навічок павінен пакласці ў перш чым яна пачне атрымліваць нешта наўзамен. Ніжэй hacktivation праекта энергіі, тым лепш. Ваша першая задача давесці hacktivation энергіі да ўзроўню, які заклікае людзей да ўдзелу.
Кожны з наступных падраздзелаў апісвае адзін з важных аспектаў, пачынаючы новы праект. Яны прадстаўлены прыкладна ў тым парадку, што новы наведвальнік бы сутыкнуцца з імі, хоць, вядома, парадак, у якім вы на самой справе іх рэалізацыі могуць быць рознымі. Вы можаце разглядаць іх у якасці кантрольнага спісу. Пры запуску праекта, проста ісці ўніз па спісе і пераканацца, што ў вас ёсць кожным пункце пакрытыя, або па крайняй меры, што Вас задавальняе патэнцыйных наступстваў, калі вы пакінулі адзін з.
Пастаўце сябе на месца тых, хто проста чуў аб вашым праекце, магчыма, якія маюць натыкнуўся на гэта пры пошуку праграмнага забеспячэння, каб вырашыць некаторыя праблемы. Першае, што яны сутыкнецеся гэтае імя праекта.
Добрае імя не будзе аўтаматычна зрабіць праект паспяховым, і дрэннае імя не будзе Doom гэта, ну, сапраўды дрэннае імя, верагодна, можа зрабіць гэта, але мы зыходзім з таго, што ніхто тут актыўна спрабуе зрабіць свой ??праект няўдачу. Аднак, дрэннае імя можа запаволіць прыняцце праекта, альбо таму, што людзі не прымаюць яго сур'езна, ці таму што яны проста баіцеся забыць яго.
Добрае імя:
Дае некаторае ўяўленне, што праект робіць, або па крайняй меры звязана відавочным чынам, так, што, калі вядома імя і ведае, што робіць праект, імя прыйдзе хутка на розум пасля гэтага.
Лёгка запомніць. Тут няма абыйсці той факт, што ангельскі мова стала мовай па змаўчанні ў Інтэрнэт: "лёгка запомніць" азначае "лёгка для тых, хто можа чытаць па-ангельску, каб памятаць." Імёны, каламбуры залежыць ад вымаўлення носьбітам мовы, напрыклад, будзе непразрыстая для многіх англійская не з'яўляецца роднай чытачоў там. Калі каламбур асабліва пераканаўчым і запамінальным, ён усё яшчэ можа быць варта, проста майце на ўвазе, што многія людзі бачаць імя не будзе чуць у сваёй галаве спосаб роднай б.
Хіба не тое ж самае імя іншага праекту, і не замахваецца на любыя таварныя знакі. Гэта проста добрым манерам, а таксама добрыя юрыдычным сэнсе. Вы ж не хочаце, каб стварыць ідэнтычнасць блытаніны. Гэта досыць цяжка адсочваць усё, што даступна ў сетцы ўжо, без розных рэчаў з тым жа назвай.
Рэсурсаў згадвалася раней у раздзеле "Але-першае, Look Around" карысныя ў выяўленні ці іншы праект ужо мае назву вы думаеце. таварны знак пошукі бясплатна даступныя на http://www.nameprotect.org/ і http://www.uspto.gov/.
Калі гэта магчыма, даступна як даменнае імя ў. COM,. NET і. Орг даменаў верхняга ўзроўню. Вы павінны выбраць адзін, верагодна,. ORG, для рэкламы, як дома афіцыйным сайце праекту іншыя два павінны наперад там, і проста не дазваляць трэцім бакам ад стварэння асобу блытаніны вакол праекту імя. Нават калі вы збіраецеся правесці праект у іншым месцы (гл. раздзел пад назвай "Кансервы Хостынг" ), вы можаце зарэгістравацца па канкрэтных праектах абласцей і накіроўваць іх на хостынг сайта. Ён дапамагае карыстальнікам, каб мець просты URL, каб памятаць.
Як толькі яны знайшлі вэб-сайце праекта, наступная рэч людзі будуць глядзець на гэта Кароткае апісанне, місія, так што яны могуць вырашыць (на працягу 30 секунд) або не яны зацікаўлены ў атрыманні дадатковай інфармацыі. Гэта павінна быць на бачным месцы на першай старонцы, пажадана прама пад назвай праекта.
Місія павінна быць канкрэтнай, абмежаванне, і, перш за ўсё, кароткі. Вось прыклад добры, з http://www.openoffice.org/ :
Для стварэння, як супольнасці, вядучых міжнародных офісны пакет, які будзе працаваць на ўсіх асноўных платформах і забяспечваць доступ да ўсіх функцый і дадзеным праз адкрыты API, заснаваны кампанента і XML-файл фармату.
Усяго некалькі слоў, яны патрапілі ўсе яркія моманты, у асноўным, абапіраючыся на папярэднія веды чытача. Гаворачы "як супольнасці", яны паказваюць, што ні адна карпарацыя будзе дамінаваць развіцця; "міжнародных" азначае, што праграмнае забеспячэнне дазволіць людзям працаваць на некалькіх мовах і моў; "усіх асноўных платформаў" азначае, што ён будзе пераносным на Unix, Macintosh, і Windows. Астатнія сігналы, адкрытыя інтэрфейсы і зразумелыя фарматы файлаў важнай часткай мэты. Яны не прыходзяць прама і кажуць, што яны спрабуюць быць бясплатная альтэрнатыва Microsoft Office, але большасць людзей, верагодна, можа чытаць паміж радкоў. Хоць гэтая місія выглядае шырокім, на першы погляд, на самай справе гэта даволі абмежаваны: словы "офісны пакет" азначае што-то вельмі канкрэтнае для тых, хто знаёмы з такімі праграмамі. Зноў жа, мяркуецца папярэдняе веданне чытача (у дадзеным выпадку, верагодна, ад MS Office) выкарыстоўваецца для захоўвання кароткай місіі.
Характар ??місіі залежыць збольшага ад таго, хто піша, а не толькі на праграмным забеспячэнні ён апісвае. Напрыклад, гэта мае сэнс для OpenOffice.org выкарыстоўваць словы "абшчына", таму што праект быў пачаты, і да гэтага часу ў значнай ступені аўтарамі, на Sun Microsystems. У тым ліку гэтыя словы, Sun паказвае на яго адчувальнасць да асцярогі, што яна магла б паспрабаваць дамінаваць у працэсе развіцця. З такога роду рэчы, а толькі дэманструе ўсведамленне патэнцыялу праблема выходзіць далёка ў бок пазбегнуць праблему цалкам. З іншага боку, праекты, якія не з'яўляюцца аўтарамі якога з'яўляліся адной карпарацыі, верагодна, не маюць патрэбу ў такой мову, у рэшце рэшт, развіццё супольнасці з'яўляецца нормай, таму якія звычайна не падставай для ўключэння яго ў якасці часткі місіі.
Тыя, хто па-ранейшаму зацікаўлены пасля чытання місіі будзе наступны жадаеце ўбачыць больш дэталяў, можа быць, які-небудзь карыстальнік або распрацоўшчык дакументацыі, і ў канчатковым выніку будзе хацець што-то спампаваць. Але перш, чым любое з гэтага, яны павінны быць упэўненыя, што гэта з адкрытым зыходным кодам.
На першай старонцы павінны недвухсэнсоўна зразумець, што праект з адкрытым зыходным кодам. Гэта можа здацца відавочным, але вы былі б здзіўлены, як шмат праектаў забываюць гэта зрабіць. Я бачыў, свабоднае праграмнае забеспячэнне праекта вэб-сайты, дзе галоўнай старонцы не толькі не кажуць, якія менавіта свабоднай ліцэнзіяй праграмнае забеспячэнне распаўсюджваецца пад, але нават не дзяржава наўпрост, што праграмнае забеспячэнне было бясплатным на ўсіх. Часам важна біт інфармацыі была зьвяду на старонку загрузкі, ці Распрацоўшчыкі старонцы, або ў іншым месцы, што патрабуецца яшчэ адзін пстрычка мышы, каб дабрацца да. У крайніх выпадках, ліцэнзія не была прадастаўлена ў любым месцы на вэб-сайце усё-адзіны шлях, каб знайсці яго было для загрузкі праграмнага забеспячэння і зазірніце ўнутр.
Не рабіце гэтую памылку. Такое бяздзеянне можа страціць шмат патэнцыйных распрацоўшчыкаў і карыстальнікаў. Дзяржава наперад, прама пад місіі, што праект з'яўляецца "свабодным праграмным забеспячэннем" або "з адкрытым зыходным кодам", і даць дакладную ліцэнзіі. Кароткае кіраўніцтва па выбары ліцэнзіі прыведзены ў раздзеле "Выбар ліцэнзіі і яе прымянення" далей у гэтым раздзеле, і пытанні ліцэнзавання падрабязна разглядаюцца ў чале 9, ліцэнзіі, аўтарскія правы і патэнты.
У гэты момант наш гіпатэтычны наведвальнік вызначаецца, верагодна ў хвіліну ці менш, што яна зацікаўлена ў выдаткі, скажам, па крайняй меры яшчэ пяць хвілін расследаванне гэтага праекта. Наступныя раздзелы апісваюць тое, што яна павінна сустрэчы ў тым, што пяць хвілін.
Там павінен быць кароткі пералік асаблівасцяў праграмнага забеспячэння падтрымлівае (калі што-то яшчэ не завершана, вы можаце спісе, але паставіць "плануецца" або "падчас" побач з ім), і выгляд вылічальнай асяроддзя, неабходныя для запуску праграмнага забеспячэння. Падумайце аб магчымасці / пералік патрабаванняў, як тое, што вы маглі б даць каму-то просіць кароткі агляд праграмнага забеспячэння. Гэта часта проста лагічным пашырэннем місіі. Напрыклад, місія можа сказаць:
Для стварэння паўнатэкставых індэксацыі і пошуку рухавік з багатым API, для выкарыстання праграмістамі ў забеспячэнні Пошук паслуг для вялікіх калекцый тэкставых файлаў.
Асаблівасці і патрабаванні спіс вызначае дэталі, удакладнення сферы місіі ў:
Асаблівасці:
Пошукавыя запыты, звычайны тэкст, HTML, XML і
Слова або фразу пошуку
(Плануецца) невыразнага адпаведнасці
(Плануецца) паступовага абнаўлення індэксаў
(Плануецца) індэксаванне аддаленых вэб-сайтаў
Патрабаванні:
Python 02/02 або вышэй
Дастаткова дыскавай прасторы для захоўвання індэксаў (прыкладна 2x арыгінальны памер дадзеных)
З дапамогай гэтай інфармацыі, чытачы могуць хутка адчуць Ці гэта праграмнае забеспячэнне мае ўсе надзеі, якія працуюць на іх, і яны могуць разгледзець магчымасць атрымання удзел як распрацоўнікі таксама.
Людзі заўсёды хочуць ведаць, як праект робіць. Для новых праектаў, яны хочуць ведаць, разрыў паміж абяцаннямі праекта і бягучай рэальнасці. Для сталай праектаў, яны хочуць ведаць, наколькі актыўна ён падтрымліваецца, як часта гэта ставіць новыя рэлізы, наколькі адказна ён, верагодна, будзе для паведамленні пра памылку і г.д.
Каб адказаць на гэтыя пытанні, вы павінны падаць раз развіцця статусу, спіс бліжэйшых мэтаў праекта і патрэбаў (напрыклад, гэта можа быць трэба для распрацоўнікаў з пэўнага віду экспертызы). Старонка можа таксама даць гісторыю мінулых рэлізах, з функцыяй спісы, так што наведвальнікі могуць атрымаць уяўленне аб тым, праект вызначае "Прагрэс" і як хутка гэта робіць прагрэс у адпаведнасці з гэтым азначэннем.
Не бойцеся глядзець не гатовая, і не паддавацца на спакусы шуміха развіцця статусу. Усім вядома, што праграмнае забеспячэнне развіваецца паэтапна, там не сорамна сказаць "Гэта альфа-праграмнае забеспячэнне з вядомых памылак Яна працуе, і працуе па крайняй меры час ад часу, але выкарыстоўвайце на свой страх і рызыку.." Такі мова не адпудзіць відаў распрацоўшчыкаў неабходна на дадзеным этапе. Што ж тычыцца карыстальнікаў, адна з горшых рэчаў, праект можа зрабіць, гэта прыцягнуць карыстальнікаў, перш чым праграма гатовая для іх. Рэпутацыю нестабільнасці або грубых памылак вельмі цяжка пазбавіцца, як толькі набыў. Кансерватызм акупляецца ў доўгатэрміновай перспектыве, гэта заўсёды лепш для праграмнага забеспячэння, каб быць больш стабільным, чым чакае карыстальнік, чым менш, і прыемныя сюрпрызы вырабляюць лепшы выгляд з вуснаў у вусны.
Праграмнае забеспячэнне павінна быць загружаны ў выглядзе зыходнага кода ў стандартных фарматах. Калі праект першага Прыступаючы да працы, двайковы (выкананы файл) пакеты не з'яўляюцца неабходнымі, калі праграмнае забеспячэнне такіх складаных пабудаваць патрабаванні або залежнасці, якія проста прымусіць яго працаваць будзе шмат працы для большасці людзей. (Але калі гэта так, то праект прыйдзецца нялёгка прыцягнуць распрацоўнікаў у любым выпадку!)
Механізму размеркавання павінны быць максімальна зручным, стандартным, і нізкія накладныя выдаткі, як гэта магчыма. Калі вы спрабавалі выкараніць хваробы, вы б не распаўсюджваць медыцыны такім чынам, што яна патрабуе нестандартнага памеру шпрыца ў кіраванні. Акрамя таго, праграмнае забеспячэнне павінна адпавядаць стандартнай зборкі і ўстаноўкі метадаў, тым больш яна адхіляецца ад стандартаў, тым больш патэнцыйных карыстальнікаў і распрацоўшчыкаў будзе здавацца і сыходзіць блытаць.
Гэта здаецца відавочным, але шматлікія праекты не папрацавалі унармоўваць свае працэдуры ўстаноўкі да самага канца ў гульню, кажучы сабе яны могуць зрабіць гэта ў любы час: "Мы ўладзіць ўсё такое, калі код бліжэй да гатоўнасці. "Тое, што яны не разумеюць, што, адкладаючы сумную працу аздобных зборкі і ўстаноўкі працэдур, яны на самой справе робіць код займае больш часу, каб падрыхтавацца, таму што яны перашкаджаюць распрацоўшчыкаў, якія маглі б спрыялі кода. Большасць падступна, яны не ведаюць, яны губляюць усе тыя распрацоўшчыкі, таму што працэс назапашвання не-падзеі: хтосьці наведвае вэб-сайт, загрузкі праграмнага забеспячэння, спрабуе будаваць яе, не атрымоўваецца, здаецца і сыходзіць. Хто ніколі не ведаю, што адбылося, за выключэннем асобы самі? Ніхто не працуе над праектам зразумее, што хто-то цікавасць і добрай волі былі ціха растрачаныя марна.
Свідравыя працы з высокім выйгрышу заўсёды павінна быць зроблена загадзя, і значнага зніжэння бар'ера праекта на ўваход праз добрая ўпакоўка прыносіць вельмі высокую аддачу.
Калі вы адпусціце загружаны пакет, важна, што вы даяце унікальны нумар версіі рэлізу, так што людзі могуць параўнаць любыя два-рэлізы і ведаць, якія замяняе іншы. Падрабязнае абмеркаванне Нумарацыя версій можна знайсці ў раздзеле "Выпуск нумарацыі", і дэталі стандартызацыі зборкі і ўстаноўкі працэдуры апісаны ў раздзеле "Упакоўка" , як у чале 7, Упакоўка, вызваленнем і штодзённая развіцця.
Загрузка пакеты зыходнага кода, выдатна падыходзіць для тых, хто проста хочуць, каб усталяваць і выкарыстоўваць праграмнае забеспячэнне, але гэта не дастаткова для тых, хто хоча адладжваць або дадаць новыя функцыі. Начныя крыніца здымкі могуць дапамагчы, але яны ўсё яшчэ не дробназярністай дастаткова для квітнеючай развіцця суполак. Людзі маюць патрэбу ў рэальным часе доступ да апошняй версіі зыходнага кода, і спосаб даць ім, што з'яўляецца выкарыстанне сістэмы кіравання версіямі. Наяўнасць ананімна даступная версія кантраляваных крыніц ўваходу для карыстальнікаў і распрацоўшчыкаў, што гэты праект робіць намаганні, каб даць людзям тое, што яны павінны ўдзельнічаць. Калі вы не можаце прапанаваць кантролю версій адразу, то мірыцца знак кажу, што вы збіраецеся ўсталяваць яго ў бліжэйшы час. Версія кіравання інфраструктурай падрабязна абмяркоўваецца ў раздзеле "Упраўленне версіямі" ў раздзеле 3, тэхнічная інфраструктура.
Тое ж самае тычыцца памылка трэкера праекта. Важнасць памылка сістэмы сачэння заключаецца не толькі ў яе карыснасці для распрацоўнікаў, але ў тым, што гэта азначае для праекта назіральнікаў. Для многіх людзей, даступнай базы дадзеных памылка з'яўляецца адной з самых моцных прыкмет таго, што праект павінен быць сур'ёзна. Акрамя таго, тым вышэй колькасць памылак у базе дадзеных, тым лепш выглядае праект. Гэта можа здацца нелагічным, але памятайце, што колькасць памылак запісаны сапраўды залежыць ад трох рэчаў: абсалютная колькасць памылак у цяперашні час праграмнае забеспячэнне, колькасць карыстальнікаў пры выкарыстанні праграмнага забеспячэння, і зручнасць, з якой гэтыя карыстальнікі могуць рэгістраваць новыя памылкі. З гэтых трох фактараў, апошнія два з'яўляюцца больш значнымі, чым першы. Любое праграмнае забеспячэнне дастатковага памеру і складанасці мае істотна адвольнае колькасць памылак чакае свайго адкрыцця. Пытанне ў тым, наколькі добра будзе рабіць праект на запіс і прыярытэтнасці гэтых памылак? Праект з вялікім і добраўпарадкаванай памылка базы дадзеных (гэта значыць памылкі з'яўляюцца адказалі аператыўна, не дубляваць памылак адзіныя, і г.д.), такім чынам, робіць лепшае ўражанне, чым праект з не памылка базы дадзеных, або амаль пусты базай дадзеных.
Вядома, калі ваш праект толькі пачынаецца, то памылка база дадзеных будзе ўтрымліваць вельмі мала памылак, і ёсць не так шмат можна зрабіць з гэтай нагоды. Але калі статус раз падкрэслівае праекта моладзі, і калі людзі, гледзячы на памылку базы дадзеных можна бачыць, што большасць заявак мелі месца ў апошні час, яны могуць экстрапаляваць з таго, што праект па-ранейшаму мае здаровы ўзровень заявак на рэгістрацыю, і яны не будуць празмерна устрывожаны нізкім абсалютная колькасць памылак запісваецца.
Звярніце ўвагу, што памылка трэкеры часта выкарыстоўваюцца для адсочвання не толькі памылкі праграмнага забеспячэння, але павышэнне запытаў, змены ў дакументацыі, нявырашаных задач, і многае іншае. Падрабязная інфармацыя аб запуску памылка трэкера разглядаюцца ў раздзеле "Bug ??Tracker" ў раздзеле 3, тэхнічная інфраструктура, таму я не буду ўдавацца ў іх тут. Галоўнае з прэзентацыі пункту гледжання проста мець памылка трэкера, і каб пераканацца, што факт, бачная з галоўнай старонкі праекта.
Наведвальнікі звычайна хочуць ведаць, як дасягнуць чалавечага істоты, звязаныя з праектам. Забяспечыць адрасы спісаў рассылання, чаты, і IRC-каналы, і любыя іншыя форумы, дзе іншыя, звязаныя з праграмным забеспячэннем можа быць дасягнута. Зрабіць ясна, што вы і іншыя аўтары праекта падпісаны на гэтыя спісы рассылання, так што людзі бачаць, што ёсць спосаб, каб даць зваротную сувязь, якая дасягне распрацоўнікаў. Ваша прысутнасць у спісах не азначае абавязацельства адказаць на ўсе пытанні і выканаць усе пажаданні. У канчатковым рахунку, большасць карыстальнікаў, верагодна, ніколі не далучыцца форумах так ці інакш, але яны суцешацца ведаць, што яны могуць, калі яны калі-небудзь трэба.
У ранніх стадыях праекта, няма неабходнасці мець асобныя супольнасці карыстальнікаў і распрацоўшчыкаў форумах. Гэта значна лепш мець усё, звязаныя з праграмным забеспячэннем казаць разам, у адной "пакоі". Сярод ранніх, адрозненні паміж распрацоўшчыкам і карыстальнікам часта недакладныя, у той меры, адрозненне можа быць зроблена, стаўленне распрацоўнікаў да карыстальнікам, як правіла, значна вышэй у першыя дні праекта, чым пазней. Хаця вы не можаце лічыць, што кожнае ранняе ўсынавіцелі праграміст, які хоча, каб секчы на ??праграмнае забеспячэнне, можна выказаць здагадку, што яны па крайняй меры зацікаўлены ў наступных абмеркавання пытанняў развіцця і ў атрыманні пачуццё напрамкі праекта.
Як гэтая кіраўнік толькі аб атрыманні праекта пачалася, дастаткова проста сказаць, што гэтыя паведамленні форумах неабходнасць існуе. Пазней, у раздзеле "Апрацоўка росту" ў чале 6, сувязі, мы разгледзім, дзе і як стварыць такія форумы, якім чынам яны могуць мець патрэбу ўмерана або іншыя кіравання, і як асобныя форумы карыстальнікаў ад форуме распрацоўнікаў, калі прыйдзе час, не ствараючы непераадольную прорву.
Калі хто-то разглядае ўклад ў праект, яна будзе шукаць кіраўніцтва распрацоўніка. Распрацоўшчык кіруючыя прынцыпы не столькі тэхнічныя, сацыяльныя: яны тлумачаць, як распрацоўнікі ўзаемадзейнічаюць адзін з адным і з карыстальнікамі, і ў канчатковым выніку, як ўсё зроблена.
Гэтая тэма падрабязна апісана ў раздзеле "Даць усё гэта ўніз" ў главе 4, сацыяльнай і палітычнай інфраструктуры, але асноўныя элементы кіраўніцтва распрацоўніка з'яўляюцца:
паказальнікі на форумы для ўзаемадзеяння з іншымі распрацоўшчыкамі
Інструкцыі па дакладзе памылак і прадставіць патчы
некаторы ўяўленне пра тое, як развіццё гэта звычайна робіцца, з'яўляецца праект добразычлівы дыктатура, дэмакратыя, ці нешта іншае
Няма ўніжальнае сэнсе маецца на ўвазе пад "дыктатурай", дарэчы. Гэта цалкам нармальна для запуску тыраніі, дзе адзін канкрэтны распрацоўнік мае права вета на ўсе змены. Шматлікія паспяховыя праекты працуюць менавіта так. Важна тое, што праект прыходзяць прама і сказаць. Тыраніі робячы выгляд, што дэмакратыя будзе выключаюць людзей; тыранію, якая кажа, што гэта тыранія будзе рабіць добра да таго часу, як тыран валодае кампетэнцыяй і даверам.
Глядзіце http://subversion.apache.org/docs/community-guide/ для прыкладу асабліва падрабязныя кіруючыя прынцыпы распрацоўніка, або http://www.openoffice.org/dev_docs/guidelines.html для больш шырокіх кіруючых прынцыпаў, якія надаваць больш увагі кіраванню і дух ўдзелу і менш па тэхнічных пытаннях.
Асобны пытанне аб прадастаўленні праграміста ўвядзенне ў ПА, абмяркоўваюцца ў раздзеле "Дакументацыя для распрацоўшчыкаў" далей у гэтым раздзеле.
Дакументацыя з'яўляецца істотным. Там павінна быць нешта для людзей, каб чытаць, нават калі яна ў зачаткавым стане і няпоўным. Гэта кладзецца ў "цяжкай" катэгорыі, указанай вышэй, і часта з'яўляецца першым вобласці, дзе новы праект з адкрытым кодам падае. Прыдумляючы заяву і спіс магчымасцяў, выбару ліцэнзіі, падводзячы вынікі развіцця статусу-ўсё гэта адносна невялікія задачы, якія могуць быць канчаткова завершаны, і звычайна не павінны быць вернутыя, каб яшчэ зрабіць. Дакументацыя, з іншага боку, ніколі не скончыцца, што можа быць адной з прычын людзі часам затрымкі пачатку яго наогул.
Найбольш падступнае справа ў тым, што ўтыліта дакументацыі на гэтыя запісаўшы яго ў парадку, зваротным яго карыснасць для тых, хто будзе чытаць. Найбольш важнай дакументацыі для карыстальнікаў пачатковага асновы: як хутка наладзіць праграмнае забеспячэнне, агляд таго, як яна працуе, магчыма, некаторыя кіраўніцтва да выканання агульных задач. Але гэта як раз рэчы пісьменнікаў дакументацыі занадта добра ведаюць усё-так добра, што гэта можа быць цяжка для іх, каб зірнуць на рэчы з чытача кропку гледжання, і з працай загавор з крокаў, якія (для аўтараў) здаюцца відавочна, каб быць нявартай згадкі.
Там няма чароўнага рашэння гэтай праблемы. Хто-то проста трэба сесці і напісаць матэрыял, а затым запусціць яго, тыповых новых карыстальнікаў, каб праверыць яго якасць. Выкарыстоўвайце простыя, лёгкія для рэдагавання фарматы, такія як HTML, просты тэкст, Texinfo, або нейкі варыянт XML-тое, што зручна для лёгкага, хуткага паляпшэння пад уплывам моманту. Гэта не толькі выдаляць любыя выдаткі, якія могуць перашкаджаць арыгінальных пісьменнікаў з паступовых паляпшэнняў, а таксама для тых, хто далучыцца да праекту пазней, і хачу працаваць на дакументацыю.
Адным з спосабаў забеспячэння асноўнай зыходнай дакументацыі, можа быць зроблена, каб абмежаваць яго рамкі загадзя. Такім чынам, ліст гэта па меншай меры не будзе адчуваць сябе як адкрытыя задачы. Добрае правіла ў тым, што яна павінна адказваць наступным мінімальным крытэрам:
Расказаць чытачу ясна, колькі тэхнічнай экспертызы яны Чакаецца, што.
Апішыце выразна і старанна, як наладзіць праграмнае забеспячэнне, і дзе-то побач пачатку дакументацыі, скажыце якім чынам карыстальнік можа запусціць нейкі дыягнастычны тэст або простую каманду, каб пацвердзіць, што яны мноства рэчаў правільна. Загрузка дакументацыі з'яўляецца ў некаторым сэнсе больш важныя, чым фактычнае выкарыстанне дакументацыі. Больш намаганняў, хтосьці ўклаў у ўстаноўцы і пачатку работы з праграмным забеспячэннем, больш устойлівых яна будзе ў высвятленні дадатковых функцый, што не вельмі добра дакументаваны. Калі людзі адмовіцца, яны пакідаюць рана, таму ён на самых ранніх этапах, такія як ўстаноўка, што больш за ўсё маюць патрэбу ў падтрымцы.
Дайце адзін падручнік стылі прыклад таго, як рабіць агульную справу. Відавочна, што шмат прыкладаў для вырашэння многіх задач было б яшчэ лепш, але калі час абмежаваны, выбраць адну задачу і ўвайсці ў яе цалкам. Аднойчы хтосьці бачыць, што праграмнае забеспячэнне можа быць выкарыстана з аднаго боку, яны пачнуць вывучаць, што яшчэ ён можа зрабіць самастойна, а калі вам пашанцуе, пачаць запаўненне дакументацыі сябе. Што прыводзіць нас да наступнага пункта...
Label абласцях, дзе дакументацыі, як вядома, быць няпоўнай. Паказваючы чытачам, што вы ведаеце аб яго недахопах, то прывесці сябе з іх пункту гледжання. Імя, суперажыванне пераконвае іх, што яны не сутыкаюцца з барацьбой пераканаць праект, што важна. Гэтыя пазнакі не павінен прадстаўляць абяцае запоўніць прабелы ў якой-небудзь канкрэтнай даты-гэта ў роўнай ступені законных ставіцца да іх як адкрытыя запыты на добраахвотнай дапамогі.
Апошні пункт мае больш шырокае значэнне, уласна, і можа быць ужыты да ўсяго праекту, а не толькі дакументацыю. Дакладны ўлік вядомых недахопаў з'яўляецца нормай у свеце адкрытага зыходнага кода. Вы не павінны перабольшваць недахопы праекту, проста ідэнтыфікаваць іх старанна і справядліва, калі кантэкст патрабуе яго (будзь то ў дакументацыі, у памылка адсочвання базе дадзеных, або на абмеркаванне спіс рассылкі). Ніхто не ўспрыме гэта як пораженчество на частку праекта, ні як абавязацельствы вырашыць праблемы да вызначанага тэрміну, калі праект робіць такія абавязацельствы ў відавочным выглядзе. Так як любы, хто выкарыстоўвае праграмнае забеспячэнне будзе выявіць недахопы для сябе, гэта значна лепш для іх, каб быць псіхалагічна падрыхтаваныя-то праект будзе выглядаць як яна цвёрдых ведаў пра тое, як ён робіць.
Дакументацыя павінна быць даступная з двух месцах: на сайце (непасрэдна з вэб-сайта), і ў загружаных размеркавання праграмнага забеспячэння (гл. раздзел "Упакоўка" у чале 7, Упакоўка, вызваленнем і штодзённая развіцця ). Ён павінен быць у рэжыме онлайн, прагляд у форме, таму што людзі часта чытаюць дакументацыю перад загрузкай праграмнага забеспячэння ў першы раз, як спосаб дапамагчы ім вырашыць, ці варта спампаваць на ўсіх. Але ён таксама павінен суправаджаць праграмнае забеспячэнне, па прынцыпе, што загрузка павінна харчавання (гэта значыць, зрабіць даступнымі лакальна) усё, што трэба выкарыстоўваць пакет.
Для онлайн-дакументацыя, пераканайцеся, што ёсць спасылка, якая выхоўвае ўсю дакументацыю ў адным HTML-старонкі (паставіць адзнаку, як "маналітным" ці "усё-ў-адным" або "адна вялікая старонка" побач са спасылкай, каб людзі ведаю, што гэта можа заняць некаторы час для загрузкі). Гэта карысна, таму што людзі часта хочуць шукаць канкрэтнае слова або фразу, па ўсёй дакументацыі. Як правіла, яны ўжо ведаюць, што яны шукаюць, яны проста не памятаю, які падзел гэта цалі Для такіх людзей, няма нічога больш жудаснага, чым сутыкнуліся з адной HTML старонкі для зместа, то другую старонку для ўвядзення, то другую старонку з інструкцыяй па ўстаноўцы і г.д. Калі старонкі разбіты так, функцыя пошуку ў браўзэры бескарысна. Асобныя старонкі стылі карысна для тых, хто ўжо ведае, што частка якіх яны маюць патрэбу, ці, хто хоча чытаць ўсёй дакументацыі ад пачатку да канца ў паслядоўнасці. Але гэта не самы распаўсюджаны спосаб дакументацыя доступ. Значна часцей, хто-то ў асноўным знаёмыя з праграмным забеспячэннем вяртаецца для пошуку пэўнага слова ці фразы. Каб не ў стане забяспечыць іх з адной, пошук дакумента будзе толькі зрабіць іх жыццё складаней.
Дакументацыя для распрацоўнікаў напісана, каб дапамагчы праграмістам зразумець код, таму яны могуць рамонт і пашырыць яго. Гэта некалькі адрозніваецца ад кіраўніцтва распрацоўніка ужо гаварылася раней, якія ў большай ступені сацыяльная, чым тэхнічны характар. Распрацоўшчык прынцыпаў кажуць праграмісты, як паводзіць сябе адзін з адным; дакументацыі для распрацоўшчыкаў распавядае ім, як паводзіць сябе з самага кода. Два часта упакованы разам у адзін дакумент для зручнасці (як з http://subversion.apache.org/docs/community-guide/ прыклад, прыведзены раней), але яны не павінны быць.
Хоць распрацоўшчык дакументацыі можа быць вельмі карысна, няма ніякіх прычын для затрымкі рэлізу, каб зрабіць гэта. Пакуль арыгінальных аўтараў даступныя (і жаданне) адказаць на пытанні аб кодзе, гэтага дастаткова, каб пачаць з. А між тым, каб адказаць на тыя ж пытанні зноў і зноў, агульная матывацыя для напісання дакументацыі. Але яшчэ да таго, сказана, вызначаюцца ўдзельнікі будуць па-ранейшаму ўдаецца знайсці свой шлях вакол кода. Сіла, якая прымушае людзей марнаваць час на вывучэнне кода базы ў тым, што код робіць нешта карыснае для іх. Калі ў людзей ёсць вера ў тым, што яны будуць прымаць часу, каб зразумець рэчы, калі яны не маюць, што вера, ніякае колькасць дакументацыі для распрацоўнікаў будзе атрымаць або захаваць іх.
Так што калі ў вас ёсць час, каб напісаць дакументацыю толькі для адной аўдыторыі, напісаць яе для карыстальнікаў. Усе карыстацкай дакументацыі, па сутнасці, распрацоўшчык дакументацыі, а таксама, любы праграміст, які будзе працаваць на частку праграмнага забеспячэння, неабходна будзе ведаць, як яго выкарыстоўваць. Пазней, калі вы бачыце праграмісты просяць тыя ж пытанні зноў і зноў, знайдзіце час, каб напісаць некалькі асобных дакументаў толькі для іх.
Некаторыя праекты выкарыстоўваюць вікі для іх першаснай дакументацыі, або нават у якасці першаснай дакументацыі. Па маім вопыце, гэта сапраўды працуе, толькі калі вікі актыўна рэдакцыя некалькі людзей, якія згаджаюцца аб тым, як дакументацыя павінна быць арганізавана і які "голас" ён павінен мець. Глядзіце частку пад назвай "Вікі" ў раздзеле 3, тэхнічнай інфраструктуры для больш.
Калі праект уключае ў сябе графічны інтэрфейс карыстальніка, або калі ён вырабляе графічны ці іншым адметным выхад, паставіць некаторыя ўзоры на вэб-сайце праекту. У выпадку інтэрфейсу, гэта азначае, скрыншоты, для выйсця, гэта можа быць скрыншоты або проста файлы. Як задаволіць патрэбнасць у людзей для імгненнага ўзнагароджання: адзін здымак экрана можа быць больш пераканаўчым, чым пункты апісальных тэксту і спісу рассылання балбатню, таму што скрыншот Бясспрэчна, доказ таго, што праграмнае забеспячэнне працуе. Гэта можа быць памылка, гэта можа быць цяжка ўсталяваць, яна можа быць цалкам дакументаваны, але што скрыншот яшчэ доказы таго, што калі пакласці ў досыць высілкаў, можна прымусіць яе працаваць.
Ёсць шмат іншых рэчаў, якія вы маглі пакласці на вэб-сайце праекта, калі ў вас ёсць час, або калі па той ці іншай прычыне яны асабліва дарэчы: старонка навін, старонка гісторыі праекта, адпаведнай старонцы спасылкі, сайт-пошук функцыя, ахвяраванні спасылку і г.д. Ні адна з іх неабходнае падчас запуску, але трымаць іх на ўвазе на будучыню.
Ёсць некалькі сайтаў, якія прадастаўляюць бясплатны хостынг і інфраструктуру для праектаў з адкрытым кодам: вэб-прасторы, кантроль версій, памылка трэкера, дэма-версія, чат форумах, рэгулярнае рэзервовае капіяванне і г.д. Падрабязная інфармацыя адрознівацца ад сайта да сайта, але тое ж самае Асноўныя паслугі прадастаўляюцца на ўсіх з іх. Пры выкарыстанні аднаго з гэтых сайтаў, вы атрымаеце шмат бясплатна, тое, што вы адмаўляецеся, відавочна, з'яўляецца дэталёвы кантроль над карыстальнікам. Хостынг вырашае, якое праграмнае забеспячэнне сайт працуе, і можа кантраляваць або, па крайняй меры уплываць на знешні выгляд вэб-старонкі праекта.
Глядзіце частку пад назвай "Кансервы Хостынг" ў раздзеле 3, тэхнічнай інфраструктуры для больш дэталёвага абмеркавання пераваг і недахопаў кансерваў хостынг, а таксама спіс сайтаў, якія прапаноўваюць яе.
Гэты падзел прызначаны для вельмі хуткай, вельмі груба кіраўніцтва па выбары ліцэнзіі. Чытайце кіраўніка 9, ліцэнзіі, аўтарскія правы і патэнты, каб зразумець падрабязныя прававыя наступствы розных ліцэнзій, і як ліцэнзіі вы можаце ўплываць на здольнасць людзей змяшаць праграмнага забеспячэння з іншым вольным ПА.
Ёсць шмат вольных ліцэнзій на праграмнае забеспячэнне, каб выбраць з. Большасць з іх мы павінны тут не разглядаем, так як яны былі напісаныя для задавальнення канкрэтных прававых патрэбаў некаторых карпарацыі ці твар, і не будзе падыходзіць для вашага праекта. Мы абмяжуемся толькі найбольш часта выкарыстоўваюцца ліцэнзій, у большасці выпадкаў, вам трэба будзе выбраць адзін з іх.
Калі Вас задавальняе праекта кодзе патэнцыйна быць выкарыстаны ва ўласных праграм, а затым выкарыстоўваць MIT / X-падобнай ліцэнзіяй. Гэта самы просты з некалькіх мінімальных ліцэнзіі, зрабіць трохі больш, чым сцвярджаць, намінальная аўтарскага права (без фактычнага абмежавання капіявання) і паказаць, што код пастаўляецца без гарантыі. Глядзіце раздзел "MIT / X Window System ліцэнзіі" для падрабязнасьцяў.
Калі вы не хочаце, каб ваш код, каб выкарыстоўваць ва ўласных праграм, выкарыстанне GNU General Public License ( http://www.gnu.org/licenses/gpl.html ). GPL, верагодна, найбольш шырока прызнаных ліцэнзія на вольнае ПА у свеце. Гэта само па сабе вялікая перавага, паколькі многія патэнцыйныя карыстальнікі і ўдзельнікі будуць ужо знаёмыя з ім, і таму не прыйдзецца марнаваць дадатковы час, каб прачытаць і зразумець вашу ліцэнзію. Глядзіце частку пад назвай "GNU General Public License" у чале 9, ліцэнзіі, аўтарскія правы і патэнты для дэталяў.
Як толькі вы выбралі ліцэнзію, вы павінны стан яго на галоўнай старонцы праекта. Вам не трэба ўключаць сам тэкст ліцэнзіі там проста даць назву ліцэнзіі, і зрабіць гэта спасылка на поўны тэкст ліцэнзіі на іншы старонцы.
Гэта кажа грамадскасці, што ліцэнзіі вы збіраецеся праграмнага забеспячэння як выпушчаныя на ўмовах, але гэта не дастаткова для юрыдычных мэтаў. Для гэтага, само праграмнае забеспячэнне павінна ўтрымліваць ліцэнзіі. Стандартны спосаб зрабіць гэта, каб пакласці поўны тэкст ліцэнзіі ў файл з імем капіявання (ліцэнзіі), а затым пакласці кароткі тэрмін у верхняй частцы кожнага зыходнага файла, назваўшы дату капірайту, трымальнік, і ліцэнзія, і казаў, дзе знайсці поўны тэкст ліцэнзіі.
Ёсць шмат варыяцый на гэтую карціну, таму мы разгледзім толькі адзін прыклад. GNU GPL кажа пакласці паведамлення, як гэта ў пачатак кожнага зыходнага файла:
Copyright (C) <год> <імя аўтара> Гэтая праграма з'яўляецца свабодным праграмным забеспячэннем: вы можаце распаўсюджваць яе і / або мадыфікаваць ён у адпаведнасці з умовамі ліцэнзіі GNU General Public License, апублікаванай Free Software Foundation, альбо версіі 3 ліцэнзіі, або (Па вашаму выбару) любы больш позняй версіі. Гэтая праграма распаўсюджваецца ў надзеі, што яна будзе карыснай, але без якіх-небудзь ГАРАНТЫЙ, нават без пэўныя гарантыі Або ПРЫДАТНАСЬЦІ ДЛЯ пэўныя мэты. Паказаць GNU General Public License для больш падрабязнай інфармацыі. Вы павінны былі атрымаць копію GNU General Public License Разам з гэтай праграмай. Калі няма, гл <http://www.gnu.org/licenses/>
Ён не кажа канкрэтна, што копія ліцэнзіі, атрыманыя разам з праграмай у капіяваньні файлаў, але гэта, дзе гэта звычайна ставіцца. (Вы можаце змяніць вышэй апавяшчэнне сцвярджаць, што напрамую.) Гэты шаблён таксама дае геаграфічнае адрас, з якога запытаць копію ліцэнзіі. Іншы распаўсюджаны метад, каб даць спасылку на вэб-старонку, якая змяшчае ліцэнзіі. Проста выкарыстоўвайце ваш суд і паказваюць на месца, куды вы адчуваеце сябе найбольш пастаянную копію ліцэнзіі захоўваецца, што можа быць проста дзесьці на вэб-сайце праекту. Увогуле, апавяшчэнне вы кладзе ў кожны зыходны файл не павінен выглядаць гэтак жа, як адзін вышэй, да тых часоў, як яна пачынаецца з той жа апавяшчэнне праваўладальніка і даты, стану назва ліцэнзіі, і ясна, дзе Паглядзець поўную ліцэнзію.
Пакуль мы разгледзелі аднаразовыя задачы вы ў ходзе рэалізацыі праекту ўсталёўкі: Выбар ліцэнзіі, арганізацыя пачатковага вэб-сайта і т. д. Але найбольш важных аспектаў, пачынаючы новы праект, з'яўляюцца дынамічнымі. Выбар адрас спісу рассылання лёгка; забеспячэння таго, каб размовы спісу застаюцца на тэму і прадуктыўнай гэта цалкам іншая справа. Калі праект адкрываюцца пасля многіх гадоў зачыненая, уласнай распрацоўкі, яе працэсы развіцця будзе змяняцца, і вам давядзецца падрыхтаваць існуючых распрацоўнікаў для гэтага змены.
Першыя крокі цяжэй, таму што прэцэдэнты і надзеі на будучыню паводзіны яшчэ не былі ўстаноўлены. Стабільнасць у праекце не ад афіцыйнай палітыкі, а з агульных, цяжка PIN-уніз калектыўны розум, які развіваецца з цягам часу. Ёсць часта пішуцца правілы, але яны, як правіла, істотна перагонкі нематэрыяльныя, якія пастаянна развіваецца пагадненняў, якія сапраўды кіраўніцтва праектам. Пісьмовыя інструкцыі не вызначаюць культуру праекта так шмат, як апісаць гэта, ды і то толькі прыблізна.
Ёсць некалькі прычын, чаму ўсё гэта працуе гэты шлях. Рост і высокая цякучасць кадраў не як удар па назапашванні сацыяльных нормаў, як можна падумаць. Пакуль змены не адбываюцца занадта хутка, ёсць час для зноў прыбылі, каб даведацца, як робяцца рэчы, і пасля яны вучацца, яны дапамогуць умацаваць гэтыя спосабы самі. Разгледзім, як дзіцячыя песні выжыць стагоддзяў. Ёсць дзеці, сёння спяваць прыкладна тое ж рыфмы, як дзеці і сотні гадоў таму, хаця Ёсць дзяцей няма ў жывых зараз, хто быў жывы тады. Малодшыя дзеці пачуць песні ў выкананні старэйшага ўзросту, і калі яны старэй, яны ў сваю чаргу, будзе спяваць іх на вачах у іншых маладых. Дзеці не ўдзельнічаюць у свядомым праграмы перадач, вядома, але прычына песні выжыць, тым не менш, што яны перадаюцца рэгулярна і шматкроць. Часовай маштаб праектаў вольнага праграмнага забеспячэння не можа быць вымераная ў стагоддзях (мы не ведаем пакуль), але дынаміка перадачы з'яўляюцца амаль такімі ж. Абарачальнасць хутчэй, аднак, і павінны быць кампенсаваны больш актыўнай і наўмысную перадачу намаганні.
Гэтыя намаганні спрыялі таму, што людзі звычайна з'яўляюцца чакае і шукае сацыяльных нормаў. Вось толькі, як людзі будуюцца. У любы групе аб'яднаных агульнай справай, людзі, якія далучаюцца інстыктыўна пошук паводзіны, якое будзе адзначаць іх як частка групы. Мэта стварэння прэцэдэнтаў рана, каб тыя "у групе" паводзін быць тыя, якія з'яўляюцца карыснымі для праекту, таму што пасля свайго стварэння, яны ў значнай ступені будзе самовоспроизводящейся.
Ніжэй прыведзены некаторыя прыклады канкрэтных рэчаў, якія вы можаце зрабіць, каб усталяваць добрыя прэцэдэнты. Яны не прызначаны ў якасці вычарпальнага пераліку, як і ілюстрацыі ідэя, што ўстанаўленне сумесных настрой ранняга дапамагае праекта надзвычай. Фізічна, кожны распрацоўнік можа працаваць толькі ў пакоі самі па сабе, але вы можаце зрабіць многае, каб іх адчуваць, што ўсе яны працуюць разам у адным пакоі. Чым больш яны так думаюць, тым больш часу яны хочуць выдаткаваць на праект. Я абраў менавіта гэтыя прыклады, таму што яны прыйшлі ў праекце Subversion ( http://subversion.tigris.org/ ), якіх я ўдзельнічаў у і назіраецца з самага пачатку. Але яны не ўнікальныя для Subversion; падобных сітуацыях падыдзе ў большасці праектаў з адкрытым кодам, і яе варта разглядаць як магчымасць для пачатку пакінуць рэчы на ??правую нагу.
Нават пасля таго як вы прынялі праект грамадскасці, вы і іншыя заснавальнікі будзеце часта знаходзіць сабе жадаючых вырашыць цяжкія пытанні прыватнымі сувязі паміж унутранай акружнасці. Гэта асабліва актуальна ў першыя дні праекта, калі Ёсць так шмат важных рашэнняў, каб зрабіць, і, як правіла, некалькі добраахвотнікаў кваліфікаваным, каб зрабіць іх. Усе відавочныя недахопы грамадскага абмеркавання спіс будзе маячыць адчувальна перад вамі: затрымка уласцівыя электроннай пошты размовы, неабходна пакінуць дастаткова часу для дасягнення кансенсусу па форме, клопатаў працы з добраахвотнікамі, якія наіўна думаюць, што разумеюць усе пытанні, але на самай справе не (кожны праект мае гэтыя, часам яны зоркі ў наступным годзе ўдзельнікамі, часам яны застаюцца наіўнымі назаўсёды), чалавек, які не можа зразумець, чаму вы хочаце, каб вырашыць праблему X, калі яна, відавочна, падмноства больш шырокай праблемы Y, і гэтак далей. Спакуса для прыняцця рашэнняў за зачыненымі дзвярыма і прадставіць іх у якасці факце, які адбыўся, або, па крайняй меры, як фірма рэкамендацыі адзінай і ўплывовай галасавання блок, будзе вяліка.
Не рабіце гэтага.
Як павольным і грувасткім, як грамадскіх абмеркаванняў можа быць, яны амаль заўсёды пераважней ў доўгатэрміновай перспектыве. Прыняцця важных рашэнняў у прыватным, як распыленне ўклад рэпеленты на вашым праекце. Ні адзін сур'ёзны добраахвотнікаў бы застацца на доўгі час у асяроддзі, дзе тайны савет прымае ўсе важныя рашэнні. Акрамя таго, грамадская дыскусія карысныя пабочныя эфекты, якія будзе доўжыцца за ўсе эфемерныя тэхнічны пытанне быў на пытанне:
Абмеркаванне дапаможа навучаць і выхоўваць новых распрацоўнікаў. Вы ніколі не ведаеце, як шмат вачэй глядзяць размова, нават калі большасць людзей не ўдзельнічаць, многія могуць быць адсочвання моўчкі, падбіраючы інфармацыю аб праграмным забеспячэнні.
У ходзе абмеркавання будуць навучаць Вас у мастацтва тлумачэння тэхнічных пытанняў да людзей, якія не гэтак знаёмыя з праграмным забеспячэннем, як вы. Гэта ўменне, якое патрабуе практыкі, і вы не можаце атрымаць гэтую практыку, пагаварыўшы з людзьмі, якія ўжо ведаю, што вы ведаеце.
Абмеркавання і яе высновы будуць даступныя ў публічных архівах назаўжды, адкрывае магчымасці для будучых абмеркаванняў, каб пазбегнуць паўтараючы тыя ж крокі. Глядзіце частку пад назвай "Прыкметнае выкарыстанне архіваў" у чале 6, сувязі.
Нарэшце, існуе магчымасць таго, што хто-то ў спісе можа зрабіць рэальны ўклад у размову, але, збіраючыся з ідэяй вы ніколі не меркавалася. Цяжка сказаць, наколькі верагодна, гэта, гэта проста залежыць ад складанасці кода і ступень спецыялізацыі патрабуецца. Але калі неафіцыйныя дадзеныя могуць быць дазволеныя, я б небяспека, што гэта больш верагодна, чым можна было б чакаць, інтуітыўна. У праекце Subversion, мы (заснавальнiкаў) верыў, што мы сутыкнуліся з глыбокім і складаным комплексам праблем, якія мы думалі пра жорсткіх у працягу некалькіх месяцаў, і мы шчыра сумняваўся, што хто-небудзь на зноў створаны спіс рассылкі, верагодна, зрабіць рэальнай ўклад у абмеркаванне. Таму мы прынялі гультаяваты маршрут і пачалі міргнуўшы некаторыя тэхнічныя ідэі і назад у прыватных лістоў, пакуль назіральнік ад праекту [ 10 ] злавіў вецер, што адбываецца і спытаў, для абмеркавання перанесці ў адкрыты спіс. Rolling нашых вачах трохі, мы зрабілі, і былі здзіўлены колькасцю праніклівыя каментары і прапановы, якія хутка прывялі. У многіх выпадках людзі прапануюць ідэі, якія ніколі нават не прыйшло ў галаву нам. Аказалася, там былі некаторыя вельмі разумныя людзі ў гэтым спісе, яны проста чакалі права прынады. Гэта праўда, што наступнае абмеркаванне заняло больш часу, чым гэта было б, калі б мы трымалі размова сам-насам, але яны былі настолькі значна больш прадуктыўным, што гэта варта дадатковага часу.
Без змяншэнні ў руку-размахваючы абагульненняў, як "група заўсёды разумнейшыя, чым асобныя" (мы ўсё сустрэліся досыць груп, каб ведаць лепш), то варта прызнаць, што існуюць пэўныя віды дзейнасці, на якім групы Excel. Massive калегіяльнага агляду з'яўляецца адным з іх; генерацыі вялікай колькасці ідэй хутка гэта зусім іншае. Якасць ідэй залежыць ад якасці мыслення, якія ўвайшлі ў іх, вядома, але вы не будзеце ведаць, якія мысляры там пакуль вы будзеце стымуляваць іх складанай задачай.
Натуральна, Ёсць некаторыя дыскусіі, якія павінны мецца ў прыватным парадку, у гэтай кнізе мы разгледзім прыклады з іх. Але прынцып павінен быць заўсёды: Калі няма ніякіх прычын для таго, каб быць закрытым, ён павінен быць публічным.
Стварэнне гэтай мэты патрабуе дзеянняў. Гэта не дастаткова проста забяспечыць, каб усе вашы ўласныя паведамленні Вярнуцца ў публічны спіс. Вы таксама павінны падштурхнуць іншых людзей залішне прыватных гутарках ў спіс занадта. Калі хтосьці спрабуе пачаць прыватнай гутарцы, і няма ніякіх прычын для таго, каб быць прыватнымі, то гэта ўскладаецца на Вас, каб адкрыць адпаведны мэта-дыскусія адразу. І нават не каментаваць першапачатковай тэме, пакуль вы альбо паспяхова кіраваў размова на грамадскае месца, або ўстаноўлена, што прыватная жыццё сапраўды была неабходная. Калі вы робіце гэта ўвесь час, людзі будуць лавіць на даволі хутка, і пачаць выкарыстоўваць грамадскія форумы па змаўчанні.
З самага пачатку грамадскага існавання вашага праекта, вы павінны падтрымліваць палітыку абсалютнай нецярпімасці да грубым або абразлівым паводзінамі ў форумах. Нулявой цярпімасці "не азначае, тэхнічных органаў як такіх. Вы не павінны выдаляць людзей з спісу рассылкі, калі яны полымя іншага абанента, або забраць iх учынення доступ, таму што яны зроблены прыніжальных каментары. (У тэорыі, Вы ў канчатковым выніку можа звяртацца да такіх дзеянняў, але толькі пасля выканання ўсіх іншых напрамкаў не атрымалася, якая, па вызначэнні, гэта не так у пачатку праекта.) Нулявы цярпімасці "проста азначае, ніколі не дазваляючы дрэннае паводзіны слайд неўзаметку. Напрыклад, калі хто-то паведамленні тэхнічнай каментар змешаных разам з прадузятасці атакі аб'яваў на некаторых іншых распрацоўнікаў у праекце, вельмі важна, каб ваш адказ адрас прадузятасці атакі аб'яў па-першае, у якасці асобнага пытання да сябе, і толькі потым пераходзіць да тэхнічнага ўтрымання.
Гэта, на жаль, вельмі лёгка, і занадта тыповая, для канструктыўнага абмеркавання запасці ў разбуральных войнаў полымя. Людзі будуць казаць рэчы, у электроннай пошце, што яны ніколі не сказаў бы тварам да асобе. Тэмамі абмеркавання толькі ўзмацняюць гэты эфект: у тэхнічных пытаннях, людзі часта адчуваю, што ёсць адзін правільны адказ на большасць пытанняў, і, што нязгоду з такой адказ можа быць растлумачана толькі невуцтва або глупства. Гэта недалёка ад выкліку тэхнічнае прапанову хто-то дурное выкліку чалавек сябе дурное. На самай справе, часта цяжка сказаць, дзе тэхнічныя абмеркавання лісце і характар ??прыступ пачынаецца, якая з'яўляецца адной з прычын рэзкага адказаў або пакарання не добрая ідэя. Замест гэтага, калі вы думаеце, вы бачыце гэта адбываецца, зрабіць паведамленне, што падкрэслівае важнасць захавання дружалюбных абмеркавання, не абвінавачваючы хто-небудзь з наўмысна атрутныя. Такія "Добры паліцэйскі" паведамленні маюць тэндэнцыю да няшчасных гучаць як выхавальніца дзіцячага сада лекцыі класа на добрае паводзіны:
Па-першае, давайце калі ласка скараціць (патэнцыйна) прадузятасці каментары аб'яў, напрыклад, называючы дызайн J на ўзроўні бяспекі "наіўнымі і ведаюць асноўныя прынцыпы камп'ютэрнай бяспекі." Гэта можа быць праўдай або яна не можа, але ў любым выпадку гэта не спосаб мець абмеркавання. J зрабіў сваю прапанову ў духу добрай волі. Калі ён мае недахопы, паказваюць на іх, і мы выправім іх ці атрымаць новы дызайн. Я ўпэўнены, што M азначала не асабістая абраза J, але фармулёўка была няшчаснай, і мы стараемся трымаць рэчы канструктыўнага дзесьці тут.
Зараз, на прапанову. Я думаю, М меў рацыю, кажучы, што...
Як высакапышнымі як такі гук адказы, яны маюць прыкметны ўплыў. Калі вы стала выклікаць дрэннае паводзіны, але не патрабуюць выбачэнняў або пацверджанне ад парушальніка, то вы пакідаеце людзей бясплатна, каб астыць і паказаць сваю лепшы бок ад сябе больш прыстойна наступны раз і яны будуць. Адзін з сакрэтаў робіць гэта паспяхова гэта ніколі не зрабіць мета-абмеркаванне асноўнай тэмы. Ён заўсёды павінен быць у бок, кароткае прадмову да асноўнай часткі вашага адказу. Пакажыце, дарэчы, што "мы не будзем рабіць тое, што шлях дзесьці тут", але затым перайсці да рэальных зместам, так што вы даяце людзям нешта на тэму, каб адказаць. Калі хто-то пратэстуе, што яны не заслугоўваюць вашага папрок, проста адмаўляюцца быць ўцягнутым у спрэчку пра яе. Альбо не адказваюць (калі вы думаеце, што яны проста выпуск пара і не патрабуюць адказу), або кажаце, што вы прабачце, калі вы занадта востра, і што гэта цяжка выявіць нюанс ў лісце, а затым вярнуцца да асноўнай тэмы. Ніколі, ніколі не настойваць на прызнанні, будзь то дзяржаўныя ці прыватныя, ад каго-тое, што яны паводзілі сябе непрыстойным чынам. Калі яны выбіраюць па ўласным жаданні з пасады выбачэнні, што гэта выдатна, але патрабуе, каб яны робяць гэта толькі выкліча абурэньне.
Агульная мэта заключаецца, каб зрабіць добрага тону разглядаць як адзін з "у групе" паводзін. Гэта дапамагае праекта, так як распрацоўнікі могуць быць выгнаныя (нават з праектаў, якія яны, як і вы хочаце падтрымаць) ад полымя вайны. Вы можаце нават не ведаць, што яны былі выгнаныя, хто-то можа хавацца на спіс рассылкі, бачым, што ён прымае тоўстую скуру, каб удзельнічаць у праекце, і прыняць рашэнне ў дачыненні ўцягнутыя на ўсіх. Захаванне дружалюбных форумах з'яўляецца доўгатэрміновай стратэгіяй выжывання, і гэта лягчэй зрабіць, калі праект яшчэ малая. Як толькі гэта частка культуры, вы не павінны быць адзіным чалавекам, яго папулярызацыі. Яна будзе падтрымлівацца ўсімі.
Адзін з лепшых спосабаў для садзейнічання прадуктыўнай развіцця суполак, каб атрымаць людзі, гледзячы на ??код адзін аднаго. Некаторыя тэхнічнай інфраструктуры і павінен быў зрабіць гэта эфектыўна, у прыватнасці, здзейсніць электроннай пошты павінен быць уключаны, гл раздзел "Commit электронную пошту" для больш падрабязнай інфармацыі. Эфект фіксацыі паведамленні ў тым, што кожны раз, калі хто-то фіксуе змены ў зыходны код, электронная пошта выходзіць паказаны часопіс паведамленняў і адрозненні для змены (гл. змяненняў, у раздзеле "Упраўленне версіямі слоўніка" ). кодэкса агляд Практыка разгляду здзейсніць электронную пошту па меры іх паступлення, шукае памылкі і магчымыя паляпшэння. [ 11 ]
Агляд кода служыць некалькім мэтам адначасова. Гэта найбольш відавочны прыклад калегіяльнага агляду ў свеце адкрытага зыходнага кода, так і непасрэдна спрыяе падтрыманню якасці праграмнага забеспячэння. Кожная памылка, судоў у частцы праграмнага забеспячэння, атрымаў там здзяйсняюцца і не выяўлена, таму, чым больш вочы глядзець здзяйсняе менш памылак будзе пастаўляцца. Але код аглядзе таксама служыць ўскосным мэты: ён пацвярджае, што для людзей, што яны робяць пытанні, таму што, відавочна, не спатрэбіцца час для разгляду здзейсніць калі не клапаціўся пра яго эфектыўнасці. Людзі свае лепшыя працы, калі яны ведаюць, што іншыя будуць марнаваць час на яго ацэнкі.
Водгукі павінны быць публічнымі. Нават у выпадках, калі я сядзеў у той жа фізічнай пакой з распрацоўшчыкамі, і адзін з нас зрабіў здзейсніць, мы клапоцімся не рабіць агляд вусна ў пакой, але каб адправіць яго ў спіс рассылкі замест развіцця. Кожны здабывае карысць, бачачы агляд здарыцца. Людзі ідуць каментары, а часам і знайсці недахопы ў ім, і нават калі яны не робяць, яна па-ранейшаму нагадвае ім, што агляд і чакалася, дзейнасць на рэгулярнай аснове, як мыццё посуду або траўніка.
У праекце Subversion, мы спачатку не зрабіць рэгулярнай практыку кода. Існаваў ніякай гарантыі, што кожны робіць будзе разгледжаны, хоць можна было б часам глядзець на змены, калі адзін быў асабліва зацікаўлены ў гэтай галіне кода. Памылкі ў паслізнуўся, якія сапраўды маглі б і павінны былі злоўленыя. Распрацоўшчык імя Грег Штэйн, які ведаў значэнне праверкі кода з мінулых работ, вырашылі, што ён збіраецца падаць прыклад шляхам аналізу кожнай лініі кожны робіць, якія ўвайшлі ў рэпазітар. Кожны робіць любы зроблена неўзабаве рушыла ўслед электроннай пошты да спісу распрацоўшчыкаў ад Грега, рассякаючы здзяйсняюць, аналіз магчымых праблем, а часам і хваліў разумны кавалак кода. Зараз, ён лавіў памылак і неоптимальных практыкі кадавання, якія інакш былі незаўважна, нават не быўшы заўважаным. Падкрэслена, ён ніколі не скардзіліся, што іх адзіны чалавек разглядзе кожнай фіксацыі, нават калі ён прыняў ладная колькасць свайго часу, але ён апяваць праверкі кода, калі ён быў шанец. Даволі хутка, іншыя людзі, уключаючы мяне, пачаў разгляд здзяйсняе рэгулярна таксама. Што наша матывацыя? Гэта было не тое, што Грег свядома сароміць нас у гэтым. Але ён даказаў, што пры разглядзе код каштоўнай спосаб правесці час, і што можна было б унесці максімальна ў праект па аналізе змяненняў аднаго як на напісанні новага кода. Аднойчы ён паказаў, што, стала чаканае паводзіны, да кропкі, дзе любы здзяйсненне гэтага не атрымаць рэакцыю выкліча коммиттер турбавацца, і нават задаць пытанне ў спіс Ці хто-небудзь меў магчымасці разгледзець яго яшчэ. Пазней, Грег атрымаў працу, якая не пакідала яго, як шмат часу для Subversion, і быў вымушаны спыніць рабіць рэгулярныя агляды. Але да таго часу, звычка была настолькі ўкаранілася для астатніх з нас, што здаецца, што яна ідзе з спрадвечных часоў.
Пачынайце рабіць водгукаў першых фіксацыі. Роду праблемы, якія лягчэй за ўсё злавіць на разглядзе адрозненняў з'яўляюцца уразлівасці бяспекі, уцечкі памяці, недастаткова каментары ці API дакументацыю, з па адной памылкі, які выклікае / выкліканага неадпаведнасці дысцыпліны, а таксама іншыя праблемы, якія патрабуюць мінімум навакольны кантэкст, каб пляма. Аднак, нават буйнамаштабныя такія пытанні, як адмова Анатацыя паўтаральных участкаў у адным месцы стала spottable пасля аднаго рабіў водгукаў рэгулярна, таму што памяць аб мінулых параўнанні паведамляе агляд цяперашні адрозненняў.
Не хвалюйцеся, што вы не маглі б знайсці што-небудзь пракаментаваць, ці што вы не ведаеце дастаткова аб кожнай вобласці кода. Там, як правіла, што-небудзь сказаць пра амаль кожнай фіксацыі; нават там, дзе вы не знойдзеце нічога, каб пытанне, вы можаце знайсці што-то пахваліць. Важна, каб даць зразумець кожнаму коммиттер, што яны робяць, гэта бачыў і разумеў. Вядома, праверкі кода не вызваляе праграмістаў адказнасць за агляд і тэст іх змены да здзяйснення; ніхто не павінен залежаць ад праверкі кода злавіць тое, што ён павінен быў злоўлены на сваю ўласную.
Калі вы адкрыццё існуючага праекта, які ўжо ёсць актыўныя распрацоўшчыкі прывыклі працаваць у асяроддзі з зачыненым зыходным кодам, пераканайцеся, што ўсе разумеюць, што вялікія змены станаўлення і пераканайцеся, што вы разумееце, як гэта будзе адчуваць ад іх пункту гледжання.
Паспрабуйце ўявіць сабе, як выглядае сітуацыя з імі: раней, увесь код і дызайн рашэнні былі прынятыя з групай іншых праграмістаў, якія ведалі, праграмнае забеспячэнне больш-менш аднолькава добра, якія атрымоўвалі жа ціск з таго ж кіравання, і хто ўсё ведаем, адзін аднаго, моцныя і слабыя бакі. Цяпер вы просіце іх, каб выставіць іх код праверкі выпадковых незнаёмцаў, хто будзе фармаваць меркаванні, заснаваныя толькі на код, без разумення таго, што бізнэс ціску, магчыма, вымушаныя пэўныя рашэнні. Гэтыя незнаёмцы будуць задаваць шмат пытанняў, пытанняў, якія выбіваюць існуючых распрацоўшчыкаў разумеючы, што ў дакументацыі яны скарэкціраваны так моцна за ўсё яшчэ застаюцца недастатковымі (гэта непазбежна). У давяршэнне да ўсяго, навічкі невядомыя, безаблічных асоб. Калі адзін з вашых распрацоўнікаў ужо адчувае сябе небяспечна аб сваіх навыкаў, уявіце сабе, як гэта будзе абвастрацца, калі навічкі адзначыць недахопы ў кодзе ён піша, і што яшчэ горш, зрабіць гэта на вачах у яго калегаў. Калі ў вас ёсць каманда дасканалых кодэры, гэта непазбежна ў самай справе, гэта, верагодна, здараецца з усімі з іх на першы погляд. Гэта не таму, што яны дрэнныя праграмісты, гэта проста, што любая праграма вышэй пэўнага памеру ўтрымлівае памылкі, і экспертнай ацэнкі будзе месца некаторыя з гэтых памылак (гл. раздзел пад назвай "Практыка паказная кодэкса агляд" раней у гэтай чале). У той жа час, навічкі самі па сабе не будзе прадметам шматлікіх экспертнай ацэнкі на першы, так як яны не могуць спрыяць код, пакуль яны больш знаёмыя з праектам. Для вашых распрацоўнікаў, ён можа адчуваць сябе, як і ўсе крытыкі ўваходныя, выходныя ніколі. Такім чынам, існуе небяспека аблогі менталітэт узяўшы сярод старых рукі.
Лепшы спосаб прадухіліць гэта, каб папярэдзіць кожнага аб тым, што ідзе, гэта растлумачыць, сказаць ім, што пачатковы дыскамфорт цалкам нармальна, і пераканаць іх, што гэта будзе лепш. Некаторыя з гэтых папярэджанняў павінны праводзіцца ў прыватным парадку, перш чым праект адчынены. Але вы таксама можаце знайсці карысным, каб нагадаць людзям пра грамадскасці спісы, што гэта новы шлях развіцця для праекта, і што гэта зойме некаторы час, каб прыстасавацца. Самае лепшае, што вы можаце зрабіць, гэта прывесці прыклад. Калі вы не бачыце вашы распрацоўшчыкі адказу досыць пачаткоўца пытанні, то проста кажу, каб яны адказалі больш не дапаможа. Яны не могуць мець добрае пачуццё, што ордэра адказ, а што няма яшчэ, ці гэта можа быць, што яны не маюць пачуццё для ўстанаўлення прыярытэтаў для кадавання працаваць супраць новага цяжару знешняй сувязі. Спосаб атрымаць іх для ўдзелу з'яўляецца ўдзел самастойна. Будзьце на агульнадаступных паштовых рассылак, і пераканайцеся, што адказаць на некаторыя пытанні ёсць. Калі ў вас няма вопыту на месцах пытанне, то відавочна рукі яго да распрацоўніку, які робіць і глядзець, каб пераканацца, што ён варта з адказам, або па крайняй меры адказ. Гэта, натуральна, будзе спакуса для даўні распрацоўшчыкаў ўпасьці ў прыватных гутарках, так гэта тое, што яны прызвычаіліся. Пераканайцеся, што вы падпісаныя на ўнутраныя спісы рассылання, на якім гэта можа адбыцца, так што вы можаце папрасіць, каб такія дыскусіі перанесці ў публічныя спісы адразу.
Ёсць і іншыя, больш доўгатэрміновыя праблемы з адкрыццём раней закрытых праектаў. кіраўнік 5, грошы даследуе спосабы для змешвання аплачваецца і неаплатны распрацоўшчыкі паспяхова, і ў частцы 9, ліцэнзіі, аўтарскія правы і патэнты абмяркоўвае неабходнасць прававога абачлівасці пры адкрыцці прыватнага коду, які можа ўтрымоўваць праграмнае забеспячэнне, напісанае ці "належаць" іншых бакоў.
Пасля таго як праект прэзентабельным, а не дасканалым, толькі прэзентабельны-you're гатовыя заявіць пра гэта свеце. На самай справе гэта вельмі просты працэс: перайсці да http://freshmeat.net/, націсніце "адправіць у верхняй панэлі навігацыі, і запоўніць форму аб'яўляе новы праект. Першакурсніца гэта месца ўсё гадзіны для аб'явы аб новых праекта. Вы толькі павінны злавіць некалькі вачах навін аб вашым праекце распаўсюджвацца з вуснаў у вусны.
Калі вы ведаеце спісы рассылання або групы навін, дзе аб'явы вашага праекта будзе па-тэмы і інтарэсы, а затым размясціць там, але будзьце асцярожныя, каб зрабіць роўна адно паведамленне ў форуме, і накіраваць людзей да ўласнай форумах праекта для наступнай да абмеркавання (шляхам ўстаноўкі адказаць загаловак). Паведамленні павінны быць кароткімі і атрымаць права на кропку:
Каму: discuss@lists.example.org Тэма: [ANN] Scanley паўнатэкставы индексатор праекта Адказ на: dev@scanley.org Гэта адзін час пасаду аб'яўляюць аб стварэнні Scanley Праект, з адкрытым зыходным кодам поўны тэкст індэксацыі і пошуку рухавік з багаты API, для выкарыстання праграмістамі ў прадастаўленні паслуг пошуку вялікіх калекцый тэкставых файлаў. Scanley цяпер працуе кодам, ў стадыі актыўнай распрацоўкі, і шукае як распрацоўнікам, так і тэстараў. Галоўная старонка: http://www.scanley.org/ Асаблівасці: - Пошукі просты тэкст, HTML, XML і - Слова або фразу пошуку - (Плануецца) невыразнага адпаведнасці - (Плануецца) паступовага абнаўлення індэксаў - (Плануецца) індэксаванне аддаленых вэб-сайтаў Патрабаванні: - Python 02/02 або вышэй - Дастаткова дыскавай прасторы для захоўвання індэксаў (прыкладна 2x Арыгінальны памер дадзеных) Для атрымання дадатковай інфармацыі, калі ласка, прыходзьце да scanley.org. Дзякуй, -J. Выпадковыя
(Гл. раздзел пад назвай "Рэклама" у чале 6, сувязі для кансультацый аб аб'яўленні далейшых рэлізаў і іншых мерапрыемстваў праекта.)
Існуе працягваецца дыскусія ў свеце вольнага праграмнага забеспячэння аб тым, што неабходна для пачатку выкананне кода, ці ж праект можа быць з карысцю адкрыты нават ў дызайн / стадыі абмеркавання. Раней я думаў, пачынаючы з выкананы код быў самы важны фактар, што гэта было тое, што падзеленыя паспяховых праектаў з цацкамі, і што сур'ёзныя распрацоўшчыкі толькі прыцягвала да праграмнага забеспячэння, што зрабіў нешта канкрэтнае ўжо.
Гэта аказалася не так. У праекце Subversion, мы пачалі з праектнай дакументацыі, асноўных зацікаўленых і добра звязаны распрацоўнікаў, шмат фанфар, а не выкананне кода на ўсіх. Для маёй поўнай нечаканасцю, праект набыў актыўных удзельнікаў з самага пачатку, і да таго часу ў нас было нешта працуе, там было даволі шмат распрацоўшчыкаў добраахвотнікаў ўжо глыбока залучаныя. Subversion не адзіны прыклад, праект Mozilla быў таксама пачаты без выкарыстання кода, і ў цяперашні час паспяховы і папулярны вэб-браўзэр.
Перад тварам такіх доказаў, я павінен адыходзіць ад сцвярджэнні, што для запуску кода абсалютна неабходна для запуску праекта. Выкананне кода па-ранейшаму з'яўляецца лепшай асновай для дасягнення поспеху, і добрае правіла будзе чакаць, пакуль вы яго, перш чым аб'явіць праект. Аднак могуць узнікнуць акалічнасці, калі аб'яўляе раней сэнс. Я думаю, што па крайняй меры добра развітой праектнай дакументацыі, ці ж нейкі код рамкі, неабходна, вядома, могуць быць перагледжаныя на аснове зваротнай сувязі з грамадскасцю, але там павінна быць нешта канкрэтнае, што-то больш адчувальным, чым проста добрыя намеры, для людзей, да ракавіны свае зубы ў.
Кожны раз, калі вы аб'яўляе, не варта чакаць арда добраахвотнікаў далучыцца да праекту адразу ж пасля гэтага. Як правіла, вынік аб'яўляе, што вы атрымаеце некалькі выпадковых запытаў, яшчэ некалькі чалавек далучыцца да спісаў рассылання, і ў баку ад гэтага ўсё, што працягвае ў значнай ступені, як раней. Але з часам вы заўважыце паступовае павелічэнне долі ад новых аўтараў код і карыстальнікаў. Аб'ява проста пасадкі насення. Гэта можа заняць шмат часу для навін распаўсюджвацца. Калі праект паслядоўна ўзнагароджвае тых, хто ў ім удзел, навіны будуць распаўсюджвацца, хоць, таму што людзі хочуць дзяліцца, калі яны знайшлі нешта добрае. Калі ўсё пойдзе добра, дынамікі экспаненцыяльная сетак сувязі будзе павольна пераўтварэнні праекта ў комплексе супольнасці, дзе вам не абавязкова ведаць імя кожнага і ўжо не можа ісці кожны размова. Наступнай кіраўніка, прысвечаныя рабоце ў гэтым асяроддзі.
[ 10 ] Мы не дайшлі да падзелу аб крэдытаванні яшчэ, але толькі на практыцы тое, што я буду пазней прапаведаваць: назіральніка імя было Браян Белендорфу, і менавіта ён указаў на агульныя важнасці захавання ўсіх дыскусій грамадскасці, калі існуе было асаблівай неабходнасці ў асабістым жыцці.
[ 11 ] Гэта як прагляд кода гэта звычайна робіцца ў праектах з адкрытымі кодамі, ва ўсякім выпадку. У больш цэнтралізаваных праектаў, "прагляд кода" можа таксама азначаць некалькі людзей, якія сядзяць разам і пераходзячы раздрукоўкі зыходнага кода, гледзячы на ??канкрэтныя праблемы і ўзоры.
Змест
праектаў бясплатнага праграмнага забеспячэння спадзявацца на тэхналогіі, якія падтрымліваюць селектыўнага збору і інтэграцыі інфармацыі. Больш кваліфікаваных вы пры выкарыстанні гэтых тэхналогій, і на перакананне іншым карыстацца, больш паспяховы праект будзе ваш. Гэта толькі становіцца больш дакладна, як праект расце. Эфектыўнае кіраванне інфармацыяй, што перашкаджае праектаў з адкрытым кодам ад разбурэння пад цяжарам "Закон Брукса [ 12 ], у якой гаворыцца, што даданне рабочай сілы ў канцы праекта праграмнае забеспячэнне дазваляе ў любы момант. Фрэд Брукс адзначыў, што складанасць праекта павялічваецца прапарцыйна квадрату ліку ўдзельнікаў. Калі толькі нешматлікія людзі ўдзельнічаюць, кожны можа лёгка размаўляць са ўсімі астатнімі, але, калі сотні людзей прымаюць удзел, гэта ўжо не магчыма для кожнага чалавека, каб заставацца пастаянна ў курсе таго, што ўсе астатнія робяць. Калі добры бясплатны кіравання праектамі ПА, аб тым, каб усе адчуваюць, што яны ўсе працуюць разам у адным пакоі, відавочны пытанне: што адбудзецца, калі ўсё ў перапоўненай пакоі спрабуе гаварыць адразу?
Гэтая праблема не новая. У не-метафарычнае цесных памяшканнях, рашэнне парламенцкай працэдуры: афіцыйныя рэкамендацыі аб тым, як ёсць у рэжыме рэальнага часу дыскусіі ў вялікіх групах, як пераканайцеся, што важна не згодны, не губляецца ў патоках "я таксама" Каментары, як фармаваць падкамітэтаў, як распазнаць, калі прымаюцца рашэньні, і г.д. Важнай часткай парламенцкай працэдуры тым, якім чынам група ўзаемадзейнічае з сістэмай кіравання інфармацыяй. Некаторыя заўвагі зробленыя "для запісу", іншыя няма. Сама запіс падлягае прамой маніпуляцыі, і разумеецца не літаральнае стэнаграма таго, што адбылося, але ўяўленне аб тым, што гурт гатовы пагадзіцца адбылося. Запіс не з'яўляецца маналітнай, але прымае розныя формы ў розных мэтах. Яна ўключае ў сябе хвілін індывідуальных сустрэч, поўны збор усіх пратаколы ўсіх пасяджэнняў, справаздачы, праграмы і іх анатацыі, камітэт, справаздачы карэспандэнтаў няма, спісы дзеянняў элементаў і г.д.
Таму што Інтэрнэт не з'яўляецца сапраўды нумар, мы не павінны турбавацца аб рэплікацыі тыя часткі парламенцкай працэдуры, якія трымаюць некаторыя людзі ціхія, а іншыя гавораць. Але калі справа даходзіць да метадаў кіравання інфармацыяй, добра кіраваную праектаў з адкрытым кодам з'яўляюцца парламенцкія працэдуры на пазіцыі, метадалагічнай. Паколькі амаль усе камунікацыі ў праектах з адкрытымі кодамі адбываецца ў пісьмовай форме, складаныя сістэмы развіваліся для маршрутызацыі і маркіроўкі дадзеныя належным чынам, для мінімізацыі паўтораў, каб пазбегнуць ілжывых разыходжанні; для захоўвання і здабывання даных, для выпраўлення дрэнна ці састарэлай інфармацыі, а таксама для звязвання разнастайных бітаў інфармацыі адзін з адным, новыя сувязі не назіраецца. Актыўны ўдзел у праектах з адкрытымі кодамі засвоіць многія з гэтых метадаў, і часта выконваць складаныя задачы кіраўніцтва да таго, каб інфармацыя накіроўваецца правільна. Але ўсё імкнуцца ў канчатковым рахунку, залежыць ад складанага праграмнага забеспячэння. Наколькі гэта магчыма, сродкі масавай інфармацыі павінны самі зрабіць маршрутызацыю, маркіроўкі і запісы, і павінны зрабіць гэтую інфармацыю даступнай для людзей у найбольш зручны спосаб гэта магчыма. На практыцы, вядома, людзі ўсё роўна трэба будзе ўмешвацца ў многіх месцах у працэс, і важна, што праграмнае забеспячэнне робіць такія меры занадта зручна. Але ў цэлым, калі людзі клапоцяцца, каб этыкеткі і інфармацыю аб маршруце сапраўды на сваім першым ўваходзе ў сістэму, то праграмнае забеспячэнне павінна быць наладжана зрабіць столькі выкарыстанне метададзеных, што гэта магчыма.
Саветы ў гэтым раздзеле, інтэнсіўна практычныя, заснаваныя на вопыце канкрэтных праграм і мадэляў выкарыстання. Але справа не толькі вучыць прыватнасці калекцыю метадаў. Акрамя таго, каб прадэманстраваць, з дапамогай шматлікіх невялікіх прыкладаў, агульнага адносіны, якія лепш за ўсё заахвочваць добрае кіраванне інфармацыяй у праекце. Такое стаўленне будзе ўключаць спалучэнне тэхнічных навыкаў і навыкаў людзей. Тэхнічныя навыкі неабходныя, паколькі праграмнае забеспячэнне для кіравання інфармацыяй заўсёды патрабуе настройкі, а таксама пэўная колькасць бягучага абслугоўвання і настройкі, як узнікаюць новыя запатрабаванні (гл., напрыклад, абмеркаванне, як звяртацца з праектам росту ў раздзеле "папярэдняй фільтрацыі Bug Tracker " далей у гэтым раздзеле). Уменне працаваць з людзьмі неабходныя, так як чалавечае супольнасць таксама патрабуе абслугоўвання: гэта не заўсёды адразу відавочна, як выкарыстоўваць гэтыя інструменты, каб усе перавагі, а ў некаторых выпадках праекты супярэчлівыя канвенцый (гл., напрыклад, абмеркаванне стварэння адказу на загалоўкі выходных спіс рассылкі паведамленняў, у раздзеле "Паштовыя рассылкі" ). Кожны ўдзел у праекце неабходна будзе заахвочваць, у патрэбнае час і ў правільным кірунку, каб зрабіць іх часткай для захоўвання інфармацыі праекта добра арганізаваны. Больш актыўны ўдзел ўкладчыка, больш складаныя і спецыялізаваныя метады яна можа чакаць, каб вучыцца.
Кіраванне інфармацыяй не выразаць і сушаць рашэнне. Ёсць занадта шмат пераменных. Вы можаце, нарэшце, атрымаць усё наладжана менавіта так, як вы гэтага хочаце, і большасць з супольнасці, які ўдзельнічае, але тады праект рост складзе некаторыя з гэтых звычаяў немасштабируемый. Або праект рост можа стабілізавацца, і распрацоўшчыкаў і карыстальнікаў пасяліцца ў зручныя адносіны з тэхнічнай інфраструктуры, але потым хто-то прыйдзе і вынаходзяць усё новыя службы кіравання інфармацыяй, і даволі хутка навічкі будуць пытацца, чаму ваш праект не выкарыстаць яго, напрыклад, гэта адбываецца цяпер шмат праектаў вольнага праграмнага забеспячэння, якія папярэднічалі вынаходства вікі (гл. http://en.wikipedia.org/wiki/Wiki ). Многія пытанні з'яўляюцца пытаннямі суда, з удзелам кампрамісы паміж выгодай, якія вырабляюць інфармацыі і выгоды тых, якія спажываюць яго, або паміж часам, неабходныя для наладкі праграмнага забеспячэння для кіравання інфармацыяй і карысць ён прыносіць ў праект.
Сцеражыцеся спакусы над-аўтаматызаваць, гэта значыць, для аўтаматызацыі рэчы, якія сапраўды патрабуюць чалавечага увагі. Тэхнічная інфраструктура з'яўляецца важным, але тое, што робіць свабодным работы праекта праграмнае забеспячэнне догляду і разумным выразам гэтага сыходу ад людзей, якія ўдзельнічаюць. Тэхнічнай інфраструктуры ў асноўным аб прадастаўленні людзям зручных спосабаў зрабіць гэта.
Большасць праектаў з адкрытым кодам маюць па крайняй меры мінімум, стандартны набор інструментаў для кіравання інфармацыяй:
У першую чаргу цэнтралізаванай, аднабаковы канал інфармацыі ад праекта з грамадскасцю. Вэб-сайт можа таксама служыць у якасці адміністрацыйнага інтэрфейсу для іншых інструментаў праекта.
Звычайна найбольш актыўных паведамленьняў форуму ў праекце, і "сярэдні запісу."
Дазваляе распрацоўнікам кіраваць зменамі кода зручна, у тым ліку вяртанне і "змяненне партаванне". Дазваляе кожнаму назіраць, што адбываецца ў кодзе.
Дазваляе распрацоўнікам адсочваць тое, што яны працуюць, каардынаваць адзін з адным, і план рэлізаў. Дазваляе кожнаму запыце статус памылкі і запісваць інфармацыю (напрыклад, прайграванне рэцэпты) аб канкрэтных памылак. Можа быць выкарыстана для адсочвання не толькі памылкі, але і задачы, рэлізы, новыя магчымасці, і г.д.
Месца для хуткага, лёгкага абмеркавання і пытанне / адказ абменаў. Не заўсёды архіў цалкам.
Кожны інструмент у гэтым наборы адрасы відавочная неабходнасць, але іх функцыі таксама ўзаемазвязаныя, і прылады павінны быць зроблены, каб працаваць разам. Ніжэй мы разгледзім, як яны могуць гэта зрабіць, і што больш важна, як прымусіць людзей выкарыстоўваць іх. На вэб-сайце не абмяркоўваецца да канца, так як ён дзейнічае хутчэй як клей для іншых кампанентаў, чым у якасці інструмента для яго самога.
Вы можаце быць у стане пазбегнуць шмат галаўнога болю выбару і настройкі гэтых інструментаў з дапамогай кансерваваных хостынг сайта: сервер, які прапаноўвае расфасаваны, шаблонны галіне вэб-усё суправаджаюць прылады, неабходныя для запуску праекта распрацоўкі праграмнага забеспячэння. Глядзіце частку пад назвай "Кансервы Хостынг" далей у гэтым раздзеле для абмеркавання пераваг і недахопаў кансерваў хостынгу.
Спісы рассылання з'яўляюцца хлебам і алеем праект сувязі. Калі карыстальнік падвяргаецца любы форум, акрамя вэб-старонак, то, хутчэй за ўсё, каб быць адным з рассылкі праекта спісаў. Але перш, чым яны адчуваюць у сам спіс рассылкі, яны будуць адчуваць ў спіс рассылкі інтэрфейс, то ёсць механізм, з дапамогай якога яны далучаюцца ("падпісацца") спісу. Гэта падводзіць нас да Правіла № ??1 спісаў рассылання:
Не спрабуйце кіраваць спісаў рассылання пры дапамозе ручной атрымаць праграмнае забеспячэнне для кіравання спісам.
Гэта будзе павабна паставіць адключыў. Стварэнне спісу рассылання праграмнае забеспячэнне для кіравання можа здацца залішнім на першы погляд. Упраўленне малымі, з нізкім трафікам спісы боку будзе здавацца панадліва простая: вы толькі што стварылі падпіскі адрас, які накіроўвае да вас, і калі хто-то адпраўляе яго неабходна дадаць (або выдаліць) свой адрас электроннай пошты ў некаторых тэкставы файл, які ўтрымлівае ўсе адрасы у спісе. Што можа быць прасцей?
Увесь фокус у тым, што добры спіс рассылкі кіраваннем якой тое, што людзі сталі чакаць, не проста на ўсіх. Гэта не проста аб падпісцы і адмова ад карыстальнікаў, калі яны просяць. Гэта таксама аб мадэратарам для прадухілення спаму, прапаноўваючы спіс рассылання ў дайджэст ад формы паведамленняў па-паведамленне, падаючы стандартны спіс і інфармацыю аб праекце пасродкам аўтоадказнiкаў, а таксама розныя іншыя рэчы. У чалавека маніторынгу падпіскі адрас можа паставіць толькі мінімум функцыянальнасці, ды і тое не так надзейна і хутка, як праграмнае забеспячэнне можа.
Сучасны спіс праграмнага забеспячэння для кіравання як правіла, прапаноўвае па крайняй меры наступныя асаблівасці:
Калі карыстальнік падпісваецца на спіс, то яна павінна аператыўна атрымліваць аўтаматызаваныя прывітанне ў адказ, сказаўшы ёй, што яна аформлена падпіска, як узаемадзейнічаць далей з праграмным забеспячэннем спіс рассылкі, і (самае галоўнае), як адмовіцца ад падпіскі. Гэта аўтаматычны адказ можа быць наладжаны, каб утрымліваць канкрэтных праектаў інфармацыю, вядома, такіх як вэб-праекта сайта, FAQ месцазнаходжанне і г.д.
У рэжым дайджэста, абанент атрымлівае адзін ліст у дзень, якая змяшчае ўсе апошнія дзейнасці на гэты дзень. Для людзей, якія сочаць спіс свабодна, без удзелу, рэжым дайджэста часцяком з'яўляецца больш пераважным, паколькі ён дазваляе ім правяраць усе прадметы адразу і пазбегнуць адцягнення лістоў маючым адбыцца ў выпадковыя моманты часу.
Для "ўмераных", каб праверыць паведамленні, каб пераканацца, што яны а) не з'яўляецца спамам, і б) на тэму, перш чым яны выходзяць, каб увесь спіс. Умеранасць абавязкова ўключае ў сябе людзей, але праграмнае забеспячэнне можа зрабіць многае, каб зрабіць яго прасцей. Існуе яшчэ сказаць аб ўмерана пазней.
Сярод іншага, гэта дазваляе адміністратару пайсці і выдаліць састарэлыя адрасы лёгка. Гэта можа стаць тэрміновае, калі адрас атрымальніка пачынае пасылаць аўтаматычныя "Я больш не па адрасе" адказы назад у спіс у адказ на кожнае паведамленне спіс. (Некаторыя праграмы рассылкі можна нават выявіць гэта само па сабе і адпісацца чалавек аўтаматычна.)
Многія людзі маюць складаную фільтраванне і адказ правілах, устаноўленых у іх чытачоў пошце. Паштовая рассылка можа дадаваць і маніпуляваць пэўныя стандартныя загалоўкі для гэтых людзей, каб скарыстацца (падрабязнасці ніжэй).
Усе паведамленні ў кіраваны спісы захоўваюцца і даступныя ў Інтэрнэце; Акрамя таго, некаторыя спіс рассылкі праграмнае забеспячэнне прапануе спецыяльныя інтэрфейсы для падлучэння вонкавага інструмент для архівацыі, такіх як MHonArc ( http://www.mhonarc.org/ ). Як частку пад назвай "Прыкметнае выкарыстанне архіваў" у чале 6, сувязі абмяркоўваецца, архіваванне мае вырашальнае значэнне.
Кропкі усё гэта проста падкрэсліць, што кіраванне спіс рассылкі з'яўляецца складанай праблемай, што было дадзена шмат думаў, і ў асноўным вырашаны. Вы, вядома, не трэба, каб стаць экспертам у гэтым. Але вы павінны ведаць, што заўсёды ёсць магчымасці, каб даведацца больш, і гэты спіс кіравання будзе займаць вашу ўвагу час ад часу ў ходзе вядзення адкрытага праекта. Ніжэй мы разгледзім некаторыя з найбольш распаўсюджаных пытанняў, спіс рассылкі канфігурацыі.
Між тым, калі гэтая фраза была напісана і пасля яго публікацыі, Інтэрнэт-шырокая праблема спаму будзе, верагодна, падвоіцца ў сур'ёзнасці або, па крайняй меры, ён будзе адчуваць сябе такім чынам. Быў момант, не так даўно, калі можна было запусціць спіс рассылкі без прыняцця якіх-небудзь спам-прафілактычных мер на ўсіх. Выпадковыя вандроўных паведамленне будзе па-ранейшаму з'яўляюцца, але рэдка, каб ён быў толькі нізкім узроўнем раздражненне. Гэтая эпоха сышла назаўсёды. Сёння, спіс рассылкі, які не прымае меры па прадухіленні спаму хутка апускаецца ў непажаданай электроннай пошты, каб кропка unusability. Абарона ад спаму з'яўляецца абавязковым.
Разаб'ем спаму на дзве катэгорыі: прадухіленне спаму паведамленні ад з'яўлення на вашых спісаў рассылання, а таксама прадухіленне спісу рассылання ад крыніцы новых адрасоў электроннай пошты для камбайнаў спамераў. Першае з'яўляецца больш важным, таму мы разглядаем гэта ў першую чаргу.
Існуюць тры асноўных метадаў прадухілення паведамленняў спаму, і вялікая частка праграмнага забеспячэння спісу рассылання прапануе ўсе тры. Яны лепш за ўсё выкарыстоўваць у тандэме:
Толькі аўтаматычнае размяшчэнне паведамленняў з спісу абанентаў.
Гэта эфектыўна, паколькі яна ідзе, і таксама ўключае ў сябе вельмі мала адміністрацыйных накладных расходаў, так як гэта звычайна проста пытанне змены налады ў канфігурацыі праграмнага забеспячэння рассылкі. Але звярніце ўвагу, што паведамленні, якія не з'яўляюцца аўтаматычна ўхвалены не павінны быць проста адкінутыя. Замест гэтага, яны павінны быць перададзеныя для мадэрацыі, па двух прычынах. Па-першае, вы хочаце, каб неподписчиков да паведамлення. Чалавек з пытаннем ці прапановай не трэба, каб падпісацца на рассылку толькі, каб зрабіць адзін пост там. Па-другое, нават абаненты могуць часам паведамленне з адрасы, чым тая, па якой яны падпісаліся. Адрасы электроннай пошты не з'яўляецца надзейным метадам выяўлення людзей, і не павінна разглядацца як такая.
Фільтр паведамленні праз спам-фільтрацыі праграмнага забеспячэння.
Калі праграмнае забеспячэнне спісу рассылання робіць магчымым (большасць з іх), вы можаце мець паведамленняў фільтруецца спам-фільтрацыі праграмнага забеспячэння. Аўтаматычны спам-фільтрацыі не з'яўляецца дасканалым, і ніколі не будзе, так як бясконцая гонка ўзбраенняў паміж спамерамі і фільтр пісьменнікаў. Аднак, гэта можа значна паменшыць колькасць спаму, які атрымлівае да ўмерана чэргі, і так больш, што чэргі больш часу людзі павінны траціць яго разгляду, любую колькасць аўтаматызаваных фільтрацыі выгадна.
Існуе не месца тут для атрымання падрабязных інструкцый па наладцы спам-фільтры. Вы павінны будзеце кансультавацца рассылку праграмнага забеспячэння ў дакументацыі для гэтага (гл. раздзел "Праграмнае забеспячэнне", далей у гэтым раздзеле). Спіс праграмнага забеспячэння часта ідзе з некаторымі ўбудаванымі функцыямі барацьбы са спамам, але вы можаце дадаць некаторыя фільтры іншых распрацоўнікаў. У мяне быў добры досвед працы з гэтымі двума: SpamAssassin ( http://spamassassin.apache.org/ ) і SpamProbe ( http://spamprobe.sourceforge.net/ ). Гэта не каментар на шматлікіх іншых адкрытых крыніц спаму фільтрамі там, некаторыя з якіх па-відаць, таксама нядрэнныя. Я проста выпадкова выкарысталі гэтых двух сябе і быў задаволены ім.
Умеранасць.
Для паведамленняў, якія аўтаматычна не дапускаецца ў сілу таго, з спісу абанентаў, і якія робяць гэта праз сістэмы фільтрацыі спаму, калі такія маюцца, на апошнім этапе з'яўляецца умеранасць: пошта перасылаецца на спецыяльны адрас, дзе чалавек разглядае яго і пацвярджае або адхіляе яго.
Пацвярджэнне пасаду займае адну з двух формаў: Вы можаце прыняць толькі пасля гэтага адзін раз, або вы можаце сказаць спіс праграмнага забеспячэння, каб гэтая і ўсе наступныя паведамленні ад аднаго адпраўніка. Вы амаль заўсёды хачу зрабіць апошні, у мэтах скарачэння будучага цяжару ўмеранасці. Падрабязная інфармацыя аб тым, як пацвердзіць вар'іравацца ад сістэмы да сістэмы, але звычайна справа адказваючы на ??спецыяльны адрас з дапамогай каманды "прыняць" (маецца на ўвазе прыняць толькі гэты пост) або "Allow" (Дазволіць гэтай і будучай пасады).
Адпрэчваючы гэта звычайна робіцца, проста ігнаруючы ўмерана пошце. Калі спіс праграмнага забеспячэння ніколі не атрымлівае пацвярджэнне таго, што нешта сапраўды паведамленне, то яна не пройдзе гэты пост на спіс, так што проста зніжаецца ўмерана пошты дасягае жаданага эфекту. Часам вы таксама маеце магчымасць адказваць з "адмовіцца" або "адмовіць" каманду, каб аўтаматычна не ўхваляюць будучыні лістоў ад аднаго адпраўніка, нават не прапускаючы іх праз меру. Існуе рэдка любой кропцы рабіць гэтага, бо умеранасць ў асноўным аб спаму, і спамеры як правіла, не адправіць з таго ж адрасу двойчы ў любым выпадку.
Абавязкова выкарыстоўвайце ўмерана толькі для фільтрацыі спаму і выразна не па тэме паведамленні, напрыклад, калі хтосьці выпадкова паведамлення на няправільны спіс рассылкі. Ўмерана сістэмы, як правіла, даюць вам магчымасць адказаць непасрэдна на адпраўніка, але не выкарыстоўваць гэты метад для адказу на пытанні, якія сапраўды належаць на сам спіс рассылкі, нават калі вы ведаеце адказ ад верхняй частцы галавы. Каб зрабіць гэта пазбавіць супольнасці праекту з дакладную карціну якога роду пытанні людзі пытаюцца, і пазбавіць іх магчымасці адказаць на пытанні сабе і / ці бачыць адказы ад іншых. Рассылка ўмерана строга аб захаванні спіс свабодных ад непажаданай і не па тэме паведамленні, не больш таго.
Каб вашыя спісы рассылання ад крыніцы адрасоў для спамераў, агульная тэхніка для архіваў, каб схаваць адрасы электроннай пошты людзей, напрыклад, замяніўшы
jrandom@somedomain.com
з
jrandom_AT_somedomain.com
або
jrandomNOSPAM@somedomain.com
або некаторыя таксама відавочныя (на чалавека) кадавання. Паколькі камбайны спам адрас часта працуюць шляхам сканавання праз вэб-старонкі, у тым ліку онлайн архіваў вашай рассылкі і шукае паслядоўнасці, якія змяшчаюць "@", кадавання адрасоў спосаб зрабіць электронны адрасы людзей нябачнымі або бескарысным для спамераў. Гэта нічога не робіць для прадухілення спаму накіроўваецца ў сам спіс рассылкі, вядома, але гэта не павялічваць колькасць спаму прама на паштовыя адрасы спісу карыстальнікаў.
Адрас хавацца можа быць спрэчным. Некаторыя людзі, як ён шмат, і будзе дзівіцца, калі вашыя архівы не рабіць гэта аўтаматычна. Іншыя людзі думаюць, што гэта занадта шмат нязручнасцяў (таму што людзі таксама павінны перавесці адрасы назад перад іх выкарыстаннем). Часам людзі сцвярджаюць, што гэта неэфектыўна, таму што камбайн тэарэтычна могуць кампенсаваць любыя пастаяннай практыкі кадавання. Аднак, звярніце увагу, што маюцца эмпірычныя доказы таго, што адрас хаваецца з'яўляецца эфектыўным, гл http://www.cdt.org/speech/spam/030319spamreport.shtml.
У ідэале, праграмнае забеспячэнне кіравання спісам б пакінуць выбар да кожнага асобнага абанента, альбо праз спецыяльныя ды / няма загалоўка ці налады ў спісе абанента паводле акаўнта. Аднак, я не ведаю ні аднаго праграмнага забеспячэння, якое прапануе кожнаму абаненту або за пасаду выбару ў гэтым пытанні, таму на дадзены момант спіс менеджэр павінен прымаць рашэнне для кожнага (пры ўмове, архіватар прапануе функцыю на ўсё, што не заўсёды выпадку). Я нахіляюся да вельмі мякка павароту адрас хаваецца на. Некаторыя людзі вельмі асцярожныя, каб пазбегнуць размяшчэння іх адрасы электроннай пошты на вэб-старонках або ў іншым месцы спам камбайн можа бачыць гэта, і яны будуць расчараваныя, каб усё, што сыход скінутая архіве спісу рассылання; тым часам, хаваецца нязручнасці адрас накладае на Архіў карыстальнікаў вельмі невялікі, так як гэта трывіяльна для пераўтварэння Obscured адрас назад да дапушчальным, калі Вам неабходна звязацца з чалавекам. Але майце на ўвазе, што, у рэшце рэшт, гэта яшчэ гонкі ўзбраенняў: па часу, калі вы чытаеце гэтыя радкі, камбайны цалкам развіліся да кропкі, дзе яны могуць прызнаць найбольш распаўсюджанымі формамі хаваецца, і мы павінны думаць пра што-то іншае.
Спіс абанентаў часта хочуць, каб пакласці пошту з спісу ў канкрэтных праектаў папкі, асобна ад іншых сваіх пошце. Іх чытання пошты праграмнае забеспячэнне можа зрабіць гэта аўтаматычна шляхам вывучэння паштовага загалоўкі. Загалоўкі палёў у верхняй частцы пошты, якія паказваюць адпраўнік, атрымальнік, тэма, дата, і розныя іншыя рэчы пра паведамленні. Некаторыя загалоўкі добра вядомыя і эфектыўна абавязковым:
Ад:... Каму:... Тэма:... Дата:...
Іншыя з'яўляюцца неабавязковымі, хоць яшчэ зусім стандартныя. Напрыклад, электронныя лісты не з'яўляюцца строга абавязаны мець
Адказ на: sender@email.address.here
загалоўка, але большасць з іх, таму што гэта дае атрымальнікам бяспечны спосаб дасягнуць аўтара (гэта асабліва карысна, калі аўтар быў вымушаны адправіць з адрасы, чым той, да якога адказы павінны быць накіраваны).
Некаторыя паштовыя чытання праграмнае забеспячэнне прапануе просты ў выкарыстанні інтэрфейс для падачы лісты на аснове шаблонаў ў загалоўку. Гэта прыводзіць людзей прасіць, каб спіс рассылкі дадаць аўтаматычнага прэфікса для ўсіх суб'ектаў, таму яны могуць усталёўваць свае чытачам шукаць для гэтага прэфікса і аўтаматычна файл лісты ў патрэбную папку. Ідэя ў тым, што аўтару варта напісаць:
Тэма: Стварэнне 2,5 рэлізе.
але пошты будзе адлюстроўвацца ў спісе выгляду:
Тэма: [discuss@lists.example.org] унясенні 2,5 рэлізе.
Хоць вялікая частка праграмнага забеспячэння кіравання спісам прапануе магчымасць зрабіць гэта, я настойліва рэкамендую супраць ператварэння опцыі. Праблемы яна вырашае можа быць лёгка вырашана ў значна менш дакучлівай спосабамі, і выдаткі на харчаванне прасторы ў полі "Тэма" з'яўляецца занадта высокай. Дасведчаныя карыстальнікі спіс рассылкі звычайна праверкі суб'ектаў уваходнай пошты спісу дзень, каб вырашыць, што чытаць і / або адказаць. Предварение імя спісу да аб'екта, націснуць на правы бок Тэма з экрана, што робіць яго нябачным. Гэта хавае інфармацыю, што людзі залежаць ад вырашыць, што лісты, каб адкрыць, тым самым памяншаючы агульную функцыянальнасць спісу рассылання для ўсіх.
Замест munging загалоўку, навучыць карыстальнікаў выкарыстоўваць іншыя стандартныя загалоўкі, пачынаючы з у загаловак, які павінен сказаць, назва рассылкі:
Каму: <discuss@lists.example.org>
Любы паштовы кліент з магчымасцю фільтрацыі па тэме павінны быць у стане фільтра на такой жа лёгкасцю.
Ёсць некалькі іншых неабавязковых, але-стандартныя загалоўкі чаканых для складання спісаў рассылання. Фільтраванне па гэтым яшчэ больш надзейным, чым выкарыстанне "Каму" ці "Копія" загалоўкі, так як гэтыя загалоўкі дададзеныя да кожнай пасады па кіраванні спіс рассылкі само праграмнае забеспячэнне, некаторыя карыстальнікі могуць разлічваць на іх прысутнасць:
Спіс-Help: <mailto:discuss-help@lists.example.org> Спіс-адпісацца: <mailto:discuss-unsubscribe@lists.example.org> спіс з пасадамі: <mailto:discuss@lists.example.org> Delivered-To: спіс рассылкі discuss@lists.example.org Спіс рассылкі: кантакт discuss-help@lists.example.org; вядзенні ezmlm
Па большай частцы, яны гавораць самі за сябе. Глядзіце http://www.nisto.com/listspec/list-manager-intro.html для больш падрабязнага тлумачэння, ці, калі вам трэба сапраўды падрабязна, фармальнай спецыфікацыі, гл http://www.faqs.org/rfcs/rfc2369. HTML.
Заўважце, як гэтыя загалоўкі вынікае, што калі ў вас ёсць спіс рассылкі з імем "спіс", то ў Вас таксама ёсць адміністрацыйныя адрасы "спіс-Help" і "Спіс-адпісацца" даступныя. У дадатак да гэтых, гэта нармальна, каб "спіс-падпісацца", для злучэння, і "Спіс-ўладальніка", для дасягнення спіс адміністратараў. У залежнасці ад праграмнага забеспячэння для кіравання спісам вы выкарыстоўваеце гэтыя і / або розныя іншыя адміністрацыйныя адрасы могуць быць створаны; дакументацыя будзе атрымаць падрабязную інфармацыю. Звычайна поўнае тлумачэнне ўсіх гэтых спецыяльных адрасоў адпраўляецца кожнаму новаму карыстальніку як частка аўтаматызаванай "Сардэчна запрашаем пошты" на падпісцы. Вы самі, верагодна, атрымаць копію гэтага вітаем пошце. Калі ў вас няма, то папрасіць каго-небудзь для копіі, так што вы ведаеце, што карыстальнікі бачаць, калі яны далучыцца да спісу. Захоўвайце копіі зручны так што вы можаце адказаць на пытанні аб функцыях спіс рассылкі, або яшчэ лепш, пастаўце яго на вэб-старонцы недзе. Такім чынам, калі людзі губляюць сваю ўласную копію інструкцыі і пасля спытаць: "Як я магу адмовіцца ад гэтага спісу?", Вы можаце проста перадаць іх URL.
Некаторыя праграмы рассылкі прапануе опцыю дадання адпіску інструкцыі да ніжняй частцы кожнага паведамлення. Калі гэтая опцыя даступная, уключыце яго. Гэта выклікае толькі некалькі дадатковых радкоў у паведамленні, у бясшкодныя месцы, і яна можа захаваць вам шмат часу, за кошт скарачэння колькасці людзей, пошты ці горш, паштовы спіс!-Пытаюць, як адмовіцца ад падпіскі.
Раней, у раздзеле "Пазбягайце прыватных гутарках", я падкрэсліў важнасць пераканаўшыся абмеркавання знаходжанне ў грамадскіх форумах, і казалі пра тое, як актыўныя меры часам неабходныя для прадухілення гутарак з задняй у прыватныя электроннай пошты тэмы, акрамя таго, гэтая кіраўнік Аб стварэнні праекта камунікацыйнае праграмнае забеспячэнне, каб зрабіць так шмат працы для вас, як гэта магчыма. Таму, калі кіраванне рассылку праграмнае забеспячэнне прапануе спосаб аўтаматычна выклікаюць дыскусіі, каб застацца на спіс, вы павінны думаць, што паварот функцыю будзе відавочным выбарам.
Ну, не зусім. Існуе такая асаблівасць, але яна мае некалькі даволі сур'ёзных перашкод. Пытанне аб тым, выкарыстоўваць ці не выкарыстоўваць гэта адна з самых гарачых дэбатаў у спісе рассылання кіравання-праўда, не спрэчкі, якія, хутчэй за ўсё, каб у вячэрніх навінах у вашым горадзе, але яна можа ўспыхнуць час ад часу ў свабодных праграмных праектаў. Ніжэй я апішу функцыі, даць асноўныя довады абодвух бакоў, і зрабіць лепшай рэкамендацыяй я магу.
Функцыя сама па сабе вельмі простая: праграмнае забеспячэнне спісу рассылання можна, калі вы хочаце, аўтаматычна адказаць загаловак на кожны пост для перанакіравання адказаў на спіс рассылкі. Гэта значыць, незалежна ад таго, што адпраўнік змяшчае ў адказаць загаловак (або нават калі яны не ўключаюць у сябе адзін на ўсіх), да таго часу спіс абанентаў гл. паведамленне, загаловак будзе змяшчаць спіс адрасоў:
Адказ на: discuss@lists.example.org
На першы погляд, гэта здаецца добрай рэччу. Таму што практычна ўсе праграмнае забеспячэнне для паштовага чытанні звяртае ўвагу на адказ-у загаловак, цяпер, калі хто-небудзь у адказ на паведамленне, іх адказ будзе аўтаматычна імя ўвесь спіс, а не толькі для адпраўніка паведамлення час адказу. Вядома, адказчык можа ўручную змяняць, дзе ідзе паведамленне, але галоўнае, што па змаўчанні напрамкі адказаў у спіс. Гэта выдатны прыклад выкарыстання тэхналогіі заахвочваць супрацоўніцтва.
На жаль, Ёсць некаторыя недахопы. Першы вядомы як не можа знайсці дарогу назад Галоўная праблема: часам адпраўніку будзе пакласці іх "рэальны" адрас электроннай пошты ў адказ, да поля, таму што для той ці іншай прычыне яны адпраўляюць электронную пошту з іншага адрасы, чым дзе яны яго атрымліваюць. Людзі, якія заўсёды чытаць і адпраўляць з таго ж месца не маюць гэтай праблемы, і можаце быць здзіўлены, што ён наогул існуе. Але для тых, хто незвычайных канфігурацый электроннай пошце, або хто не можа кантраляваць тое, як з адрасам на іх лісты выглядае (магчыма, таму што яны пасылаюць на працу і не маюць ніякага ўплыву на ІТ-аддзел), выкарыстоўваючы для адказу можа быць толькі, як яны павінны гарантаваць, што адказы іх дасягнення. Калі такі чалавек паведамленняў у спіс рассылкі, што ён не падпісаўся на яго ўстаноўку для адказу становіцца істотнай інфармацыі. Калі спіс праграмнага забеспячэння перапісвае яго, ён ніколі не можаце ўбачыць адказы на свой пост.
Другі недахоп звязаны з чаканнямі, і на мой погляд, самы магутны аргумент супраць Адказ на munging. Большасць дасведчаных карыстальнікаў пошты прывыклі да двух асноўных метадаў адказу: адказ да ўсіх і адказаць да аўтару. Усё сучаснае праграмнае забеспячэнне чытання пошты мае асобныя клавішы для гэтых двух дзеянняў. Карыстальнікі ведаюць, што адказаць на ўсе (гэта значыць, у тым ліку спіс), яны павінны выбраць для адказу-ўсё, і адказаць у прыватным парадку аўтара, яны павінны выбраць для адказу-аўтара. Хаця вы хочаце, каб заахвочваць людзей, каб адказаць на спіс па меры магчымасці, Ёсць, безумоўна, абставіны, пры якіх прыватныя адказ адказвае прэрагатывай, напрыклад, яны хочуць сказаць што-то канфідэнцыйнай аўтара арыгінальнага паведамлення, то, што было б недарэчна на публічны спіс.
Зараз разгледзім, што адбываецца, калі спіс пераазначэнне арыгінальны адпраўніка для адказу. Адказчык хіты для адказу ключавыя аўтара, разлічваючы адправіць асабістае паведамленне Вярнуцца да аўтару. Таму што гэта чаканае паводзіны, ён не можа турбаваць паглядзець уважліва на адрас атрымальніка ў новае паведамленне. Ён складае яго асабістай, канфідэнцыйнай паведамленне, якое, магчыма, кажа якія зводзяць рэчаў пра каго-то ў спісе, і хіты адправіць ключ. Нечакана, праз некалькі хвілін яго паведамленне з'яўляецца на рассылку! Праўда, у тэорыі ён павінен быў ўважліва паглядзеў на поле атрымальніка, і не павінны лічыць нічога адказаць загаловак. Але аўтары амаль заўсёды ўстанаўліваецца для адказу на свае асабістыя адрасы (ці, хутчэй, да сваёй пошце праграмнага забеспячэння ўсталёўвае яго для іх), і шматлікія даўнія карыстальнікі электроннай пошты павінны чакаць, што. На самай справе, калі чалавек свядома наборы для адказу на некаторыя іншыя адрасы, такія як спіс, ён звычайна робіць пункту згадваючы аб гэтым у целе паведамлення, каб людзі не будуць здзіўлены тым, што адбываецца, калі яны адказваюць.
З-за магчымасці сур'ёзных наступстваў гэтага нечаканага паводзінаў, мае ўласныя перавагі для наладкі праграмнага забеспячэння кіравання спісам, каб ніколі не дакранацца да адказ-у загаловак. Гэта адзін выпадак, калі з выкарыстаннем тэхналогіі заахвочваць супрацоўніцтва мае, як мне здаецца, патэнцыйна небяспечных пабочных эфектаў. Аднак Ёсць таксама некаторыя магутныя аргументы іншага боку ў гэтым спрэчцы. Які б спосаб вы ні выбралі, вы будзеце часам атрымаць людзей, якія адпраўляюць у спіс пытаюцца, чаму вы не выбралі іншы шлях. Паколькі гэта не тое, што вы калі-небудзь захочаце ў якасці асноўнай тэмай абмеркавання ў вашым спісе, гэта можа быць добра мець гатовы адказ гатовы, з тых, што больш верагодна, каб спыніць абмеркаванне, чым заахвочваць яго. Пераканайцеся, што вы не настойваю, што ваша рашэнне, якой бы ні гэта, відавочна, адзіна правільны і разумны (нават калі вы думаеце, што гэта справа). Замест гэтага, адзначаюць, што гэта вельмі стары спрэчка, Ёсць добрыя аргументы абодвух бакоў, няма іншага выбару, збіраецца задаволіць усіх карыстачоў, і, такім чынам, вы толькі што зрабілі лепшае рашэнне, якое вы маглі. Ветліва просяць, што прадмет не быць перагледжаныя, калі хто-небудзь што-то сапраўды новае, каб сказаць, то заставацца ў баку ад патоку і спадзяюся, што ён памірае натуральнай смерцю.
Хтосьці можа прапанаваць галасавання выбраць тую ці іншую. Вы можаце зрабіць гэта, калі вы хочаце, але асабіста я не адчуваю, што падлік галовак здавальняючы рашэнне ў гэтым выпадку. Штраф для тых, хто здзіўлены паводзінамі настолькі вялікі (выпадкова адправіць яму асабістае пошце публічны спіс), і нязручнасці для ўсіх астатніх гэта даволі невялікае (часам таго, каб нагадаць хто-то рэагаваць на ўвесь спіс, а не толькі да вы), што гэта не ясна, што большасць, нават калі яны з'яўляюцца большасцю, павінны быць у стане забяспечыць меншасцяў на такую ??рызыку.
Я не разгледжаны ўсе аспекты гэтага пытання тут, толькі тыя, якія, здавалася першараднае значэнне. Для ўсебаковага абмеркавання, убачыць гэтыя дзве кананічныя дакументы, якія тыя людзі заўсёды спасылаюцца, калі яны з гэтай дыскусіі:
Напісаць Адказ на адзін, Чыпам Розенталь
Усталюйце для адказу на спіс, Сымона Хіл
Нягледзячы на мяккі перавагі, названых вышэй, я не адчуваю, што ёсць "правільны" адказ на гэтае пытанне, і з задавальненнем прымаюць удзел у многіх спісах, якія набор для адказу. Самая важная рэч вы можаце зрабіць, гэта спыніцца на той ці іншы рана, і паспрабуйце не заблытацца ў дэбатах аб гэтым пасля гэтага.
Калі-небудзь, хто-то атрымае яркае ўяўленне для ажыццяўлення адказаць да спісу ключ у паштовы кліент. Было б выкарыстоўваць некаторыя прыстасаваныя загалоўкі спісу згадвалася раней, каб высветліць адрас спісу рассылання, а потым, адказаць непасрэдна ў спіс толькі, пакінуўшы ад любога іншага адрасы атрымальнікаў, так як большасць з іх, верагодна, падпісаліся на спіс у любым выпадку. У рэшце рэшт, іншым чытачам пошты будзе забраць функцыю, і ўся гэтая дыскусія будзе сысьці. (На самай справе, Mutt чытання пошты сапраўды прапаноўвае гэтую функцыю. [ 13 ])
Яшчэ лепш, рашэнне было б для адказу на munging быць кожнаму абаненту перавагі. Тыя, хто хоча спіс для ўстаноўкі Адказ на сапсаваных (альбо на паведамленні іншых ці на свае ўласныя паведамленні) можа звярнуцца за што, і тых, хто не хацеў бы прасіць для адказу, каб іх пакінулі ў спакоі. Аднак, я не ведаю ні аднаго праграмнага кіравання спісам, які прапануе гэты для кожнага абанента. У цяперашні час мы, падобна, затрымаўся з глабальныя наладкі. [ 14 ]
Падрабязная тэхнічная інфармацыя аб стварэнні спісу рассылання архівавання з'яўляюцца спецыфічнымі для праграмнага забеспячэння, якое працуе спіс, і выходзяць за рамкі гэтай кнігі. Пры выбары і наладзе архіватара, разгледзець гэтыя якасці:
Людзі часта хочуць, каб звярнуцца да заархіваваны паведамленне ў працягу апошняга гадзіны або двух. Калі магчыма, архіватар павінен архіва кожнай пасады імгненна, так што да таго часу, пасля з'яўлення на спіс рассылкі, ён ужо прысутнічае ў архіве. Калі гэтая опцыя не даступная, то па меншай меры паспрабаваць ўсталяваць архіватар для абнаўлення сама кожную гадзіну або каля таго. (Па змаўчанні, некаторыя архіватары запусціць іх абнаўлення працэсы раз за ноч, але на практыцы гэта занадта шмат лаг часу для актыўнага спісу рассылкі.)
Пасля паведамлення архівуюцца у прыватнасці URL, ён павінен заставацца даступным на што сапраўды такі жа URL назаўжды, або як мага бліжэй, каб назаўжды, як гэта магчыма. Нават калі архівы ствараюцца зноўку, аднавіць з рэзервовай копіі, або ў адваротным выпадку фіксаванай, любы URL-адрасоў, якія ўжо былі зробленыя агульнадаступнымі павінна заставацца той жа. Стабільны спасылкі дазваляюць Інтэрнэт пошукавым сістэмам індэксаваць архівы, якая з'яўляецца галоўным дабром для карыстальнікаў, якія шукаюць адказы. Стабільны спасылкі таксама важна, таму што спіс рассылкі паведамлення і тэмы часта звязаныя з ад памылка трэкера (гл. раздзел "Bug ??Tracker" далей у гэтым раздзеле) або з іншых дакументаў праекта.
У ідэале, праграмнае забеспячэнне спісу рассылання будзе ўключаць архіў паведамленні URL, або па крайняй меры паведамленняў пэўнай часткі URL, у загалоўку, калі ён распаўсюджвае паведамленне для атрымальнікаў. Такім чынам, людзі, якія копія паведамлення будзе ў стане ведаць свой архіў месцы, не маючы на ??самай справе візіт архіваў, якія былі б карысныя, таму што любая аперацыя, якая ўключае ў свой вэб-браўзэр аўтаматычна часу. Ці ёсць якія-небудзь праграмнага забеспячэння спіс рассылкі сапраўды дае такую ??магчымасць, я не ведаю, на жаль, тыя, якія я выкарыстаў не робяць. Аднак, гэта што-то шукаць (ці, калі вы пішаце спіс рассылкі праграмнае забеспячэнне, гэта асаблівасць разгледзець пытанне аб ажыццяўленні, калі ласка).
Яна павінна быць досыць відавочна, як для рэзервовага капіявання архіваў і аднаўленне рэцэпт не павінна быць занадта складаным. Іншымі словамі, не адносяцца да вашай архіватара як чорны скрыню. Вы (ці хто-то ў вашым праекце) павінны ведаць, дзе гэта захоўвання паведамленняў, і як аднаўляць фактычныя старонак архіва з сховішчы паведамленняў, калі ён калі-небудзь паўстане неабходнасць. Гэтыя архівы каштоўныя дадзеныя-праект, які губляе іх губляе значную частку сваёй калектыўнай памяці.
Павінна быць магчымасць ісці ад любой асобы паведамленне для патоку (групы звязаных паведамленняў), што зыходнае паведамленне з'яўляецца часткай. Кожны паток павінен мець свой уласны URL таксама асобна ад URL-адрасы з асобных паведамленняў у струмені.
Архіватар, які не падтрымлівае пошук-па тэл паведамленняў, а таксама на аўтараў і суб'ектаў-блізкая да бескарыснай. Заўважым, што некаторыя архіватары падтрымліваюць пошук проста земляробства прапрацаваць да вонкавага рухавіка пошуку, такія як Google. Гэта прымальна, але прамая падтрымка пошуку, як правіла, больш дапрацаваць, паколькі ён дазваляе шукальніку каб паказаць, што матч павінен з'явіцца ў тэме ад цела, напрыклад.
Вышэй, з'яўляецца толькі тэхнічным кантрольны спіс, каб дапамагчы вам ацаніць і ўсталяваць архіватар. Як людзі на самай справе выкарыстаць архіватара праекта перавага абмяркоўваецца ў наступных раздзелах, у прыватнасці раздзел пад назвай "Прыкметнае выкарыстанне архіваў".
Вось некаторыя адкрытым зыходным кодам для вядзення спісу кіравання і архівавання. Калі сайт, дзе вы размяшчае ваш праект ужо мае налады па змаўчанні, то вы ніколі не можаце прыняць рашэнне аб інструментам на ўсіх. Але калі вы павінны ўсталяваць яго самастойна, гэта толькі некаторыя магчымасці. Тыя, якія я на самай справе выкарыстоўваюцца Mailman, Ezmlm, MHonArc, і Hypermail, але гэта не значыць, іншыя не занадта добрая (і, вядома, Ёсць, верагодна, іншых інструментаў, якія я проста не здарылася, каб знайсці, таму не прымайце гэта як поўны спіс).
Рассылка праграмнае забеспячэнне для кіравання:
Mailman - http://www.list.org/
(З убудаваным архіватарам, і гаплікі для падлучэння вонкавых архіватараў.)
SmartList - http://www.procmail.org/
(Прызначаны для выкарыстання з Procmail сістэмы апрацоўкі пошты.)
Ecartis - http://www.ecartis.org/
ListProc - http://listproc.sourceforge.net/
Ezmlm - http://cr.yp.to/ezmlm.html
(Прызначаны для працы з Qmail сістэма дастаўкі пошты.)
Дада - http://mojo.skazat.com/
(Нягледзячы на ??дзіўныя спробы вэб-сайта, каб схаваць той факт, гэта свабоднае праграмнае забеспячэнне, распаўсюджваецца па ліцэнзіі GNU General Public License. Ён таксама мае ўбудаваны архіватар.)
Архівы рассылкі праграмнае забеспячэнне:
MHonArc - http://www.mhonarc.org/
Hypermail - http://www.hypermail.org/
Procmail - http://www.procmail.org/
(Companion праграмнае забеспячэнне для SmartList, гэта агульная сістэма апрацоўкі пошты, якія могуць, па-відаць, быць настроены як архіватара.)
Сістэма кіравання версіямі (або сістэмы кіравання перагляду) уяўляе сабой спалучэнне тэхналогій і метадаў для адсочвання і кантролю зменаў у праект файлы, у прыватнасці, зыходны код, дакументацыя і вэб-старонак. Калі вы ніколі не выкарыстоўвалі сістэму кіравання версіямі перш, першае, што трэба зрабіць, гэта пайсці знайсці таго, хто мае, і прымусіць іх далучыцца да вашага праекту. У гэтыя дні, усе будуць чакаць, па меншай меры зыходны код вашага праекта, каб быць пад кантролем версій, і, верагодна, не будзе прымаць праект сур'езна, калі яна не выкарыстоўвае кіраванне версіямі, па меншай меры мінімальныя кампетэнцыі.
Кантролю прычына версія настолькі універсальнай, што ён дапамагае практычна кожны аспект вядзення праекта: "Інтэр-распрацоўшчык сувязі, кіраванне рэлізамі, памылка кіравання, код стабільнасці і эксперыментальных намаганняў у галіне развіцця, а таксама прысваенне і санкцыянавання змяненняў асобнымі распрацоўшчыкамі. Сістэма кантролю версій забяспечвае цэнтральнай каардынуючай сілай сярод усіх гэтых абласцях. Аснову сістэмы кіравання версіямі з'яўляецца кіраванне зменамі: выяўленне кожнага дыскрэтнай змены, унесеныя ў праект файлы, аннотирования кожнага змены з метададзенымі, такімі як змяненне ў дату і аўтара, а затым прайграванне гэтых фактаў, каб той, хто пытаецца, у якой бы шлях яны просяць. Гэта сувязь механізм, дзе старонка з'яўляецца асноўнай адзінкай інфармацыі.
У гэтым раздзеле не разглядаюцца ўсе аспекты выкарыстання сістэмы кантролю версій. Гэта настолькі ўсёабдымнай, што яна павінна вырашацца мясцова на працягу ўсёй кнігі. Тут мы засяродзімся на выбары і наладзе сістэмы кантролю версій такім чынам, што будзе спрыяць развіццю супрацоўніцтва ў будучыні.
Гэтая кніга не можа навучыць вас, як выкарыстоўваць сістэму кіравання версіямі, калі вы ніколі не выкарыстоўваў яго раней, але гэта было б немагчыма абмяркоўваць гэтую тэму без некалькіх ключавых тэрмінаў. Гэтыя тэрміны, якія выкарыстоўваюцца незалежна ад якой-небудзь канкрэтнай сістэмы кіравання версіямі: яны з'яўляюцца асноўнымі назоўнікаў і дзеясловаў сеткавым супрацоўніцтве, і будзе выкарыстоўвацца агульным ўсёй астатняй частцы гэтай кнігі. Нават калі б не было сістэм кантролю версій у свеце, праблемы змянення кіравання будзе заставацца, і гэтыя словы даюць нам мова для размовы аб тым, што праблема лаканічна.
Каб унесці змены ў праект, больш фармальна, для захоўвання змены ў базу дадзеных сістэмы кіравання версіямі такім чынам, што яна можа быць уключана ў будучыя вэрсіі праекту. "Выканаць" можна выкарыстоўваць у якасці дзеяслова або назоўніка. Як назоўнік, гэта па сутнасьці сінонімам "змены". Напрыклад: "Я толькі што здзейсніў выпраўленне для сервера людзей памылку крушэння былі справаздачнасці на Mac OS X. Джэй, не маглі б Вы разгледзець яго ўчыненне, а праверыць, што я не злоўжываць размеркавальнік там?"
Трохі каментара прыкладаецца да кожнага здзейсніць, якія апісваюць характар ??і мэта здзяйснення. Уваход паведамленні з'яўляюцца аднымі з найбольш важных дакументаў, у любым праекце: яны з'яўляюцца сувязным звяном паміж асабліва тэхнічны мову асобныя змены кода і больш арыентаванай на карыстальніка мова магчымасцяў, выпраўленыя памылкі, і аб ходзе ажыццяўлення праектаў. Пазней у гэтым раздзеле, мы будзем шукаць шляхі для распаўсюджвання паведамлення часопіса ў адпаведных аўдыторый, а таксама, у раздзеле "кадыфікацыя Традыцыя" ў чале 6, сувязі абмяркоўваюцца спосабы заахвочвання аўтараў пісаць кароткія і карысныя паведамленні часопіса.
Каб спытаць, што змены іншых (фіксацыі), быць уключаны ў вашу лакальную копію праекта, то ёсць ўзяць з сабой копію "да сучасных". Гэта вельмі распаўсюджаная аперацыя, большасць распрацоўнікаў абнаўлення свайго кода некалькі раз у дзень, так што яны ведаюць, яны працуюць прыкладна тое ж самае іншымі распрацоўшчыкамі працуеце, і так, што калі яны бачаць памылку, яны могуць быць упэўненыя, што не было зафіксавана ўжо. Напрыклад: "Эй, я заўважыў, індэксацыі код заўсёды падзення апошняга байта Гэта новая памылка."? "Так, але яна была зафіксаваная на мінулым тыдні, паспрабуйце абнавіць, ён павінен сысці".
Базы даных, у якой змены захоўваюцца. Некаторыя сістэмы кіравання версіямі з'яўляюцца цэнтралізаваныя: існуе адзіны, галоўны рэпазітар, у якім захоўваюцца ўсе змены ў праекце. Іншыя з'яўляюцца дэцэнтралізаваным: кожны распрацоўнік мае свой уласны рэпазітар, і змены могуць быць замененыя наперад і таму паміж сховішчамі адвольна. Сістэма кантролю версій адсочвае залежнасці паміж зменамі, і, калі прыйшоў час, каб зрабіць рэліз, пэўны набор змен, зацверджаных для гэтай версіі. Пытанне аб тым, цэнтралізаванай або дэцэнтралізаванай лепш з'яўляецца адным з трывалага свяшчэнных войнаў распрацоўкі праграмнага забеспячэння, старайцеся не трапіць у пастку, спрачацца пра гэта на вашыя спісы праекта.
Працэс атрымання копіі праекта з рэпазітара. Аформіць заказ звычайна вырабляе дрэва каталогаў называецца "працоўная копія" (гл. ніжэй), з якіх змены могуць быць учынены вярнуцца да зыходнага сховішча. У некаторых дэцэнтралізаваныя сістэм кантролю версій, кожная працоўная копія самага сховішча, і змены могуць быць выцесненыя (або цягнула на) любую сховішча што гатовыя прыняць іх.
прыватных дрэва каталогаў распрацоўніка з зыходным праекта файлы кода, і, магчыма, яго вэб-старонкі або іншыя дакументы. Рабочая копія таксама змяшчае крыху метададзеных кіруецца сістэмай кантролю версій, кажа, што працоўная копія рэпазітара ён з'явіўся, што "змены" (гл. ніжэй) файлы прысутнічаюць, і г.д. Як правіла, кожны распрацоўнік мае сваю ўласную рабочай копіі, у якім ён робіць і выпрабаванні змены, і з якога ён здзяйсняе.
"Перагляду", як правіла, аднаго канкрэтнага ўвасаблення пэўнага файла ці каталога. Напрыклад, калі праект пачынаецца з перагляду 6 з файла F, а затым хто-то фіксуе змены ў F, гэта вырабляе перагляд 7 Ф. Некаторыя сістэмы таксама выкарыстоўваць "перагляду", "змены", або "змен" для абазначэння набор змен, дасканалых, як адзін канцэптуальны блок.
Гэтыя тэрміны часам маюць розныя тэхнічныя значэння ў розных сістэмах кантролю версій, але агульная ідэя заўсёды аднолькавыя: яны даюць спосаб казаць менавіта пра дакладных момантаў часу ў гісторыі файла ці набору файлаў (напрыклад, непасрэдна перад і пасля памылка выпраўленая). Напрыклад: "Ах, так, яна зафіксавана, што ў рэдакцыі 10" ці "Яна зафіксавала, што ў рэдакцыі 10 з foo.c."
Калі кажуць аб файле або набор файлаў без указання канкрэтнай рэвізіі, як правіла, мяркуецца, што адным са сродкаў самую свежую рэвізію (наяўных).
Тэкставае прадстаўленне змен. Розн. Паказвае, якія радкі былі зменены і як, плюс некалькі радкоў навакольным асяроддзем па абодва бакі. Распрацоўшчыкаў, якія ўжо знаёмыя з некаторымі код звычайна чытаю розн. Супраць гэтага кода і зразумець, што змяніць што-небудзь, і нават месца памылкі.
Этыкеткі для пэўнага набору файлаў у названай рэвізіі. Тэгі, як правіла, выкарыстоўваецца для захавання цікавыя здымкі праекта. Напрыклад, тэгі, як правіла, для кожнага публічнага рэлізу, так што можна атрымаць непасрэдна з сістэмы кіравання версіямі, дакладны набор файлаў і змены складзе гэтага выпуску. Агульныя імёны тэгаў такія рэчы, як Release_1_0, Delivery_00456 і г.д.
Копія праекта, пад кіраваннем версіямі, але ізаляваны, так што змены, унесеныя ў філіял не ўплывае на астатнюю частку праекта, і наадварот, акрамя выпадкаў, калі змены свядома "аб'яднаць" з аднаго боку на іншую (гл. ніжэй ). Філіялы, таксама вядомы як "кірункі развіцця". Нават калі праект не мае відавочнай галін, развіццё па-ранейшаму лічыцца, адбываецца на "галоўную галіну", таксама вядомы як "асноўная лінія" або "ствол".
Філіялы прапаноўваюць спосаб ізаляваць розныя напрамкі развіцця адзін ад аднаго. Напрыклад, філіял можа быць выкарыстаны для доследна-канструктарскія распрацоўкі, што было б занадта дэстабілізуе для асноўнага ствала. Ці наадварот, філіял можа быць выкарыстана як месца для стабілізацыі новага рэлізу. Падчас працэсу выпуску, нармальнаму развіццю будзе працягвацца без перапынку ў асноўнай галіной сховішча, паміж тым, у галінцы рэлізу, ніякіх змен не дапускаецца, за выключэннем тых, зацверджаных выпуск менеджэраў. Такім чынам, робячы рэліз не трэба ўмешвацца ў бягучую працу развіцця. Глядзіце раздзел "Выкарыстаньне галіны, каб пазбегнуць вузкіх месцаў" далей у гэтым раздзеле для больш падрабязнага абмеркавання галінавання.
Для перамяшчэння змен з адной галіны на іншую. Гэта ўключае ў сябе зліццё ад асноўнага ствала на некаторыя іншыя галіны, ці наадварот. У самой справе, тыя, якія найбольш распаўсюджаных відаў зліцця, гэта рэдкае ў порт змены паміж двума не-асноўных галін. Глядзіце частку пад назвай "Singularity інфармацыі" для падрабязнай інфармацыі аб такога роду аб'яднання.
"Зліццё" мае па-другое, звязаных сэнс: гэта тое, што сістэма кантролю версій робіць, калі ён бачыць, што два чалавекі былі змененыя жа файл, але ў неперасякальных шляхоў. Так як два змены не перашкаджаюць адзін аднаму, калі адзін з людзей, якія пастаянна абнаўляе свае копіі файла (ужо ёсць свае змены), змены іншага чалавека будзе аўтаматычна аб'яднаны цалі Гэта вельмі часта, асабліва па праектах, у якіх некалькі людзі ўзлому на тым жа кодзе. Калі дзве розныя змены перакрываюцца, вынік "канфлікту", глядзіце ніжэй.
Што адбываецца, калі людзі спрабуюць зрабіць розныя змены ў тым жа месцы ў кодзе. Усе сістэмы кантролю версій аўтаматычна выяўляць канфлікты, і апавяшчаць па крайняй меры адзін з людзей, якія ўдзельнічаюць што іх змены канфлікту з кім-то яшчэ. Гэта тое, што да чалавека да ўрэгуляванні канфлікту, і паведаміць, што дазвол на сістэме кантролю версій.
Спосаб заявіць эксклюзіўныя намерам змены пэўнага файла ці каталога. Напрыклад, "Я не магу здзяйсняць якія-небудзь змены ў вэб-старонкі прама зараз. Здаецца, Альфрэд мае іх усё заблякаваныя у той час як ён фіксуе іх фонавыя малюнкі". Не ўсе сістэмы кантролю версій нават прапануюць магчымасць блакіроўкі, а з тых, што не ўсе патрабуюць блакіроўкі функцыі, якія будуць выкарыстоўвацца. Гэта таму, што паралельна, адначасовае развіццё з'яўляецца нормай, а замак людзей з файлаў (як правіла) супярэчыць гэтаму ідэалу.
Версія сістэмы кіравання, якія патрабуюць, каб замак робіць, як кажуць, выкарыстоўваць блакаванне-старонка-разблакаванне мадэлі. Тыя, якія не называюцца выкарыстання капіраванне-старонка-зліццё. Выдатныя падрабязныя тлумачэнні і параўнанне дзвюх мадэляў можна знайсці на http://svnbook.red-bean.com/svnbook-1.0/ch02s02.html. Увогуле, капіраванне-старонка-зліццё лепш для распрацоўкі адкрытага зыходнага кода, і ўсе сістэмы кантролю версій разглядаюцца ў гэтай кнізе падтрымкі гэтай мадэлі.