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

Reply via email to