The on-wiki version of this newsletter can be found here:
https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Updates/2023-11-07
--
Wikifunctions, the library of functions that anyone can use and edit
As of a few days ago, Wikifunctions can be used by anyone.
<https://meta.wikimedia.org/wiki/File:Anyone_can_edit_Wikifunctions.png>Wikifunctions
can now be edited by anyone!
That means that everyone visiting Wikifunctions is able to run functions.
Until now, this feature was limited to logged-in users only.
The last two times
<https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Updates/2023-10-25> we
talked about re-implementing our backend to run on WebAssembly
<https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Updates/2023-11-03>.
Since then, we have monitored the system and deployed a number of further
security features. We have improved the monitoring of the system to notice
issues sooner. We have also moved
Wikifunctions.org to be the first
Wikimedia project to entirely run on Kubernetes
<https://en.wikipedia.org/wiki/Kubernetes>.
All of these steps gave us the confidence to drop the requirement to be
logged-in in order to run approved functions on Wikifunctions. We will be
monitoring the system, and in case we notice more load than we can handle,
we might be limiting function calls again. This might be a bit of a bumpy
ride, and we will see in the coming weeks and months how this will develop.
Thank you for your patience so far, and thank you for continued patience in
the future!
Furthermore, we have also considerably opened up editing rights. From now
on, all logged-in users can propose and improve draft functions, tests, and
implementations, rather than just special users with the Functioneer status.
Functioneers retain their role with the ability to connect and disconnect
tests and implementations on functions, which makes the function "live" so
that people can use it. The current set of Functioneers were all granted
their rights for a limited amount of time (for a few more months). We are
asking the community to set up a process to assign Functioneer rights
<https://www.wikifunctions.org/wiki/Wikifunctions:Project_chat#Your_input_needed:_Functioneer_role_definition_&_policies>
to
users, and keep a healthy number of Functioneers around.
For now, we will still not assign any function maintainer rights either.
Function maintainers will be able to do very wide-ranging, potentially
damaging edits, e.g. changing the definition of a type, or editing
connected implementations. There is no proper support for these workflows
yet, which is why we will not give out those rights for now.
With these changes, we are also dropping the word “soon” from the tagline
on the Wikifunctions main page: "Wikifunctions is a free library of
functions that (soon) anyone can edit.” We consider Wikifunctions now to
have reached general availability.
There is a lot more work to do. One of our next goals, which I'll post more
about next week, is to support more types beyond strings and Booleans, and
thus to allow many more functions to be created and made available.
Thanks so much to James
<https://meta.wikimedia.org/wiki/User:Jdforrester_(WMF)> for leading this
effort! And thanks to all the other team members who have worked on their
part, either within the Abstract Wikipedia team, within Security, or within
SRE (Site Reliability Engineering). We are excited to keep an eye on how
things develop from here on.