I was beginning to doubt it would actually happen…
The released repo is limited to U-Boot, drivers, and kernel mods.
It’s missing a few components I would have liked to see, namely the device tree source for the latest board version (there is a symlink in the bsp, but not the source - might be an oversight), and very little in relation to comms with the head, but it’s a very good start.
I honestly thought they would eventually, but I was a little disappointed it took them this long. I think Dan said something about removing any hard-coded passwords and other stuff they didn’t want in public, but that was months ago.
I’m not sure where they would have had those in the materials they did release. They are leaving 9 (yes, nine)
root keys in
/home/root/.ssh/authorized_keys. I assume this is for devs to access the system during development, but you remove those kinds of things from your production image. It’s not a huge security issue, as the device only exposes an ssh service during recovery mode. But still, if any one of the private keys associated with those 9 authorized keys leaks…
But, I digress.
This release of code appears to be the minimal amount required to satisfy the license requirements. And, there is nothing wrong with that.
Anyone that was expecting a build-able firmware release will be disappointed, though. The kernel drivers are nice, but they are only part of what is needed. They excluded the actual daemon, and more importantly, anything to do with the communications with the head.
Without the head communications, anyone trying to make the thing work is dead in the water.
The PIC firmware was done in assembly, and @palmercr deciphered that in short order (maybe he’ll write up a post about that? ). The head firmware, on the other hand, was apparently compiled from C and is much more obfuscated. Work on that is ongoing, but it may be easier to just write new head firmware from scratch.
I had also hoped that this release would spring my board project forward. However, it looks like there is little there that I can make use of. That’s not that big of a disappointment to me. I wasn’t expecting their code this soon, anyway.
The initial reason for releasing the firmware was insurance against the cloud service disappearing. If the head code is missing I don’t think it satisfies that goal.
Indeed, they have forked the goals and are semi-explicit about it:
We are working on doing more - the current software release doesn’t include all the files in the firmware, for example - but we believe this release both complies with our license obligations
I like to believe people are doing what they say they’re doing most of the time, so I hope that the doing more part means complying with the spirit of the original annoucement:
you’ve got both an escape hatch (if something happens to us) and a platform to experiment with
They said they would release it at launch and they didn’t. When Scott pointed out they were in breach of licence they were forced to release those bits of it but they reneged on the original promise. Who knows when they will release it and whether they will fold in the mean time.