Developer

An open letter to Paul from witespy

Hi Paul,

I don't know if you know me. I'm a lead developer for the ardupilot project. You know, the project that you just accused of not being open source in an interview on http://thecrashcast.com/. I write about half the code for the project, so maybe you've heard of me.

If you've been following my work for the last 4 years on ardupilot then you would know that I'm generally a pretty mild mannered person. I try to keep my posts polite and helpful, to generally raise the tone of diydrones and open source projects in general.

Well, you better don your asbestos suit now, because I also have a rarely seen darker side. Just occasionally someone does something that pisses me off so much that I get really really annoyed. Your recent actions have done that, so here comes a flaming.

Some background

A real flaming doesn't generally come with a background introduction, but hey, I still have a mild side too (despite the fact that I am seething with anger at you right now), so why not.

I'm a long time open source developer. I started contributing to open source in the late 80s. There is a good chance that when you read this letter the bits are getting to you via computers running open source code that I've contributed to. On the wall behind me is a Free Software Foundation award for the advancement of free software. I teach a masters course on how to build and contribute to open source projects. I'm not an open source newbie. Perhaps you should have checked before making outlandish claims about ardupilot, a project that I've put my heart and sole into for so long?

I've been working on ardupilot for 3 and a half years now. In that time I've contributed over 5000 patches to the project. Given your amazing statements on the crashcast podcast and on your website about you being a defender of open source I expected to see your name in the contribution list. Strangely enough, it's not there. Did you use a pseudonym in all the contributions you have made or did you just accuse a project that you have no association with of not being open source?

How Open Source Works

As I describe in my course, open source is different for different people. Me, I'm a free software radical. I like everything I do to be FOSS (free and open source software). If I can't do something with FOSS then I see if I can write a FOSS tool to do it, then distribute it to the world. As a result I've started about 30 FOSS projects over the years and contributed to dozens more. I'm such a radical that many people in the FOSS world (including Linus Torvalds) have accused me of being too radical, and pushing the "free software or death" line too hard.

One of the big misunderstandings about open source is the insane and self-serving idea you have been pushing that the ardupilot project is somehow required, because of open source principles that you somehow fail to explain, to provide your company with binaries of our software that work on your board. That is utter and complete drivel and rubbish. You're wrapping yourself up in the open source flag while not even having the faintest idea of how open source works.

Open source project leaders can choose which hardware they support. As a lead developer of the ardupilot project I have chosen to try to make the code work on as many boards as possible. So in fact the firmware.diydrones.com site (which I maintain) does provide firmware that will probably work on your RTFHawk boards. I've also worked with people who want to port ardupilot to completely new hardware platforms. Did you notice I merged in support for Flymaple boards a few months back? Did you notice I merged in support for the VRBrain too? Did you notice the work I've been doing on porting ardupilot to the BeagleBone?

I'm guessing you didn't notice any of that or you wouldn't be making such grandiose and idiotic claims about ardupilot not being an open project.

So here's the deal. Open source project leaders get to choose what code they accept, what code they write and how the projects get managed. Really basic stuff really. I have chosen to make ardupilot widely portable and flexible, but I didn't have to. It would still be open source if I wrote the code to only work on one brand of board.

Michael Oborne is the project leader of the MissionPlanner project. He has done an awesome job building up MissionPlanner from scratch, and making it a GCS that people love to use. As the project leader for MissionPlanner he gets to set the policy. If he wants it to only load firmware to only blue boards with pink edging that have butterflies embossed on the PCB then that would be his right. I might give him some odd looks if he did that, but I'd defend his right to do it.

Because MissionPlanner is an open source project you can make it do something different if you like. If you don't like what it does then why not try something really radical like talking to him (you _did_ talk to him before accusing him of heinous crimes against the open source world? right? yes?). Hey, you could even send him a patch! Now there is a radical idea. If that fails then you could fork MissionPlanner and make it do what you want it to do. That is the fundamental succinct definition of open source after all - the right to fork. You have that right, even if perhaps you don't deserve it after all you've said in recent days.

Why do we work closely with 3DR?

If I were to believe the crap you said on that podcast then it would seem that I'm held hostage by 3DRobotics. Help, I'm an open source developer being supported by a hardware company that uses my software. Oh no!! Help me get out!!

The fact is the ardupilot developers work closely with 3DRobotics because it benefits the project. Think about that. We choose to work with them because working with them advances the aim of producing the most awesome free software autopilot that we can.

I regularly get asked by Craig Elder from 3DRobotics if there is anything he can send me to help me with my work on ardupilot. If I say "well, I fried my last Pixhawk while testing the power handling to its limits" then he pops a couple of new ones in a fedex pouch and sends it down to me in Australia. It's great!

They even pay me! I get 100% copyright on all the work I do, I get complete discretion on what code I put in and I get paid to do it. Yep, open source developers can get paid!

In fact, most large open source projects have lots of paid developers. Ever heard of the Linux kernel? Last I heard about 80% of the code is written by people who work for hardware companies that benefit from the project. This is normal. I've been paid to develop open source software by numerous companies for 20 years.

The main difference with 3DRobotics is that they are one of very few companies who have been enlightened enough to pay the ardupilot core developers. In the case of Linux there are hundreds of companies that have understood open source enough to pay the core developers. Chris Anderson from 3DRobotics saw that pitching in money to pay the people who have been working on ardupilot for so long is a good thing both for the ardupilot project and for 3DRobotics, so he did it. Now you throw that back at him and try to use it to accuse him and 3DRobotics of being some evil company perverting open source. What sort of insane logic does that stem from?

I looked in my letter box today and I didn't see any hardware from you. I bet if I talk to all the other ardupilot devs they would tell me you didn't send any hardware to them either. I haven't seen any code from you. Yet you get up on your high horse and try to claim that we owe you something? Please just crawl back into the hole you came from.

That OTP thing

The thing you have built your edifice of open source outrage on is the way that MissionPlanner checks the OTP area of Pixhawk boards and doesn't load firmware unless they match a particular public key. I have stated publicly that I don't like that behaviour. I have also made it clear that it is Michael's decision as project leader for MissionPlanner.
I have been working with other developers to try to come up with a better solution. That is how things are done in the open source world. Contributors to projects tell the project leader if they don't like something the project does and the project leader takes their ideas into consideration. Ultimately the project leader (Michael in this case) gets to choose.

So we agree?

You might think that because I also don't like the current OTP mechanism that we are in agreement. We are not. I wouldn't be flaming you in such a long winded fashion if I agreed with you.

You are taking advantage of the OTP behaviour for your own ends, and those ends have absolutely nothing to do with protecting open source.

Let's have a quick look at your actual behaviour with regards to open source and your RTFHawk project. Given your rabid defence of open source I presume you've read the license of the projects you are criticising so loudly? It's the GNU GPLv3. I happened to be on a committee that helped develop that license, so maybe you don't know it quite as well as I do. Here is a refresher. When you distribute binaries that are built from source code that is under the GPLv3 you need to (among other things) do the following:

  • make the recipients of the binaries aware of their rights under the GPL. Have a look at firmware.diydrones.com for how we do that
  • offer the source code to anyone who asks for it (which is why making them aware of this is so important)

So, let's see. On your website you have a binary copy of MissionPlanner modified to upload firmware to your board. Do you tell people who go there that it's GPLv3 software? Do you link to the source code? Do you offer the patches you've done? Nope, nope and nope.

What is more, you are wrapping yourself in an open source flag and trying to use that flag to sell your clone boards. You do this by criticising 3DRobtotics, a company that has done more for open source autopilots than any other company I know of. You are doing this as a company that has, as far as I am aware, done absolutely zero to benefit the ardupilot project or MissionPlanner that you are criticising.

So what now?

First off, go read up on open source. Read some of ESRs essays. Read the FSF site.

Then go away. One of the things a open source project can do is ignore people who really piss them off. You have really pissed me off. I would not accept a patch from you in future, even if you ever could be bothered to get off your ass and make a real contribution.

I will accept patches from other hardware vendors, and I look forward to working with other hardware vendors who make boards that run ardupilot, just like I have done ever since I got involved in this project. I love working with any hardware vendors who make great autopilots and who want to work with the project. I will do it regardless of whether they contribute money or hardware, because I love to see the platform grow. I won't however work with you because you have decided to start off the relationship between your company and the ardupilot project by insulting it and using those insults to further your own aims. So congratulations, you are the first company that I have banned from working with the ardupilot project, or at least working with me on it. Maybe you'd like to put that on your website?

Time to get some sleep.

E-mail me when people leave their comments –

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

Join diydrones

Comments

  • This is comment on Bill Bonney's post. At the expense of sounding haughty, let me say that Bill may be a fantastic developer but it seems he does not understand the logic of and the economic realities of Open Source projects. The whole idea behind open source is to increase the penetration of a project. And lower costs are one of the primary ways to increase that penetration. The way most folks make an open source project work is by providing and charging for higher level of support, which the low cost providers are unable/unwilling to provide. There is a very successful business model that can be built around that. By haranguing a poor slob like Paul Witespy about contributions to the effort totally misses the point. If you do not want others to provide the technology to end users at whatever price they want to pay for it, then why do an open source project.

    In other words, in economic terms, the whole logic of open source projects is to create various levels of price points for various levels of products and services around one core product. By preventing people from being able to do that, you are doing a disservice to the project itself. Simply put, it would not get the level of penetration that will provide you the economic returns that you seek. You might as well brand it and not do an open source project as the results will be the same. You can't have it both ways, unfortunately. As an analogy, linux and windows both work as successful business models. But you can't have one vendor for Linux to realize the same level of market penetration. 

     

  • Developer

    @Mike: Pixhawk is an open hardware design by the PX4 project, and if you follow the links from 3DR you will end up on the official repository. Your claims about not compliant with OSHW are not valid and all information, including the license, is published here: https://github.com/px4/Hardware/

  • Nic, I was just speaking to his character regarding how he treats customers who end up with faulty hardware. If someone's thinking of dealing with Witespy, then I think it's fair that they should be made aware of what sort of response they can expect if they buy an RTFHawk board which turns out to be a dud.

    I've had great service from other suppliers who sell at similar price points. Just because something is being sold at low margins, shouldn't automatically mean that you should expect to just suck it up if it's faulty. Especially for something that looks like it's from a batch where there is a legitimate hardware issue. I'm not the only one who has had one of these burning yaw addon boards.

    Is he still selling gimbal control boards with cracked alexmos firmware on them?

  • Hi Quadzimodo - you are right, even low cost suppliers can provide good service (sometimes even great service).

    But not really the point here.

    I can understand that Witespy gets bashed here for POSSIBLY incorrect views on opensource, but I can't understand bringing his after sales service into this mix as well (however good or not-so-good it is).

  • nic - I have found HobbyKing after sales service from Australian Warehouse to be exceptional. In fact I had an order earlier this year, worth just shy of $300. There was a problem with the item. This cost to fix including parts and tools was less than $40 and I was asked whether a $50 credit would keep me happy. I agreed and was asked to wait a little while for result. About 10 days later I recieved a phone call advising me that I had been issued with a full credit for the full order amount. Needless to say, I was very happy with HobbyKing's after sales service in this instance.
  • >>from him which failed (letting the magic smoke out)

    >>and he refuses to respond to emails regarding them

    It's kind of common knowledge I think that quality of after sales service is directly proportional to product pricing. Hobbyking is the classic example.

    If you want better after sales service, then you're going to have to pay more in the first place - people generally can't work for free.

    But I don't see how your point is relevant to the discussion here?

    Unless you just want to continue bashing witespy ....

  • My experiences buying from Paul at Witespy have been hit and miss. Some things have worked without issue, but I've recently had two yaw axis gimbal controller addon boards from him which failed (letting the magic smoke out) after 5 minutes of use, and he refuses to respond to emails regarding them. If he doesn't sort it out I'm going to make sure that myself and nobody I know buys from Witespy again.

    At least if you buy from 3DR you're going to get very good support, even if there is a price premium. I'm happy to learn that some of this money goes to the arducopter devs.

  • Developer

    Hi Paul,

    I have posted a followup on the drones-discuss developer list:

    https://groups.google.com/forum/#!topic/drones-discuss/LyyunXqxqvc

    Let's move any further discussion there.

    Cheers, Tridge

  • Developer
    @ Emin That's up to Nick, and so far, Nick is doing everything right, he would need to get his patches into Ardupilot, as his board is a derivative, NOT A CLONE...
  • Ok, 

    So nice flame, and you make some valid points! However now that you have this off your chest are you now saying that you will not EVER support the RTFhawk? If so I might point out that you have just pissed off/alienated everyone who has or was thinking about purchasing one of the clones?

    (I know, I know... you don't control MP and only work with the APM firmware and that firmware IS able to be put on the product that he sells, just not currently through MP (which is by far the easiest and most common way of doing it).)

    In the grand scope of things I totally understand that APM is for most intents and purposes your baby and would like to see it succeed, but publicly berating a vendor *may* not be the best way to go about that. I also understand that the action that he took was not the smartest either, however from everything that I have seen thus far (prior to listening to the podcast) he tried to get a hold of people, he tried to email devs, he also worked with a few other people to find that magic work around (and kind of succeeded). I think that the reason that he has not come up with a major fix/ fork is he may be like the bigger part of the DIYdrone community and myself… he may only have a slight knowledge of the programming behind what is going on. What I mean by this (before I also get flamed) is that I can read the programming that you and others have in the APM firmware, but I am totally lost when it comes time for me to try and contribute anything useful. So, I personally leave it to the pros (like yourself) to write it… and from time to time poke you with a problem that I am having so that if others are seeing the same thing we ALL can work on it.

    The point is, without all the knowledge that you and the rest of the devs have we (as a community) can only draw on certain conclusions when we have questions and no one wants to or is perceived to not answer. To this extent (in an open community) when something suddenly changes in how things worked regardless if it was your firmware, Michael's MP software, or the combination of those and the hardware the community is going to go nuts and start wearing the tin foil hats! So, rather than flame someone (whether deserved or not) you being the de facto APM guru should take the higher road and explain to the whole community the what, the who, the what is being done to quell/fix (or not fix) not just come straight out and say to hell with you if you would like to see your baby live on. I will, on a different note back you up in your words as freedom of speech and defend both of your rights to not want to publicly work together, but please for the rest of us don’t alienate your support for a product just because a vender makes you mad has as a hatter.

     

    As a side note. I do love what you have done for the APM project as a whole, please, please, please believe me when I say this!

     

    A side side note… in regards to 3DR’s version of the Pixhawk and its price tag (I know that I’m going to catch hell for this…) I think that they are overpriced. Yes, there is a lot of work that goes behind what they do to make them, but you would be able to help the cause/further the project if you lowered the price. One of the major reasons that we are in the place we are today is because of that very fact. It is a business fact that if you can sell more units at smaller price tag you will earn more in the end vs. selling very few units at a higher price tag (see Henry Ford for reference). For those of you who say that “you get what you paid for”, I would agree to a point. Let’s face it… a high percent of the electronic we use today come from overseas and either assembled there or shipped here and assembled here… either way it’s the same damned product regardless of which robot puts it together (for the most part). 

This reply was deleted.