On Sun, Mar 29, 2020, at 11:47 PM, Neal Gompa wrote: > On Sat, Mar 28, 2020 at 4:12 PM Aoife Moloney <amolo...@redhat.com> wrote: > > > > ### Other Updates > > > > #### GitForge Decision > > * After evaluating over 300 user stories from multiple stakeholders we > > have aligned on a decision for the Gitforge that CPE will operate for > > the coming years. We are opting for Gitlab for our dist git and > > project hosting and will continue to run pagure.io with community > > assistance. > > * Check out our GitForge decision on the Fedora Community blog > > https://communityblog.fedoraproject.org/ > > * And at the CentOS blog page > > https://blog.centos.org/2020/03/git-forge-decision/ > > * Keep an eye out for mails in the coming months to the devel lists as > > we plan transitions and next steps with GitLab > > * We would like to express our sincere thank you to all who > > contributed requirements to us! > > > > > > I'm going to start with the delivery of this decision sucked. If I > hadn't been alerted to look for this by other folks due to my advocacy > and community building work around Pagure, I would *not* have known > that the decision had been made. This is in contrast to the *big deal* > that was made about starting this "decision process". I don't know if
Indeed, it seems like the lead got buried. I, too, had missed the announcement. I guess I'll make more effort to read these weekly status updates. > there were folks counting on nobody noticing this or not, but this is > not a good way to deliver effectively a major decision like this. I > also absolutely *refuse* to deal with the fact that this thread was > split into three mailing lists. All three are connected to this > thread, and I will take responses from all of them and follow them > accordingly. > > Enough about that, let's talk about the actual decision. Thanks for your comprehensive response here and for all the work you've done to drive Pagure forward. V/r, James Cassell > > So, you're going with GitLab. It's interesting to note that the > particulars about going to GitLab are not even figured out. It is > curious that "SAAS" is mentioned very prominently. That made me a bit > more curious, so I looked at the "final" feature requirements. > Needless to say, I was extremely disappointed. > > To put it bluntly, there are *zero* free and open source solutions > that satisfy your needs. From this, I understood why you said GitLab > and SaaS. You want GitLab Ultimate, the proprietary solution that > includes several extra features on top to satisfy the following > requirements (quoted from your blog post): > > > * There is a need for CentOS Stream to integrate with a kernel workflow > > that is an automated bot driven merging solution (merge trains). This > > allows for richer CI capabilities and minimizes the need for human > > interaction > > * Gitlab allows for project planning capability which could make multiple > > trackers such as Taiga redundant, allowing for the planning and tracking to > > reside within the repo. It would enrich the current ticket based solution > > that Pagure has evolved into for some groups > > These two requirements *alone* automatically force us to GitLab > Enterprise Ultimate Edition, as there is no other solution available > that satisfies those requirements in one product. Merge trains *is* a > feature of Pagure when combined with Zuul, but GitLab's project > planning features do not exist in *any* FOSS product, including GitLab > CE (or GitLab Core as they call it now). > > There are mentions of other work that CPE team wants to do to better > improve Fedora. Okay, sure. I even agree with some of them. And the > time bomb that is FAS is definitely worth the attention (note that I > am somewhat involved in the development of the Fedora AAA solution and > am also working on trying to develop a community around it so it > doesn't implode like virtually every other project under the Fedora > umbrella, more on *that* a bit later). > > However, nobody has given me or anyone else in the Pagure community > (which yes, is more than Pierre-Yves, thank you very much!) any > concrete details of deficiencies they'd see that is not satisfiable by > the community within a year before now. I've spent a little over a day > analyzing the user stories and thinking about the gaps between Pagure > and what the community wants, and I want to give some perspective here > for some of these. I'm happy to accept refutations and other details > to further enhance the color of these stories, of course. > > > 5 > > As a RH Developer > > I need the ability to privately comment on a PR > > so that confidential information does not leak outside Red Hat > > Ignoring the mountainous levels of terrible problems that such a > feature causes us *now* in the Red Hat Bugzilla, Pierre-Yves and I > were literally discussing this with a Mageian who was interested in > this feature for Pagure weeks ago. We had identified the feature as > not difficult to implement but also simultaneously nobody really > *wanted it now*. It surprises me that this is something that should be > considered an important feature to preserve. It's actually a very > *rare* feature, and does not exist in any forge today, presumably > because it's actually a horrifically bad idea and antithetical to open > development. GitLab itself lacks this feature, in all variants. > > > 16 > > As a general user > > I want to be able to create a bot/service account > > That integrates with the gitforge in the same way as a human does > > This is a nice ask, but it's not a reasonably easy one to implement > with our current system. This is a problem I've struggled with at > $DAYJOB with GitLab as well, and frankly, if you have account > integration with a single-sign-on system (which virtually all > large-scale Git forge instances do), you can't really easily have this > without causing major problems. Not the least of which is how you > resolve account namespace collisions. There are also problems with > maintaining and auditing, too. But it's certainly something I'd like > to see in any forge (note that none implement this today either). > > > 29 > > As a General User > > I want to access repos fully over https > > For environments where SSH is blocked > > I would be really curious if the Red Hat Infrastructure Security guys > have changed their opinion on this after four years of blocking the > development of this feature in Pagure. The two major reasons we don't > have this in Pagure are: > > * There is a very strong push to not provide a way to bypass the SSO > (ignoring the fact that SSH keys are effectively a bypass, but most > security people are two-faced about this anyway) > * There is a very strong push to not provide LDAP integration so that > the required HTTP(S) Git proxy server would not be able to be > implemented. > > Note that for GitLab, unless you configure it to have access to LDAP > or set up personal access tokens, you cannot use HTTP(S) push at all. > Once again, this totally bypasses SSO. If the same rules that applied > to Pagure apply to GitLab, nobody is getting this feature anytime soon > with GitLab. If the attitude toward this feature has finally changed, > I'd love to know. > > Also, for those who don't know, Fedora's Dist-Git supports HTTPS push, > and has for almost a year: > https://fedoraproject.org/wiki/Infrastructure/HTTPS-commits > > This is done by *forcing* an SSO flow for *fedpkg* itself and > leveraging it as a credential and auth point. Unfortunately, this is > not a general purpose feature because there's not an easy way to do > that, so it's unavailable on pagure.io at this time. This mechanism > for HTTP push is *not* possible with GitLab, and would be quite > difficult to implement due to the crazy architecture internally. But > if more *normal* HTTPS is acceptable (like through auth tokens or LDAP > auth), then this is something that could be relatively quickly added > to Pagure (there was some old code that never got merged two years > ago, I still have it archived somewhere...). > > > 31 > > As a General User > > I can request access rights to a repository > > So that I can contribute in a low friction manner > > I honestly don't know entirely what this means. Are we talking about > having partial commit access (commit access to only some branches)? If > so, there's a PR out for implementing this in Pagure under review: > https://pagure.io/pagure/pull-request/4786 > > > > 34 > > As a General User > > I want a mobile native app > > To allow me contribute while away from my desk > > I don't have words for this... You folks know that only GitHub.com has > an official mobile app, right? And the experience is not great... > 🤦♂️ > > > 42 > > As a General User > > want a GUI to interface with the system as well as a CLI > > so new users have an easier way to interface with it > > I'd like to point out that most popular GUIs for Git stuff are not > forge specific and do not even do much for forge integration. But > sure...? > > > 44 > > As a General User > > I want a temporary file (gist) > > So that I can share code easily > > There seems to be a misunderstanding here... Gists are not temporary. > They're lightweight *permanent* Git repos (in GitHub). GitLab stores > them (called Snippets) as permanent things in the database (not a Git > repo). Are you trying to conflate pastebin use-cases here? That's > probably a very bad idea... > > > 46 > > As a General User > > I want to be notified of CVEs in my code > > so that I can stay on top of critical vulnerabilities > > There are *zero* FOSS solutions for this in the forge space. This > feature does *not* exist below GitLab Ultimate (the former Gemnasium > service was integrated into it). > > > 47 > > As a General User > > I want integrated keyword support > > to allow me automate a lot of my actions such as a rebuild / retest > > This is not a forge feature, this is a CI service feature. And note, > GitLab CI does not support this. > > > 49 > > As a General User > > I want to gain analytics and insights from my code > > so that I can have historic context to make decisions moving forward > > GitLab Enterprise features... > > > 51 > > As a General User > > I would like to track my work in an Agile manner > > allowing me centralise all my planning in my forge and gain insights into > > how I am working. > > GitLab Enterprise features, as mentioned earlier. > > > 56 > > As a General User > > I want registry integration > > so that I can store dependencies > > No, you don't. You *really* don't want this. Are you *sure* you know > what you're asking for? You're suggesting three things here: > > * OSS solutions for this (including Fedora's own package/container > infrastructure and hosted quay.io) are not good enough > * You are ready to have even more arbitrary data stored in the Git > system that may not follow our legal compliance > * You are willing to pay the cost of having even more data stored > > > 57 > > As a General User > > I want the ability to have a private branch > > So that I do not need to leave the code tree I am already in > > Just so everyone is *crystal clear*: you literally cannot do this. Git > does not have a concept of private branches or private refs within a > repository. You can have private forks, of course. And Pagure supports > those just fine, just like GitLab and GitHub do. > > (also note, we *intentionally* do not have private repos turned on... > if we want this, we could just flip a switch...) > > > 62 > > As a General User > > I want automerges when specific acceptance criteria are met > > So that I do not need manual intervention > > So... Mergify then? This is not *currently* a GitLab feature, and > Mergify does not support GitLab, last I checked. Only GitHub.com. It's > been on my bucket for a while to look at extending Mergify to support > Pagure for this, as it's a really nice feature... > > I want to take a moment to reflect on something that has been on my > mind for a while now: Fedora has not done a good job being an umbrella > organization. As an organization, we have done a huge disservice to > all Fedora-affiliated projects by not allocating any community > development effort or marketing effort. I know that Matthew Miller > feels Fedora should evolve to being an operating systems factory[1] > and to some extent that isn't a bad thought. But the Fedora Project > was always intended to be more than just the Fedora Linux > distribution. It has always been intended to be a home for Free and > Open Source innovation. In a Hacker News thread last year[2], I had > reflected on how proud I have been to be part of Fedora because we, as > a community, weren't willing to just give up like so many others do. > When FOSS solutions were inadequate, we built better ones. We've > invented things that didn't exist before, and jump-started > conversations about concepts that people didn't think of before. But > there has been a bit of a dark side to this for Fedora. We've rarely > given our projects an opportunity to grow beyond us. Off the top of my > head, the *only* project that technically *started* in Fedora and > became successful was Ansible. And if I'm being totally brutally > honest, it was only successful because the engineers who were > passionate about it had to quit Red Hat and create AnsibleWorks to > push it to success. It was successful *despite* Fedora. Maybe soon > we'll be able to add HyperKitty and Postorius to that, as I've been > seeing deployments of that come online over the past few months. It's > taken a while, but HyperKitty is finally taking off. There was one > person I talked to who told me that HyperKitty made mailing lists > enjoyable and she didn't know the project came from Fedora originally. > Again, seeing success despite Fedora. > > When I talk to folks in other communities and show them some of the > infrastructure projects we've developed as part of trying to build > communities around them, I've literally had people tell me that they > wish they had known we made them before, because it solved all their > problems they were struggling with. That's both amazingly uplifting > and terribly depressing at the same time. I'm not even putting in a > lot of effort and we get so much more out of it. It didn't take a lot > for me to get openSUSE interested in our new AAA solution and > contributing. That tells me that we're just not trying. And really, > that's obvious. Even a simple comparison of the Fedora and openSUSE > project landing pages show that Fedora gives zero attention to the > projects that exist under its umbrella. When you look at the openSUSE > landing page, the distribution and major software projects under the > umbrella are all broadcasted there. It makes it so much easier to > discover and generate interest. I'm not saying I love every aspect of > the openSUSE marketing. Far from it! But this is one thing they do > right that we do terribly wrong. And then we sit back and wonder why > our projects fail to generate interest beyond a few folks in Fedora > itself. It's a self-fulfilling prophecy. This is something we need to > fix for *all* our projects: present and future. > > In the end, I think the biggest disappointment of this process is that > it feels like it demonstrates that Fedora leadership and management is > not as committed to its mission and vision[3] as I hoped it was. I > realize that I should not be surprised by this. Most of the leadership > and management are no longer the idealistic people they were when they > first became involved. And it's even harder to be idealistic when it's > so easy to give in when you work for "open source company" that > increasingly uses proprietary software to manage its workflow (to be > fair, I think at this point virtually all major companies do this, > which more or less demonstrates the amoral nature of these entities). > Maybe I'm just an old remnant of a bygone era, but I personally remain > somewhat idealistic, even as I have progressed over the years. I also > remain hopeful that other members of the community are of similar > mind. And perhaps this is a bit of a fool's hope, but I hope the CPE > team reconsiders their decision, or at least would be willing to > provide more context on the gaps they felt pushed them over so they > could be prioritized for Pagure development (and maybe we can develop > them fast enough so that we don't have to switch...). > > I think this is also an important indicator that Open Source has *not* > won and it is *not* the default. People who keep saying otherwise need > to seriously look hard at the landscape and realize that we have a > long way to go before Open Source becomes the true default. It > behooves us to become cognizant of this and push for freedom whenever > and wherever we can. > > As for me? Well, I will do my best to try to help develop the Pagure > community. I'm still committed to assisting the Free Software > Foundation and other communities with using and contributing to > Pagure. I hope others within the community will consider helping too. > Pagure provides unique features that do not exist in any other forge, > in large part because it is driven by an ideal that open data and > freedom should be core tenants of software project management. And > hey, I hear whispers of new Pagure instances being set up all the > time! We're doing something right here, and it'd be a shame to > squander it. > > Heh, the irony is that I started using and contributing to Pagure > *because* I was burned by GitLab... > > > [1]: > https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/ZBU4MYRMMAE2Z7DL4NPPECTMX2FBQAVL/ > [2]: https://news.ycombinator.com/item?id=19356307 > [3]: https://docs.fedoraproject.org/en-US/project/ > _______________________________________________ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org