7 ms·
Even fully open sources software can't be "repaired" when its dependencies break. There are a wide range of programs that broke when Python 2 went away. As for
by mikewarot 4y ago
Even fully open sources software can't be "repaired" when its dependencies break. There are a wide range of programs that broke when Python 2 went away.
As for the law, any software no longer for sale, or older than 10 years old should lose all copyright/IP protection, which ever happens first. Anyone should be able to write/support a Windows XP,7 or 8 clone at this point, along with Office, Exchange, etc. up to 2012
--- Warning --
Strong message (rant) to follow
Uppity programmers calling themselves software "engineers" act in almost totally the opposite manner of a true engineering discipline. They hold "legacy" in contempt, and break things in the name of "progress" or "safety" at odds with their stated goals. They ignore the lessons of history, and keep re-inventing the same things every decade or two.
You can still plug a BC-232 radio manufactured in the late 1940s into the wall and receive broadcast signals.
You're effectively prohibited from running a web browser or telephone from 10 years ago because of planned obsolesce. This needs to stop!
- hulitu 4y ago> You're effectively prohibited from running a web browser or telephone from 10 years ago because of planned obsolesce. But, but, but it is for your own security. /s
- pabs3 4y agoThose Python 2 programs can reasonably easily be repaired by porting them to Python 3.
- bdamm 4y agoThis is exactly the thing. If the difference between python 2 and 3 is so small that a program can be easily ported, then WHY did there need to be a difference at all?
- pabs3 4y agoUsually change happens because the old way was worse and the new way is better. For each individual porting change, you would have to look up the appropriate PEPs to discover why the change was made.
- _Algernon_ 4y agoThat's the claimed reasoning, yes. Is that actually true though? It may be from a pure economic perspective focused on a business that can socialize externalities. Sometimes new developments reduces development time. On the other hand, the externalities of that is that a modern computer performs worse running equivalent tasks today in the browser than a native app 15 years ago on hardware from that time. Lucky for businesses that they aren't held responsible for the ewaste they helped produce.
- pabs3 4y agoWeb development isn't mandatory, you can still have a native app in 2023.
- _Algernon_ 4y agoThe point is that the lack of businesses being made responsible for the externalities they cause disincentives native apps, not that it is impossible. If 90% of apps necessary for normal life are only available as poor web versions it drives obsolescence no matter what the remaining 10% do.
- pca006132 4y agoWhy is web app a bad thing though? Most of the apps do not require much performance and the web version can also be pretty fast, at least sufficient for users. I think the same author writing that crappy web app will produce worse native apps if forced to do so. Web apps is better than native as they are automatically running the latest version, platform independent (windows, mac, linux, android, ios), in some sense more secure. Instead of asking people to write more native apps, I think we should rather ask them to write more quality web apps if they don't need native capabilities.
- _Algernon_ 4y agoTry running eg. Libre Office and gdocs on a 10+ year old laptop. The difference is night and day. And that is a web app which should not be particularly demanding (essentially text entry). E2A: Also, try running Figma on an older device. It's basically unusable. No native version, and a native version would be much better.
- mikewarot 4y agoWikidPad had (??) a fairly large user base. The Win32 executable last released still works with my personal notes from 2008 onward. There was a breaking change in Python, followed by a breaking change in WX_Windows, so while you can, in theory, run WikidPad under Linux today, few of the dialog boxes work, effectively disabling the program. 8( Python2-3 transition COULD have been made easier, but it wasn't. The community places far too little emphasis on backwards compatibility. This is because there's a myth: pushing a free upgrade across the internet is zero cost This is not true, and can't be true. The cost of manufacturing software has effectively fallen to zero. This is not the same as the cost of implementation. --- Tangent/Analogy --- When you get a large machine tool, there are physical installation requirements that can delay its use by up to a year. Sometimes the floor needs to be removed and replaced with a better foundation. Power, cooling, air, vacuum, networking and other connections need to be made. These may require updates to infrastructure. Once sited, machines have to be precision leveled, and there is always some form of break in period as differences are found and accounted for in their use. Users have to be trained to allow them to work with/around any UI or performance changes that might effect production. --- In a very similar fashion, software requires infrastructure (dependencies, operating system support, bug fixes, user training) and new executables carry new bugs to be worked around, performance changes, etc. Security fixes should strive to minimize changes, but to me it is entirely unacceptable that they are necessary, especially at the rate currently required. Security should be the job of the Operating System, not the application, network, users, especially NOT the users. Software security updates should happen about as often as automobile recalls. They should be costly to the manufacturer and infrequent.
- Pinegulf 4y agoTrue, but not a soul is trying to steal your credit card via BC-232.
- asdff 4y agoThis is the entire point of setting up an environment, to call up a known good dependency for this use case. None of those python 2 programs went away. They are still there, waiting for you to run them with python 2.
- bheadmaster 4y ago> Uppity programmers calling themselves software "engineers" act in almost totally the opposite manner of a true engineering discipline. They hold "legacy" in contempt, and break things in the name of "progress" or "safety" at odds with their stated goals. They ignore the lessons of history, and keep re-inventing the same things every decade or two. The reason for that is that software is much easier to change than hardware. You cannot expect every person in the world to update their radio equipment every couple years - it's too expensive - but it's somewhat reasonable to expect people to install new software, especially if it can be done for free over the internet. It's just economics at play.
- imachine1980_ 4y agoThat's not true most manufacters can change the machine yearly but try to change sap for oracle, or your custom solution for sap, and you are spending million of dollars in multi years projects, I'm not expecting free and cheap software to end , but having a game than breaks in 10 years isn't problematic, but pushing delicate software for no reason, that could break in 5 years, becouse is impossible to the customer to know the dependencies of the program, or how robust is under stress test and cybersecurity, means we lack engeniering discipline not economics reasons.
- pca006132 4y agoI think this is purely economic reasons, engineers working on that project is unlikely the people suggesting such a project...
- foul 4y agoSoftware is still easier and cheaper to change than what you'd spend for changing hardware, data and users. It's every time a multi-year project for big programs because of data and accustoming users for their habits and needs.
- mikewarot 4y ago>it can be done for free over the internet. The cost to manufacture an executable is effectively zero, so its easy to incorrectly assume that means there are no costs. The cost to integrate an executable is NEVER zero, there are always costs. Windows is far, FAR less reliable on Wednesday morning because of "Patch Tuesday", this is a substantial and real cost. The same is true for any system that implements "security patches" and feature "upgrades".
- dgb23 4y agoThere are programs, protocols, ecosystems and programmers that favor stability. However seems to be that the closer you get to the user, the less stable and simple things are. It's ironic or maybe even hypocritical of us programmers to prefer stable tools for ourselves, but then move around and break stuff for our users every few months.
- account42 4y agoStability is really something that we need to get a lot better at as programmers. Perhaps accesibility laws/guidelines should limit UI changes for automatic/required updates - you can always have users opt into your shiny newfangled UI if you want, but leave the old one instead of confusing your users.
- stormdennis 4y agoAfter 10 years should farmers have to give away their land for free too?
- 5e92cb50239222b 4y agoIf land could be replicated with a click of a button with close to zero cost, then sure.
- stormdennis 4y agoIf you're implying that the farmer would still have an income then it's not a valid analogy. If I open sourced my software that I've been continuously developing for more than 20 years my income would drop to almost zero, immediately.
- account42 4y agoYour changes made in the last ten years would still be your exclusive monopoly so your revenue would probably not change much if you really have been continously developing it. But even if this would destroy your business model, that doesn't mean it would not be a good idea for society as a whole. Business models become obsolete all the time. If there is enough demand for your software, you will be able to fund the development of it even without might-as-well-be-perpetual exclusive control.
- rndgermandude 4y agoFarmers have to put in constant work to generate revenue. "IP" revenue too often entails create-once-earn-forever. However, "IP" often has a higher upfront investment attached to it, and often is not (as) "scalable", unlike farming. What I am trying to say is that both things are very different in details where it matters, so I think this is a rather flawed analogy. Maybe a closer analogy would be landowners who rent out land. Should a person who bought land 10 years ago be able to generate revenue from renting it to a farmer?
- 2OEH8eoCRo0 4y agoFarmers pay property tax and use the land productively. Property tax is an incentive to use the land productively.
- robertlagrant 4y ago> There are a wide range of programs that broke when Python 2 went away. Python 2 still exists. Those programmes will break if you try and run them on Python 3, but that's not the same.
- nibbleshifter 4y agoA few distros have stopped shipping it in a usable manner in their repos.
- robertlagrant 4y agoIndeed. Additionally, people can install it themselves, or run their programs through a Python 2 Docker image.
- account42 4y ago> Even fully open sources software can't be "repaired" when its dependencies break. There are a wide range of programs that broke when Python 2 went away. Can't? Like physical objects can't be repaired when the parts are no longer sold? There is always a way to repair, just a matter of how difficult it is. Having the sourcee to the application itself is the first difficulty barrier. Source to dependencies would also be helpful, yes. Btw, Python 2 did not go away unless you mean it went away from the default package archives of some Linux distributions - but even there it's not (yet) gone for all of them. The Python 2 sources are still the same as they have always been and while you might need older versions of a few more dependencies, if your really need to have Python 2 you can get it.
- KomoD 4y agoPython 2 didn't "go away", you can still use it without issues.
- intelVISA 4y agoIf you step outside of the myopic web space most well written native code (SYSV ABI) has a decent shelf life.