Closed (ouch) or Open Hardware new Uno's ?

Could you not offer a second number which can be used for all non-arduino boards?

I don't think it will make any difference, all the generic arduinos will still copy the arduino UID and PID in a light second anyway.

A more practical, but very clone friendly approach would be arranging for one of Atmel's VID/PID pairs (likely one that's been allocated for use with LUFA) to be recommended for clones, and be provided as the default in any published code, along with a suitable default "clone" name in the USB string descriptors.

An extremely clone friendly approach would also provide that VID/PID pair in the published Windows INF, linking to the same DriverInstall section, but of course with a different description string like "3rd party 'duino clone" for the Atmel VID/PID.

Clones could just copy the code and INF, and by default would get 3rd party "branding" determined by the files published with Arduino, but would otherwise provide exactly the same experience from a functional point of view.

If clone makers need to obtain their own VID/PID pair (eg, pay $2500 or copy some else's), and then need to edit the code and the INF, and need to distribute that INF file separately, and get their Windows users to separately install it... well, you can imagine how most will respond.

I don't think it will make any difference, all the generic arduinos will still copy the arduino UID and PID in a light second anyway.

I don't think that's true. Most of the clone boards I've seen have been open about being a clone. I don't see how having it ID as a clone is going to be any different.

If this is not being misunderstood, this sounds exactly like the CLOSED Hardware system carefully described in my first post! :open_mouth: Conspiracy theory?

The Arduino team may just have stuck it to the entire worldwide community of open hardware developers.

Slotting in a locked-identifier magic USB chip solution with a potential $2000 USD barrier of entry to anybody just for a USB VID. And by currently choosing not to issue PID numbers for others to use, unlike FTDI, Microchip and others that provide USB connectivity solutions, keeping these barriers up. There are many precedents to allow PID's to be freely allocated within the VID to anybody if they desired.

Open source for the USB IC code means very, very little when it has closed corporate or commercial restrictions on its USB identifiers for use.

Here's just a starter scenario that should be very well considered and all implications clarified.

  1. An electronic hobbyist enjoys many Arduino community projects and devices, designs a board themselves (compatible or special, doesn't matter).
    This hobbyist uses the new open-software LUFA USB IC for a particular functionality or to stay compatible with the new boards developed with anyway.
    Now the hobbyist would like to sell some of their exciting new boards or gadgets like so many do worldwide, on a little online store, maybe they begin with a physical customer for some, whatever it is. Now they hit the Arduino VID/PID restriction.

q) So unless they were allocated one of the 65535 potential Arduino PID's, are they now being blocked from creating openly compatible hardware?

q) Is there now a $2000 USD price of entry for future derived boards just for starters?
http://fourwalledcubicle.com/blog/2010/03/obtaining-a-vid-and-pid/

q) Are non-official hacks required of the IDE, special INF files or similar just for their board to to be sold, and operate via the IDE?

q) Will they receive legal letters from Arduino or USB consortium threatening against use or sale?

q) Are there USB VID and PID permissions within the updated IDE or installed files? One-click or automatic installation operation to support anyone making compatible boards with the same USB IC but with a different VID/PID? Exactly how will this work?

q) If Arduino is going to be blocking the use of PID's within the Arduino VID, must any hobbyists that specially design or want to sell future compatible boards with this USB IC be staring at $2000 USD to get their own legitimate VID?

We shouldn't have to go there considering what is already possible, but the community could chip in together and buy an open hardware USB VID, lobby for default support in the IDE or Arduino install files if that it is required, and record (no-charge) PID allocations to anyone that wants one for their boards or projects.
Much better may be that a block of fully supported PID's are simply allocated for free and open use within the new Arduino VID. I've been reading a lot about USB vendor and product ID's and someone more knowledgable may suggest a better free, reliable and open solution than these ones.
(Just before I posted I see some good beginnings to these ideas like Paul Stoffregen's post above :slight_smile: )

Against the values and spirit of everything open-hardware and open-source, it looks as if the Arduino team has put in a large entry barrier and closed a critical hardware aspect of what used to be the most highly regarded core of open hardware development and freedom.
They may not be responsible for the USB VID purchase rules but can certainly choose whether to openly issue PID's within it. And may well have seen this coming as an opportunity to take advantage of without any clarity. A well thought out FAQ covering the solutions, above questions and all other implications should be resolved as fast as possible.

So very many people worldwide in all walks of life enjoy and embrace this open hardware movement exactly because of its low cost, sharing and unrestricted use anywhere and for any purpose.

Imagine if using a new release of Ubuntu tomorrow required you to go and buy only a new release Ubuntu-branded computer from the Ubuntu store, because Ubuntu decided to place a vendor-ID locked IC on the motherboard and most new features now went through it. Goodbye open hardware.

These questions and more should be well considered and individually answered, I think it's important for the future of all things Arduino.
This is hopefully just a small minefield that can be navigated through, sorted out easily and we all forget about it!

I'm happy to back-pedal and STFU if most of the above isn't true, rant will turn off... :slight_smile:

I didn't start out this way... but I'm actually beginning to share some of EH's concerns now.

Have I missed something here? Are Arduino saying that board-makers can NOT use the new Arduino vID/pID combination, and must have their own?

I suppose board-makers could always keep to the old FTDI-based design (since they've said the IDE will always support anything appearing on a serial port).

Just a thought: any people here who'd consider chipping (pun intended) in to buy a vendor id for this community? If, for example, one hundred people put in $20, we could maybe (would need to check the regulations) buy a vendor ID and divide the pIDs amongst the participants - perhaps allocating spares to community endorsed/interesting projects?

Slotting in a locked-identifier magic USB chip solution with a potential $2000 USD barrier of entry to anybody just for a USB VID.

Perhaps a group of clone makers could band together to purchase one vendor ID. Hell, we could even have a whip round.

If Arduino themselves aren't prepared to release PIDs I don't see that the only other solution is for everyone making a clone board to go out and spend $2k on a VID.

A decent business model for Arduino may be to release one PID for non-commercial use and then sell PIDs for commercial use. I realise this might not fit with your open-source, open-use ethos but I think it's a fair way for Arduino to get some benefit from commercial solutions and, of course, nobody would have to purchase a PID. Etiher they could purchase their own VID, or grab a PID from the open-VID I suggested.

Well I have something in mind for all this...

We'll have to see how the new IDE works with all this and what can be done then.

Mowcius

@Cow

Great minds think alike. :smiley:

Just a thought: any people here who'd consider chipping (pun intended) in to buy a vendor id for this community? If, for example, one hundred people put in $20, we could maybe (would need to check the regulations) buy a vendor ID and divide the pIDs amongst the participants - perhaps allocating spares to community endorsed/interesting projects?

Someone had the same thinking as me.

People can raise a few thousand for a single non-open source project, why can't we raise a few thousand as an open source community to get an arduino-type PID...

Mowcius

Great minds think alike.

And fools seldom differ :wink:

Sounds like a plan.

But yes, we'd probably need to see how the IDE responds to different vIDs/pIDs to know whether this would work the way we'd like.

IF we're reading this whole thing correctly and were able to get a vID as we're discussing, I would hope the Arduino team would ensure the IDE will play ball.

[edit]
Actually... is the IDE open-source? I've never looked. That being true it shouldn't be too hard to get it to work with different USB vendor IDs.
[/edit]

So if we got a community VID there would be over 65000 different boards that it could be allocated to right?

That'd be plenty for the whole group of us...

Mowcius

But yes, we'd probably need to see how the IDE responds to different vIDs/pIDs to know whether this would work the way we'd like.

So 0020 is going to be released today...

Lets wait a week or so until we go ahead with anything. As we are all saying, we need to find out how the whole thing is going to work.

[edit]

Actually... is the IDE open-source? I've never looked. That being true it shouldn't be too hard to get it to work with different USB vendor IDs.

Yes but it'd be much better if people didn't have to modify something to get other boards to work. A load of people seem to be rather against that.
[/edit]

Mowcius

I believe so, yes. According to USB.org, product IDs are assigned by the vendor as they see fit.

There's also versioning info in the device descriptors which could (in a pinch) be used to support different devices - but in one driver file.

I just checked something, Mitsumi (0x03ee) have product ids ranging from 0x0000 (cd-rom drive) to 0xFFFF (bluecore dongle) so it looks like the whole range is ok to use.

Actually... is the IDE open-source? I've never looked. That being true it shouldn't be too hard to get it to work with different USB vendor IDs.

The IDE won't be locked to Arduino-only. While I can't be bothered to go and check, Massimo said that arduinos would pop up as genuine arduino and everything else wouldn't.

I've realised that this discussion really isn't relevant to me. As a hobbyist rather than any kind of supplier this is for someone else to sort out.

If people do decide to go for a community VID I'll happily chuck some cash in but otherwise I don't really care.

I can understand the Arduino team here... but I hope it doesn't backfire on them...

There are a number of manufacturers who make *duino like boards, and in policy with the Arduino license, name their boards differently. They do exactly as the team wants, so this should be fine.

Some other manufacturers make boards in violation of the license terms. 'Arduino made in China' and such.

Locking the USB vid will only affect the first group of manufacturers and the hobbyists. The group who already violate the license terms, will copy the USB details without any problems.

The suggested solution provided here, supplying a USB number for clones, integrated into the driver package, would be a very decent solution, which would satify both hobbists and the group of willing manufacturers alike.

My 2 cents... and I really love the changes that were done... although I do share some of the concerns presented here.

If people do decide to go for a community VID I'll happily chuck some cash in but otherwise I don't really care.

I don't think anyone will chose not to...

Companies like seeedstudio and others who make their own (popular) boards will probably be willing to give something towards this (or maybe they'll just buy their own VID).

I suggest a common 'duino' name for non-official arduino boards or something similar but obviously a specific device ID can be supplied for each board.

Mowcius

The IDE won't be locked to Arduino-only. While I can't be bothered to go and check, Massimo said that arduinos would pop up as genuine arduino and everything else wouldn't.

I think he said that the IDE would support any devices on a serial port - but, potentially at least, the new USB way wouldn't show up as a serial port.

So board-makers would either have to use the FTDI serial, use their own vID/pID and a suitable driver to make it act like a serial port, or have their vID/pID supported by the Arduino team driver/IDE itself.

What this effectively means is: you can't just download the schems from Arduino.cc and use them "as is". You'd have to deal with these comms issues somehow yourself.