We survived 2020! I hope everyone is safe and healthy and had a good start to the new year. Last year was not easy for many of us but I hope everyone made it out okay. I wanted to take a moment to share our experience open sourcing the ClusterDuck Protocol (CDP) and thank everyone who has been making amazing contributions.
We started the year preparing for the open-source release of the ClusterDuck Protocol with The Linux Foundation. At that time, we had a vision on how the CDP should operate but the features and functionalities were limited. Our vision was to provide an easy-to-setup mesh network that can integrate with many platforms to stream its data. We knew there was a lot of work to do and luckily the open source community was there to help.
When we officially launched the CDP in March, people all around the world started to reach out to us to provide their input. This led to issues on GitHub, pull requests, and, best of all, a weekly town hall to discuss the improvements in these clusterducks. We found people who would love to apply the CDP in their own projects. That is when we came to this important question: how can we guide and support a community to build the projects they want to make.
Many times in 2020 I remember talking to my team about how we can support our community better. If members join to learn about CDP and apply it to their project, then we have to make sure CDP can be easily customized and implemented. The first step was to work on the documentation (or duckumentation). If we have a clear and concise documentation, then it will be easy for anyone to customize and implement their own networks. So we went back to our community members and together we built slide decks and documents answering:What is missing in the current code base?
A great example is adding an object-oriented approach to our code. Originally all the code was shoved into one file. This was an issue because it was hard to navigate through the code, especially when we had to debug. This came up in one of the weekly town halls and some of our community members were passionate about looking at what components are inside the CDP and how we can make them object-oriented. That way it would be easier to understand what is happening under the hood.
Another great example is the design of the data packet (the packet of data that travels through the ClusterDuck Network). Originally any data in any type of form can be sent through the network. This was an issue because data was fighting over space within the packet. However the community came together and designed a standard for the packet, which allocates some space for the important data to ensure the reception of it. This helped us create a standard on how we send data which lays a foundation for the future.
These were just two examples. Below is a visual recap of every big change to the ClusterDuck Protocol in 2020.
After almost a year of building documents, talking to the community in our weekly town halls and implementing new features, we feel that we are closer to our vision to make CDP easily accessible and integratable. That way anybody, not only developers, can build their own mesh networks. Once again, we would like to give a big thanks to our community. Our community gave us a worldwide perspective on CDP which helped us transform it to what it is today. There is still a lot more work to do but we are more optimistic than ever (especially since 2020 ended) that it will get done. If you have any questions or would like to join our community, just give us a quack in Slack.
Many thanks to everyone that has been involved with the CDP and looking forward to collaborate with many more of you in 2021!