Cro
The Cro project is being transferred to the Raku community. Find out more.

Transferring Cro to the Raku community

In 2017 a small team within Edument began to develop Cro, a set of libraries for building networked applications - primarily web applications - in the Raku Programming Language. The development work was funded by Edument, and so developed by employees in their working time. We announced Cro at the Swiss Perl Workshop of that year, and since then it has become a popular choice among Raku language users for building web applications.

Rather than being a port of any particular existing libraries from another language, Cro was built with Raku’s capabilities in mind. That meant a request/response processing model centered around Raku’s built-in asynchronous streams (WebSockets are an especially neat fit with the supply / whenever construct) as well as making use of Raku’s introspectable signatures to offer convenient specification of HTTP routes. Cro also adopted a symmetric architecture for client and server, with the same familiar request and response objects used in each case.

Commercially, we hoped the availability of a feature-rich and well documented way to build Raku HTTP APIs and web applications would accelerate the adoption of the language and, in turn, result in consulting work for Edument. For a while, this worked: we had a number of consulting projects built using Raku and Cro, which helped us sustain funding for its stewardship and development.

Unfortunately, in the last couple of years, we’ve struggled to find further projects that involve Cro. At the same time, like many in our industry and region, we’ve also found our budget becoming increasingly tight; business activities that don’t pay their way aren’t easily subsidized these days. As a result we’ve found ourselves unable to invest much time in Cro.

When Edument employees were by far the dominant Cro contributors, it made sense for us to carry the overall project leadership. However, the current situation is that members of the Raku community contribute more. We don’t see this balance changing in the near future.

With that in mind, we entered into discussions with the Raku Steering Council, in order that we can smoothly transfer control of Cro and its related projects to the Raku community. In the coming weeks, we will transfer the GitHub organization and release permissions to steering council representatives, and will work with the Raku community infrastructure team with regards to the project website.

We’d like to thank everyone who has supported our work on Cro and contributed to the project over the years, and to wish the best to the Raku community in driving it forward from here.