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?

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 * 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 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

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

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?

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.

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.

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