<div dir="ltr">Sorry for the late response, but I wanted to give more people (especially Mads) the chance to respond as well.<div><br><div>But sadly he didn't. I mean, I claimed that this project faces an existential crises. And yet, the project lead doesn't even bother to respond. Sorry, but this is the last nail in the coffin of this project.<div><br></div><div><div class="gmail_quote"><div dir="ltr">Thomas De Schampheleire <<a href="mailto:patrickdepinguin@gmail.com">patrickdepinguin@gmail.com</a>> schrieb am Di., 10. Apr. 2018 um 22:05 Uhr:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Dominik,<br>
<br>
2018-04-09 20:08 GMT+02:00 Dominik Ruf <<a href="mailto:dominikruf@gmail.com" target="_blank">dominikruf@gmail.com</a>>:<br>
> Hi all,<br>
><br>
> I was in denial in the past years. But it is time to face the facts. This<br>
> project isn't going anywhere.<br>
> About a year ago I already expressed my worries, but next to nothing has<br>
> changed since. There are still pull requests that are multiple years old.<br>
><br>
> For example, my bootstrap PR is still not pulled completely. There is still<br>
> a discussion about whether (and how) we should use minification and source<br>
> maps.<br>
> These are technologies that practically every web application in the world<br>
> are using. So this should be a no-brainer. And yet, after more then 2 years<br>
> we discuss if adding the source map flag should be in a separat changeset.<br>
> Seriously guys, this could be in the dictionary as the very definition of<br>
> bikeshedding.<br>
<br>
I'm sorry you feel this way.<br>
<br>
I don't agree that the project is not going anywhere or it has no future.<br>
It's just so that at this moment the pace of development is quite slow<br></blockquote><div>It is slow for years. </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
because we are near the end of the bootstrap PR</blockquote><div>Even the progress for the bootstrap PR is slow. <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">, and there are some<br>
changesets where there is still a discussion. It is not so much about<br>
whether or not to use minification or source maps. There was some<br>
unclarity on how the source map actually works and whether the feature<br>
was complete, that is clear to me now.<br></blockquote><div>And it took you more then 2 years to ask about it!?</div><div>BTW I don't think it is my job to explain basic web technologies in a commit message.</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
There is also an open point about the 'watch' feature and whether or<br>
not it should be integrated in gearbox --reload rather than<br>
introducing a new 'nodemon' mechanism.<br></blockquote><div>It'd be a legitimate question whether to use gearbox to generate the less files. But after more then 2 years the time to discuss this has passed.  </div><div>And like I said, stop making the better the enemy of the good.</div><div>If there were really go reasons to use gearbox we could still implement that later. Adding 'nodemon' (or remove it) is not a big deal.</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The introduction of 'npm run X' has also raised some comments in the<br>
past regarding cross-platform support. These is IMHO not bikeshedding,<br></blockquote><div>The bikeshedding refereed to the source map flag that you wanted in a separate changeset. If you really think it must be in its own changeset, then just move it there and don't waste another communication cycle. It is not worth discussing about.</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
it's about being careful in adding extra complexity or going in a<br>
wrong direction.</blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
There are other examples of changes that go through quickly and<br>
without a lot of problem.</blockquote><div>Yes, I also had some trivial changesets that went through quickly. But that is not the point. We talk about the big important stuff.</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> Examples are the changes regarding 'issue<br>
references' (issue_pat and friends), the refactoring of the VCS test<br>
classes, and the recent update to V2 reCaptcha.<br></blockquote><div>I don't know about this, I can't see the changes in the bitbucket PR anymore. But I guess it did not involve any difficult decisions. And that is where the problem occur.</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Regarding clean commits: it is an explicit part of the project<br>
culture. From the docs/contributing.rst file:<br>
    "We care about quality and review and keeping a clean repository history."<br>
<br>
You have made clear in the past that you think this is often a waste<br>
of time, but I disagree (and I'm pretty sure Mads does too). A clean<br>
repository history is invaluable both during review, as during future<br>
changes, to understand why something was done.<br>
It would save time and frustration from all people involved if all<br>
contributors take along this principle from the start when designing<br>
and ordering commits. If you think from the start how your commit path<br>
will be, the lost time is minimal.</blockquote><div>Sorry, but you should know that this is not always possible.</div><div>The current history does not represent the natural way how the bootstrap stuff evolved. There is no way that I could anticipated the changes from the beginning.</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> And when these commits are small<br>
and well documented in the commit message, then review will be much<br>
easier.<br></blockquote><div>I will admit that my commit messages were not very detailed at the beginning (quite often I believed it was just not necessary). But fine, I see some value in it and my commit messages are more detailed now. But again this is not what I'm criticizing here.</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I'm glad that you split up the one big remaining bootstrap commit 'in<br>
small parts', like we asked. Honestly, I think it was the only way<br>
forward, and thanks to your cooperation we landed already a big part<br>
of it.<br></blockquote><div>Note that in order to move forward I had to remove stuff.</div><div>And that results in a worse quality of the current code. The less code is not as clean as it should be.</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
><br>
> What troubles me the most about this, is the lag of communication. It<br>
> sometimes takes weeks or even month to get any kind of feedback.<br>
> I understand that people are busy, but as a leader of a project like this<br>
> you should at least drop a quick sorry note and say when you will be able to<br>
> look into the thing. Or delegate!<br>
<br>
I agree that this is a weak point at the moment, and that we should<br>
improve here.</blockquote><div>And what do you plan to do about it?</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
><br>
> And I'm not the only one who has this problem. Our bitbucket is full of old<br>
> PRs that went nowhere. Take the ssh PR for example. That one is 3.5 years<br>
> old! I believe most of those people just gave up.<br>
<br>
It's true that we need to pick up these old PRs or reject them. This<br>
was agreed upon already a long time ago.<br>
But the total bandwidth is limited, number of contributors is small,<br>
so you can only do one thing at a time.<br>
In the release 'roadmap' I proposed earlier [1] I suggested to finish<br>
the bootstrap changes and then make a release 0.9, and shortly after<br>
1.0.<br>
At that point, I think we should try to reduce the open backlog. But<br>
it makes no sense in trying to clean up the old backlog if the current<br>
active PRs like bootstrap are not yet finished. It would only disperse<br>
focus of all people involve, and slow down the bootstrap PR.<br>
<br>
This is also the reason why I'm currently not actively looking at your<br>
other PRs (like 'various changes' and 'hooks'): it would move away<br>
focus from what we said is first priority. Just like you, I would like<br>
to get over bootstrap as soon as possible so we can move on.<br></blockquote><div>And leaving the bootstrap PR untouched for 9 days is your idea of focusing on the problem?!</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
><br>
> I really believed this project had potential. But all my attempts to improve<br>
> the communications or the projects organisation have been ignored. And my<br>
> PRs were treated purely and very slow.<br>
><br>
> What needs to change:<br>
> - Stop pondering if some small change should be its own changeset<br>
> This wastes A LOT of time. The quality of the code needs to have a higher<br>
> priority then the quality of the changeset history!<br>
<br>
Like I said above, I don't agree on this one. It's perfectly possible<br>
to achieve qualitative code at the same time as a qualitative<br>
changeset history. I would say it's the case for the commits currently<br>
in Kallithea, and I have the same experience with other projects like<br>
Buildroot.<br>
<br>
> - Stop making the 'better', the enemy of the 'good'.<br>
> If somebody comes up with a better solution in the future, great, but up<br>
> until then settle with the good solution you have now.<br>
<br>
In general I agree, partial progress is better than none.<br>
But:<br>
- the partial progress should be in the same direction as we want to<br>
go in the long run, not a different one (so it means there may be<br>
discussion to get agreement on what that direction should be),<br>
- and when the 'distance' between the partial solution and the full<br>
one is not too big, it makes sense to request the full solution at<br>
once. Otherwise you end up with a codebase with only half-solutions<br>
and nothing completely done.<br>
<br>
> - Start using JIRA to manage and prioritize the open issues, PRs and other<br>
> tasks.<br>
> This projects simply needs to get organized.<br>
<br>
I agree, have responded positively about this in the past, and we<br>
'just need to do it'.<br></blockquote><div>Then DO IT </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
(not necessarily JIRA, like I said trac or something could be a good<br>
alterative).<br>
<br>
> - Promote <a href="http://riot.io" rel="noreferrer" target="_blank">riot.io</a> as communication tool for more direct engagement.<br>
> I mentioned before, that I think mailing lists and IRC are anachronistic<br>
> tools. And they are not ideal to engage with people.<br>
> In the mean time, Andrew set up the <a href="http://matrix.org" rel="noreferrer" target="_blank">matrix.org</a> bridge, which allows to use<br>
> apps like <a href="http://riot.io" rel="noreferrer" target="_blank">riot.io</a> to chat with our IRC channel. <a href="http://riot.io" rel="noreferrer" target="_blank">riot.io</a> allows to always<br>
> stay online and search in the conversation. But AFAIK practically nobody<br>
> knows about it.<br>
> Using the <a href="http://riot.io" rel="noreferrer" target="_blank">riot.io</a> web and phone app can and will speed up the conversations<br>
> a lot.<br>
<br>
Like Long Vu, I'm unaware about this, I have not seen an announcement<br>
on what and how.<br>
<br>
While I dislike our IRC because the relevant people are not listening<br>
at the same time, and there is no permanent presence,<br>
<br>
I don't agree with mailing lists being a tool from the past. It is a<br>
tool used in almost all FOSS projects I use, and that is because it is<br>
something that works well.<br>
You may perceive its asynchronicity as a bad thing and would prefer<br>
more direct interaction, but that may be difficult with people having<br>
different work and life schedules.<br>
<br>
In fact, I would actually even argue to use the mailing list _more_<br>
rather than _less_. Today, the list looks 'dead' because most activity<br>
happens in PRs on either bitbucket or OOK. But these discussions are<br>
not really 'public' in the sense that everyone can easily see them.<br>
You have to explicitly search or follow these PRs to see any updates.<br>
With such an approach, it's hard to build a community where different<br>
people react to each other's changes. A mailing list PATCH sending<br>
approach works better for that, or alternatively let OOK send updates<br>
to the mailing list but this requires some changes like grouping the<br>
comments (draft comment feature proposed at some point) and public<br>
registration on OOK.<br>
<br>
I would like to learn about and try riot/matrix before taking a stance about it.<br>
<br>
> - Engage with people.<br>
> It can not be that our PRs and open issues lay around for years. If there is<br>
> no activity, a person in charge needs to reach out to the<br>
> assignee/commiter/reporter. And if there is no hope that the issue/PR will<br>
> be solved it needs to be closed. In general, talk to the people. There can<br>
> be no silent treatment!<br>
<br>
Generally I agree. But catching up with this takes time, and like I<br>
wrote above it is also a matter of finishing ongoing things first.<br>
<br>
> - Get serious about new features that make kallithea competitive.<br>
> SSH, custom (git) hooks (activatable per repository) and scaleability are<br>
> must haves. (kallithea currently does not work well with many user, many<br>
> repositories or big git repositories)<br>
<br>
I think we all agree that these are important points.<br>
>From my point of view, the most constrained resource is time to write,<br>
review and merge these changes.<br>
<br>
I'm sure we'll get there. Any help from other community members is<br>
more than welcome.<br>
But let's first finish bootstrap, and then create some kind of roadmap<br>
of what to tackle first. </blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
/Thomas<br></blockquote><div>One last thing:</div><div>In the beginning, when I started to work on bootstrap, it felt like I'm working together with Andrew on it.</div><div>But not once did I feel like I work with Mads, it always felt like I have to work against him.</div><div>Thomas, I appreciate that you are trying to improve things. But I'm sorry, it feels like "too little too late".<br></div><br class="inbox-inbox-Apple-interchange-newline"><div> <br></div></div></div></div></div></div>