On Mon, 4 Aug 2025 at 20:15, Dave Fisher <w...@apache.org> wrote: > > I’m going to top post again Whimsy mission as provided in Board reports: > > > The mission of Apache Whimsy is the creation and maintenance of software > > related to tools that help automate various administrative tasks or > > information > > lookup activities > > With this description there is no preference for the platform used to provide > such tools. > > > On Aug 3, 2025, at 6:16 AM, Shane Curcuru <a...@shanecurcuru.org> wrote: > > > > Welcome, and thanks for stepping up Dave! > > > > sebb wrote on 7/31/25 7:06 PM: > >> On Thu, 31 Jul 2025 at 18:37, Dave Fisher <w...@apache.org> wrote: > > ...snip... > >>> There are many other useful tools on the Whimsy platform. > > > > There are a LOT of other tools that different groups at the ASF use: > > > > https://whimsy.apache.org/committers/tools > > > >>> I would like to propose that this PMC start to build a Workbench platform > >>> using Python and the ASFQuart framework using practices developed during > >>> the creation of the new Board Agenda Tool (svn integration and svelte) > >>> and the Apache Trusted Releases platform (uv and storage integration). > >> What is 'uv'? I assume it is not ultra-violet. > > > > Good question! > > > >> I'm not sure what you mean by a Workbench platform; at present the > >> Whimsy Workbench is for the Secretary tooling only. > >> Apart from the 3 tools mentioned above, I think all the other Whimsy > >> tools are largely self-contained, and only share common library code, > >> so I am not clear what a Workbench would entail. > > > > It's clear that "workbench" has a different meaning for the tooling team > > than here in Whimsy, so each group should provide a definition if we're > > going to compare things. > > For me a workbench is a platform, desk, or station where various tools may be > used to accomplish various tasks. > > > > > "Whimsy" is also overloaded as a term, it has a LOT of stuff: > > > > - A stable server with ruby (and sinatra, passenger, rails, wunderbar, etc. > > bits for full stack service) and storage and SVN/git integrations > > Whimsy does not currently support OAuth or MFA.
ASF OAuth does not support MFA either! Whimsy needs access to user credentials in order to update files; I don't think that can be done with OAuth. > > > > - The ruby ASF module, which provides a rich and organized interface into > > the majority of our internal data sources, like LDAP, committee-info, > > Incubator, board reports, Member Meetings, and more. > > And yet Ruby programming skill and the need to test and debug the Whimsy > monolith has been a blocker for some in contributing to the platform. Another blocker is that Whimsy needs access to non-public data, and there is lots of PII involved. This makes it challenging to set up development environments, regardless of the language used. > Python support for LDAP exists in Infra’s python platforms and this supports > the nearly complete Agenda Tool. There is support, but it relies on launching an LDAP application for each request, whereas Ruby has native bindings. > > - Lots of user-facing independent applications (see /committers/tools) > > Yes. > > > - A variety of utility tools and data stores that interact or are used with > > groups across the ASF: /public/*.json, /site/ > > > > - The Board Agenda and Secretary Workbench applications, which include > > richer functionality (and underlying server bits) than other tools. > > From the Tooling team - Agenda Tool replacement is coming very soon and > Secretary Workbench work will commence soon. What about the Roster tool, which is the other main Whimsy app that handles PII and needs user credentials? > > > >>> If the Whimsy team is interested then we can setup a repository, vm host, > >>> and start development. > >>> > >>> Whimsy could also become the home for member developed extras like > >>> Daniel’s ASFMM. > >> That's not really in the Whimsy mission as listed above. > >> Maybe that could be taken over by ComDev? > >> That code is all Python. > > It may be Python, but it’s not using the preferred asfquart framework. My point was that the ASFMM is not in scope for Whimsy. Seems to me Tooling would be a more natural home for it. > > > > Taking a step back, no-one is asking the real question - the reason the > > board appointed a VP, Tooling and budgeted funds to hire tooling staff. > > > > -> How much volunteer energy do we have for maintaining and building new > > tools in the Ruby ecosystem? <- > > > > Reading Whimsy project reports shows a low and declining amount of energy > > for Ruby actual work *. In our larger community, I see either disinterest > > or near hostility towards Ruby as well. > > As noted above and as I am suggesting: > > 1. Nothing in the Whimsy mission requires Ruby. > 2. By working on various “whimsical” tools using Infra’s preferred platforms > all new and rewritten tools can be more easily made essential should the > Board find it necessary. > > > Since the Infra Team has long standardized on python, the obvious next > > organizational question is: how do we create a place where volunteers can > > build useful and stable things like Whimsy bits, but do so in an > > environment that mirrors the python world that Infra natively supports? > > Because in that case, if a popular tool becomes "critical", then it's > > merely a simple redeployment of the tool, not re-engineering it from our > > Ruby ASF:: modules into Infra's asfquart land. > > So, Tooling is living in asfquart land and the offer here is for future > Whimsy to also be in asfquart land. There are many examples. > > If the PMC wishes to remain only with the Ruby platform then future whimsical > tooling will have a harder lift towards being useful as an essential tool. I personally prefer Ruby, as its syntax and features make it very flexible; it's very easy to create easy-to-use shortcuts for generating HTML and JSON etc. It's also very good at text manipulation and matching. (I think Ruby is the basis for Puppet, as used by Infra). However I also use Python, and there is already some Python code in Whimsy. But as noted above, Ruby is not the only blocker: there is also the need to handle PII and non-public data, which will continue to be an issue. This mainly affects the Agenda, Secretary and Roster apps, but any tool that uses LDAP or non-public resources will need credentials. This makes setting up development harder. I am not saying that Whimsy cannot move to using Python and asfquart. But AFAICS doing so will not magically eliminate all the barriers to participation. > Best, > Dave > > > > > -- > > - Shane > > Member > > The Apache Software Foundation > > > > * Note that while our amazing sebb may have the strength of 10 engineers, > > one human can't run a whole project alone. >