Open Source

And how we got here

What We Tend to Open

We believe in putting powerful tools in the hands of developers. In many cases, this means open sourcing what we are working on early and often in accordance with our policy and core values. When contributing to other open source projects we strive to follow best practices and licenses set by that open source community. As a rule of thumb, we will open source, under various licenses, the following types of software:

Generic tools: A tool, library, or other utility that solves a generic problem

Non-core: Software not part of our core value proposition as a business

Discretionary: Code that we collectively decide provides greater value to our community of developers than the incremental value it may provide to 3DR if kept proprietary

Derived work: As it is often faster to develop using open tools, we correspondingly open derived works based on those tools in adherence with the license terms and conventions.

How We Develop

In general, we are biased towards developing in an open fashion to the ends of finding bugs early, driving platform adoption, and increasing developer goodwill. 3DR protects future product releases until they are public. We practice modular (not monolithic) software development so that software not directly related to future products can be considered for open sourcing based on the metrics above. Above all else, we like to develop in a fashion that adds to overall platform value, which keeps us happy as engineers and typically means opening early and often!

3DR believes in the open-source development model, and we are proud to include the following open source componets in Solo.

Source:

Why Open Source?

Culture: Started by Chris Anderson in 2007, DIYD has grown into the world’s largest open robotics community.

Trust: The home for 3DR’s open source platform. The Dronecode Project is a collaborative project that brings together open source projects under a nonprofit structure governed by the Linux Foundation.

Quality: 3DR’s free and open application development platform. This enable makers everywhere to leverage our platform and create their own drone apps for free.

History: “The app store for drones.” The home for drone apps developed on our platform.

Recruiting: The most robust and versatile open drone flight code on the planet. The Tower open source community is located here.

Portability (no lock in): The world’s best selling autopiR Our partners in the open hardware Pixhawk project.

Reuse: Check out consumer drone projects powered by our Pixhawk autopilot.

PROJECTCOMPONENTVERSIONLICENSE
ArduPilot CopterFlight code3GPLv3
LinuxKernel3.10.17GPLv2
U-bootBootloader2013.04GPLv2
Linux-Wirelesshostap-daemon2.4BSD
Linux-Wirelesscfg80211/nl80211/ath9kbackports-20141221GPLv2
Linux-WirelessWPA-Supplicant2BSD
Linux-Wirelessiw3.11BSD
Linux-Wirelesswireless-tools29GPLv2
MAVproxy1.4.4GPLv3
pyMAVlink1.4.41LGPLv3
DroneKitsolo-releaseApache
gstreamerGstreamer0.1.0LGPL
gstreamerPlugins (good, base)0.1.0LGPL
Python2.7.3PSF
OpenSSHOpenSSH Server6.2BSD
IPTables1.4.19.1GPLv2+
dnsmasq2.55GPLv3
rpm5.4.9LGPL 2.1
e2fsprogs1.42.8GPLv2
dosfstools2.11GPLv2
nano2.25GPLv2
vim7.4.27VIM
busybox1.21.1GPLv2
GstreamerSolo app1LGPL 2.1
Alamo FireSolo appMIT
HanekeSwiftSolo appApache V2
GPU ImageSolo appBSD 2 Clause
Swifty JSONSolo appMIT
AKPickerViewSolo appMIT
CocoaAsyncSockerSolo appPublic Domain
MAVlink (Generated Code)Solo appLGPLv3