Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Nicholas Westby 1702 posts 5619 karma points c-trib
    1 week ago
    Nicholas Westby
    3

    Hopes / Dreams / Feedback for Umbraco Core Pull Requests

    I was told that Twitter is not an appropriate avenue to give feedback for Umbraco. So here is how I see pull requests, with some suggestions sprinkled in there for good measure:

    • 200 Open PR's The number of open pull requests has hovered around 200 for years (plus or minus).
    • Prioritization I was told new pull requests have been prioritized over existing ones. If the list doesn't shrink, this implies existing pull requests will never be integrated into the Umbraco core.
    • Umbraco 8 Event Horizon With the Umbraco 8 event horizon approaching, this may mean all those old pull requests get abandoned: https://offroadcode.com/journal/dev-talk/the-umbraco-v8-event-horizon/
    • Abandon Lost Causes Maybe it's time to start accepting that, and actively closing older pull requests that you anticipate will never make it into the core.
    • Timeline If you do expect to get through all 200 pull requests (plus the new ones as they arrive), I would hope to see a timeline of progress so I know it's really happening.
    • Dedication If there is a timeline, will the core team stick to it, even if it means changing approach (e.g., dedicating more core team members to the PR team)?

    I'm sorry if this seems pushy. I want what's best for Umbraco, and all these old PR's lingering doesn't seem like what's best for Umbraco.

    Also, this isn't by any means a list of demands. This is a list of observations, thoughts, and suggestions. Maybe others would like to contribute their own observations, thoughts, and suggestions. I would welcome that.

    BTW, I'm glad to see the CPR team: https://umbraco.com/blog/introducing-the-new-cpr-team/

    However, I see that as only a first step. I see that as talk about improvement, with very little concrete numbers mentioned. That is, it's a qualitative improvement, but I would hope for quantitative improvement. Numbers are easier to trust. In my ideal world, this is what I'd like to see:

    • Transparent & Concrete Goals The Umbraco core team announces that they will reduce the number of open PR's by 15/week, with the ultimate goal of getting to fewer than 20 open PR's by the end of October 2018.
    • Transparent Strategy The Umbraco core team announces that they plan to split prioritization 50/50 between the oldest PR's and the newest PR's. And the include in this announcement the other aspects of their strategy that will ensure progress is made.
    • Transparent Progress The Umbraco core team releases weekly or monthly numbers, along with a blog post saying "all is well" or "we haven't met our goals and here's how we're going to adapt going forward".
    • Real Results Pull requests are in fact dropped down to fewer than 20 by the end of October 2018.
    • Celebration A huge celebration for the Umbraco core team once they've accomplished this monumental task.

    Are these ideas too extreme? Should I simply trust that things will change? You tell me; I'm interested to hear what others think, especially the core team.

  • Paul Sterling 696 posts 1385 karma points MVP 3x admin c-trib
    1 week ago
    Paul Sterling
    4

    Hi Nicholas -

    I don't want to comment on every point you made as you do make some good points, some interesting ones, and some inaccurate ones. In general though, I think we are all on the same page and have similar goals so to that end I applaud you making this post public.

    That said, I do have a few comments:

    1 - You don't mention the 2000 or so merged pull requests I don't know if this just an oversight but if you look at how many PRs do get reviewed, then merged (or closed and not merged in some cases) I think it's obvious that there is very good progress from the core team in terms of reviewing PRs and taking the appropriate action.

    2 - Not all PRs are the same, which is stating the obvious I guess. But the point being that reviewing some PRs will take longer (maybe significantly longer) than others - i.e., a refactor of a legacy feature vs. some language updates. If you look at the scope of some of the open PRs its not hard to see that reviewing and then merging will take some time.

    3 - I have a personal/business interest in one specific PR, and I expect you do as well, but I also understand that just because we create a PR that we believe is useful, does not obligate the core team to include the PR. I do agree, however, that I'd love to see the new CPR team close PRs that will not be merged a bit more proactively.

    My final comment - if you look at the numbers in relation to PRs and at the number of community PRs included in each Umbraco CMS release - I think it is accurate to say we already see real results and transparent progress from the team. I think they deserve a massive #H5YR from us already - and more encouragement can't hurt :-) .

    -Paul

  • Nicholas Westby 1702 posts 5619 karma points c-trib
    1 week ago
    Nicholas Westby
    1

    I appreciate the feedback and numbers, Paul.

    2,000 pull requests does sound impressive. Here is some additional context to that number:

    What would be too long to wait for a PR to be reviewed and included or rejected? I'm thinking 6 months would be a good upper limit (with most happening within a month). But that's based entirely on gut feel. Maybe there are specific reasons that number should be different.

    And yes, the Umbraco team deserves all the kudus in the world for making Umbraco itself happen. It's wonderful. Right now, though, the topic of this discussion is how it can be improved with specific regard to pull requests.

  • Nik 730 posts 2816 karma points MVP c-trib
    1 week ago
    Nik
    2

    I'm just going to throw my 2 sense in, and I'm starting with a small disclaimer.

    I've not looked into any of this in detail, only read what people have posted and am posting a relatively emotion based response so please don't take offence if I do upset anyone I'm sorry.

    I agree and disagree with everything I've seen about PR's over the last 2 - 3 years. There is a constant grip that things don't get acknowledged, let alone merged and I do genuine believe that the introduction of the CPR team is going to change that. They were announced this year at CG18 and, in real terms, I believe have only fully started their work around this in the past 2 weeks due to holidays and the like. I very much look forward to seeing how they operate and how they can start pulling these numbers of outstanding PR's down. This is a good step in the right direction.

    With regards to the historic PR's, (by historic, I'm referring to anything older than a year).

    I suspect these are going to require a different type of review as so much has changed in Umbraco in that time the PR may or may not still be relevant. But it would be nice, if even though more recent PR's are being prioritised if these were thrown into the mix. Say 1 historic for every 3 - 5 new. This would start making a dent in them.

    The size on the PR also clearly makes a difference. If a it's a tiny PR that is updating, for example, some translations, in reality these can filter through rapidly. I'm assuming the CPR team are going through the open ones and doing quick analysis to see what the existing PR's are for and doing this but I could be wrong :-)

    I think once the CPR team is fully established, and a mechanism for replacing members if (as is likely) they can no longer be part of the team for what ever reason is also defined, we will see and hear about their activities.

    It would be cool, and this is just an idea kinda off the back of Nicholas's, if the CPR did similar updates to Sophie's Doc updates where we get a monthly run down of how well they are doing. Or they have a page telling us how we can make their lives easier. If there are things that we can do with existing PR's to change their format or provide additional testing it could help their progress.

    I also don't think that V8 is going to kill V7, at least not to start with but at some point, yes that might be right. But I'd like to think that the CPR and HQ will, by that point in time, come up with a "maintenance" style schedule for handling PR's to the final V7 version. With a full EoL style plan that helps us as dev's maintain and patch when we can. I appreciate this is a massive undertaking though so who knows what will happen.

    As I said before this is just a bit of a brain dump, sorry if it doesn't make sense or I'm rambling. It's late and my brain doesn't want to put things in quite the right order but overall I think we are at the point where the PR "problem" is starting down the right path. It will just take a bit longer before we start seeing that more obviously. I know how frustrating it is when your PR sits for ages, but if you have one, I would say update it to the latest Umbraco version if it's not already and throw a comment on the related issue to help draw attention to it :-)

    Hope my random thoughts help the discussion :-)

  • Dan Diplo 1291 posts 4808 karma points MVP 2x c-trib
    1 week ago
    Dan Diplo
    6

    In an Open Source project how PRs are dealt with is an important topic and I'm glad that Nicholas has raised this. A large backlog of PRs that appear to be in limbo isn't a good situation, either for the project or for contributors. However, the good news is that we know HQ is aware of this and are actively trying to change the situation. I think most of Nick's observations are pertinent, but perhaps the timing is a little off given the new CPR (Community Pull Request) team haven't really had chance to make an impact yet.

    For me personally one of the worst aspects of having open PRs is the effect that this will have on people wishing to contribute in future. I know personally people who will no longer bother to make PRs because they don't believe they'll ever be looked at. For a successful community based project this perception has to change.

    It takes a lot of effort to make a good PR - not just the coding time, but the "thinking time", the research, the time to build and clone the source, create unit tests and the time to write up an associated issue. To do all that (in your own spare time) and then have your PR sit there and gather dust is frustrating and, even worse, disheartening. It's also equally frustrating to see an issue you are currently having with a site has been fixed in a PR over a year ago which is also gathering dust.

    So I welcome the CPR team - and let's give them a chance - but I agree with Nicholas that we have to actively see progress, and this includes activity on historical PRs. Feedback and perception is crucial to this endeavour. But I think if progress is not seen to be made then we should be able to call on HQ to give this higher priority - perhaps refocus some more core members into this. It's maybe not fair to leave this mainly to community volunteers to sort out, however awesome those peeps are!

    I'd actually like to see Umbraco having more PRs, as it's clear that there are a lot of awesome devs out there who are passionate about making Umbraco better - it really could be pivotal in the progress of Umbraco. But that requires the capacity to deal with the increased volume of PRs.

    PS. I've seen some criticism of Nicholas on Twitter for even bringing this up. I understand people are defensive about Umbraco, a project they love, but that shouldn't mean we create an atmosphere were criticism isn't tolerated. The sincerest critics are often the ones who love something the most. We should be inclusive to all points of view.

  • Nicholas Westby 1702 posts 5619 karma points c-trib
    6 days ago
    Nicholas Westby
    1

    Since I haven't heard any official word, I suppose I'll just keep a weekly tally going to track progress. Here is as good a place as any to do that:

    • 2018-06-13: 203 Open Pull Requests
    • 2018-06-18: 200 Open Pull Requests

    At the current rate, the anticipated completion of all outstanding pull requests is May 17, 2019.

Please Sign in or register to post replies

Write your reply to:

Draft