Written by Taras Drozdovsky and Taewan Kim, LF Edge Home Edge Committer & Staff Engineer at Samsung Research as well as Peter Moonki Hong, LF Edge Governing Board member & Principal Engineer at Samsung Research
Every year the number of Free/Libre and Open Source Software (FLOSS) projects increases and the community has a goal to maintain high quality code, documentation, test coverage and, of course, a high level of security.
The Linux Foundation, in collaboration with and major IT companies in its Core Infrastructure Initiative (CII), has collected best practices for FLOSS projects and provided these criteria as CII Best Practices.
In December 2020, LF Edge’s Home Edge team set itself the goal of getting a CII Best Practices Badge. After working tirelessly on the requirements, we are happy to announce Home Edge has received the CII Best Practices Badge!
Thank you to the committers and key contributors of Home Edge, Taras Drozdovskyi, Taewan Kim, Somang Park, MyeongGi Jeong, Suresh L C, Sunchit Sharma, Dwarkaprasad Dayama, Peter Moonki Hong. We would also like to thank Jim White with EdgeX Foundry for helping to guide us and the entire LF Edge/Linux Foundation team for their support.
Benefits achieved on the way to getting the CII Best Practices passing badge:
- Improved documentation:
- Security and Testing policy
- How to Contributing Guide
- Descriptions External APIs
- Improved the build and testing system
- CI infrastructures: Github->Actions – 20 checks
- Integrated of external software tools for analysis code:
- gofmt – 92%;
- go_vet – 100%;
- golint – 76%;
- SonarCloud: Security Hotspots – 37 -> 0; Code Smells – 253 -> 50; Duplications – 7.8% -> 3%
- Improved security analysis:
- Integrated CodeQL Analysis, LGTM services: 17 -> 0 Security Alerts
We have reached a high level of code quality, but continue to improve our code!
Improving the Edge Orchestration project infrastructure (using many tools for analyzing code and searching for vulnerabilities) allowed us to increase not only the level of security, but also the reliability of our product. We hope that improving the documentation will reduce the time to enter the project, and therefore increase the number of external developers participating in the project. Their advice and input are very important for us.
It should also be noted that there were many areas of self-development for the members of the project team: developers became testers, technical writers, security officers. This is a wonderful experience.
Next step of Edge Orchestration team
Further improving the Edge-Home-Orchestration project and achieving “silver” and “gold” badges. Implementation of OpenSSF protected code development practices intoEdge-Home-Orchestration.
If you would like to learn more about the use cases for Home Edge or more technical details, check out the video of our October 2020 webinar. As part of the “On the Edge with LF Edge” webinar series, we shared the general overview for the project, how it fits into LF Edge, key features of the Coconut release, the roadmap, how to get involved and the landscape of the IoT Home Edge.
If you would like to contribute to Home Edge or share feedback, find the project on GitHub, the LF Edge Slack channel (#homeedge) or subscribe to our email list (homeedge-tsc@lists.lfedge.org). We welcome new contributors to help make this project better and expand the LF Edge community.
Additional Home Edge Resources:
1. Coconut release code : https://github.com/lf-edge/edge-home-orchestration-go/releases/tag/coconut
2. Release notes
- Overall roadmap : https://wiki.lfedge.org/display/HOME/Roadmap+and+Release+Notes
- Release note for Coconut : https://wiki.lfedge.org/display/HOME/Release+Notes+for+Coconut
3. Home Edge Wiki: https://wiki.lfedge.org/display/HOME/Home+Edge+Project
- Multi-NAT communications : https://wiki.lfedge.org/display/HOME/Multi-NAT+Communications
- Data Storage : https://wiki.lfedge.org/display/HOME/Data+Storage