On Tue, 5 Aug 2025 at 09:34, sebb <seb...@gmail.com> wrote:
>
> 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.

There is also the issue of the UI.
Ruby makes it very easy to generate HTML.
For example [1] and [2]

AFAICT, there is no Python equivalent.

[1] https://github.com/apache/whimsy/blob/master/examples/board.rb
[2] https://github.com/apache/whimsy/blob/master/www/test/example.cgi

> > 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.
> >

Reply via email to