kragen-software.html (11882B)
1 <!--#include virtual="/server/header.html" --> 2 <!-- Parent-Version: 1.96 --> 3 <!-- This page is derived from /server/standards/boilerplate.html --> 4 <!--#set var="TAGS" value="thirdparty" --> 5 <!--#set var="DISABLE_TOP_ADDENDUM" value="yes" --> 6 <title>People, Places, Things and Ideas 7 - GNU Project - Free Software Foundation</title> 8 <!--#include virtual="/philosophy/po/kragen-software.translist" --> 9 <!--#include virtual="/server/banner.html" --> 10 <!--#include virtual="/philosophy/ph-breadcrumb.html" --> 11 <!--GNUN: OUT-OF-DATE NOTICE--> 12 <!--#include virtual="/server/top-addendum.html" --> 13 <div class="article reduced-width"> 14 <h2>People, Places, Things and Ideas</h2> 15 16 <address class="byline"> 17 by Kragen Sitaker 18 <a href="mailto:kragen@pobox.com"><kragen@pobox.com></a> 19 </address> 20 21 <h3 id="SEC1">Software</h3> 22 <p> 23 Software is ideas. Information. It's different from people, places, 24 and things; it's infinitely reduplicable like fire, at almost no cost. 25 This is a truism, even a cliche. But it seems that there are 26 particular consequences that aren't well-explored. 27 </p> 28 <p> 29 One is that it doesn't work well to sell it the way you sell slaves, 30 places, and things; any of your customers can make an unbounded number 31 of copies at cost, or less. Market friction currently makes selling 32 software a viable business model. Perhaps branding does, too; there's 33 a question as to whether Red Hat sells CDs for $50 because people like 34 Red Hat's brand, or just because they don't know they can buy 35 essentially the same CD from CheapBytes for $2. 36 </p> 37 38 <h3 id="SEC2">The past and the present</h3> 39 <p> 40 The traditional way to deal with this is to lock ideas up inside 41 people, places, and things. A lawyer can get quite a bit of money 42 simply for spitting out the appropriate ideas, not doing any actual 43 creative work, or simply for applying rote procedures—most 44 wills reportedly fall in this category. I have to go to the Georgia 45 O'Keeffe Museum to see old Georgia's paintings, because they don't 46 allow photography. Then they can charge me admission. (Great museum, 47 by the way. If you go there, don't get the four-day pass; their 48 collection is rather small.) A book can be sold for more than the 49 cost of printing it because the ideas are difficult to separate from 50 their physical manifestation. 51 </p> 52 <p> 53 Software makes it much easier to separate ideas from people, places, 54 and things. If I buy my computer to send email with, and I want to 55 make fractals, I don't have to buy a new fractal machine. I just have 56 to download some fractal software. If I want to calculate the yield 57 force of a strut, I don't have to hire a structural engineer; I can 58 download some <abbr title="Finite element analysis">FEA</abbr> 59 software and simulate stressing it until it yields. I don't have to 60 go to a museum to look at my neighbor's fractals; I can just pull them 61 up on my screen. (Once I download them, of course.) 62 </p> 63 <p> 64 This is a spectacular change. 65 </p> 66 67 <h3 id="SEC3">Software locked up: the future?</h3> 68 <p> 69 And it was the nature of computer applications, in general, until 70 recently. But now we have the Web, and people are talking a lot about 71 application-specific embedded computers. Suddenly people can deliver 72 applications like the ones they used to deliver as computer software, 73 but they can lock up the software—the ideas—inside 74 places and things. 75 </p> 76 <p> 77 As an example, I have a CD-ROM containing aggregated US phone 78 listings. Given sufficient time and expertise, I can extract these 79 phone listings and put them up on a web site. (I need to 80 reverse-engineer the database structure they're stored in first.) I 81 can run correlation tests to see if people with certain last names tend 82 to have more biased exchange distributions within a city. (Which would 83 indicate that they lived close to their families, perhaps, or that the 84 city was ethnically segregated.) I can find out which spelling of 85 Cathy is most popular (Kathy? Cathi?), and I can see if people's 86 choices of spellings of Cathy are correlated with their last names. 87 </p> 88 <p> 89 There are also several web sites containing the same set of phone 90 listings, or newer versions. I can't do any of these things with 91 these web sites, because the phone listings—an idea—are 92 locked up in the web site—a place or a thing, depending on 93 how you look at it. 94 </p> 95 <p> 96 Another tack is to lock information up in things. The 97 <abbr title="National Security Agency">NSA</abbr>'s Skipjack algorithm 98 was classified for several years; implementations were widely 99 available, but only in special hardened devices. This allowed them to 100 deploy it widely behind the iron curtain that surrounds classified 101 research, and they intended to deploy it widely in the outside world, 102 too. (So far, I'm outside that curtain.) Recently, circumstances 103 forced them to distribute software implementations of Skipjack, and so 104 they declassified it. (See 105 <a href="https://www.schneier.com/crypto-gram/archives/1998/0715.html#skip"> 106 schneier.com [archived]</a> 107 for more.) 108 </p> 109 110 <h3 id="SEC4">Why I don't like this</h3> 111 <p> 112 Having the phone book myself gives me more freedom. On the other hand, 113 it also requires me to install software on my machine, giving that 114 software some degree of control over my machine. In this particular 115 case, the software runs under Win95, so it demands complete control 116 over my machine. So it's actually considerably more convenient for me 117 to just visit the web page and fill out a form to look up someone's 118 phone number. 119 </p> 120 <p> 121 Information in things is also considerably more convenient than 122 information in software; a special-purpose thing is often considerably 123 easier to use for that purpose than a general-purpose computer is. 124 Because of this, many industry pundits have been forecasting that 125 general-purpose computers will fall out of use in favor of 126 special-purpose devices. 127 </p> 128 <p> 129 I'm somewhat worried about this trend. I like using general-purpose 130 computers—though admittedly they are often difficult to use. 131 I like the freedom it gives me. The computer is just an extension of 132 my mind. 133 </p> 134 <p> 135 Web sites and special-purpose hardware are not like this. They do not 136 give me the same freedoms general-purpose computers do. If the trend 137 were to continue to the extent the pundits project, more and more of 138 what I do today with my computer will be done by special-purpose things 139 and remote servers. 140 </p> 141 <p> 142 What does freedom of software mean in such an environment? Surely it's 143 not wrong to run a Web site without offering my software and databases 144 for download. (Even if it were, it might not be feasible for most 145 people to download them. IBM's patent server has a many-terabyte 146 database behind it.) 147 </p> 148 <p> 149 I believe that software—open-source software, in 150 particular—has the potential to give individuals significantly more 151 control over their own lives, because it consists of ideas, not 152 people, places, or things. The trend toward special-purpose devices 153 and remote servers could reverse that. 154 </p> 155 <p> 156 What does it mean to have free software burned into a ROM? Is the 157 software still free if I have to desolder the ROM to read the source 158 code and burn a new ROM to run a modified version? What does it mean 159 to have free software running a remotely-accessible application on a 160 Web server? Even with the best of intentions, these technologies seem 161 make it difficult to give people the same kind of freedom they enjoy 162 with PCs. 163 </p> 164 165 <h3 id="SEC5">How to fight it</h3> 166 <p> 167 It's more expensive to buy a new device than it is to download software 168 and install it on my machine. So people won't use special-purpose devices 169 if they provide no advantages. 170 </p> 171 <p> 172 But they do provide advantages. They're *much* easier to use than 173 current general-purpose computers. A button for every function; no 174 funny modes in which the buttons do something else, or nothing. A 175 display for every state variable; you don't have to click on things to 176 make them visible. I suspect that this is not an inherent limitation 177 of general-purpose computers, but a limitation of their current state. 178 </p> 179 <p> 180 Another big issue is that they just work. General-purpose computers 181 often don't, particularly when running Microsoft OSes. Even in the 182 best case, you still have to do a couple of seconds of irrelevant 183 stuff before getting to work on what you want to work on—typing 184 a letter or whatever. More typically, you have to click around 185 for ten seconds or so. At worst, you have to reinstall Windows and 186 the application, reconfigure some peripherals, and reinstall their 187 drivers before you can get anything done. 188 </p> 189 <p> 190 A third big issue is that they require software installation. If I 191 want to start using my machine for writing email different, I have to 192 install email software on it. While this is considerably less 193 expensive than buying a special-purpose email machine, it's 194 considerably less uncomfortable, intimidating, and confusing. (Or so 195 I'm told.) It also takes longer. 196 </p> 197 <p> 198 If general-purpose computers are to survive the onslaught of tiny, 199 cheap special-purpose boxes, they must become as easy to use, reliable, 200 and easy to install software on as those special-purpose boxes. 201 This requires a totally different operating environment than anything 202 we're using on the desktop today; not surprisingly, GNU/Linux is closer 203 than anything else I've used. (Squeak might be even better, but I 204 haven't tried it yet.) But GNU/Linux is an incredibly long way away. 205 This will require different hardware as well as different software. 206 </p> 207 <p> 208 The forces behind remote servers are similar—ease of use 209 because of uniform interfaces through a web browser, “just 210 working,” and no installation—just using. But they have 211 a couple of other advantages as well: they can provide services that 212 require massive storage or computational resources that can't 213 reasonably be provided on your own machine, unless you want to spend 214 wads of cash. (Downloading AltaVista's database every day would be a 215 very inefficient way to search the Web.) 216 </p> 217 <p> 218 I think these extra advantages are probably impossible to overcome at 219 the moment—although I'm interested in research on distributing 220 big computational jobs over many machines. 221 </p> 222 </div> 223 224 </div><!-- for id="content", starts in the include above --> 225 <!--#include virtual="/server/footer.html" --> 226 <div id="footer" role="contentinfo"> 227 <div class="unprintable"> 228 229 <p>Please send general FSF & GNU inquiries to 230 <a href="mailto:gnu@gnu.org"><gnu@gnu.org></a>. 231 There are also <a href="/contact/">other ways to contact</a> 232 the FSF. Broken links and other corrections or suggestions can be sent 233 to <a href="mailto:webmasters@gnu.org"><webmasters@gnu.org></a>.</p> 234 235 <p><!-- TRANSLATORS: Ignore the original text in this paragraph, 236 replace it with the translation of these two: 237 238 We work hard and do our best to provide accurate, good quality 239 translations. However, we are not exempt from imperfection. 240 Please send your comments and general suggestions in this regard 241 to <a href="mailto:web-translators@gnu.org"> 242 <web-translators@gnu.org></a>.</p> 243 244 <p>For information on coordinating and contributing translations of 245 our web pages, see <a 246 href="/server/standards/README.translations.html">Translations 247 README</a>. --> 248 Please see the <a 249 href="/server/standards/README.translations.html">Translations 250 README</a> for information on coordinating and contributing translations 251 of this article.</p> 252 </div> 253 254 <p>This text is in the public domain.</p> 255 256 <!--#include virtual="/server/bottom-notes.html" --> 257 258 <p class="unprintable">Updated: 259 <!-- timestamp start --> 260 $Date: 2021/10/02 08:31:21 $ 261 <!-- timestamp end --> 262 </p> 263 </div> 264 </div><!-- for class="inner", starts in the banner include --> 265 </body> 266 </html>