Open source Project / Hardware

I don't think that ALL implementations of the hardware have to open in order for the project to have "open source hardware." You just need a "core" of implementations that are fully published (and you can't let the unpublished version drift too far from the core.) For instance, I have no problem whatsoever with the fact that third party vendors ("Modern Device Company", "Lady Ada") don't publish full CAD files, but they ARE listed and described as third parties. I'm not sure that it's important that all the "true" arduino hardware be open, but I WOULD like clarification along the lines of "we're going to open the diecimila but we haven't gotten around to it" OR "diecimila is a commercial project based on the arduino reference design and we aren't planning on ever releasing the CAD files for it."

Hi folks,
here's just my personal view of the whole thing:
For me hardware is considered to be open source, when there is a publicly available schematic, and the whole thing uses only electronic components that are freely available (i.e. no vendor specific GAL's or EPROM's needed).

If I had to make a living of the project (or at least want to achieve a return of the expenses I have) I would not give out the production files for the pcbs. Assuming the arduino-hardware is just there,on your desktop, I guess nobody will stop you from coping it. It just takes some effort.

Ok, what about this idea:
I write some cute application and sell it for money. I also open-source the code in a BOOK !??. I would consider this open source software.
But other people might complain : Why isn't the code available as a download, do expect me to type the whole book into the editor myself ???

Now I'll get a bit OffTopic but here is the actual reason why I made this reply:

Made In Italy
Note [from massimo]:We stress the fact that all the boards are made in italy because in this globalised world, were getting the lowest possible price for products sometimes translates into poor pay and working conditions for the people who make them, at least you know that who made your board was reasonably paid and worked in a safe environment.

I am very happy that I can buy a product from people who care about these things.

Give out the gerberfiles and you have some chinese company selling PCB's for much lower $'s just because they:
don't give a sh*t about environmental issuses;
throw people into jail if they complain about being intoxicated by the PCB-production-site;
pay their workers 40 cent's an hour and let them slave for 72 hours a week;

No thank you! Keep you production files secret !
But thanks for the schematics and the whole arduino-universe !!

Eberhard Fahle

Well, as I said before, I don't see cheap arduino boards flooding the market, as a result of production files beeing released. The arduino boards aren't expensive, I guess anyone knows that by now. Even the bluetooth board's pricing is fair (is there someone who found a single pice Bluegiga WT11 chip vendor selling not exclusively to business people?, I couldn't...).
I'm quite shure the arduino creators don't make much money out of selling the boards, just because there is not much room for profit. The very few people, trying to get some cheaper boards form china would shurly discover high shipping costs and other problems. At least as long as the demand for arduino boards is below typical consumer electronics distribution volumes... :wink:

Also there are so many Arduino-like boards (I'm speaking of the ones with just an ATmega 8 chip), so no one can really speak about intellectual porperty, that has to be hidden for the sake of making profit.
For me it's more a question on principle.
As a community member, I'd just feel better if the hardware is handled like the very same as the software is.
Concerning the ardunio clone/alternative board builders (the ones created for use with the Arduino IDE), I can - at the moment - see reason for not publishing their complete cad files.
Why should they do it, if the core project has no clear opinion and is enventually not releasing all files?

Regards,
Oli
p.s. of cources I'm also a supporter of local production. I just say realeasing the files would most probably not hurt there.

Hi all

I'm so glad to se a discussion of these important issues, and I hope everyone makes a post! Jump in if you're afraid, we won't bite.

FYI, my question is based in principle: hardware should be open for it to proliferate. I'm not trying to go 'against' the Arduino team in asking this, in fact i talk to them often and they are really terrific people who I have enormous respect for: they have done an amazing thing in having the guts, drive and commitment to bring Arduino to where it is.

Ultimately what scares me about keeping the files closed are two things.

The first is that using the rhetoric of "open source" to build a huge ( 10,000 + and counting) community, but not letting the hardware be really open. I find this deceptive. It's also against the license it was issued under: the gerber files, etc, are derivatives of the schematics, and derivatives must be licensed and shared in the same way. This is important to follow on principle: what if the Linux and Ubuntu people had said: "hey, don't sell any copies of that software-- we'll do the selling?" Obviously they wouldn't be where they are.

The second is that under the above, we're ending up supporting a sole manufacturer. This makes part of the project a commercial enterprise. The project would have to watch out for the commercial interests of it's manufacturer, and I think, at this point, the those are conflicting interests. (That said, Gianluca is really a fantastic guy and a terrific manufacturer! He had a lot of guts to support this project from the inception with risky, expensive production runs.)

Finally, I don't think anyone should worry about low-quality Arduinos being the result of open files. This Arduino copy looks like pretty good quality, don't you think? Slide34 | Libertarian vs. Liberal: Arduino is using a model … | Flickr

Re: offshore manufacturing, a very large percentage of the Arudino's components are manufactured in China: almost all electronic components are made there now. So are most of the consumer electronic goods you buy. that Ipod? Made in taiwan from Chinese parts. Conditions are not as described in a previous post (you might check with some of our China-based Arduino contributors and forum readers to confirm this). For one thing, you can't make .006 tolerance PCB's or Atmega processors in poor conditions.

I do think there has to be a hardware standard, there have to be quality controls, there has to be consistency, as previous posters note.

Trademarks licensing seems like the way to go, what do you guys think of that? Allowing others to make boards, but under license and subject to the standard design that the team has produced. This would promote price competition. ( production costs for an Arduino are around $10 USD by my estimate-- the other $22 is manufacturer and distributor profit) The license could stipulate a maximum price, since accessibility is a key component of the project. The license could stipulate manufacturing and functionality standards. Manufacturers would pay a royalty per board ($3?), and this would go back to the Arduino foundation to pay for future designs and prototypes, the web site, forum etc.

Just a few thoughts, I hope people won't be afraid to chime in here with their point of view. It's an important discussion.

D

edit: fixed my usual typos.

There are a lot of more important issues to work out here, but I did want to clarify one small point. The creators of a work are not bound by the terms under which they license it to others. That is, just because someone releases something under a share-alike license (e.g. the GPL) does not mean that they are required to release all derivatives that they create under the same license. MySQL, for example, takes advantage of this by releasing their code under the GPL but also selling commercial licenses to those who wish to keep their derivative works proprietary. You may not agree with the spirit of this approach, but it is permitted by copyright and the licenses.

David:

even if that is indeed the case, the original license that allows production files to be released by others is still out there. The original license means there are no restrictions, commercial or otherwise (just attribution, share-alike, and non-use of the Arudino trademark and look) on someone drawing up the Diecimila design themselves and reproducing it...

But you know, what you're saying in your post is that there are indeed two licenses: one for the community and one for the creators. This should be made clear on the site.

I don't think we should be so worried about this manufacturing advantage: Sparkfun are the only people who've tried it, and by their good graces they recognized that the project's success is dependent on trust and collaboration. I'm thinking other poeple should be let into that ring of trust :slight_smile:

I also have to ask, if, as you say, the Arudino team is "not bound by the terms under which they license to others", then what is it they're actually offering to release as the basis of this open-source project? Just the schematics?

D

It doesn't mean that there's no license for the community and one for the creators. It means that there's one license for the community and no license for the creators - they don't need, it's their work.

Anyway, that's not the point. There are many good arguments to be made for opening up more of the project than we already have, and we need to consider them seriously. I'd just rather we didn't get distracted by a technical argument that's not even valid. We're better off discussing the overall goals and principles of the project and how it can best achieve those goals while following those principles.

Again, we've had many internal discussions about this issue and I'm hoping that we will continue to reconsider our position. At the moment, however, two members of the team are on vacation, and in any case, deciding this sort of overall strategy will take some time and effort. Certainly this is a valuable discussion and I hope everyone continues to weigh in with their opinions, but please be patient with us as we figure out the best way to respond.

One question, that wonders me allways, when talking about open hardware in general, is:

How could people actually participate in the design process of the hardware?

Think of the versioning systems (code managment systems) that exist for software sources (svn, cvs etc.) and imagine using them to keep track of hardware sources (files).
Anyone allready thought about submitting patches for hardware related stuff?

A simple netlist as textfile could at least represent a schematic. OK, I don't know, how we could generate graphical representations of the netlists, but I think such a system would be very cool and usefull. Maybe the open electric cad project http://www.geda.seul.org/ is a good starting point.
I know that automatically generated PCBs offer a whole univeres of problems in their own... But maybe their is demand and use for a middleway between manually doing the finish - component-by-component layout task - and letting users allow to conrtibute to the boards features and its variants in a rough, sketchy way.

I think if a hardware dependant project is also driven by a community, it would require thoughts in this direction - ways to allow some kind of teamwork, not only on the software, but also on the hardware description files.

Would this be something appreciated by the arduino crew and users?

Oli

I have a curious love it / hate it relationship with opensource projects. Take open office which Ive used for a while now. Its great for a free program and means I dont have to support an evil empire but there are many things that bug the crap out of me about it. It suffers from featuritis.... too many chiefs syndrome.

I like how currently there are multiple arduino clones popping up by well motivated individuals seeking to carve out niche applications using alternate main boards. These are however individually driven projects. To me the best part of the openness is the latitude for all these fringe type projects to flourish.... This includes not only the hardware but software and documentation as well. Whether anything from these alt sources ever become incorporated into the main project ultimately depends on how successful the smaller projects become and how motivated the individual.

I respect the foundations need to rein in a little and retain some control over the core concepts of the main Arduino project while leaving the rest of us free to run away with stuff. Keep the lid on the core Arduino if nothing else because they have to support it.

Compare the Arduino to the Basic Stamp... in its first 10 years the BS had 3 million units in circulation. Thats with extremely centralized design, support and distribution teams. It must be intimidating for the foundation, now with 10k out the gate, to even consider 1 million! Anyway, I really support what Massimo, David, Dave, Tom, et al have done up to know and am not sure I see a compelling reason to change it.

Ill stop rambling,
Brian

hi

I think the issue is really how the project is advertised.

While I don't agree with it, if the production files are kept "closed", the Arduino team needs to say this explicitly, rather than hiding the fact by omission. The Arudino project is over two years old, and yet this discussion is the first time that any mention of the Arduino's "open hardware/closed PCB" policy has appeared anywhere on the web. The fact that the PCB's aren't open has effectively been kept secret by just not saying it.

I say that because it took me about ten months from the point that I discovered Arduino to find out that the PCB files are actually closed. In those ten months I bought Arduinos, I taught Arduino to dozens of students, I lectured on Arduino and I wrote about Arduino in Make Magazine. After I wrote this: "...since the project is open source, all the plans, code, and instructions are available online free for those who prefer to roll their own" in Make, no one on the Arduino team contacted me to say "well, actually, that's not completely true..."

Anyway. To further support the project, I talked my university into buying $5000 worth of Arduino BT for my classes, and I spread the word on Arduino, all under the assumption that "Arduino is an open-source hardware project" that could be freely reproduced. So when I found out that the PCB files weren't actually open, I was a bit taken aback. To be frank, I wouldn't have invested that much energy if I had known that you were going to keep things like PCB files closed.

The fact that production of "Arduino" is closed wasn't, and still isn't, disclosed anywhere on the Arduino site: I had to ask one of the team who told me explicitly that they wouldn't allow others to reproduce "little blue Arduinos", and that the files aren't available to produce PCB's for shipping versions. Other team members subsequently confirmed this: production of the Arduino NG, BT etc is not open.

My guess is that Arduino would not have gotten so many collaborators and supporters if you had told them that the production and the PCB files was a "closed" affair. That just doesn't have the same cachet as "Arduino is an open-source hardware project".

Then I began to notice that this is an intentional strategy to prevent others from producing "little blue Arduinos". The PCB files for the shipping version aren't on the site anywhere! The schematics that are released are also usually out of date, or a few versions behind. Schematics for shipping versions are provided as PDF files, not Eagle .sch files that would promote reproduction; there's no production information, no gerbers no eagle files for shipping versions. And perhaps most importantly, until now, there has never been never been a mention or an explanation of the closed nature of the PCB files. Requests for Eagle PCB files in the forum go unanswered by the team.

That's not a strategy that's good for open-source projects: it's basically the same as the commercial approach to hardware. I tried again to get clarification on this from some Arduino team members, and this time the message got clearer: we will not allow anyone else to make "little blue Arduinos" that look like ours or use our name. Derivatives are OK, but the hardware franchise for "little blue Arduinos" is exclusively ours, and no one else is permitted to make them. That's an extremely commercial approach: protect your brand identity by controlling the way its trademark and look are used. Yes, derivatives are OK, but we reserve the right to tell you not to use the Arduino name on a hardware product, and don't copy our official version of the "open-source hardware" .

This just doesn't jive with the advertising, or the open-source spirit that the project is founded upon and has made it so successful. The Arduino team needs to make the "open-source" terms of the Arduino project explicit. Perhaps when you have the next team meeting you could talk about clarifying this, both on the web site and in the promotional material that gets distributed. Or maybe you will just release the files, that would be much better, for the Arduino community, and for the progress of open hardware. :slight_smile:

D

Daniel makes a very strong and compelling argument. I hadnt actually thought about the consequences of making something small and blue and calling it Arduino. I suppose because I had always assumed open meant open and didnt think there would be any sort of recourse. Now I can see that if I were to make a small blue variant of the Arduino with a nifty little name and marketed it as such I could get some heat for that. And then again I may not but I dont really know.

Something else that just occurred to me, and maybe this isnt the place to ask, but I am in the process of publishing my Arduino Programming Notebook on Lulu (at cost, non-profit) with a big emblazoned full color photo of the board on its cover. Did I cross a line with the name or the photo I shouldnt have?

I guess then Im in agreement with Daniel that a more clearly spelled out terms of usage might be in order. The way I currently read the CC Attribution Share Alike copyright notice, I can copy, distribute, and adapt the work (including for commercial means) as long as I attribute the creators and redistribute under a similar license. Under the precepts of Open Source this should extend to freely available hardware source files. That and Im not really sure how I could be held liable for making a green version of the decimilia (source files or not) and getting $30 for it instead of 35.

Unless of course the arduino only has open source software and its hardware is in fact not open source then that would make sense. Likewise it might make sense that the hardware is then published under an Attribution Non-commercial Share Alike license instead. That would keep things pretty clear and not have arbitrary decisions made of who can make what chunk of hardware with the Arduino moniker tacked on.

I was just looking at the monome project and they make it very clear on their site (once you find it): Their software is open source and free to manipulation etc. Their hardware is not. They make available the schematic only as a way to encourage personal hacking of a monome box. They do not publish their hardware layout for many reasons you can read about on their site. It makes sense and is spelled out clearly regardless of whether you like it or not. With that said you are more than capable of 'rolling your own' monome for personal use as long as you dont sell it. Its just more work that way.

Maybe the team should consider what is in fact open source, decide on who can use the Arduino name and for what purposes, evaluate how the information and source files are to be released and then make this explicitly clear under some form of a terms of usage. As it is now, things are too vague and it feels like you guys should be making the board source files available but aren't coming through. It says the "reference design" is CC'd but what is a reference design? Is that not the current format of the board?

Some things to toss around,
B

Definitely, things are not very clear at the moment. We're hoping to clarify a lot of these issues, but it takes a lot of conversation (both internal and external) about what the principles of the project should be. So far, things have worked okay by having a vague policy and addressing individual questions when they arose. Clearly we've not reached the point where it's important to have an official statement of our position, and we hope to have that ready as soon as possible (while still involving many people in the process of figuring out what that position is).

For instance, I have no problem whatsoever with the fact that third party vendors ("Modern Device Company", "Lady Ada") don't publish full CAD files, but they ARE listed and described as third parties.

Hi, can you please clarify what you mean by "don't publish full CAD files"?
I don't think there's a single project right now I have not released full CAD files under OS license, but if this is true I will correct it. Thanks! :slight_smile:

limor

ps. also im not sure where i'm listed and described as a third-party vendor. I am a distributor but that's different, no?

David:

one question for the team to consider is this: If the Arduino designs are CC attribution share-alike, how is someone supposed to attribute without using the Arduino name? For example if someone makes something called, for example, "FunkyDuino", can they put "based on the Arduino" on the board? Maybe the solution is to change the license to share-alike without attribution?

Just another of the many questions for your policy discussion.

D

one question for the team to consider is this: If the Arduino designs are CC attribution share-alike, how is someone supposed to attribute without using the Arduino name? For example if someone makes something called, for example, "FunkyDuino", can they put "based on the Arduino" on the board? Maybe the solution is to change the license to share-alike without attribution?

This is NOT an answer from the team just another users view:

After the Commodore 64 the next computer I bought was advertised as a "NoName PC-Compatible"...
...I bought an LCD yesterday that is HD47800 compatible....
I guess you will not run into trouble with the "FunkyDuino (Arduino compatible)" but with "Barduino" or "Charduino" you might get to close.

Eberhard

P.S: FunkyDuino ?? does that one have a soundsystem on board? I'll order one right now :slight_smile:

thanks eberhard

I just meant that if the name is trademarked, then using the word "Arduino" anywhere on the board is protected use that would have to be licensed, even if it's only to say "Arduino compatible" . Form my slim understanding of trademark law, it's ok to put something like "Arduino compatible in the product description, but you need permission first, and it can't usually be within the main title or name of your product. This makes it potentially very hard to attribute in accordance with the CC license. E.g. "Barebones Arduino", "Arduino Prootshield" etc would require trademark licenses/permission. It's an interesting can of worms, isn't it?

D

It doesn't seem that complicated to me. The plans for your new board will need to include a link back to the Arduino files that they're based on, as required by the CC license. That doesn't mean you can call the board itself an Arduino, as that's a separate (trademark) issue.

Plus, the license we're using also contains the following clause, just in case we needed it (though I don't think we do):

"If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any credit as required by clause 4(c), as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any credit as required by clause 4(c), as requested."

Thanks Mellis, I hadn't thought of that.

Maybe the real issue to clarify is how you'll allow the Arduino trademark to be used on physical designs?

The CC license doesn't cover the boards, only the designs in file/printed page form.

D

Plus, the license we're using also contains the following clause, just in case we needed it (though I don't think we do):

"If You create a Collective Work, upon notice from any Licensor You must, to the extent practicable, remove from the Collective Work any credit as required by clause 4(c), as requested. If You create a Derivative Work, upon notice from any Licensor You must, to the extent practicable, remove from the Derivative Work any credit as required by clause 4(c), as requested."

i dont understand what this means, or perhaps i do in which case i dont really understand what sort of situation this would used in.

can you give an example?

It basically means you can explicitly request that someone not credit you in a derivative work, even though the license ordinarily requires it. I'm not really sure why you'd use it either - maybe if someone created a derivative of your work that you hated so much that you didn't want anyone knowing it was based on something you did.