Sunday, 25 October 2009

A very bad week for Open Source Hardware

This has been a very bad week for Open Source Hardware. First Sparkfun gets served up by Sun for sounding like SPARC processors. Guess what? No one in the WORLD would ever have made that connection. NO ONE except a set of trigger-happy lawyers whose sole goal is to increase the percentage of GDP in the US dedicated to legal transaction costs. Then, the Creative Commons tells GOSH to buzz off because they don’t want to help make an Open Source Hardware-specific license, instead they basically said, “hey guys, go learn about patents.” And now, Apple’s 64 bit update java dev team conveniently decided it was time to refactor the library base for 64 bit, leaving anyone who had coded an app for 32 bit hanging in the dark.

Basically, Apple just announced to any Open Source 32 bit coder like me and Chris: “Get lost!”

I have just spent 35 hours that I will never get back. Chris and I have been killing ourselves trying to understand what Apple has done to their installation of Java, and why it suddenly broke Antipasto Arduino IDE.

Apple is migrating to 64 bit hardware, and they don’t want to look back. I guess I don’t blame them. Apparently, that means anyone with a 32 bit application out there that relies on hardware API service calls, you’re left hanging. I guess Apple learned from their transition from 68k to PowerPC that backwards compatibility really doesn’t mean anything, because community developer’s time is free and cheap and no one cares about the community. I’m one of those community developers, and apparently Apple doesn’t care about my time… they’re ok to just say, “whatever, your fault, just recode your entire application for 64 bit Java if you want anyone to care.”

I guess it’s easier to tell the community “go build an app for that and get out of my face.”

Well, to whomever is responsible for making this decision, I HATE YOU.

Here’s what happened so far:

-Apple decides at some point that 64 bit java support is all they need

-Apple released version 1.6.0_15 of Java, switching everything around for 64 bit, rather than 32 bits

-Antipasto Arduino IDE’s use serial libraries and serial drivers to control the FTDI comm. link, which is more stable in 32 bit land

-Apple doesn’t care, so they rearranged the lib tree structure and object files, and decided they’d let us developers figure it out for ourselves. A couple other people have noticed

-On October 21st, madaerodog was the first to notice it was broken, and twittered all about it

-Chris and I started reverse engineering the problem once we figured out what java version he and I were running and why it worked on one and not the other

-Chris and I (and Nick) just pulled a 35 hour coding and debugging marathon trying to recompile all of the serial dependencies for the 64 bit java 1.6.0_15

Hey Apple! Next time you decide to refactor your platform-specific installation of Java in an effort to not support backwards compatibility, here’s a tip:


This is not going to be an overnight fix… but Chris posted up the most recent update to the Antipasto Arduino IDE. If you want to help, and you have a Mac, maybe you can try this version out, and let me know if it works - inthebitz at gmail…


Post a Comment