Selling Software for Arduino

Get help, and assist others in with open source kits and running a business! Do not ask for legal advice or for consulting services in this forum, only general biz questions!

Moderators: adafruit_support_bill, adafruit

Forum rules
Get help, and assist others in with open source kits and running a business! Do not ask for legal advice or for consulting services in this forum, only general biz questions!
User avatar
robotgrrl
 
Posts: 38
Joined: Sat Apr 05, 2008 5:28 pm

Selling Software for Arduino

Post by robotgrrl »

Most of the topics in here are about hardware, but has anyone had any experience with making a business out of the software side of Arduino? Here are two main questions that cross my mind:

1) With the intro of the ADK, we might be seeing some paid applications show up on the market. How should that software be priced? In hardware you do a 2/3 multiplication, but what about in software? Is there any formula? Any examples? Do we know how much Arduino users would spend on software?

2) Most of the software will have to have their source posted online somewhere too. Will people be asking for donations, so that the users aren't "cheating" and using the source as their application? How can this be done to make sure that users buy the application before they download the source? Is there any way to stop people from cheating? If we make them pay before they get the source, then isn't that bad also? How do we make this work?

Would be appreciative of constructive thoughts here. Thanks! :)

User avatar
johngineer
 
Posts: 105
Joined: Fri Aug 14, 2009 6:05 pm

Re: Selling Software for Arduino

Post by johngineer »

I think the model that will develop for stuff built on the ADK platform is going to be split open/closed.

Any firmware developed on the ADK/Arduino hardware itself will be open-source, if only because it will use so many open-source Arduino libraries that it will have no choice. Likewise any protocols developed to communicate with it.

But I think (most of) the Android-native apps which interface with the ADK will remain closed, with only the object code being released. Even if these apps are released for free, they'll still be closed if they're part of some larger premium product. If said products are for sale, they'll follow whatever the pricing model is for apps (I have no idea what that is).

At this point, I can't imagine anybody is willing to pay for Arduino software. I certainly wouldn't. To (broadly) paraphrase John Gilmore: the community detects fees as damage and routs around them.

Honestly, donations are really the way to go here. Time and again we've seen the community reward good work this way.

User avatar
robotgrrl
 
Posts: 38
Joined: Sat Apr 05, 2008 5:28 pm

Re: Selling Software for Arduino

Post by robotgrrl »

johngineer wrote:I think the model that will develop for stuff built on the ADK platform is going to be split open/closed.
What part of this is a business model? This seems to me more of a model about how the licensing of the software will be split. Do you mean open = free, and closed = paid?
johngineer wrote:Any firmware developed on the ADK/Arduino hardware itself will be open-source, if only because it will use so many open-source Arduino libraries that it will have no choice. Likewise any protocols developed to communicate with it.
Everything has to be open source, there is no debating that. As far as my understanding goes, we can still sell stuff w/open source code in it as long as the license is okay with it. For example: GPLv3 license and MIT license.

The question comes back to: how can we make sure that people don't "cheat" and use the source code as the software, instead of buying the software flat out? Or will this even be a problem? IDK!
johngineer wrote:But I think (most of) the Android-native apps which interface with the ADK will remain closed, with only the object code being released. Even if these apps are released for free, they'll still be closed if they're part of some larger premium product. If said products are for sale, they'll follow whatever the pricing model is for apps (I have no idea what that is).

At this point, I can't imagine anybody is willing to pay for Arduino software. I certainly wouldn't. To (broadly) paraphrase John Gilmore: the community detects fees as damage and routs around them.

Honestly, donations are really the way to go here. Time and again we've seen the community reward good work this way.
Isn't paying for the software sort of like a mandatory donation? Esp. since there IS source code online?

Thanks for your comment! My comments back aren't meant to be mean at you or anything. Just want to try to figure this out! :)

User avatar
westfw
 
Posts: 2008
Joined: Fri Apr 27, 2007 1:01 pm

Re: Selling Software for Arduino

Post by westfw »

Everything has to be open source, there is no debating that.
How so? The arduino team has said that they don't mind closed source Arduino SW.
Whether it's possible to meet the letter of the licenses involved is a separate matter (GPL and LGPL being particularly poor at handling deeply embedded systems), but ... intent is more important.

TheFallen
 
Posts: 94
Joined: Mon Feb 08, 2010 1:28 pm

Re: Selling Software for Arduino

Post by TheFallen »

My understanding of the ADK is that you have an Android phone running an app, connected via a USB cable to a board which acts as a Host device. The Android phone could have 2 kinds of app, a specific app which only works for that specific board, or a generic app that lets you control the Arduino pins regardless of Arduino model.

The way I see it you could charge for the specific apps, but to charge for the generic app you'd need to be very good and have a product that's far better than the competition otherwise people will just use the (possibly not so good) free app.

However I don't see how you could charge for Arduino code. It feels a little dirty when I think about it not to mention you couldn't protect it from copying.

Kaouthia
 
Posts: 12
Joined: Sat May 28, 2011 6:38 am

Re: Selling Software for Arduino

Post by Kaouthia »

TheFallen wrote:However I don't see how you could charge for Arduino code. It feels a little dirty when I think about it not to mention you couldn't protect it from copying.
There's plenty of established business out there making money from open source software; RedHat for one. There's a lot of purchase-only addons & plugins for open source software like BANNED too.

You just have to be able to offer something your (potentially free) competition can't.

User avatar
bhtooefr
 
Posts: 3
Joined: Sat Jun 11, 2011 9:31 am

Re: Selling Software for Arduino

Post by bhtooefr »

RobotGrrl suggested I reply here, so I signed up... IANAL, but here's my opinion of it all.

On the Android side, any of the software could be fully closed source.

On the Arduino side, you could technically make it closed source, AFAICT. I'm not sure of the mechanism for making it closed source though, while still being compatible with any given Arduino. But, there's bigger issues.

Mainly, an Arduino sketch could likely be copied fairly easily, unless the Arduino was reflashed to have a custom bootloader or something. I'm not actually sure there's a good way to implement even weak DRM of any sort on an ordinary Arduino with bootloader. So, on the Arduino side, just release everything open source, IMO. You'll get no benefit from releasing the Arduino side as closed source, and if you think you could, just do that processing on the Android side.

Now, if the source is released under a true open source license, you can't stop people from distributing it - on either the Arduino or Android side of things. You could release the source under a "shared source" license of sorts - buy the code, get the source, but you can't distribute the source. There's no technical limitation on this, and you'd only have legal limitations stopping people from copying your source (read: you'd have to sue people if they did it). And, Android certainly allows compiling your own software, and then you can install it yourself. You'll be fighting against the Streisand Effect once it gets out. Basically, if you give source out, expect it to get leaked, and expect it to get used by people who don't want to buy your code. And, if you sue those people, expect to get attacked, and the source will be more widely spread.

On the flip side, if you tolerate some unpaid use, but don't actively go after it, you'll probably make more money than you would if you didn't sell it commercially.

And, as someone else said, there's always the RedHat and BANNED models. Make the core application open source, but have value-adds that are closed source, sell support for both, etc., etc.

User avatar
lyndon
 
Posts: 281
Joined: Tue Mar 29, 2011 5:28 pm

Re: Selling Software for Arduino

Post by lyndon »

Here's my take.

I don't think you can really make money selling Open Source software to hobbyists. But if you combine Arduino hardware with some sensors, packaging and your own software and sell an entire system you're more likely to be successful.

Look at all the people on these and Sparkfun etc. boards who have trouble putting together systems. Many of them would happily buy it all packaged together because they're artists or hardware (mechanical) experimenters and don't want to "waste" time learning about the electronics or programming. This is the market where you're most likely to be successful.

Just my $0.02

User avatar
westfw
 
Posts: 2008
Joined: Fri Apr 27, 2007 1:01 pm

Re: Selling Software for Arduino

Post by westfw »

if you combine Arduino hardware with some sensors, packaging and your own software and sell an entire system you're more likely to be successful.
Likewise, you are more likely to spend a bunch of real money and not be successful.
Assuming your labor is free (note: this is a MAJOR assumption), charging for software is pretty much 100% profit. You put the SW out there and maybe money rolls in (Hmm. app-store-like repository for Arduino SW...) Running a business that builds and sells systems is a lot harder.

User avatar
robotgrrl
 
Posts: 38
Joined: Sat Apr 05, 2008 5:28 pm

Re: Selling Software for Arduino

Post by robotgrrl »

TheFallen wrote:However I don't see how you could charge for Arduino code. It feels a little dirty when I think about it not to mention you couldn't protect it from copying.
Yeah for sure. The Arduino code would be open and available. (Probably because the software would need the right Arduino code)
Kaouthia wrote:
TheFallen wrote:You just have to be able to offer something your (potentially free) competition can't.
This is a good point, but what happens when the competition uses bits of your code? Or does that really happen? Do people and companies really do that, or do they just try to implement the competitions features in their own way?
bhtooefr wrote:Now, if the source is released under a true open source license, you can't stop people from distributing it - on either the Arduino or Android side of things. You could release the source under a "shared source" license of sorts - buy the code,
We are allowed to charge money at people who want to download the open source code? I thought that was illegal. But if it isn't, then it probably makes this whole discussion pointless xD
bhtooefr wrote:On the flip side, if you tolerate some unpaid use, but don't actively go after it, you'll probably make more money than you would if you didn't sell it commercially.
This is one of those things where you don't actually know which is the real answer, because you can't experience both. Have you found something on the internet that shows this as an example? Would be interested in reading more about it.
lyndon wrote:I don't think you can really make money selling Open Source software to hobbyists. But if you combine Arduino hardware with some sensors, packaging and your own software and sell an entire system you're more likely to be successful.
Okay, thanks for your opinion. Coding is free (sort of), but for selling a system you have to buy a hoard of parts, which requires a lot of investment. This is why the question was about software to begin with. :)
lyndon wrote:Look at all the people on these and Sparkfun etc. boards who have trouble putting together systems. Many of them would happily buy it all packaged together because they're artists or hardware (mechanical) experimenters and don't want to "waste" time learning about the electronics or programming. This is the market where you're most likely to be successful.
I think we can say the same thing about software here, except that we can't grasp it because we haven't been introduced to anything of the sort yet.
westfw wrote:
if you combine Arduino hardware with some sensors, packaging and your own software and sell an entire system you're more likely to be successful.
Likewise, you are more likely to spend a bunch of real money and not be successful.
YES exactly. Hardware requires too much money to get going (get going on selling kits I mean)...


This has been a pretty cool discussion so far. It's interesting to see what people's different thoughts are on this. Any suggestions on the pricing aspect though?

Kaouthia
 
Posts: 12
Joined: Sat May 28, 2011 6:38 am

Re: Selling Software for Arduino

Post by Kaouthia »

RobotGrrl wrote:
Kaouthia wrote:You just have to be able to offer something your (potentially free) competition can't.
This is a good point, but what happens when the competition uses bits of your code? Or does that really happen? Do people and companies really do that, or do they just try to implement the competitions features in their own way?
Sometimes they'll take your code and implement it into theirs (such is the nature of open source software), and sometimes they'll write their own code to do the same job that better suits their existing code. It depends which is easiest to work into their existing software.

But, are they going to be offer the same level of support that you are? customised/branded versions of the software for corporate customers? online connectivity & storage for backup of settings or data? automatic updates? obviously what you may be able to offer potential customers will depend largely on what your product & software is, but you get the general idea. It also helps to have a handful of new ideas & features ready to go, but not yet implemented, so that as the competition does catch up you can whack out a new version quickly and stay ahead of the game.
RobotGrrl wrote:Okay, thanks for your opinion. Coding is free (sort of), but for selling a system you have to buy a hoard of parts, which requires a lot of investment. This is why the question was about software to begin with. :)
It still takes time, which is often not free. :)

User avatar
bhtooefr
 
Posts: 3
Joined: Sat Jun 11, 2011 9:31 am

Re: Selling Software for Arduino

Post by bhtooefr »

RobotGrrl wrote:
bhtooefr wrote:Now, if the source is released under a true open source license, you can't stop people from distributing it - on either the Arduino or Android side of things. You could release the source under a "shared source" license of sorts - buy the code,
We are allowed to charge money at people who want to download the open source code? I thought that was illegal. But if it isn't, then it probably makes this whole discussion pointless xD
What license is the code under? Unless you're discussing code that's already under a certain license, and can't be changed... you can make a license (or use an existing one, if the author will allow you) that requires that source code be obtained from you, and you only. There's also non-commercial licenses, that are often used to let people download the code for free, but forbid commercial distribution of the code (but they do allow personal use).
RobotGrrl wrote:
bhtooefr wrote:On the flip side, if you tolerate some unpaid use, but don't actively go after it, you'll probably make more money than you would if you didn't sell it commercially.
This is one of those things where you don't actually know which is the real answer, because you can't experience both. Have you found something on the internet that shows this as an example? Would be interested in reading more about it.
Note that I said, selling it commercially but tolerating unpaid use, versus giving it away for free. Although, if you're accepting donations... I'd have a hunch that you'd make more selling it commercially, no proof, though. You could also take the route of something like the humble indie bundle, where they released games for a certain price, and then later in the game's lifecycles, they took donations for them.
RobotGrrl wrote:This has been a pretty cool discussion so far. It's interesting to see what people's different thoughts are on this. Any suggestions on the pricing aspect though?
I think pricing will partially depend on what all it can DO. I could see a legitimate reason for an Android app to sell for $100, that uses an Arduino, but it's a very niche market. I can also see app ideas that won't be worth more than $1.

User avatar
westfw
 
Posts: 2008
Joined: Fri Apr 27, 2007 1:01 pm

Re: Selling Software for Arduino

Post by westfw »

We are allowed to charge money at people who want to download the open source code? I thought that was illegal. But if it isn't, then it probably makes this whole discussion pointless
Yes, you can charge money for open source software. This is in fact very common; consider linux and gcc, both of which support a panoply of companies that add "support", and/or bells and whistles, and/or customization services, and/or bundling with hardware, for fees that range from "small" to "outrageous."
What you can't do is charge directly and specifically for the open source SW that you started with.
So if I were a chip vendor, I could take gcc, add a special global optimization mode for my particular chip, put a custom IDE around it, add some proprietary libraries that support my chip (or operating system), and sell the package for significant chunks of change. (Microchip does exactly this.) Now, any changes that I had made to gcc itself, or to various pieces that integrate closely with gcc in various defined (by the gnu license that gcc uses) ways, would have to be made available for free in source form as well, but that doesn't stop me from selling it. I guess it would be theoretically possible to sell the compiler without adding any code at all, though you might not find many buyers! (For example, The WINAVR package is a binary distribution that includes gcc, assorted unix-like tools, and all the other bits and pieces needed to do AVR development using gcc on windows. I believe it doesn't include any source modifications at all; just a carefully selected set of interoperating tools that are pre-compiled for windows. I'm pretty sure that this would be worth money; building gcc is a PITA and even linux distributions have manged to group together bits that end up not working right (as it happens, WINAVR is free.)

For every company that is ready to steal whatever SW they can find, there are likely to be several companies thinking "you know, having a XXX guru on staff to work with this will cost $100k/year. If I can pay someone else $25k/year instead to do the same thing I'll save a lot of money." Most companies out to make a profit are relatively law-abiding; the penalties for being caught otherwise are severe.

Now, I don't want to be rude. But there are probably billions of bytes of discussion out on the web about Open Source philosophy, and a question like "you can't charge for open source software, can you?" shows that haven't looked at any of it. You should. The question of ownership and sharing of "Intellectual property" is probably one of the most significant ethical issues of our time. (Not that it's really "new", and not that you'll find 100% agreement about ... anything.)
"If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple.
But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas."
(George Bernard Shaw)

User avatar
robotgrrl
 
Posts: 38
Joined: Sat Apr 05, 2008 5:28 pm

Re: Selling Software for Arduino

Post by robotgrrl »

Thanks for your idea about the features Kaouthia. That will be an awesome plan!

Good ideas about the licenses bhtoofer. But, once Arduino software starts making money, won't people be ruthless and just use the code anyway? I wonder if this has happened in the hardware world? Or does it even happen anyway? Hmm...

To make it clear from my previous post, I'm wondering if open source CODE can charge money to be downloaded. The CODE not the SOFTWARE. We have already deduced that open source SOFTWARE can charge money for downloading. Would love it if people could point me in the right direction to read about this, I haven't found anything answering my question (about the code) online. Does selling your code comply with open source or not?

Apologies in advance if I am using the Adafruit forum for the purpose it was designed for (ASKING QUESTIONS)!

Here are the thoughts that I have reached from this discussion:

1) Price of software should be high ($10-$100) if it is in a niche market, but if it is for more of the general users of Arduino, maybe $1-$5.

2) Bypass all the open source code part of the debate, and just post tutorials of how you made the software (meaning: blocks of code with text, no download link to complete source). This way people LEARN more, they get to see how it works under the hood, and the dev doesn't have to worry about people ruthlessly copying.

Thanks for everyone's comments, hopefully this will help others too down the line! :)

User avatar
westfw
 
Posts: 2008
Joined: Fri Apr 27, 2007 1:01 pm

Re: Selling Software for Arduino

Post by westfw »

The CODE not the SOFTWARE.
Sorry; I'm missing something. What are you seeing as the difference between "code" and "software"? Binaries vs source code?

Locked
Forum rules
Get help, and assist others in with open source kits and running a business! Do not ask for legal advice or for consulting services in this forum, only general biz questions!

Return to “Kitbiz”