Previously, I wrote about issues related to counterfeit technologies where open source licensing had been abused to produce ‘clones’ bearing the trademark of the original designer/manufacturer. These are not actually clones, they are, in fact, counterfeits. Believe it or not, taking someone else’s idea/product, producing it as your own, labeling as if it were produced by the original party and then no revenue/benefit goes to the original party is actually the antithesis of open source/Creative Commons philosophy. Sharing ideas is one thing. Modifying someone else’s ideas is even encouraged. Taking someone else’s idea (without due credit) and representing it as your own or misleading consumers into believing your product is actually someone else’s is an entirely different scenario.
In this issue, I’ll explore potential issues related to legitimate clones. I’ll start by defining a legitimate clone as a product which is clearly marked as being a clone or as being ‘compatible with’ the official product. Excellent examples of clearly designated clones can be found in the Freeduino, Seeeduino or Sainsmart series of ArduinoTM compatible boards. In each case, the boards are clearly marked with a different name, they have differing color schemes and in some cases even slightly different board layouts. It would be relatively difficult to confuse any of these products with the official ArduinoTM products even though they are advertised as being functionally equivalent. Bravo to these and other vendors who follow this same practice!
For those of us old farts that remember the original clone wars (the IBM PC clone wars, not the Star WarsTM sci-fi movie episode), we understand that not every clone is necessarily 100% compatible with the original product. In some cases, the differences are relatively minor. A USB port might be replaced with a mini USB-B port, the voltage controller may be a different style or components might be moved to new locations. While this may not affect the functionality of the board, changing component styles, sizes or locations may affect the ability of the clone to fit into the same space/configuration as the original product. Just as in the case of the original clone ‘wars’, it’s up to the individual users judgment to determine if the clone will function acceptably in any particular application.
In addition, at least one clone appears to use a FTDI USB-TTL converter chip for USB communications where the official product uses an Atmel Mega16U2 microcontroller. Other clones have bootloaders, code that allows makers to upload and execute sketches, that differ from the ‘official’ version. Will either of these firmware changes interfere with using these clones. Not necessarily. It may be necessary for the user to do some investigation as to how these differences might affect the particular installation. Differences in the USB support might not affect the functioning of the Arduino clone itself, but it may require some adjustment of communications software on the PC end. In this case, it would only be necessary for the user to be aware of a need to install appropriate drivers and code accordingly. The ‘Optiboot’ bootloader might even prove to have benefits over the original in that it is more space efficient and frees ~1.5 k for use in writing larger sketches.
Remember, caveat emptor… your experiences may vary.
In part 3, I’ll look at the challenges in using ‘open source’ code when developing projects.