Хто нясе адказнасць за гэта памылку выправіць патч?

Сітуацыя, якая ўзнікла некалькі раз у праектах з адкрытым зыходным кодам выглядае наступным чынам:

  1. Я заўважыў памылку ў нашым разгортванні, і высветліць, хуткі патч ўзламаць. (Да прыкладу, проста закаментаваць код, які мы на самой справе не трэба.)
  2. Я выдаткаваць трохі дадатковых намаганняў, каб высветліць рэальную памылку, прыдумаць патч, і адправіць яго праз запыт Git цягнуць, ці аналагічны.
  3. запыт Мой цягнуць адпрэчваецца. Магчыма, патч быў недасканалы (напрыклад, уключаны лініі не павінны мець), магчыма, ён парушыў стыль кадавання, магчыма, былі і іншыя наступствы. Ці, можа быць, я зрабіў нешта няправільна ў Git - запыт ўцягвання павінен быў нармаваны ці нешта. Суправаджалы забяспечвае зваротную сувязь аб тым, як палепшыць патч, і просіць паўторна перадаць яго.

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

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

Ёсць стандартны этыкет у такіх сітуацыях? Як яны вырашаюцца? Ці з'яўляецца мая рэакцыя незвычайна? Як далёка вы чакалі, каб пайсці, каб атрымаць памылку выправіць прыняў?

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

12

6 адказы

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

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

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

12
дададзена
Ўзгоднена 100%, няма цяжарам на канчатковым карыстальніку, каб прадставіць выпраўлення непасрэдна ў рэпазітар, калі вы не хочаце, каб стаць пастаянным аўтарам праекта. Гэта тое, што спісы рассылання і кантролю памылак для. Spring, Maven і г.д. зрабіць гэта дакладную мадэль, дзе людзі будуць знайсці рашэнне самастойна, і размясціць яго на запіс у Jira. Гэта ДА каго працуе над памылкай, каб прымаць і апрацоўваць ўклад.
дададзена аўтар Paul, крыніца
@SteveBennett Не ведаючы структуру праекта, я не магу адказаць на гэтае пытанне. Некаторыя праекты больш строга структураваныя з пастаўленымі задачамі, у той час як іншыя з'яўляюцца больш сыпкімі.
дададзена аўтар Joel Spolsky, крыніца
+1 для выяўлення дэфектаў і прадстаўлення справаздачы. Вы не можаце быць падаўшы патч выправіць, але я, вядома, адчуваю, што проста знайсці дэфект, даследуючы яго і прадставіць адпаведную інфармацыю ў справаздачы дэфектаў, то вы, вядома, <�б> ўклад у праект.
дададзена аўтар maple_shaft, крыніца
Давайце выкажам здагадку, што I <�я> ч </я> укладчык да праекта ў цэлым. Што гэта зменіць?
дададзена аўтар Steve Bennett, крыніца

Proceed as far as you're willing to put up with it. It'd be nice to fix up your patch and share it with the world in the main trunk, but if the maintainer doesn't want it, shrug. You can post somewhere your problem, and the patch to deal with it, so that others in the same boat can search for a solution.

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

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

5
дададзена

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

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

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

4
дададзена

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

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

2
дададзена

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

  • (а) праблемы без патча
  • <�Літый> (б) праблемы, выкліканыя патч </літый>

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

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

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

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

Канчатковы вынік цалкам варта. Такія рэчы, як быць у стане сказаць «Ці павінен я код? Так ... Вы бяжыце тое, што я напісаў, кожны дзень.»

1
дададзена
Гэта ўжо было згадана, што наступны рэліз не будзе ўключаць у свой лакальны патч - дык гэта ў вашых інтарэсах, каб атрымаць выпраўленне ў праграмнае забеспячэнне. Кампанія-накрыж - гэта ў інтарэсах кампаніі таксама - калі-небудзь, вы можаце пакінуць і ніхто не забудзе заўсёды нанова патч прыкладання XYZ з мясцовым выправіць. Паспрабуйце гэта: пераробкі патч, але і не давайце яго. Адправіць яго суправаджалы па электроннай пошце ці іншым чынам - і ASK для іх зваротнай сувязі - як, «Я думаю, што я атрымаў усё, што вы згадалі - вы можаце мне дапамагчы пераканацца, што гэта правільна?»
дададзена аўтар Troels Arvin, крыніца
Добра, але што разумны ўзровень абруча канкура патрабаваць? Як мяркуецца, ёсць розніца паміж суправаджаюць просяць крыху намаганняў для таго, каб заваяваць давер, і проста быць цяжкім і неабгрунтаваным. І зноў жа, на мой пытанне: што я спрабую дасягнуць? Ці з'яўляецца атрыманне майго ліквідацыі памылкі ў кодавую больш у сваіх інтарэсах, чым у шахце?
дададзена аўтар Steve Bennett, крыніца

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

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

1
дададзена