1. 41
  1. 9

    I’m amused that this thread is on the Lobsters front page at exactly the same time as this thread (https://lobste.rs/s/gpzhu8/is_freedom_zero_such_hot_idea), which argues against general purpose computing - on the grounds that some users of software are immoral and the authors of general-purpose software have an obligation to try to prevent these immoral users from using their software, using the mechanism of selective software licensing. This sounds to me a lot like “Make me a general-purpose computer that runs all programs except for one program that freaks me out”, albeit enforced in a somewhat different way.

    1. 7

      Cory always scares me.

      1. 21

        This was from 2012. Arguably, we’re already there. Tons of popular computers run signed bootloaders and won’t run arbitrary code. Popular OS vendors already pluck apps from their walled garden on the whims of freedom-optional sovereignties.

        The civil war came and went and barely anyone took up arms. :(

        1. 5

          It’s not like there won’t always be some subset of developer- and hacker-friendly computers available to us. Sure, iPhones are locked down but there are plenty of cheap Android phones which can be rooted, flashed with new firmware, etc. Same for laptops, there are still plenty to choose from where the TPM can be disabled or controlled.

          Further, open ARM dev boards are getting both very powerful and very cheap. Ironically, it might even be appropriate to thank China and its dirt-cheap manufacturing industry for this freedom since without it, relatively small runs of these tiny complicated computers wouldn’t even be possible.

          1. 10

            This is actually the danger. There will always be a need for machines for developers to use, but the risk is that these machines and the machines for everyone else (who the market seems to think don’t “need” actual control over their computers) will diverge increasingly. “Developer” machines will become more expensive, rarer, harder to find, and not something people who aren’t professional developers (e.g. kids) own.

            We’re already seeing this happen to some extent. There are a large number of people who previously owned PCs but who now own only locked down smartphones and tablets (moreover, even if these devices aren’t locked down, they’re fundamentally oriented towards consumption, as I touched on here).

            Losing the GPC war doesn’t mean non-locked-down machines disappearing; it simply means the percentage of people owning them will decline to a tiny percentage, and thus social irrelevance. The challenge is winning the GPC war for the general public, not just for developers. Apathy makes it feel like we’ve already lost.

            1. 0

              Arguably iPhones are dev friendly in a limited way. if you’re willing to use Xcode, you can develop for your iPhone all you want at no charge.

              1. 7

                Develop for, yes, within the bounds of what Apple deems permissible. But you can’t replace iOS and port Linux or Android to it because the hardware is very locked down. (Yes, you might be able to jailbreak the phone through some bug, until Apple patches it, anyway.)

                Mind you, I’m not bemoaning the fact or chastising Apple or anything. They can do what they want. My original point was just that for every locked-down device that’s really a general-purpose computer inside, there are open alternatives and likely will be as long as there is a market for them and a way to cheaply manufacture them.

                1. 4

                  Absolutely! Even more impressive is that with Android, Google has made such a (mostly) open architecture into a mass market success.

                  However it’s interesting to note that on that very architecture, if you buy an average Android phone, it’s locked down with vendorware such that in order to install what you want you’ll likely have to wipe the entire ecosystem off the phone and substitute an OSS distribution.

                  I get that the point here is that you CAN, but again, most users don’t want the wild wild west. Because, fundamentally, they don’t care. They want devices (and computers) that work.

                  1. 6

                    Google has made such a (mostly) open architecture into a mass market success.

                    Uh, I used to say that until I looked at the history and the present. I think it’s more accurate that they made a proprietary platform on an open core a huge success by tying it into their existing, huge market. They’ve been making it more proprietary over time, too. So, maybe that’s giving them too much credit. I’ll still credit them with their strategy doing more good for open-source or user-controlled phones than their major competitors. I think it’s just a side effect of GPL and them being too cheap to rewrite core at this point, though.

                  2. 2

                    I like to think that companies providing OSes are a bit like states. They have to find a boundary over how much liberty over safety they should set, and that’s not an easy task.

                  3. 3

                    This is not completely true. There are some features you can’t use without an Apple developer account which costs $100/yr. One of those features is NetworkExtension.

                    1. 2

                      friendly in a limited way.

                      OK, so you can take issue with “all you want” but I clearly state at the outset that free development options are limited.

              2. 6

                Over half a million people or 2 out of 100 Americans died in the Civil War. There was little innocent folks in general public could do to prevent it or minimize losses Personally, I found his “civil war” to be less scary. The public can stamp these problems out if they merely care.

                That they consistently are apathetic is what scares me.

                1. 5

                  Agreed 100%.

                  I have no idea what to do. The best solution I think is education. I’m a software engineer. Not the best one ever, but I try my best. I try to be a good computing citizen, using free software whenever possible. Only once did I meet a coworker who shared my values about free software and not putting so much trust in our computing devices - the other 99% of the time, my fellow devs think I’m crazy for giving a damn.

                  Let alone what people without technical backgrounds give a damn about this stuff. If citizens cared and demanded freedom in their software, that would position society much better to handle “software eating the world”.

                  1. 6

                    The freedoms guaranteed by free software were always deeply abstruse and inaccessible for laypeople.

                    Your GNOME desktop can be 100% GPL and it will still be nearly impossible for you to even try to change anything about it; even locating the source code for any given feature is hard.

                    That’s not to say free software isn’t important or beneficial—it’s a crucial and historical movement. But it’s sad that it takes so much expertise to alter and recompile a typical program.

                    GNU started with an ambition to have a user desktop system that’s extensible and hackable via Lisp or Scheme. That didn’t really happen, outside of Emacs.

                    1. 6

                      Your GNOME desktop can be 100% GPL and it will still be nearly impossible for you to even try to change anything about it; even locating the source code for any given feature is hard.

                      I tried to see how true that is with a random feature. I picked brightness setting in the system status area. Finding the source for this was not so hard, it took me a few minutes (turns out it is JavaScript). Of course it would have been better if there was something similar to browser developer tools somewhere.

                      Modifying it would probably be harder since I can’t find a file called brightness.js on my machine. I suppose they pack the JavaScript code somehow…

                      About 10 years ago (before it switched to ELF) I used Minix3 as my main OS for about a year. It was very hackable. We did something called “tracking current” (which apparently is still possible): the source code for the whole OS was on the disk and it was easy to modify and recompile everything. I wish more systems worked like this.

                      1. 6

                        Remember when the One Laptop Per Child device was going to have a “view source” button on every activity?

                        1. 1

                          Oh yes, that would have been so nice…

                2. 3

                  Cory always brings so much more work that needs to be done to the table.

                3. 3
                  1. 2

                    Gotta wonder if this might actually work in our favor with the current de-regulation crazy administration and congress in control?

                    Thinking about it, I think they’re even MORE BigCorp crazy, so that will Trump the first impulse.

                    1. 5

                      People that want open systems actually buying open systems would be a start. Right now, they buy the closed systems for various advantages they have. Most didn’t start that good, though: they got there through years of R&D and improvements fueled by selling their product. The open products can only get there with our help.

                      Although RISC-V is current favorite, there was also non-Intel CPU’s with Open Firmware. A few were even GPL at various times. People didn’t buy them when they were available since a volume product from Intel/AMD/ARM/MIPS was (insert trait here). Between that and prior failures (eg BiiN, Itanium), investors stopped fabbing them since they thought nobody would buy them. Advocates of ethical, open hardware didn’t pool money together to get that started either.

                      Absent regulations, it looks like the market is getting exactly what it should expect buying goods from evil, scheming companies. Then, some of them gripe about the evil schemes that follow. The market side of solution remains: start and/or buy open and/or ethical solutions. For long-term assurances, buy from companies or nonprofits chartered to stay open, avoid lock-in, etc.

                      1. 3

                        Although RISC-V is current favorite

                        I looked at Risc-V boards, but all the currently available devices have firmware blobs for various non-CPU components on the board. From a purist perspective, Hi-Five’s board is hardly better than most ARM boards. I am very hopeful for the future of Risc-V, though.

                        The market side of solution remains: start and/or buy open and/or ethical solutions.

                        This is arguably happening. The problem is that so few devices meet a purist’s standards, so you typically have to compromise in one way or another. There are a few online stores that traffic in Thinkpad X200s and Asus KGPE-D16s. And of course the Talos II has finally made it to market.

                        1. 2

                          Although true for purists, pragmatists might take the blobs if the open core had stuff like IO/MMU to mitigate some risk. There’s definitely stuff happening on demand side. That’s good news.

                        2. 2

                          I’m always super cautious about ascribing concepts like good or evil to corporations. Corporations exist to make money. Some corporations have figured out that maximizing value to their customers can also mean being good citizens in the ecosystems, nations, and PLANETS in which they operate.

                          I mean, what this really boils down to is: Is capitalism inherently bad? I almost feel like this impulse towards “Profit = EVIL” should go down as one of the biggest geek social myths of all time.

                          While I’d love to live in some kind of luxury space communism based society where material things are essentially valueless and we can all have whatever we want whenever we want, we’ve a long way to go before we get there.

                          (And don’t start talking about how we can 3D print everything now, because we can’t. We can 3D print more and more things every day, but it’s neither easy nor cost effective when you get away from the kinds of plastics that have been commoditized for that purpose.)

                          There exist companies like System76 and Purism that cater to the “truly open” market, but the fact is most people simply don’t care and arguably they SHOULDN’T care so long as their needs are being met.

                          “totally open” only matters to us mad scientist types who want to tinker with EVERYTHING. I agree that our needs should be met too, but we shouldn’t project our needs onto the market at large.

                          1. 2

                            “totally open” only matters to us mad scientist types who want to tinker with EVERYTHING

                            Openness also seems to matter to the cloud business? Judging by Google’s interest in things like LinuxBoot and POWER at least.

                            1. 1

                              The topic of this article (and hopefully this discussion :) is general purpose computers. As in, a computer you can walk up to and run random programs on.

                              Nobody disagrees that openness is important. Lobsters wouldn’t exist without open source, and the Linux universe a huge chunk of us make our living off of depends upon it as well, but SPECIFICALLY talking about general purpose computers that humans buy to perform every day tasks, I’d argue that having a 100% open architecture is utterly meaningless to easily 99% of their userbase.

                              1. 1

                                Do remember the cloud business is already customizing boards and maybe even chips on a regular basis. Intel and AMD allow that through their semi-custom service. The ARM and MIPS suppliers stay doing that. They’re seriously performance, feature, and cost competitive on top of it with low-level optimizations being part of that. Put it all together, there’s good reasons for cloud market to look into open CPU’s. I think they’ll need to be fully-built, cost-effective performance, and support easy addition of acceleration engines. Cavium is in best position to do a RISC-V SoC like this but they did MIPS and ARM for ecosystems instead.

                              2. 2

                                (Waited till I got home to respond to this. It deserves more effort. :)

                                It’s good to be cautious about it. There’s all kinds of ways to look at morality. I feel you on that. As I thought about it, I realized there was a lot of common ground among the majority of people. Focusing on that could help.

                                So, an easy one to leverage that’s already established in our intuition and legal system is fraud. An evil company promises one thing to the seller but doesn’t deliver it at all or as promised. This might be performance, quality, support/service, or something where screwups are easy to assess. An extension of this is the company tries to use legal or technological means to prevent customers from assessing that or shut down negative reports. I mean, a fundamental assumption for the market for goods is you should know what you’re getting, have a chance at assessing its value, and complete a transaction on it.

                                We could nail lots of companies with just that rule. Especially in EDA or embedded SoC’s where they try to use NDA’s on all kinds of things. From there, I might add protocols or storage formats have to be open to block lockin. It also preserves competitiveness by allowing solutions to be plug and play. We might also reduce copyright, patent, or EULA restrictions on basis that owners only get such protections if they’re acting reasonable. One example is Oracle wanting a billion dollars for a few lines of code in a system depending on millions of them or twenty something per phone when profit is around thirty with their patent being one of 250,000. Obviously, these numbers in no way represent Oracle’s contribution to the platform. Even a dollar a patent would be more than the funding of a startup in that sector. We can look at stuff like that, even progressive schemes where people pay as they grow. We can be flexible. Thing is, the greedy companies are so epically full of shit that even basic, common sense stuff will knock out lots of their schemes while minimally affecting well-run companies or true innovators.

                                “Is capitalism inherently bad?”

                                Yes if you’re going by the interpretation of always increasing gain for yourself at expense of others with no limit. It provably leads to evil on a massive scale. When you combine that with capitalist media, it gets worse in a self-sustaining way. One [biased] source I like on it just for the anecdotes is the documentary The Corporation. I listed some highlights from it in this comment answering a similar question.

                                “There exist companies like System76 and Purism that cater to the “truly open” market, but the fact is most people simply don’t care and arguably they SHOULDN’T care so long as their needs are being met. “totally open” only matters to us mad scientist types who want to tinker with EVERYTHING. “

                                The people who built the proprietary systems of the richest, tech companies usually had source and/or hardware control. The creatives probably wouldn’t do as good a job if their already-paid service started showing them ads more often. The TPM-powered solutions industry wanted stopping most forms of sharing, making you pay for stuff multiple times, not letting you record stuff, and so on would probably be opposed by the masses. Most companies locked in to inferior products that they built stuff on long ago don’t like that fact so much as tolerate it out of necessity. It hurts their ability to move fast and profit off of things.

                                You can find a lot of damage that always-closed platforms do vs open, tinkerable ones if you focus on peoples needs, wants, and goals. A well-designed, commercial platform that had source where third-parties can extend or integrate it will always have more potential for those people than one that’s arbitrarily limited. People don’t care since tech people don’t speak their language focusing on their goals. I’ve been learning to do that over past few years. I mean, it will still be an uphill battle. I’m just saying things like I just wrote get “Oh yeah, that’s aggravating!” or “That could be really cool!” reactions from people instead of blank stares wondering whether to be impressed, confused, or annoyed by impenetrable jargon or politics that can’t mean anything in real world. If value proposition was same, people almost always prefer the device which also let them fix it cheap, customize it easily (maybe via friend or company), not leak their stuff, and not force unnecessary upgrades. Or make them buy a new charger. ;)

                                1. 2

                                  There are more people that care about “totally open” than tinkerers. You have a coalition between tinkerers, people who believe closed source software and/or lockdown is unethical, and people for whom blobs pose an unacceptable security hazard.

                                  Raptor is apparently a major customer of their own Talos II product, due to untenable security concerns around unauditable blobs on x86.

                                  1. 1

                                    As to the confluence you speak of - the people in your first paragraph still amount to no more than 1% of the consumer computing market.

                                    As to the next paragraph about companies embracing open - speaking as a worker bee in the employ of a rather large corporate overlord, I can say from experience that there are many varieties of “open”.

                                    There’s “We have published full specs, firmware, circuit diagrams, and microcode on Github”

                                    And then there’s “We will provide YOU, $MEGACORP with source code and materials to all of our products so you can conduct a full security audit”. This happens a LOT.