I am planning on using Arduino Bootloader as medium of programming an ATmega328P on a commercial product. Can I do this with no restriction?
The optiboot bootloader (https://code.google.com/p/optiboot/
) was not written and is not maintained by the Arduino team/company, and there is no restriction in using it on non-arduino products.
It IS licensed (by the original author) using GPL2, which in my opinion (as the current maintainer of optiboot) is:
1) A poor choice of license for any SW associated with an embedded system
2) not well defined WRT bootloader-type applications (but it's probably better than libraries.) (It does seem to meet the spirit of GPL-type licenses; a user can replace the bootloader with an updated or different OSSW version that does the same thing (even their own modified version of optiboot), and it won't interact in an overt way with the part of the SW that is proprietary.)
On the other hand, I can pretty much assure you that there are no "license trolls" sitting around waiting to take advantage of some inadvertent differences of interpretation of the fine print of the license. The idea is to provide an OS bootloader, accept improvements, and prevent commercial exploitation of the bootloader itself (ie, some company selling optiboot itself, as a SW product. (although that's probably technically legal.)) (licensing is complicated.)
To be really safe, you'd probably need to find a SW vendor who WAS selling bootloader SW, under carefully specified commercial use licenses. (I don't actually know of anyone selling a commercial serial bootloader. But PRC has their "half-k" USB bootloader, which is proprietary and can probably be licensed...)