Hacker News new | ask | show | jobs
by pdonis 2594 days ago
Searls says that the fight for general purpose computing is the one most worth having: but I think he's using a definition of "general purpose computing" that most non-developers won't even understand, much less agree with.

The problem is that development is an extremely special purpose--one that most people don't do and don't understand the needs of. As a developer, I want a level of control over every aspect of my computer that most people don't want, need, or even think of. To most people, "general purpose computing" just means their computer (or more likely their phone, these days) can run any app they want it to run. It doesn't mean what Searls (and the people whose articles he references, like Doctorow) takes it to mean.

And to the ordinary person, the idea that it is essential to society that developers have the freedom to configure their computers however they want, regardless of what the government or some corporation says, doesn't sound like something worth fighting for; it sounds like something scary. They don't think of Stallman developing Gnu or Linus Torvalds developing Linux; they think of computer viruses and worms running rampant.

1 comments

Maybe we can at least make sure that the next generation of children get it, or at least the kids that we are close to. This is on my mind because I have five nieces and one nephew, all of whom are less than five years old. I gave three of them Amazon tablets the Christmas before last, and have come to regret it. I will do what I can to make sure that their next computers will be general-purpose as we developers understand it.

It may be worthwhile to reflect on my own early experience with computers. In 1988, when I was almost 8, my family's first computer was an Apple IIGS. As I explained in my personal retrospective on that machine a few years ago [1], that machine had kind of a split personality, because it combined compatibility with the earlier 8-bit Apple II models with a more or less Mac-like, native 16-bit environment. The legacy 8-bit environment included BASIC in ROM, whereas the native 16-bit environment could only be programmed with a dedicated development environment that wasn't included with the computer. Of course, even many 8-bit Apple II programs were written in assembly language and were locked down to varying degrees (e.g. copy protection, no easy way to break into the BASIC interpreter). But at least that BASIC interpreter was available in the 8-bit environment. So the 16-bit environment represented another step in the direction of separating users from developers.

I remember one experience that, I think, helped spark my interest in programming. One day when I was about 8, my uncle Eric was over at our house, and he brought with him a disk full of 8-bit Apple II games. One of those games was written in BASIC and somehow involved shapes crudely rendered in text mode (I don't remember anything else about the game). He had modified those shapes to bear the names of his kids. That was interesting all by itself. But then, if I remember correctly, he went in and modified the game to show the names of my siblings and me instead. These days, we call this live coding. And with most off-the-shelf software now, it's impossible. If we can fix this for free software, I think more people will be enthusiastic about it. Of course, the specific example I recounted here is pretty trivial, but the lesson is clear: we need to make it practical for people to modify the software they use every day, on the fly, with low friction. Then, the freedom to modify software will matter to more people.

[1]: https://mwcampbell.us/blog/apple-iigs.html