Developer

ArduPilot and DroneCode part ways

3689699968?profile=originalSource: http://discuss.ardupilot.org/t/ardupilot-and-dronecode/11295

For the attention of the users, supporters, fans and corporate users of ArduPilot:

The ArduPilot project is going through a transition. We will no longer be associated with DroneCode and instead will be focused directly on the needs of our users, contributors and partners.

We had high hopes for DroneCode as a collaborative project. DroneCode was born out of the ArduPilot project and we led the technical collaboration since its inception nearly two years ago. As part of that collaboration we welcomed and nurtured close ties with the PX4 project and worked closely with a number of corporate partners.

Unfortunately DroneCode has a built-in flaw. The structure and bylaws of DroneCode are built around exceptional power for the Platinum members, giving them extraordinary control over the future of DroneCode. This is a fundamental flaw in a project meant to promote free and open source software as it means that the business interests of a very small number of members can override the interests of the rest of the members and the community.

Just how great a flaw that is has been shown by the actions of the Platinum members over the last two months. Due to their overwhelming desire to be able to make a proprietary autopilot stack the Platinum members staged what can only be called a coup. They removed all top level open source projects from DroneCode, leaving only their own nominees in the Technical Steering Committee. They passed a resolution requiring that all projects hand over control of all trademarks, accounts and domains to their control.

The PX4 project leadership decided to accept this, and will be handing over control of the PX4 project in order to remain in DroneCode. The ArduPilot project won’t be doing this, as we firmly believe that community directed development is the best way to create a long-term sustainable free software autopilot stack. That means we are not willing to hand control of our domains, trademarks and development accounts to DroneCode, and by extension to the Platinum members. We believe that giving the Platinum members that degree of control over the future of ArduPilot would be irresponsible. ArduPilot is a community project, and its future direction must be set by the community.

We did not want this outcome, and neither did the Silver members (represented by all 3 elected Dronecode board members). We wanted to continue to collaborate, but the actions of the Platinum members and the choice made by the PX4 project means that DroneCode is no longer a place where community directed collaboration is welcome.

There is one aspect of DroneCode which we will miss. It offered a forum where we could work with the many companies that use ArduPilot to help their businesses make the most of ArduPilot.

To allow us to continue to have that relationship and improve upon the flawed DroneCode model we have made the decision to accept partners to the ArduPilot project. These partners will have their logo displayed on our new homepage (unveiled today; visit us at www.ardupilot.org33) and we will work closely with them to build a strong relationship for the benefit of both their businesses and the ArduPilot project.

We will have a monthly meeting between the ArduPilot development team and partners where we will discuss the future direction of ArduPilot and work together on issues that are important to our partners.

More information on becoming an ArduPilot partner is available here:
http://ardupilot.org/partners17

We also welcome individual contributions, with donations welcome from all users. The most important contributions, however, are those made by the hundreds of people in our vibrant community who have contributed code, documentation, code reviews and support for our users.

The ArduPilot development team would like to thank all our users, contributors and partners for their support, and we look forward to continuing the development of the autopilot that this community loves.

The ArduPilot Dev Team
ArduPilot.org

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • Speaking from my own perspective only.  One of the really cools things about arduplane is that it works very hard to be a big tent and support everyone.  If you ever think you have any new good idea, check to see what the arduplane developers have done with it first.  There is support for just about every sensor and every board and every autopilot-related idea anyone has come up with.  The downside is that to accomplish this (and also as a natural consequence of developing a code base for almost a decade) is that layer upon layer of complexity has evolved.

    Again, speaking only for my own brain, I have trouble jumping into the arduplane code and finding my way around any more.  Perhaps the early quote of avoiding success at all cost has a lot of truth?  Perhaps complexity == difficulty, and simplicity == fun?  For myself, it is fun when I can jump into something new and fairly quickly feel like I can understand, leverage, and personalize it.  So perhaps there is room for a push back towards simplicity ... both with code and with hardware?  For myself, fun is hardware with 0.1" pins and breakout boards that I can solder myself.  For me in the past few years, fun isn't so much C vs. C++, I've been really getting into python and love it's more compact syntax and ease for prototyping new ideas.

    I do find it curious that success seems to go hand in hand with complexity, difficulty, and large groups that attract a few negative personalities to spoil everything for everyone.  The most fun seems to be when things are more simple, the group is smaller and really gels well together.  That's when DIY is the most fun.  Yet every small group out there having fun wants to be successful and dreams of making it big.

  • @Monroe -- there is an insane amount of fun to be has with something like Ardupilot Plane 3.7. Come on now!! It is also accessible to anyone anywhere that needs this level of flight control and does not want to shell out megabucks for a more commercial system. This, I think, was always the plan. Some people though have wanted to create corporate value for themselves out of it. This does take some of the fun out of it. We can always hope that is a minor distraction.

  • I must admit I liked it better back when the Ardupilot ran on the 38p it flew planes just fine with thermopiles.

    Things where fun back then!

    The APM 1 with the oilpan is my second favorite.

    After that most of the fun was gone- IMO

  • Not a bad run for the price of a plane ticket for Jordi to meet Bill and a tiny bit of mux code from Paparazzi.

    Saw the WHOLE thing! I even encouraged it and helped fight off the na sayers! I knew this would happen but I wanted to see the project progress and it sure did!

    Well worth the ticket price!

    I saw Jordi grow up to be a hero in his country.

    Tridge's never ending battle to keep the code open.

    Randy became quite the force himself!

    There is a whole list of strong contributors Rosenberg and Pittinger (sorry I'm pretty sure I misspell't) with higher math skills.

    And Micheal Osborne (My true hero)

    And so many more!

    What a ride what a ride!

  • Developer

    Andy Little wrote: Personally I want an Autopilot that works at "the human scale",DIY, simple, cheap and fun. I hope that is the direction that Ardupilot takes from now on. That is where I am heading anyway :)

    I completely agree. And I think most devs agree that higher order functionality is best done in a secondary computer. As such I would like to see ArduPilot focusing on core functionality only, and new mapping, AI, cloud, vision etc. functionality moved into a new project/linux distro named eh.. "ArduVision" or something like that.

  • "If you are author of some code, then you can re-release that code under any license and it is not a derivative work because you are the author. And that is what happened .. "All authors with active code on master have agreed"... "

    This is spot on.  The owner of any code can choose to relicense it at any point they wish to.  From that point on, the code and any changes will be under the new license.  All previous versions of the code remain under the previous license and cannot be revoked.

    "And the first code still stays under GPLv3 but from all the sudden there is a new identical code under Apache 2.0 which is not a derivative work :)"

    Not quite, once the code has been relicensed - dual licensed in this case - it remains the same codebase but has a dual personality, so to speak.  Any changes made to the codebase are applicable to both licenses (as stated).  The difference is how you, as the consumer, choose to consume the code.  *At the time you consume it*, you can choose GPL at which point you're bound to GPL rules, or alternatively you can choose to consume it under Apache rules and you don't have to contribute anything back if you don't want to (but if you do, it would be under both licenses).  Dronecode can therefore choose the permissive route and completely ignore GPL conditions.

  • @Guy McCaldin

    And the first code still stays under GPLv3 but from all the sudden there is a new identical code under Apache 2.0 which is not a derivative work :)

  • @Guy McCaldin

    Both your statements are valid, yet it's not what happened. Re-licensing is something else.

    If you are author of some code, then you can re-release that code under any license and it is not a derivative work because you are the author. And that is what happened .. "All authors with active code on master have agreed"...

    You can also thing about it as getting all the authors together and having them recreate their whole code.. again, this is not a derivative work, but please correct me if I'm wrong.

  • "Either I'm misunderstanding what is meant by proprietary applications, or Lorenz doesn't understand that anything released under GPLv3 must always be distributed under GPLv3, you can't pick and choose.  Apache make this very clear on their page explaining compatibility with GPLv3."

    Lorenz knew exactly what he was doing, and that's the point of dual licensing - you can exactly pick and choose which license you want to use.  If dronecode want to use qgroundcontrol under a permissive license and not contribute back improvements, they can now do so - it effectively renders the GPL null and void, if they choose to do so.

    https://en.wikipedia.org/wiki/Multi-licensing

    I think the last line of the Apache link you added sums it up:

    "The ASF will not dual-license our software because such licenses make it impossible to determine the conditions under which we have agreed to collaborate on a collective product, and are thus contrary to the Apache spirit of open, collaborative development among individuals, industry, and nonprofit organizations."

    Apache License v2.0 and GPL Compatibility
    Home page of The Apache Software Foundation
  • "ArduPilot, Mission Planner, Tower/Droidplanner, and QGroundControl are all GPLv3, so Dronecode is left with only the PX4 flight stack."

    Unfortunately not, lorenz sneaked a permissive license into qgroundcontrol recently:

    https://github.com/mavlink/qgroundcontrol/commit/dfcf1e2d88e715ae5b...

    And dronekit is Apache license as well.

    All authors with active code on master have agreed to add Apache 2.0… · mavlink/qgroundcontrol@dfc…
    … to the license mix
This reply was deleted.