Here's my two cents about the Nikon NEF data question. I don't own Nikon equipment and am no expert in RAW converters, just a semi-retired software developer.
I also come from the software world, both with an academic and practical background, and I'm almost a zealot when it comes to customer and comsumer rights.
I don't know the details first hand but from threads here and elsewhere, it sounds as if what Nikon did was to encode WB data NOT encrypt it. There is a world of difference. Encryption is a way to disguise data. They didn't disguise it, they just laid it out differently, possibly through some simple look-up table, as others have surmised. Since RAW formats are proprietary they have a right to lay out the data in the file any way they want, for whatever design reasons are important to them. Every data file on your computer is encoded in some way or other.
Disregarding that you're wrong on the encryption part, you're right about every data file being "encoded".
But this is not a good defense for Nikon.
The fact that the most popular document formats today are closed
document formats mean that you, as an author or artist, have no or little control over your work.
This sounds a bit crass, but:
Microsoft controls your letters and books, and now Nikon wants to control your pictures.
From my reading my understanding is that they would prefer if software converters use the Nikon programmer interface (SDK or API or whatever they want to call it) to access the data rather than relying on the bit by bit layout in the file. This is NOT bad system design.
Yes, this is
bad system design. It's very bad system design, because it means that when Nikon goes tits-up, their software support for the old formats is phased out, or whatever, you're stuck with a bunch of original files that you no longer can access
Please show me the photographer who would think it was okay that all of a sudden, he couldn't review his slides or negatives anymore, because the technology to review them is legally unobtainable.
This is why enabling reverse engineering is Good, and preventing it is Bad.
In fact, there is a lot that's good about it. For example, in future releases of this camera or others, they would have the freedom to move the data around in the file layout any way that's convenient for them, while people writing converter software could continue to use the SDK subroutine library from Nikon, without having to change their program, thereby releasing new versions, and charging us more money.
But Nikon doesn't provide an "SDK subroutine library".
And even if they did, do you think that library would be usable on Windows, MacOS, Linux, Solaris or whatever in 2048?
Who's going to maintain forward compatibility forever?
You could make the argument that we would all be better off if all manufacturers standardized on a data retrieval interface (standard SDK) so that converters could remain more stable over time.
No, it would be better if all manufacturers used open or semi-open RAW formats, so that you wouldn't have to depend on the availability of an SDK or a specific library.
With semi-open, I mean formats that are easy to reverse-engineer, both technically and legally.
The only thing that would change would be the underlying SDK from Nikon (or who oever). There is nothing wrong with this design strategy and from my point of view (past software developer) there is a lot going for it. Rather than castigate Nikon for doing what has been been common practice in many areas of software design, the better debate might be whether or not they should all do it this way.
The common practice sucks asteroids through straws. It places the control over your
creative works in someone else's hands. In the software industry, it's one of the major cost-increasing factors for software maintenance and replacement. It's the basis for vendor lock-in.