As interest in drone technology continues to grow, also expanding is the open-source Dronecode effort, which is a Linux Foundation Collaborative Project. Dronecode launched in October 2014 and has grown significantly since then, from only a handful of members to 51.
Dronecode isn't just vaporware code, but rather, now serves as the basis for multiple commercially available drone technologies, including the recently announced Qualcomm Snapdragon Flight. Over the course of the Dronecode project's first year of existence, there has been substantial growth and development, said Chris Anderson, 3DR CEO and Dronecode board of directors chairman.
"We've nearly tripled our member growth and seen companies like Qualcomm base their products off of the Dronecode open-source platform," Anderson told eWEEK. "It's also extremely encouraging to see increased member engagement and the formation of technical working groups to further advance our mission and open-source technologies for UAV [unmanned aerial vehicle] adoption and acceleration."
Dronecode is made up of multiple components, including the APM (ArduPilotMega) UAV platform code and the PX4 autopilot project.
Today, Dronecode includes many projects at various layers of the stack, ranging from a real-time operating system (RTOS) and drivers at the bottom to mobile and cloud apps at the top, Anderson explained. "But at the flight code layer, it is still based on a choice between two flight codes: APM and PX4," he said. "The first is GPL-licensed and the second is BSD [Berkeley Software Distribution]."
The GPL (GNU Public License) is what is known as a reciprocal license in that developers that modify code are required to contribute their changes back to the project. The BSD is a more permissive open-source license that does not have the same reciprocity requirement.
"The goal of the Dronecode project is to establish a common platform that utilizes open-source best practices and technologies to accelerate the adoption of better, more affordable and more reliable open-source software for UAVs," Anderson said. "The one unifying thing in Dronecode projects is that they all use the MAVLink communications protocol, but at each layer, this is often a choice between code bases rather than a single monolithic stack."
The Dronecode Project is abstracting each layer so that there is increased modularity, and it will be possible to mix-and-match projects up and down the stack as needed, since they talk to each other via APIs, Anderson said. The Dronekit SDK, which will soon become part of Dronecode, is an example of how this could work, he said.
"Our goal is to ultimately create a single install file that can create a Dronecode stack by simply selecting desired components with checkboxes," Anderson said.
The Dronecode stack is complex in that it includes technology ranging from camera control to cloud management. As such, Dronecode will always be a bit more complex than simply running a single program, Anderson said. Instead, it may be more like Dronekit is today: one install on the vehicle, another on the phone and APIs in the cloud.
The Dronecode project is now kicking off three technical work groups to further advance the technology.
"These technical working groups were formed to focus development efforts into specific areas of growth for UAVs—camera and gimbal controls; airspace management; and hardware/software interfaces—while ensuring standardization and interoperability across the technologies," Anderson said. "Working groups are commonly formed in open-source projects to focus on critical areas of development to move the technology forward."
Another working group at Dronecode is looking at the impact of U.S. Federal Aviation Administration (FAA) rules that now seek to ban drone operations over large areas of American airspace. The Dronecode Airspace Working Group is working on safe integration of UAVs in the airspace globally, not just in the United States, Anderson said.
"The FAA rules, which are about registration and operation, primarily affect manufacturers and operators, rather than the open-source code developers," he explained. "But to the extent that many of Dronecode's corporate members are both manufacturers and operators, they will be looking for support for safe airspace integration standards in the software platform, which is the mission of the Airspace Working Group."
Sean Michael Kerner is a senior editor at eWEEK and InternetNews.com. Follow him on Twitter @TechJournalist.