Ever since we started the full rewrite of the product that would eventually be released as Aragon 0.5 (causing us to cancel 0.4 as we rewrote the original rewrite), both Luis and I were certain that we didn't want to predict how people would want to use the product in the future. We had some convictions, and we built them in the form of the “default apps” (Voting, Finance, Tokens, Permissions), but at the same time, it was apparent from the beginning that extensibility was a key feature, empowering other developers to create new experiences for Aragon users.
We started building aragonSDK, and aragonCLI specifically, at the beginning of 2018. Pre-0.5, pre-mainnet, pre-Flock, with a developer team of 5 people. It was essential work, but after reflecting on it these past weeks, it was too early to commit to such an undertaking. With the team's attention on higher priority projects (getting us to mainnet), aragonCLI ended up in an awkward ownerless state, which resulted in Brett and myself reactively fixing things as fires arose.
At the beginning of the year, Daniel and Gabi stepped up to form the Aragon Mesh DAO, as a pure Aragon DAO with no legal structure behind, started collaborating together from Romania and Uruguay (in the most real world María-style story that we are aware of), got a Nest grant, and took on the CLI full-time.
The work Aragon Mesh put into aragonCLI, and aragonSDK in general, was tremendous. The state of the tooling and documentation is so much better than just a year ago. Today, developers are multiple times more productive building on Aragon, and always able to rely on Aragon Mesh’s support with their questions or issues.
However, they were burdened by the technical debt they inherited from our sloppy development of aragonCLI. Furthermore, due to Aragon One's resource constraints and priorities, Aragon Mesh didn't receive the support it needed from Aragon One to be more effective. Although some of the debt has been cleaned up by now, there's still a lot more work to get aragonSDK to the quality that people expect from Aragon products.
They took on a massive undertaking and still did a tremendous job, despite the few resources.
Bringing aragonSDK to Aragon One
Aragon One now has the management infrastructure and will soon have the bandwidth to broaden our product scope.
With the current momentum behind Aragon app development, as two major app suites are scheduled to be released in November and an increasing number of community developed applications, I believe this to be the time to double down on aragonSDK and make it a world-class development platform.
Leveraging Aragon One's resources, team structure, and management, we can give aragonSDK the care and love that it deserves, further nurturing the Aragon app developer ecosystem. Internally, it has become a product as important as the Client and Network and is now staffed full-time with a newly formed Aragon One SDK team.
The Client, Network, and SDK product teams in Aragon One serve very different users, and will, therefore, have different roadmaps to achieve their goals, all within Aragon's mission. We have already helped form the aragonSDK Working Group, set the roadmap for the next major version of aragonCLI, focusing on eliminating technical debt, and will soon be working on a longer-term roadmap to improve the SDK’s developer experience.
The aragonSDK team is led by Brett and includes Ale together with our newest team member, Gabi. We love what Daniel and Gabi have done with Aragon Mesh, and it will likely continue operating independently as it attracts new contributors. At the same time, Aragon One is also hiring engineers to work on aragonSDK.