Pages: [1]   Go Down
Author Topic: Code security / privacy...?  (Read 1352 times)
0 Members and 2 Guests are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 4
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Dear all,

I am new to the forum (and arduino).

I am planning on making a commercial product with it. So I have a few questions in mind...:

Do I need to include text like "powered by Arduino"... etc on the product?
Do I need to share a part of the revenue to arduino?
Is the code safe? Can other developer extract the code?
If the code cannot be extracted, can it be copied?

Something additional: Is patents international or local?

Thanks in advance!!
Newton (from Hong Kong)
Logged

Forum Administrator
Offline Offline
Newbie
*****
Karma: 3
Posts: 3
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

hello

You can use Arduino to make a commercial product following some simple rules.

* if you have made your circuit as a derivative of the Arduino board you must release the design files with a CC-BY-SA license like the original cad files
* If you build your circuit as a shield that plugs on top of an Arduino board all the circuit is yours and you don't have to release anything
* The programs written on Arduino are yours. if you have modified the core files or one of the libraries you must make your modifications available to everybody
* You can call your product in any way you like as long as you don't call it Arduino
* If in the documentation for your product you want to write "Powered By Arduino" that would be appreciated smiley
* There is no revenue sharing for any derivative work (unless it uses the Arduino name see http://www.arduino.cc/en/Main/Policy )

having said this.
The code on the Arduino can be read after it has been programmed.
It will be available only in binary form but can be programmed on another board (i.e. copied)

There is a "fuse" that you can burn that will make the code unreadable but it will also make it hard for you to update your code once it's on the board.

If you patent something you have to do that in every place in the world you want to protect your idea. the more countries the more payments smiley
Patents reveal your idea to the whole world.. some people don't patent so they don't have to provide any detail about their invention

PS you can't patent Arduino smiley smiley

PPS You should email us at team (at) arduino (dot) cc to let us know what you're building. We're always interested in hearing what people are doing with Arduino



« Last Edit: July 21, 2010, 06:57:50 am by admin » Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 4
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

thanks very much!

I would like to know more about the "fuse" thing, can you give me some links? can fused programmes be copied? in additional, can I erase the code altogether and burn a new code in when I need to update?

I dont fully understand "you can't patent Arduino", can I patent the algorithms behind my work? or my code?

Newton
Logged

Manchester (England England)
Offline Offline
Brattain Member
*****
Karma: 508
Posts: 31431
Solder is electric glue
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
can I patent the algorithms behind my work? or my code?

You can't patent algorithms per-say nor can you patent code.
That is according to English law.

However, code is subject to copyright like anything else written.
Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 4
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

oh it seems there is a whole lot for me to learn, about these patent vs copyright thing... besides the actual developing
Logged

Phoenix, Arizona USA
Offline Offline
Faraday Member
**
Karma: 36
Posts: 5519
Where's the beer?
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
You can't patent algorithms per-say nor can you patent code.

I bet there are ways around that.

Supposedly you can't do that with patents in the USA, either, but anyone who's been following this mess for that past 10+ years knows that's a crock.

 smiley-wink
Logged

I will not respond to Arduino help PM's from random forum users; if you have such a question, start a new topic thread.

Left Coast, USA
Offline Offline
Sr. Member
****
Karma: 5
Posts: 499
Sometimes I just can't help myself.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I would like to know more about the "fuse" thing
Overview: After you have put your program into the chip, there is an additional step that can set certain bits in a certain register to certain states that will not allow the program or data memory to be read.  You can erase the entire chip and start over, but your customers (or anyone else, including you) will not be able to read the program from the chip.  It's in the hardware.

Quote
can fused programmes be copied?
 Not if you program the "lock bits" that I referred to above.

Quote
can I erase the code altogether and burn a new code
Yes.

Quote
can you give me some links?
The data sheet is doc8271 on the Atmel web site:
http://www.atmel.com/dyn/resources/prod_documents/doc8271.pdf  The current revision (April, 2010) has 562 pages.  "Program and Memory Data Lock Bits" are described in section 27.1

Be sure to read the entire document before asking any more questions. See my Important Footnote.

Bottom line:
Once you have programmed these lock bits, they can not be reset (to an "unprotected" state) without erasing the entire chip.  If you set them to protect Program Memory, Program Memory can not be read or programmed further without erasing the entire chip.



Regards,

Dave

Important Footnote:
Just kidding.
« Last Edit: July 21, 2010, 01:20:07 pm by davekw7x » Logged

0
Offline Offline
Newbie
*
Karma: 0
Posts: 4
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

thanks for your footnote!!! i scared i did something wrong here!

so I need additional hardware to be able to program that, right?

or are there some hacks like using 2 arduino boards (like burning the bootloader) can get the job done?

if so my project is officially started!!

Newton
Logged

Left Coast, USA
Offline Offline
Sr. Member
****
Karma: 5
Posts: 499
Sometimes I just can't help myself.
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
did something wrong
In my book, it's always OK to ask.  But maybe that's me: I'm funny that way.  (See Footnote.)

Quote
using 2 arduino boards (like burning the bootloader) can get the job done?
That's certainly OK for starting your project, but I'm not sure that the standard Arduino bootloader or the standard "Arduino-used-as-an-in-system-programmer" sketch can do the fuse thing.  (I'm new to Arduino; maybe someone else knows....) You can certainly use an Arduino board to program another Arduino board (assuming that the first one has an Arduino bootloader and an Arduino ISP sketch loaded).

But...

Beware of corrupting the fuse settings or corrupting the Arduino bootloader, since it might be irreversible without a "real" programmer.

Quote
additional hardware
Some time before you "go commercial" I think you should figure on investing in a real programmer.  There are lots of homebrew designs floating around, and some are apparently highly regarded by some Arduinoworld denizens, but I would recommend that you budget something like 50 US Dollars for a real product.  

For example a Genuine Atmel AVR Dragon programmer can be used lots of other Atmel chips, too. I'm working with the XMega family in my so-called spare time.  Using the Dragon from Windows AVRStudio makes the fuse stuff "easy," although it's possible to use the Dragon in other ways.  For example, the Avrdude programming utility used in the Arduino environment can be (easily) used from a command line in Linux (which is where I do most of my "real" work).


Good Luck!


Regards,

Dave


Footnote:
""Men are born ignorant, not stupid.
They are made stupid by education."
---George Bernad Shaw
« Last Edit: July 21, 2010, 03:51:23 pm by davekw7x » Logged

Pages: [1]   Go Up
Jump to: