It scared me, because I thought that if adafruit adapted kicad as apposed to eagle as it has been, it would mean is that adafruits designs would no longer be open to people who are not using kicad. For those of us who use the automation, meta data, and well developed shared libraries of eagle this is a great loss.

Especially when the very tools which are missing from kicad make it easy to convert eagle designs to kicad or any other platform. A gerber is not the same as having the parts list, schematic and the plethora of other meta data that sharing a design really entails. It is the source code of a design.

If I give you an eagle schematic file you are free to improve upon my design or export it to the cad software of your choice. If I gave you a set of gerbers you are stuck with my design but are perfectly capable of shipping them off to the cheapest asian fab you can find.

Since kicad locks this data away and does not allow you to export the design and its meta data I am going to argue that it is not really open source. Unless I can recreate a different design or change the usb processor or the package of the parts outside of kicad or at least all 3 major platforms (ie on a Macintosh) in my opinion kicad projects are not open source at all.

I know the joy of open source is that its my fault for not donating countless man-months of time debugging and adding features like eagles ULP and usability on OSX. But I don’t care because in EDA the design is the source. Cadsoft paid and continues to pay its software engineers to create a professional cad system which allows the open sharing of design and metadata and then offeres it to us for free.

While the kicad community has been very quick to capitalize on eagles exposure of the communities shared source and libraries, very little has been done to make sure that we are not stuck with a single design platform that is not nearly as well developed.

Even worse, as people who we look to consistently for reference designs like ladyada turn to kicad, those of us who want to use and share designs can look forward to manually rebuilding them.

17 Responses to “The other open source (ITS THE Meta-DATA STUPID)”

robert

feurig

Yes.

Thank you. I can see that it is text. That doesn’t mean that I can understand it or recreate it. I do not agree that the equally cryptic binary files are the opposite. As a novice I can create an eagle file and it’s meta data (parts, placement, wires, etc. ) using a well documented language. I can also export not only every thing required to recreate that eagle file in any (well documented) platform and also to 3d images, and parts order databases. Again in a well documented and well developed environment. I can see that it is text. And sure you could have protested at the last DNC as long as you wanted to stay in a protest cage. I am not questioning the open ness. Just the effectiveness of the “open”. If you can tell me how to translate between kicad’s “perfectly readable” file formats and eagles well documented ULP which would allow me to move my designs “source code” freely between platforms then I will be able to work on my Wiring-s Midi Shield and many other new designs instead of doing them manually by hand and then sharing the outcome with both camps as it now stands.

feurig

Maybe that was a little harsh. My point is that unless the kicad community is willing to insure that our designs remain free and open (ie by providing 2 way translation between eagle and kicad or by providing a first rate environment that works on all 3 major platforms) then many existing and future open designs and corroborations are likely to be lost in the name of open source.

robert

To me it seems the issue of portability of the design files, free floating information, would arise with using gEDA … as well. So this is not a kicad-exclusive problem. I can also understand that it is desirable to get a working mac-os version, too.

I don’t quite understand what kind of information you are exporting from Eagle. You mentioned wanting to export a bill of materials (or similar) for ordering and documentation purposes, and it sounds like you want to export the schematic itself as well. How does schematic export work in Eagle? Are you exporting to EDIF or another industry-standard format?

Sorry for my ignorance about Eagle. My experience has been with gEDA and OrCAD.

feurig

I am not sure I understand what you don’t understand but using eagles ULP I can export all of it.

The criteria for usability would include creating BOMs, netlists, 3d modeling date and other useful information that you would otherwise have to recreate by hand.
The criteria for portability would be “Can I recreate the schematic or move a part from a schematic to/from a library outside of the current platform (or a different version of the existing one)?”
And I have used, and modified community supplied scripts for both. A quick search of kicad to eagle will land you at least two public scripts that will export your eagle designs to kicad.
But not the other way around.

Hence my hesitation to convert my shared files to a platform that isn’t quite there yet. And my assertion that its not really open source.

I find this capability to own manipulate and translate the other data (not just the gerbers) supersedes EDIF, which lacks again in the same way that a dxf, or iges file lacks the metadata that I am trying to discuss. I too am ignorant. My experience with gEDA has been “hand drafting is less painful and it makes kicad look really good”.

OK, I get it now. Thanks! Not being an Eagle user, I wasn’t familiar with ULP or what it could do. I found it on the Eagle website and had a look. It’s pretty nice! That is a capability that gEDA and Kicad have only weakly, but to which they should aspire.

On the flip side, you wrote in your article, “If I give you an eagle schematic file you are free to improve upon my design or export it to the cad software of your choice.” This isn’t really true. I am not free to use Eagle to make a board commercially. I am also not free to use Eagle to make a board bigger or with more layers than Eagle’s authors saw fit to permit. To remove those limits, I have to buy an expensive license and agree to a hostile EULA. Whether you consider the cost or the license, Eagle is “free” only within a tight set of restrictions. With your DNC protest cage reference, I think you must understand how “freedom” within tight restrictions is no freedom at all.

For people who care about open source, this is a big problem, and that’s why there is a trend to Kicad (and, to a lesser extent, gEDA) in the open source hardware community. It’s unfortunate that the free tools lack the features you like in Eagle, and you’re right that this puts Eagle users like you in a bind. It will change eventually, when someone develops an Eagle import script for the free tools or the free tools develop the features you can’t live without, but that may not be for years. In the meantime, I hope you check in on Kicad and gEDA every year or two. Sooner or later they’ll be at a point where they meet your expectations. They already meet mine.

feurig

If you are doing a commercial project or working larger than the eagles free area you can expect that in most cases there will be a budget and that paying for the work done by cadsoft’s programmers is part of your expenses. In the same way if I am working with a pure gpl2 version of software I am not free to give the result to a client who demands that they own the work that they paid me to do using it. The restrictions can be just as binding using open software licensing and some things like EULAs have a place.

Regardless, Thanks for engaging this! My point in posting this was to look beyond the the black and white of open versus, closed, and to open some dialog. Sometimes we need to think about the effectiveness of our ethics in order to cooperate and share.

I will continue to watch eGDA and kicad as I have for the past few years and (like php in the 90s) I will adopt them where they are appropriate and when they meet my expectations.

shardy

I don’t usually comment on blog articles because it never goes well, but as a strong KiCad supporter, I can’t pass up something as weird as this…

You make points here that are bizarre and sometimes flat-out incorrect. I find this whole argument kind of bizarre; you’re saying a for-pay commercial software is more open than an open source program, because more people happen to use it.

I’ll address your first point directly: KiCad on OSX is crap. Don’t use it, it’s not ready. Even the developers will admit this; they’d like to support OSX better, but don’t have the volunteer effort (as opposed to a paid development team) to do it.

But then you say things like this:

“Since kicad locks this data away and does not allow you to export the design and its meta data I am going to argue that it is not really open source.”

KiCad file are all text, human readable, with well-documented file formats. The reason a common KiCad-to-EAGLE converter program is that nobody has ever been bothered to put in the effort to write that program. Try writing it sometime– you’ll find that the more difficult part is the EAGLE file format, not KiCad.

On the other hand, people have wanted to go from EAGLE to KiCad (e.g. for making larger boards– no, boards of that size don’t always have budgets), and have put in the time to write the programs. You mention ULP scripts. KiCad users often use tools like perl, python, and sed to process schematics and board files, components and footprints.

You mention Gerbers a few times, but that’s totally irrelevant; KiCad has .sch and .brd files just the same as EAGLE. And again, they’re human readable text, openly documented format, you can even get the source code to KiCad to see how they’re being used. It doesn’t get much more Open Source than that.

To put it in other words, what you are saying here is roughly equivalent to: “Microsoft Word is a great product. I’d say it’s more open source than Open Office, because everyone uses it for their documents. Open Office lets you save to PDF, but we all know the .doc format is the one that matters, because that’s the source of the document.”

What’s really a damn shame here is that you’re trashing an excellent open source project for no good reason at all, and supporting proprietary lock-in to a commercial product for the development of open source hardware.

feurig

I dont think you understood or addressed the blog post or the dialog following it at all.

I use OSX as a primary development platform, so arguing about a tool I cant use is pretty mute.
In fact it makes designs that are produced in that tool a lot more work for me. And I am trying to
share in an open source community of designers.

There is a difference between constructive criticism and trashing something.

I realize I took an odd tact because I think that the open source community forgets the point which is sharing.

Please note that I keep looking at kicad (and have for a while now) because I want to be able to use it. Without being able to import designs back into eagle or actually use it on the mac I cant do that and to make matters worse any source documents built in it are stranded. As most word documents are read and most eda designs are actively worked on by the community it is fundamentally different than M$Word versus oracles open office.

I encourage you to reread, rethink and reply again..

(Incidentally, word 4 on the mac was the only decent piece of software Microsoft ever actually wrote. But that was a long time ago)

Paul

After reading this rant, I took a quick look over the pages for your 3 products. I did not find any CAD files? Not even one, even after following numerous links around the Dorkbot site. Did I miss the CAD files somewhere?

I did see schematics and board layout images in JPEG format, which caries no useful electronic metadata, and certainly has no interoperability with any CAD software, even the original package used to create it!

In the context of a rant on CAD format interoperability and metadata, where you write “I am trying to share in an open source community of designers”, it doesn’t look like you’re actually practicing what you’re preaching.

Personally, I think what you’ve published is perfectly fine. I publish images on my site too. But I don’t publish rants like this.

feurig

Paul,

The site is still a work in progress and I appreciate your comments. You will find the sch files for most of the work I did for tempus dictum on the dorkbotpdx site. As I continue to work on designs that do not belong to clients they will eventually be published here.

feurig

feurig

On the dorkborpdx site you will find above a pair of midi shield designs for the recently released Wiring S board. http://www.dorkbotpdx.org/files/wiring4midi.tgz The schematics are in both eagle and Kicad. While the wiring team is a little more MIT/BSD oriented in their licensing the wiring S board was developed by the author of an upcoming Oreilly press book on Kicad. I like the Wiring S board as it solves many of the stupid parts of the arduino shield design. I had to run up Kicad to get the dimensions for the shield library part which is in the Dorkbotpdx eagle libraries page. The experience lead me to think about a few things and I posted this blog in order to start some conversation.