1 |
On 10/8/15 10:09 AM, Michał Górny wrote: |
2 |
> |
3 |
> Dnia 8 października 2015 14:58:14 CEST, "Anthony G. Basile" <blueness@g.o> napisał(a): |
4 |
>> On 10/8/15 8:42 AM, Andrew Savchenko wrote: |
5 |
>>> Hello all, |
6 |
>>> |
7 |
>>> On Wed, 30 Sep 2015 20:45:10 +0200 Michał Górny wrote: |
8 |
>>>> The second issue that may need Council's attention is developers' |
9 |
>>>> attitude towards pull request source via GitHub. |
10 |
>>>> |
11 |
>>>> One and a half month since enabling it, we already had almost 150 |
12 |
>> pull |
13 |
>>>> requests from Gentoo users (and a few Gentoo developers who use this |
14 |
>> as |
15 |
>>>> a collaboration tool). Sadly, some developers not only refuse to use |
16 |
>>>> GitHub (which is an acceptable choice) but also have very negative |
17 |
>>>> attitude towards users submitting pull requests and the developers |
18 |
>>>> helping with them. |
19 |
>>>> |
20 |
>>>> The point is, if we want users to submit pull requests, we should be |
21 |
>>>> handling them. Then we can't really agree on some developer refusing |
22 |
>> to |
23 |
>>>> look at the request, and requesting the user to re-send it some |
24 |
>> other, |
25 |
>>>> less convenient way. Or another developer just silently ignoring |
26 |
>> every |
27 |
>>>> request and rudely responding to pings. |
28 |
>>>> |
29 |
>>>> Since the amount of work necessary to proxy between users |
30 |
>>>> and developers who refuse to use GitHub is huge, I have prepared |
31 |
>>>> a script that opens Bugzilla bugs for GitHub pull requests |
32 |
>>>> and bidirectionally copies comments between them, therefore allowing |
33 |
>>>> Gentoo developers to handle pull requests via Bugzilla at their |
34 |
>>>> convenience. However, it is currently waiting for review and |
35 |
>> approval |
36 |
>>>> by Robin before it will get deployed. |
37 |
>>>> |
38 |
>>>> But even then, I need to make sure the developers will actually use |
39 |
>> it |
40 |
>>>> politely. Developers can't really close those bugs 'because it's |
41 |
>>>> GitHub', or 'attach a patch', or 'duplicate of #nnnnnn' (because |
42 |
>>>> it's a synced bug, it can't be magically coerced into existing bug). |
43 |
>>>> In fact, I mailed bug-wranglers about this already but I got no |
44 |
>> reply. |
45 |
>>> I'd like to ask the Council to consider pros and cons of this issue |
46 |
>>> with extreme care. Benefits and dangers of the integration with the |
47 |
>>> proprietary GitHub service were discussed many times already, |
48 |
>>> starting from [1]. |
49 |
>>> |
50 |
>>> While the GitHub integration allows to receive a bit more |
51 |
>>> contributions, it contains long-term dangers of the Gentoo Social |
52 |
>>> Contract violation and loosing independence of the infrastructure |
53 |
>>> and the development workflow itself. |
54 |
>>> |
55 |
>>> I propose that we should draw a line which should not be crossed to |
56 |
>>> satisfy both the Social Contract and freedom of people to use |
57 |
>>> whatever tools they want, including GitHub. As a first approximation |
58 |
>>> I suggest the following: |
59 |
>>> |
60 |
>>> All connections with external infrastructure should be done in a |
61 |
>>> such way, that in case this external infrastructure will instantly |
62 |
>>> and permanently disappear, we should not loss any valuable data |
63 |
>>> and metadata, including commits, commit history, discussions, |
64 |
>>> patches, issues, bug reports and so on. |
65 |
>> Thanks for this language Andrew. It reflects my concerns and I can |
66 |
>> support it in the council. |
67 |
>> |
68 |
>>> As far as I understand Mgorny's proposal, it implies that pull |
69 |
>>> request issues and patches will be mirrored on bugzilla, but not |
70 |
>>> patches themselves. In my opinion this is not acceptable, since |
71 |
>>> violates both the Social Contract (by dependence on propietary |
72 |
>>> metadata, such as GitHub issues (and pull request is a special type |
73 |
>>> of issue on GitHub)) and Bugzilla's policy of having all patches |
74 |
>>> attached to the Bugzilla. |
75 |
>> I'm hopeful that Michal will be able to figure out a technical |
76 |
>> solution. |
77 |
>> |
78 |
>> I have one situation where I wanted a user to post his patches to our |
79 |
>> bugzilla for discussions but he did not. As a result I was unable to |
80 |
>> discuss them on our bugzilla, nor commit them in their current state. |
81 |
>> I |
82 |
>> could have discussed them on github but I did not want to create a long |
83 |
>> |
84 |
>> discussion history there, since that's supposed to be on bugzilla. So |
85 |
>> |
86 |
> |
87 |
> I see a few problems with that: |
88 |
> |
89 |
> 1. Should we create separate patches for each commit? If we don't, we discard history. |
90 |
> |
91 |
> 2. Should we attach the patches separately or tar them? The latter is inconvenient, the former can create a lot of patches. |
92 |
> |
93 |
> 3. Each update implies mass obsoleting of all patches. |
94 |
> |
95 |
> 4. Bugzilla has attachment size limit that we'd have to account for. |
96 |
> |
97 |
> Now imagine a pull request doing mass fixing. Git can handle that with ease. For bugzie it will be a serious mess. |
98 |
> |
99 |
> Potential alternative is to back-mirror pull requests in git.gentoo.org and work on that. But that's likely to cause even more uproar. |
100 |
|
101 |
So perhaps it was unwise for us to get into a situation where either 1) |
102 |
we violate the Social Contract or 2) we have to surmount a technically |
103 |
difficult situation. |
104 |
|
105 |
Perhaps those responsible for doing so should fix this. |
106 |
|
107 |
> |
108 |
>>> I honestly do not understand why developers should be forced to |
109 |
>>> violate the Social contract under the excuse of "being polite" to |
110 |
>>> GitHub contributors nor why such actions should be allowed at all. |
111 |
>> There may be a technical solution where we can mirror pull requests, |
112 |
>> bugs and patches on bugzilla. |
113 |
>> |
114 |
>> As a side note, this approach to pushing through agendas by creating |
115 |
>> situations where its easier to accept a "solution" rather than reject |
116 |
>> it |
117 |
>> is not going to work in Gentoo. We have lots of smart people that see |
118 |
>> through this. If we wind up being "impolite" to our users, the blame |
119 |
>> belongs to those who created that situation in the first place, not to |
120 |
>> the council. The Social Contract is correct and I'm not going to |
121 |
>> support anything that violates it. |
122 |
>> |
123 |
>>> [1] |
124 |
>>> |
125 |
>> https://archives.gentoo.org/gentoo-project/message/27e8b99db6fcd2654fc2548a605f0b70 |
126 |
>>> Best regards, |
127 |
>>> Andrew Savchenko |
128 |
|
129 |
|
130 |
-- |
131 |
Anthony G. Basile, Ph.D. |
132 |
Gentoo Linux Developer [Hardened] |
133 |
E-Mail : blueness@g.o |
134 |
GnuPG FP : 1FED FAD9 D82C 52A5 3BAB DC79 9384 FA6E F52D 4BBA |
135 |
GnuPG ID : F52D4BBA |