News for hackers. Stuff that matters.
Re:Open-sourcing a more precise time appliance by daddylonglegs on Wednesday August 11, 2021 @11:32AM (#28143245)
I cannot find any source files for the FPGA code in the repository (no .v .vhd .vhdl files and I can't see anything by looking around manually). The FPGA directory [1] contains some binaries and some documents relating to commercial code from a Swiss firm [2].

I've seen plenty of projects described as open source when the firmware is open source and the hardware is closed but this is the first time I've seen one where the schematics and board layout are open but the firmware is closed. Note that the hardware itself is quite simple, the smart stuff happens in three modules: GNSS receiver, precision clock and FPGA. To me, the contents of the FPGA source code are the only interesting part of this project. Additionally, you won't be able to meaningfully modify or reuse this project without editing the source code.

The hardware module these FPGA binaries seem to be compiled for is described as an AC7100B, the source given for these is a defunct ebay link [3] [4] :-O This project uses two and half grand's worth of atomic clock and the heart of it runs on a module that fell off the back of a lorry!?

[1] https://github.com/opencomputeproject/Time-Appliance-Project... [2] https://www.nettimelogic.com/clock-products.php [3] https://github.com/opencomputeproject/Time-Appliance-Project... [4] https://www.ebay.com/itm/XINLINX-A7-FPGA-Development-board-A...

Edit: I realise this comes across as quite negative. This looks like a neat project, one I would actually use, but only if it were meaningfully open source.

Re:Open-sourcing a more precise time appliance by LeifCarrotson on Wednesday August 11, 2021 @04:30PM (#28147333)
It's a particular module for the Xilinx Artix 7 XC7A100T, made by a Shanghai-based integrator. As an individual user, you could buy these on Aliexpress, from eBay resellers, or from Amazon resellers. Facebook presumably has an arrangement with the contract manufacturer that's not going to be possible for an individual developer ordering ones and twos to replicate.

However, to modify the HDL, you'd need a $3,000 license for Xilinx Vivado, which is pretty much a nonstarter for amateurs.

[1]: https://store.digilentinc.com/arty-a7-artix-7-fpga-developme...

Re:Open-sourcing a more precise time appliance by daddylonglegs on Wednesday August 11, 2021 @05:54PM (#28148288)
Thank you for id'ing the module. I can now see how using this would work for Facebook's needs.

I think the XC7A100T is supported by the free (and limited) edition of Vivado [1]. Of course, the confusion about what you can and can't do with the HDL is in itself a barrier to open source and hobby work. This is true even when the work is theoretically possible and everyone has the best of intentions. <sigh>

[1] https://www.xilinx.com/products/design-tools/vivado/vivado-m...

Re:Open-sourcing a more precise time appliance by abyagowi on Sunday August 15, 2021 @12:18AM (#28186228)
That is not true. First of all, the reason why we used the Alinx module (which you can buy of ebay as well as Amazon), was to make it easier for the community to manufacture and build. Our internal version of the time card does not include the module! The second piece about the XC7A100T, you do not need any license to do any development as the free version of vivado is more than enough to work with. Give us a bit of time and we will have a fully functional open HDL ready for you to add things. It is very easy to sit down and nag about a project. I want you to understand that I had only one goal in mind when I released this project to public and that was allowing others to have a head start to work on time related project. Of course, I work for Facebook and I try to help my company with new technologies as a researcher, but helping the community and releasing the source code (to whatever I had) is just a core value of how I love to support the community.
Re:Open-sourcing a more precise time appliance by anon_tor_12345 on Wednesday August 11, 2021 @05:39PM (#28148159)
you don't need vivado to modify the hdl, you need vivado (or some other proprietary xilinx toolchain) to produce the bitstream which actually deploys to the fpga.
Re:Open-sourcing a more precise time appliance by LeifCarrotson on Wednesday August 11, 2021 @10:14PM (#28150866)
That's a level of nitpicking that I didn't bother with.

Of course the Verilog or VHDL is just plaintext, which you can modify anywhere, but to actually do anything with it you need to compile it into a bitstream.

It does make me wonder if someone could set up a CI server to get around proprietary compilers like Vivado. Point the community resource at your source and get back a binary! Obviously you'd need to strip the license ID...

Re:Open-sourcing a more precise time appliance by anon_tor_12345 on Wednesday August 11, 2021 @11:02PM (#28151260)
i didn't mean to nitpick and it's not nitpicky since there are now open toolchains (though not for xilinx) that you support verilog as a frontend

http://www.clifford.at/yosys/ http://www.clifford.at/icestorm/

Re:Open-sourcing a more precise time appliance by m-ee on Wednesday August 11, 2021 @01:09PM (#28144737)
Valve did something similar for the Vive tracker dev kit. There was a time before the standalone tracker was available https://www.vive.com/us/accessory/vive-tracker/

where if you wanted a tracker that wasn't a full controller you had to build it yourself. This involved a paid workshop in Seattle to get access to the dev kit and learn their tooling. Hardware was open source, but firmware was closed. If you wanted firmware changes you had to pay Synapse consulting fees for them to do it for you, and the updated firmware would then be made available free of charge to anyone else who paid for the workshop.

Re:Open-sourcing a more precise time appliance by PragmaticPulp on Wednesday August 11, 2021 @04:17PM (#28147172)
The Valve situation sounds like they attempted to open source after the fact, which doesn’t work with large hardware projects.

The only way to really open source a hardware project of this magnitude is to set open source as a constraint from the start. If you don’t, you inevitably end up with someone licensing some code somewhere from a vendor that can’t be open sourced. It gets integrated deeply enough that the project can’t exist without that piece and it’s too late to rewrite around it so the open source commitment goes out the window.

If I had to guess, it sounds like Valve tried to work around the situation with the workshop where participants entered into some contract as part of the workshop.

And if I had to guess about the Facebook situation, it was probably decided to open source the project after the fact. I’m guessing they wrote the website copy while someone else went off to try to secure open source permission for all components involved and they never reconciled the two efforts, hence the weird dead eBay links and missing files.

Re:Open-sourcing a more precise time appliance by m-ee on Wednesday August 11, 2021 @06:41PM (#28148837)
I shouldn't have called it open source, it was source available to customers who paid for the training course and signed a license agreement. Don't think they ever had intention of making it open. I found the model especially strange because of the requirement that any custom changes you asked for would be available to everyone else (your competitors). I guess they didn't actually want the workload of custom changes so this was a way of further disincentivizing it?

https://www.synapse.com/steamvr

Re:Open-sourcing a more precise time appliance by derefr on Wednesday August 11, 2021 @08:49PM (#28150272)
> I found the model especially strange because of the requirement that any custom changes you asked for would be available to everyone else (your competitors).

It's the same model as any game-console SDK. If you ask for changes to the SDK, those changes are going into "the SDK", which all customers get access to. Platform providers don't tend to offer work-for-hire for custom forks of their code; instead, what they're offering is to prioritize adding certain features to the shared upstream codebase. In the end, the platform provider wants there to just be one SDK, that solves the superset of all their customers' problems. Anything else is a ridiculously-large maintenance burden.

Re:Open-sourcing a more precise time appliance by abyagowi on Sunday August 15, 2021 @12:11AM (#28186201)
Just give us a bit of time. We had to use some IPs that due to licensing limitations prohibited us to release the source and we were only allowed to release the bin files. We are replacing them to open source cores and we will have that part of the project available to you too. I hope you understand the situation of the project. I would love to see people adding more features to the FPGA part of it such as IRIG-B output and many other cool things that can be done. Please stay tuned.
Re:Open-sourcing a more precise time appliance by jasonwatkinspdx on Wednesday August 11, 2021 @02:01PM (#28145415)
I would bet it's just a simple oversight. It happens. Did you file an issue so they're aware of the problem?
Re:Open-sourcing a more precise time appliance by daddylonglegs on Wednesday August 11, 2021 @03:17PM (#28146401)
Thank you, I will put a query on Github.

However, I think they've used code from NetTimeLogic under a licence [1][2] that precludes distributing the source:

> 3.2 Distribution Rights. LICENSEE may reproduce and distribute the Licensed Materials, solely in binary form that operates in LICENSEE’s system-level hardware products.

This is a perfectly reasonable way of developing a system but it is sadly incompatible with sharing your work as open source.

[1] https://www.nettimelogic.com/licensing.php

Edit [2] IANAL, this is not legal advice etc.

Re:Open-sourcing a more precise time appliance by gorkish on Wednesday August 11, 2021 @01:30PM (#28145008)
I have no problem with this project either and find it interesting, but I agree with you completely that it looks like someone took a hobby-level experiment with a corporate budget to the prototype stage then realized it had near zero practical application so, "Open source!"