Respectfully, Richard, I disagree with your analysis:
There is a fundamental conceptual difference between (1) a mode of usage you don't know how to invoke, and (2) a mode of usage you are prohibited from utilizing.
Freedom 0 is meant to prevent (2). For instance, if the developer claims that you are forbidden to run a program unless you have a contract to permit it, that is an example of (2). Freedom 0 means that everyone who gets a copy has authorization to run it.
The technological problem is that switching on the full features of a device can require a password that is unique to the device and that can only be obtained separately. For example, it is common for manufacturers to require a user to register personal information with them in order to activate the device. Making the software that operates the machine libre is not sufficient if that software can not do its job unless the user discloses personal information to the manufacturer's web site -- and that is a real thing going on today. My understanding is that this is common practice among manufacturers of cell phones, and that it has begun happening with music making devices. I think a rough draft of the principles might be this: 1. If a device connects to other computing systems, complete documentation of the protocols MUST be provided. Users MUST be free to share this documentation including a right to create clearly identified derived works and share those. The protocol documentation MUST be complete in the sense that the user can fully use the device while not being required to obtain any other information about the device. There MUST be no restrictions that prohibit or inhibit anyone from implementing the protocols. 2. If the device is programmable, the internal software interfaces MUST be fully documented similarly, and there should be no limitations preventing users from using only their own choice of software on the device. The interface documentation MUST also be complete so that the user can fully operate the device while not being required to obtain any other information about the device. 3. If the device contains software stored in read-only memory, the software SHOULD be free software. When practical, the physical design of the machine should allow users to replace the read-only memory with a substitute (for example, ROM chips should be socketed.) There MUST be no restrictions against creating and using free software ROM replacements. 4. All software bundled with a device SHOULD be free software. I could be wrong but I think you already agree with those statements or at least something close to them. I'm trying to consolidate them into a set of principles and objective standards that hardware vendors can be seen either to embrace or violate. The 4 freedom-respecting principles for hardware should have a name and perhaps there should be a process for certifying that a device complies (much as there are processes for certifying that a software license is a free software license). This can help educate both users and device makers about the issues, and facilitate a movement to promote these principles. -t On 2022-01-31 21:07, Richard Stallman wrote:
[[[ To any NSA and FBI agents reading my email: please consider ]]] [[[ whether defending the US Constitution against all enemies, ]]] [[[ foreign or domestic, requires you to follow Snowden's example. ]]] > In the music making world, it is distressingly common to sell > hardware such as MIDI controllers (think: fancy game controllers > but for music making) with capabilities that can not be accessed > without difficult feats of reverse engineering, or else having > to use proprietary software. Often, the proprietary software > further requires users to provide economically valuable > personal information to the hardware making corporation. There is a fundamental conceptual difference between (1) a mode of usage you don't know how to invoke, and (2) a mode of usage you are prohibited from utilizing. Freedom 0 is meant to prevent (2). For instance, if the developer claims that you are forbidden to run a program unless you have a contract to permit it, that is an example of (2). Freedom 0 means that everyone who gets a copy has authorization to run it. As for (1), releasing the source code enables users to find the undocumented commands, thus how to invoke whatever features exist.
_______________________________________________ libreplanet-discuss mailing list libreplanet-discuss@libreplanet.org https://lists.libreplanet.org/mailman/listinfo/libreplanet-discuss