3D Robotics have recently announced the release of Dronekit, which is an SDK ecosystem that lets you build apps for your drone, be it in the air, on the ground, or in the cloud.
I suspect this is in response to DJI SDK announced a while back. Although, at the same time I think that the DJI SDK was a way to overcome the limitations of having a black box system allowing developers to add cool features to the DJI drone world. Either way, I think this is still great as it makes things much easier to interface and build your own projects around the core 3DR autopilot systems. Enough of my rambling.. and onto dronekit.
So the basic idea of Dronekit is to make things as easy as possible for developers to build cool apps for the 3DR drones. The way it does this by abstracting the low level parts of writing the autopilot firmware and leaving you with a clean, higher level easier interface to code on (using python). You can think of this like the smartphone world. 3DR make the hardware (like the smartphone hardware, ie, Samsung Galaxy), and the DIYdrones developers will make the low level autopilot software (like the operating system ie, Android), leaving the 'app' creation down to you.
Already there is a bunch of starter code and examples over on the dronekit site so I suggest you have a look at http://dronekit.io and the best thing since the entire ardupilot system is open source there are no levels of access like with the DJI SDK, its all entirely open for you explore.