I’d include things like digital cameras and printers in this revolution. In a lot of cases it might be better using older hardware as new features would be added by the community forever!
I’d include things like digital cameras and printers in this revolution. In a lot of cases it might be better using older hardware as new features would be added by the community forever!
Over at KDE we've some something in that direction - we've worked with the German federal environment ministry on extending the criteria for Germany's Blue Angel environmental label with rules for software products. The resulting criteria include language about what's needed to keep old hardware running and useful (as unnecessary HW replacement spikes the environmental footprint); including using open source to enable the required maintenance.
Eventually, this will have an effect, e.g. when government procurement rounds require bidders to achieve this label, and others start aligning with government practice.
If we removed the concept of trade secrets and made copyright and patents on software last for only 5 years, then this problem would go away.
For an example / cautionary tale, look at happened with Google's range check function in the Java standard library. Millions of dollars spent litigating over 4 lines of code. Nobody will ever want to open-source anything again, especially if they independently discovered some clever graphics optimization.
Whatever fines governments can levy for not complying with these environmental regulations probably pale in comparison to what infringement lawsuits cost to defend, so I think that's what regulations have to attack.
So right now, companies are scared about the legal risk that open source exposes them to. It's easier for entities that wish you harm to find infringement in code they can just look at, instead of encrypted binaries that are sent to the "Trust Zone" inside hardware. Because it's easy, people look. And if they find it, the company that open-sourced the thing is ruined. "You copied me too" isn't a defense to copyright infringement; you'd have to prove it to make them settle, and if their code isn't open-source, you can't do it.
Why wait five years? The hardware stops being sold on date X, the software/firmware must be published the same day.
> In a lot of cases it might be better using older hardware as new features would be added by the community forever!
And here you have found why the OEM's will fight via hordes of lobbyists any attempt to legislate a required publishing of software/firmware for out of production hardware. Keeping the old hardware useful after the OEM end-of-life's it means the OEM sees a smaller number of future sales of their "new and improved V2.0" [1] hardware, equating directly to lower revenue and profit.
[1] where what is "new and improved" is often nothing more than eye candy to convince you to give up your 1.0 version and buy the 2.0 variety.
They sold the Ninja V and the Ninja V+, two exactly identical devices, but the Ninja V has artificial limitations of what resolutions it allows you to process. Obviously, you have to pay extra to enable other codecs, 99$ each.
So already the worst of DRM imaginable, especially as the only way to remove the artificial limitations of the Ninja V is to throw it away, buy an entirely new Ninja V+, and buy all unlocks separately yet again. Oh, and if you try to resell any of your devices, Atomos wipes the unlocks and demands that the new owner buys them yet again.
So already the worst kind of DRM infested money-grabbing BS imaginable.
But no, they found a way to make it even worse. They just deprecated the Ninja V and V+ and announced the all new Ninja and Ninja Ultra. They're identical. Same battery runtime. Same resolution. Same weight. Same performance.
But now with the new and improved AtomOS 11 software. Can't install that on the Ninja V/V+. Only way to upgrade? Throw your Ninja V away and buy a new Ninja.
If I find a way to jailbreak these devices, I fucking will. God I hate them so much.
There should be a trade-off where source (with a few variables hidden for privacy / security) is escrowed and released after a certain time. Would MS share prices really drop if 20 year old programs like Windows XP and Office were forced to be open sourced? Would anyone take a major hit?
The cost would be small, but the upside is the preservation of our technological history.
So to solve this you'd have to mandate that they open source all drivers right from when the goods are sold the first time or commit to supporting devices for as long as there are viable units out in the field or something like that. Again, not likely to ever happen for obvious reasons.
I would be fine without open sourcing drivers, but just releasing documentation (and perhaps fragments of demo code) but I suspect a lot of companies are reluctant to do either because they believe there is some secret sauce in the software. Otherwise they'd be more interested in outsourcing to the "community" to do the work for them for free.
The problem with that is that it's far too easy for the 'documentation' to be incomplete, and in non-obvious ways.
OTOH if they release incomplete source code it will likely be much more obvious (e.g. 'foo() calls bar() but bar() does not exist anywhere in the codebase, wtf').
But I think NVidia would be perfectly fine financially if they gave this out.
Nvidia and AMD both support DX versions below DX12 in their silicon, they don't have to emulate anything which means better performance.
Even if Intel had access to Nvidia and AMD's driver source codes, none of it would be useful because they don't have the silicon.
* https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/uti...
* https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/uti...
Nvidia's biggest product is CUDA.
There's also the matter of lawsuits. If you get a device, they're not supporting updates, so you go get a 3rd party update and it ruins the device, the RMA costs the manufacture, but worse, the customer(s) may file a (class action) lawsuit against the company over the problem of being unable to find the official firmware/driver updates, causing people to ruin their hardware, get RMA rejections, or not even being aware of an RMA process and simply buying another one.
Personally, I'd rather there be open source drivers/firmware for everything from day one, but to look at both sides, I fully understand the liability and why that's something that only exists in the hobbiest world.
> Because if I can rewrite my printer to not intentionally be a total piece of shit, the company gets less money by intentionally expiring or wasting ink, DRM locking ink cartridge brands, or "service needed" bricking the device after a period of time.
That sounds exactly like the "perverse incentives and conflicts of interest" that the parent comment mentioned. I don't think they're asking why it isn't required now, but why it _shouldn't_ be required. What you're saying sounds more compelling as an argument in favor of what they propose, not in favor of the status quo.
This is exactly the kind of perverse incentives that I'm talking about though. And this kind of misbehavior happens way more than someone installing a 3rd party update that bricks someone's device.
The example I'm thinking of is Nvidia's newer GPUs and DLSS. The hardware would come with open drivers, but if you want the upscaling that's an additional fee. While maintaining additional drivers is more work for companies, I think they'd actually benefit from this because it could be a recurring revenue stream for older hardware.
Nothing new for AMD and Intel. But we have likely a new field below, firmware. Nvidia (and both from above) push a lot of stuff there now. Firmware often contains security and bugfixes nowadays.
PS: Hoping right now that the newest firmware for RDNA2 fixes issues with PSR (backlight turns off).
Linux's interpretation of the GPL allows closed source and proprietary modules (providing you conform to a somewhat limited set of interfaces).
There's a lot of closed source binary lumps out there for different hardware.
Not officially, IIUC. If they were officially allowed, this is what would happen: <https://lwn.net/Articles/162686/>
Linus said it was okay long ago; that's as close to official as one can get. Later his views became more nuanced, but still largely authorize binary-only drivers.
It may still be legally problematic (as there are many contributors who may be able to make a claim); but 28 years of policy precedent make such an attempt at enforcement difficult.
There's all the EXPORT_SYMBOL/EXPORT_SYMBOL_GPL infrastructure for this exact reason.
You and I have a very different understanding of the very long text at that link.
> understanding of the very long text
You have the original statement in 1995, which is nice and short.
You clipped from my statement:
> > Later his views became more nuanced
Waffling starts in 2002.
IMO, the fact that there's an interface maintained for the explicit purpose of marking symbols for non-GPL compatible code makes it pretty damn difficult to enforce.
This is the perverse incentive: driver optimizations present competitive value to manufacturers, so manufacturers keep drivers secret in order to monopolize that value.
The problem is that by monopolizing their driver, the manufacturer also monopolizes the responsibility of driver creation, compatibility, security, and maintenance. This doesn't just prevent competition from other manufacturers: it prevents collaboration with anyone else.
There is nothing to incentivize a manufacturer to actually uphold the responsibility that they have monopolized. It's actually the opposite: monopolized responsibility is an opportunity to implement planned obselescence.
The purpose of copyright and patent monopoly is to incentivize knowledge sharing. In this case, the opposite is true. If we want drivers to be maintainable, then we have 2 options:
1. Require all drivers to be open source.
2. Break up the vertical integration of in-house driver development.
I vote we do both.
The only change is that driver development is allowed to be a competitive market.
Nothing about the situation you described is any different in the status quo.
The only difference is that driver devs aren't working exclusively for the manufacturer.
If you want an example of third-party driver development, just take one look at Linux.
Why not? Someone makes a faster driver, another makes say a more power efficient one so the card is quieter. And yes it vould cost money. You could compete on this thing. Once upon a time there were competing commercial operation systems. Can't see why GPU drivers couldn't compete.
This sounds like a reasonable first step towards the real ideal, which would be to free the drivers from day 0.
The ironic thing is that it would be legal for the manufacturer to engineer the hardware to die before that date.
Which is why hardware manufacturers will fight tooth and claw to prevent such a thing. They don't want you to keep using old hardware. They want you to keep buying new stuff. If the hardware isn't going to break, then a failure of software will do.
of course society needs regulations like dolphins need oxygen