Planned Obsolescence [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2016-12-19T06:39:46+00:00


Summary:

A Bitcoin developer, Matt Corallo, is urging people to report bugs to the Bitcoin Github repository, emphasizing that if bugs aren't reported, they won't get fixed. One user, Alice Wonder, almost didn't update to version 0.13.0 due to Python errors in the test suite. She stated that she will only upgrade when the test suite works in her environment and urged others to report bugs as well. The lack of Python 3 dependency on older CentOS builds could be a reason for node operator's lack of client upgrades.Juan Garavaglia expressed concern over the significant number of node operators who do not update their clients. He mentioned that he almost did not update to version 0.13.0 due to failing python errors in the test suite, and when version 0.13.1 was released with new python errors, he decided not to upgrade at all. Garavaglia will only upgrade when the test suite works in his standard environment (CentOS) and will not run clients that have not passed the test suite.The Bitcoin community is discussing the issue of developer centralization and finding the right balance between software upgrades. Concerns were raised about nodes not applying patches, making them vulnerable to exploits, and older nodes becoming obsolete and incompatible with new upgrades, leading to network fragmentation. Planned obsolescence in new versions of Bitcoin Core node was suggested to avoid fragmentation, but others felt that this may not be the best solution as anti-features can easily be removed. Instead, users should be left to determine when to upgrade, although security updates should be encouraged. It is recognized that developers have limited resources and are unlikely to give support for older versions.The difficulty of encouraging users to upgrade their node versions to avoid compatibility issues and security vulnerabilities is being discussed. Suggestions include implementing a message system to notify users of available updates and potential risks, automatically distributing patches and updates, and introducing planned obsolescence in each new version of Bitcoin Core. However, concerns were raised about the effectiveness of these approaches and the potential for anti-features to be removed. A simpler solution would be to stop supporting older versions, as developers have limited resources and rarely fix bugs for outdated software.Juan Garavaglia has proposed implementing planned obsolescence in each new version of Bitcoin Core node software to avoid fragmentation and simplify developers' jobs. The suggestion recommends that after a new version is released, it remains valid for approximately one year before becoming obsolete and incompatible with the network. If a node does not upgrade, it will stop working instead of participating with an outdated protocol version. However, some users may remove anti-features from free software. A simpler solution, such as stopping maintenance and support for older versions, has been suggested in response to this proposal.The size of the Bitcoin network in terms of full nodes is decreasing rapidly, raising concerns about its decentralization. The lack of incentive for people to run full nodes and upgrade their clients is a major issue that has not been discussed enough. It is noted that over 30% of nodes running Bitcoin Core are using versions older than 0.13.0, indicating that many node operators do not upgrade. Introducing planned obsolescence in each new version and addressing the lack of incentives may help solve these issues.According to statistics, the majority of Bitcoin running node versions are older than 0.13.1, indicating that many node operators do not upgrade their clients. Newer versions require the same or fewer hardware resources to run compared to older versions, and introducing planned obsolescence in each new version is worth considering to avoid fragmentation and simplify the developer's job. If a node does not upgrade, it will stop working instead of participating with an outdated protocol version.


Updated on: 2023-08-01T19:21:04.077225+00:00