Yes i tried to explain all of this to Digilent. I even offered to do all of the work for them while trying to be as polite as possible.
When Raspberry Pi was originally announced, I went to their forums, and posted that I'd be happy and willing to help with the kernel side and any Linux distribution work, if I could get one of those early ones in my mitts. (I know that stuff.) I was called names, and even banned from their forums.
I wondered what the heck had just happened, but after some digging, realized that Qualcomm hates Linux and GPL with a deep passion. It is in their corporate culture; if there is an option to comply with GPL or violate it, they will choose to violate it unless it is obvious that it will impact severely their business.
Some companies (and organizations) are like that. They don't want to support free software or open source development, not even if it would make clear business sense.
In cases like AD2, the only thing needed is the details of the protocols on how to upload each firmware (part), and how to communicate with that firmware. Nothing that cannot be observed from the USB comms -- and even perfectly legal when done for interoperability reasons in many jurisdictions.
Some companies just don't see beyond the current quartal and business plan. They don't see an opportunity even if it hits them in the face. Others, even "old" companies, do get it, and will be more than happy to provide such protocol information if they have it. (If they do not, sometimes a clean-room documentation effort under an NDA will work; pure reverse-engineering efforts tend to be just "tolerated/accepted", not "endorsed".)
(This is also why I recommend against using Raspberry Pi's, unless you use the camera option. Some of the other SBCs are much friendlier; I like Olimex and HardKernel, and have recently backed
La Frite kickstarter, just in case it really runs on a mainline kernel. The typical issue with SBCs is that they use a forked kernel abortion that is only maintainable by their own team, so that when they move to new hardware, their users will have to eventually switch as well. Using a mainline kernel would fix that. Also, it'd make it really easy to create task-oriented "distros" for specific use cases, say based on
ALFS.)
The Siglent reps AND the Saelig Rep bent over backwards to give as much information and open their Siglent Scopes as much as possible. Again i really want to thank Ms. Amanda Harris at Saelig.
Yup. It's not that the tool needs to be open just because; it's that if we can properly interface to the tool, we can make the best use out of it, which increases the value. Siglent and Saelig apparently know this.
In Linux, OpenGL support is easy, and especially for drawing the waveforms (not just one per screen update, but hundreds), there's a lot of low-level work that can make that really nice. I mean, stuff like FFT is
easy using known-good libraries like
FFTW; the logic analyzer/protocol decoder support only needs a good data interface with large enough buffers (maybe pulse/space length oriented data format?) to make it really easy for devs to add new protocol support, and so on. It is the
core of the application suite, the low-level stuff, that has to be right, or the suite is crap. (As I specialize in parallel and distributed molecular dynamics simulator development, I know how to create programs that keep the data flowing, extracting as much out of the CPU cores available as possible. The trick with GUI programs is that you really need to design the application to be multithreaded from the ground up, so that each thread/CPU core can keep working hard and data flows all the time.
Then you get a nice, slick, smooth, robust application. The GUI toolkits, however, often require a specific threading model, so it all gets pretty complex spaghetti real quick; you need to design it properly from the get go to keep it from becoming an unmaintainable crashy pile of crap.)
Although personally i prefer the way Dr. House puts in on TV "Yes, i DO think i am higher than you.
When I was younger, I tried the "I don't make a fuss about myself or my skills" approach. It was how I was raised. It did not work at all. I just almost killed myself by trying to bore through hard skulls by concentrated effort alone.
Now, I know I nowadays probably sound like a self-centered asshole, but I'm not that, actually: based on what I've already done, I believe I do have the development skills to back up my claims. What I do not have, because of still suffering from the post-burnout and recurrent depression, is the ability to handle stress at all, or people who should know better. (Idiots are easy. It's the ones who know better, but prefer to lie or not admit to their mistakes or errors, that grind my guts. I like this forum a lot, because those seem to be very rare here.)