What is Acorn?
Acorn is built as a Holochain application, meaning it runs on decentralized peer-to-peer computing and can be used without server infrastructure or a hosting service. The users of a particular Acorn instance are its hosting power.
CAL was created for the Holochain project to protect both source code and user data from restriction. It frees an end user from having their data held from them by a party that develops or hosts software licensed under CAL.
In August 2019 Sprillow undertook a design process and began building Acorn on Holochain and continues to today. In June 2022 the first major release of Acorn (Alpha) was published and it's currently in an Alpha testing phase.
Acorn is being developed and improved on a regular basis, and is currently is in Alpha testing phase.
We welcome contributions from anyone to the Acorn project. Here are some ways that you can contribute.
If you download Acorn, and use the software, you might occasionally run into some problems. If and when you do, those issues can be brought up with the Acorn development team, by logging an issue here in the Github repository for the project. If you have a Github account, or create one, you can do that here: https://github.com/lightningrodlabs/acorn/issues/new
When filing an issue, please include a detailed description of the following:
- which operating system you were using
- a list of steps you took that led to the issue ("steps to reproduce")
- a screenshot (if not sensitive information)
We do not have a separate 'chat' forum for Acorn, apart from the Discussions space on the Github project. Please use it to bring up questions, or to explore potentials. https://github.com/lightningrodlabs/acorn/discussions It can also be a good space to connect with other Acorn users, and hear about how they're using Acorn.
If you are interested to contribute to Acorn's development, welcome! Acorn is written in languages such as Rust and Typescript, and frameworks such as Holochain, and React. If you have proficiency in either Typescript and React for writing frontend code, or Rust for writing backend code, or both, then you may find it intuitive to contribute. Generally, new features come through a design -> development pipeline defined by the workflows of the Sprillow team, but these workflows could be adapted to more 'open' workflows if the right opportunity presented itself. Otherwise, contributions may remain more-so in the space of bug fixes and other technical-first features, such as algorithms or scripts.
It should be noted that while the Rust code has unit tests, the frontend code does not. That is another area for potential improvement (front end testing).
In terms of getting more familiar with the codebase, you can get a rather in-depth introduction by watching these two videos:
While some of that code may be out of date, the general introduction should still apply, and be helpful.