1. 13

  2. 4

    I think Number 2 is far too often overlooked, especially in open source.

    The Linux Kernel is one of those shining beacons of sanity when it comes to backwards compatibility.

    1. 2

      Lesson #1. Optimize the most common operations

      But still they got reputation of making slow, bloated software. Word 1.0 is some iconic example of “best of Microsoft” everyone talks about, but after 2000 Office became slow and bloated.

      Lesson #2. Make it backwards compatible

      Nowadays no one wants to use outdated software. Using program found on 20-years old CD-ROM is considered bad practice. Auto-updates are released on each commit. If developer stopped releasing updates for 6 months, it’s considered dead software not worth using. If it parses files and accesses network, it requires fixing vulnerabilities (which has logos now!) and releasing security fixes every day.

      I don’t know how to think about this trend. Enterprise users require to use legacy software in binary form from 20-30 years ago. Sometimes I want to run old games from 90s (without released source code). Treating software which had no releases yesterday as dead is not right. But Microsoft has absolutism in backwards compatibility. Windows still has “special file names” like con, prn, which is for compatibility with CP/M, not even MS-DOS.

      1. 3

        Nowadays no one wants to use outdated software.

        Who is “no one?” Most businesses run on old software as you indicated later. Most lay people seem to upgrade critical software when they’re forced to or the new one offers compelling benefits. There’s a huge market for software focused on doing one or a few things well that doesn’t change much. Word and Excel are decent examples where many folks would buy a dirt-cheap version of either for college homework if they could be sure whatever file it outputs was accepted. I was one of the people using an Office version that was several generations behind since it was lightening fast with a UI I understood very well. I used OpenOffice for non-legacy stuff, though.

      2. 1

        re: always be considerate (ABC): while providing a language that does not enforce static types may have been “considerate” for user adoption, it has left us with a world where a frightening portion of major fiscal and scientific operations are carried out in a tool where writing correct software requires a lot of skill.

        Maybe it’s considerate and expedient, but is it right?

        1. -2

          Lesson #0: be dishonnest and steal a lot of money

          1. 2

            Can you clarify this statement, what are you referring to?

            1. 12

              I don’t know about blatantly stealing money, but Microsoft has a long history of doing sketchy things typical of big businesses in other industries, and fighting it out in court. Lots of anti-competitive stuff, especially taking advantage of their large Windows install base to fuck over other companies. Things like intentionally breaking compatibility with competing software.

              In his finding of facts for United States v. Microsoft, Judge Jackson determined that because of IBM’s marketing of Lotus SmartSuite, and other alternatives to Microsoft products (like World Book electronic encyclopedia instead of Microsoft’s Encarta[8]), Microsoft “punished the IBM PC Company with higher prices, a late license for Windows 95, and the withholding of technical and marketing support.”[9]


              I don’t know how old you are but you might remember similar stuff happening with Netscape Navigator / Mozilla Firefox vs Internet Explorer in the late 90s.

              1. 3

                I refer to between other things to the secret contract that microsoft has with OEM which makes you can’t basically buy a PC without paying windows.

              2. 1

                I’ll add to your statement that the big firms with billions of dollars to change the world as they see fit got it through lots of dishonesty that wouldn’t fly in FOSS-driven organizations. So, the best way to get a lot done might be encouraging people to make piles of money by any means necessary to later make some improvements to the software or physical world. Even more true when one thinks about the effects of lobbying such as the recent purchase of the FCC by a handful of companies in private industry. ;)

                1. 1

                  Basically you are making the classical justification of the means by the ends. Nothing new under the sun.

                  1. 1

                    Exactly. Best way to operate in capitalist systems if wanting to influence them heavily. Idealists mostly end up writing blog posts griping about what successful capitalists are doing. They might even get successful but not majorly influential. Any exceptions are extra rare.

                    1. 1

                      Strongly disagree, the best way to operate in capitalist systems is to make their best sabotage it. Definetily it will work in the long run.

                      1. 1

                        This one in U.S. has had a long run. The capitalists have won most of the time. They also have people working nonstop in Congress and courts on their agenda with media distracting their opponents who act much less. The combo of legal activity plus media influence has given them more victories over time as their opponents argue among themselves over details of media’s viewpoints instead of fact it’s a plutocracy. The saboteurs’ small victories are often reversed later with ease like we saw with civil rights vs Patriot Act earlier with Wheeler and net neutrality recently.

                        Your recommendation has been failing. Whereas, new capitalists have shaken up older ones regularly. Older ones taking new directions after markets, individuals, and so on convince them to also did this. The best strategy in a system is the one that produces results. I don’t like the necessary evil approach but it’s what works. It’s not like they can’t otherwise do good as capitalists. They just need something generating massive flow of money to use to accomplish their goals.

                2. 1

                  Gates turned out to be a real Robin Hood

                  1. 2

                    Robin Hood wouldn’t bring us a Windows Tax that robs the poor and rich alike. That includes many in desperate circumstances who might have escaped them if monopolies and oligopolies like Bill’s didn’t ensure they’d face higher-than-necessary cost of living plus barriers to escaping them. More like he robbed everyone from the poor to the rich to make a fortune he later started giving to poorer groups of people to solve some of their problems.

                    1. 1

                      a robin hood who stole to the poor, it’s a shiny new concept.

                      1. 1

                        What kind of poverty includes a windows licence? Pre mobile phone era when he made his money poor people didn’t have computers, and generally didn’t deal with anyone who did. I think you’re imagining something very different to me when you speak of poverty.

                        Bill has personally given away over 28 billion usd, largely to help the poor (and reasonably effectively, too).

                        1. 1

                          poverty as in the second half of the population in any western country. For sure, the windows licence is not a problem for multimillionnaire companies.

                          If he was able to give 28 billion usd, it is because it take them to someone first.

                          You probably have some of classical robin hood behavior which is take to the poor to give to the poorest.