Follow Me
The Outside The Box blog has moved to WordPress. Update your RSS feed URL.
The Outside The Box blog has moved to WordPress. Update your RSS feed URL.
There is a relationship between what we call something (or someone) and how we feel about it. This relationship works both ways. We use names to convey feelings, but a name can also affect how we feel about something. This leads to some interesting, and sometimes funny, names. For example, it leads to gimmicks like the authoritarian “Democratic People’s Republic of Korea”, and bug fixes called “updates” (or “stability improvements” as I saw recently). Using a craftily devised name to project an image is not new, but I think the practice is abused to such an extent these days that the value of names has become worthless. Furthermore, all the good names are already taken. Therefore, I propose to abolish all names and henceforth use only GUIDs (or for the less democratically inclined, serial numbers issued by a central numbering authority).
I saw in the March 8 edition of the TenLinks Daily newsletter (http://www.tenlinks.com/news/tl_daily.htm) that Alan Kalameja passed away (http://www.postandcourier.com/news/2010/mar/06/deaths-summary/) at age 55. Condolences to his family. Alan hired me to write test questions for an AutoCAD certification exam in the early ’90s (I don’t recall which version, but probably either R12 or R13). That was one of my first real contracting jobs. Although it wasn’t very glamorous, it made me feel important, and undoubtedly helped focus my fledgling consulting business on AutoCAD. Thanks, Alan, for giving me that opportunity.
This post is inspired by a conversation I had with a nephew, and it hearkens to the same nostalgic emotions engendered by the first music video on MTV. I was a young inquisitive child growing up in the 70s in an Amish household. Without access to modern technology, I struggled at age 11 to build an oscillator circuit by using sheet metal cut from an old stovepipe, a 9 volt battery fitted into a piece of 2x6 pine, dynamite wire scavenged from the nearby strip mine, and a speaker and 555 timer IC that I cut out of some electronic equipment dug out of the local garbage dump. The achievement was incredible considering the circumstances, but thinking back, I have very little recollection of the actual consummation of the project. I assume I probably showed it proudly to my friends, who would have been awestruck, but completely ignorant of how it worked or why it was important to me. I simply don’t remember what I did with the project after it was complete. What I do remember fondly is the struggle to achieve; the thrill of the hunt. I struggled to get information. I had obtained a prized 555, but I had to wait for weeks until the next trip to the city so I could stop by Radio Shack to get a pinout of the 555 along with circuit diagrams showing how to use it. Then I had to find components. I had long since built a treasure trove of capacitors and resistors that I had salvaged from discarded electronics, along with a pot full of potentiometers that I could use to adjust the oscillator frequency, but I still had to scavenge for some missing components. The challenges of the quest made the final result more satisfying. It was the search for the holy grail that etched itself into my memory; I barely remember the grail itself. Over the holidays during a family gathering, one of my Amish nephews was anxious to pick my brain. He explained that someone had told him that it’s possible to convert an electric motor into a generator, and so he set out on a quest to build a generator from an old electric motor and a small gasoline engine. The quest involved several letters mailed back and forth between people he knew that might have information about how to go about the task. He tried and tried, but could not get his generator to work. I explained to him how he needed to remove the external circuitry from his motor so that it wouldn’t foul up the results; how he can add a rectifier and a regulator to generate direct current output. The excitement over this new discovery was written all over the young man’s face as he anticipated more adventure. On the way home, I thought to myself that Google could quickly and easily have provided the answers that my nephew sought. But then it occurred to me that Google would also have deprived him of the struggle and adventure of discovery that motivates him to continue the quest. I wonder how many young minds are missing out on the supreme adventure of discovery because we live in a modern culture where all the knowledge in the universe is seemingly already at our fingertips, just a Google search away.
A lot of you are probably having to cut back on your expenses to make ends meet in this economic downturn. I’ve drastically reduced my discretionary spending, postponed the purchase of new office equipment, and investigated less expensive alternatives to a lot of my monthly expense items. I’ve also been streamlining and reorganizing my finances, which inevitably involves a lot of contact with banks. Kean Walmsley’s post about his recent bank customer service issue (http://through-the-interface.typepad.com/through_the_interface/2009/11/turing-test-for-live-bank-chat-failed.html) motivated me to post about one of my recent bank experiences. First of all, I’m here to tell you that banks do make mistakes. I’m sure that the vast majority of the time when your check book doesn’t balance, it was you that made a mistake, and not the bank. But if you are cursed like I am, then banks delight in creating phantom overdrafts and charging you exorbitant overdraft fees, then, when confronted with their error, apologizing and refunding the fees (after the damage is done and all those bounced checks have caused you to incur returned check charges from your creditors). That has happened twice to me in the past two months, with two different banks and two completely unrelated accounts. In both cases, the bank eventually fixed the error, but I’m still out the returned check charges and whatever damage that has done to my credit rating. One of the “returned” payments was a credit card payment. Of course, I did not get notified about this until the day after the payment due date, so it was too late to fix the problem in time to prevent another exorbitant late fee from being charged by the credit card bank. Obviously the returned check triggered some alarms at the credit card bank, because I started receiving phone calls begging me to make a payment immediately. Irritated, I decided to make the credit card bank wait until the next due date before making the replacement payment. I figured my late fee bought me that extra time, so I might as well use it. My patience paid off: after a few futile attempts at collecting their late payment, the bank offered to refund the late fee if I made an immediate payment. That’s what I’m talking about!
I want to consider software licensing practices in general, but with the specific facts and history in the Vernor vs. Autodesk lawsuit as a backdrop. In the Vernor case, Tim Vernor purchased several boxes of AutoCAD software, and never even read, let alone agreed to, the terms of the license agreement inside the box. When Vernor listed the AutoCAD software for sale on Ebay, Autodesk sent Ebay a notice that claimed Vernor’s auction violated Autodesk’s copyright. In order to benefit from the safe harbor provisions of the Digital Millennium Copyright Act (DMCA), Ebay was obligated to remove the auctions. Vernor responded by filing a lawsuit accusing Autodesk of making false copyright violation claims. Additional facts have since come to light. For one, we’ve learned that the AutoCAD software that Vernor purchased had been previously upgraded to a newer version (http://www.cadcourt.com/NewsFeed/tabid/53/EntryID/50/Default.aspx). Vernor did not know this when he purchased the software; and in any case, it’s not clear that this fact has any bearing on the outcome of the suit. Given this set of facts, let’s analyze the Vernor case not from a purely legal perspective, but from a more abstract “moral” perspective. After all, society is the ultimate arbitrator of what is wrong and what is right with respect to our laws. We ultimately determine whether laws are fair by whether we follow them willingly (and whether we put pressure on our legislatures to change them). Steve Johnson opines that Autodesk is morally right (http://www.blog.cadnauseam.com/2009/02/21/vernor-v-autodesk-why-i-think-autodesk-is-right/) in the Vernor case, because the software Vernor purchased was “tainted” due to having been upgraded by the original owner. In Steve’s view… [see Steve’s comment below where he chides me for ascribing this view to him - O.W.] Presumably, one who holds this view sees Vernor’s original purchase as akin to someone purchasing stolen goods. With stolen goods, the law (and hopefully our moral compass) recognizes that the purchaser of the stolen goods has no legal right to them. Autodesk offered the original owner a discounted price for a newer version of AutoCAD in exchange for a promise to destroy the older version. The original owner reneged on its promise to destroy the old version, and sold it to an unwitting buyer instead. It follows that both Autodesk and Tim Vernor were treated unfairly by the company that sold the AutoCAD software to Vernor. Despite the company’s history of using pirated software, Autodesk gave them the benefit of the doubt when selling them a discounted upgrade. Vernor, by all accounts, had no idea and no way of knowing that the software he purchased had been previously upgraded. This is a recipe for disaster. Unfortunately, this sort of disaster is all too common. In many cases, software users simply don’t read license agreements. If they do read license agreements, they don’t understand them. After all, most of us are not lawyers, and we can’t reasonably be expected to hire a lawyer to evaluate the license agreements of every software product we use. How then can we be expected to follow them exactly and without fail? Consider that it’s entirely possible that the company from which Vernor bought his AutoCAD software had no idea that they had agreed to destroy the upgraded AutoCAD software. At least from a moral perspective, we can have some sympathy for the company if they honestly had no idea they were violating any agreements when they sold the software to Vernor. Could Autodesk have required the upgraded AutoCAD software to be returned, or required certification by an independent “software recycler” that it had been destroyed? Sure they could have. In fact, such requirements did exist in the early days of software license agreements. Had Autodesk done so, the Vernor court would probably have concluded that AutoCAD was licensed, not sold. Why even require the old version to be destroyed when upgrading? If we stop using the old version, why shouldn’t we be allowed to sell it at market value? Doesn’t recycling old software make just as much sense as recycling old tires? We have been conditioned to believe that discounted upgrades are good for us, but are they really? Would we accept a legal regime under which tire manufacturers could force us to destroy our old tires as part of the new tire purchase agreement? Oh, you say, that comparison isn’t valid because tires eventually wear out of their own accord, whereas old software continues working forever! First of all, old software doesn’t continue working forever. How many people still use VisiCalc? Furthermore, what would this line of reasoning conclude about potential tires of the future that last forever? We’d have to start licensing tires instead of purchasing them! What would happen if software vendors could not legally prevent “used” software from being resold on the open market, no matter how it was purchased or upgraded? For one, it would increase competition, because new versions of software would be competing not only against software from other vendors, but also against older versions of itself. In a world where software is priced based on what the market will bear, the net effect would be lower prices and higher quality (not to mention less frequent “upgrades”) for all software. I think the Vernor case is just one example illustrating how the current software licensing system has sprung a leak, and is in need of repair. Can it be patched, or does it need to be replaced? Can the bleeding be stopped at the ankle, or should it be stopped it at the neck? This is a classical case of the Petcock Problem. Software industry advocates like the Business Software Alliance (BSA) proclaim that the solution is educating consumers. Education may be important, but I think that “educating consumers” should not be left to an industry alliance. I have some ideas about how the system can be reformed, but I think we have to start by recognizing that there’s a problem.
I’m a firm supporter of intellectual property rights. I fully support the rights of software publishers to own and profit from their creative work. I make my living as both a consumer of software and a publisher of software, so my views on software licensing reflect what I consider to be a healthy symbiosis between producers and consumers. Intellectual property laws are (or should be) designed to protect this symbiotic relationship for the public good. The patent system is designed not to protect patent owners from pirates, but to promote inventions and improvements on previous inventions that benefit the public. The fact that patent laws do help to protect patent owners from pirates is merely a side effect of the underlying goal of promoting the public interest. We, the public, grant exclusive rights to patent owners for a specific time in exchange for them making public the details of their invention. Innovative inventors can thus build on a body of previously published inventions rather than starting from scratch. This system of “open source” innovation speeds the evolution of technology, and everybody benefits from it. Copyright laws must be viewed in the same light. Copyright laws are designed to promote and enhance the public good by encouraging the production and publication of creative works. In exchange for giving copyright owners certain rights for a certain period of time, the public gets to enjoy and build upon a body of creative work. Some argue that the benefit of copyright protection provides a financial incentive to create the works in the first place, and that without such an incentive the works would never be produced at all. While this is undoubtedly true, consider that there are other ways to provide financial incentives (by providing government grants, for example), so I think it’s important to view this aspect of copyright protection as a consequence of the goal to promote the public interest, not as a goal in and of itself. Copyright laws have long recognized a need to prevent copyrights from being abused by providing exceptions to the protection they afford to publishers. The Fair Use doctrine is the most common such exception in US copyright law. The First Sale doctrine (or “exhaustion rule” in some jurisdictions) is another example of a limitation on copyrights. These exceptions and limitations evolved in response to attempts by copyright owners to abuse copyrights in a way that contravened their purpose of promoting the public interest. Software licenses are a relatively new phenomenon, but they rely on very old law: contract law. It is important to understand that a software license agreement is a contract. The commercial software publisher agrees to give us limited and conditional copy rights and authorizes us to use the software in exchange for a fee. If the license agreement that we agreed to authorizes us to install and use the software on one computer, but we install it on ten computers, then we are violating both contract and copyright law (because we copied the software without permission). If the license agreement that we agreed to forbids us to resell the software to someone else, but we decide not to use the software ourselves and sell it anyway, we are violating only contract law (because we made no unauthorized copies). There are several contract law issues typically encountered with software license agreements. First, typical commercial software license agreements suffer from their unilateral nature. The contract is drawn up by the publisher with no negotiation or input from the consumer. Some question whether these are valid contracts in the first place, because they lack the “meeting of the minds” element that some judicial interpretations of contract law require. Second, software license agreements are not usually consummated until after the sale, when the software is finally installed. We purchase the software, essentially committing to our side of the bargain before we even know the terms of the contract to which we must eventually agree in order to use the software. This is inherently unfair, and there are still many unsettled questions about whether or not such a contract can ever be equitable and enforceable. If you’ve been following the Vernor vs. Autodesk lawsuit, you’ll know that the US federal district court in that case ruled that AutoCAD software was sold, not licensed, and therefore subject to the First Sale Doctrine. The First Sale Doctrine says, in essence, that a publisher cannot contractually restrict the downstream resale or distribution of a copyrighted work beyond the “first sale”. The court, at least in its initial ruling, rejected Autodesk’s argument that AutoCAD was licensed, and therefore exempt from the First Sale doctrine. It should be noted that the Vernor lawsuit is far from over, and this first sale decision could well change before the dust settles. The courts will eventually reach a final decision in the specific case of Vernor vs. Autodesk, but why was this lawsuit even necessary in the first place? It’s difficult to envision any outcome in which every injury is rectified. It could even be argued that everybody loses, no matter the outcome. And this is just one case in one jurisdiction. In the end, the final result of the Vernor case may not have much impact on how software is sold. It ultimately comes down to us, the union of consumers, to decide what kind of system we want. Unfortunately, right now we’re doing the software limbo while we wait faithfully for the next service pack. I think that we need more than a service pack. A system restore might be in order.
Bruce Schneier argues that data is the pollution of the information age, and “just as 100 years ago people ignored pollution in our rush to build the Industrial Age, today we’re ignoring data in our rush to build the Information Age.” ...
Many years ago, I worked for the small town where I grew up. My title was Street Commissioner. This is a very small town, and I was a part time employee with one helper. Basically, I was the guy what fixed things. We had a very old network of water pipes that supplied water from several wells. The water system leaked in many places. Occasionally, a small leak turned into a big leak, and something had to be done about it. You might think that the first response to a big water leak would be to close the water valves in order to isolate the leak and prevent the loss of valuable water. Not so fast! First of all, in an interconnected network that had been upgraded and patched by piecework for many decades, it wasn’t always possible for small localized segments to be isolated, and turning off the water for a large area would inevitably lead to discord. Second, closing even a single valve caused pressures throughout the system to change. Any pressure change anywhere in the system had the potential to cause new failures at weak points, which would just compound the problem. Furthermore, at some point repairs could be counterproductive and completely replacing parts of the network would be the best option. This would require time for the town council to approve the funds, and for contractors to be hired, and for the work to be scheduled and completed – all while the leaking water is causing collateral damage to the roadway and inconveniencing the affected residents with low water pressure. Eventually the big leak had to be repaired, and the water had to be turned off somewhere before the repair could be completed. The decision about where and how to accomplish this was not a simple decision, due to the competing factors involved, and the practical realities a small town is faced with. I call this problem the Petcock Problem. Imagine petcock valves scattered throughout a network of pipes. I call this the Petcock Problem because petcock valves typically have three positions, analogous to the notion of closing, opening, or redirecting connections on the network in order to isolate a fault. The Petcock Problem would apply in many situations involving complex networks, such as when a tree knocks down a power line or when an internet router dies. Sometimes the best solution is to isolate the fault to the most localized part of the network possible, thereby inconveniencing the least number of people at the expense of putting the larger network at greater risk of a much larger catastrophe. Sometimes the best solution is to shut down the entire network temporarily, thereby inconveniencing everybody that relies on the network, but removing any risk of further degradation while repairs are completed. Most of the time the best solution is somewhere in between these extremes. As the network ages and faults become more commonplace, at some point the best solution is to scrap the entire network and build a new one. This is the Petcock Problem, or “How do you stop the bleeding?”. The solution involves balancing several variables, some of which are known quantities, some of which are wild guesses, and some of which are potentially very chaotic (in that a small change in value could have an unpredictable impact on the outcome). [Disclaimer: I’m sure that the study of network topologies has its own terms of art and well researched algorithms for describing and solving these types of problems. I’m not claiming to have some new revelation about networks here. This is just my own little custom worldview.] In a future post I will explain how the Petcock Problem applies to something as diverse as the Vernor lawsuit (http://www.cadcourt.com/Docket/207cv01189.aspx).
Of course I’m talking about Autodesk’s newly reinvented nomenclature for bug fixes (http://usa.autodesk.com/adsk/servlet/ps/dl/index?siteID=123112&id=2334435&linkID=9240618). Once upon a time they were known as bug fixes, then service packs, and now “updates”. Is the Autodesk marketing department running amok? The subtle spin is certainly a sign of the times, but I wonder if the change in terminology comes about for another reason as well. Autodesk promises “features extensions (http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=612485)" to subscription customers. They have had difficulty delivering such extensions on a consistent basis. One of the reasons, I suspect, is that developers of extensions encounter the same brick walls that third party developers battle all the time: AutoCAD bugs, of course; but also incomplete APIs and feature limitations. It’s possible that updates not only fix bugs, but also fill gaps so that extension developers can get their extensions working. Then again, the change in terminology might be part of a new fad. My wife, who is an engineer working in the automotive industry, informs me that they no longer issue drawing revisions in her company. Instead, they now issue “updates”. I wonder how long it will be before auto mechanics stop repairing cars and start updating them instead.
InfoWorld columnist and legendary consumer advocate Ed Foster died over the weekend. Ed was a tireless crusader for consumer rights in the digital age, and he will certainly be missed. For many years Ed has authored GripeLine (http://weblog.infoworld.com/gripeline/), where he called companies and politicians to task for abusive anti-consumer practices. I’ve written before about how Ed exposed and publicised shamefully lopsided software license agreements (http://www.gripe2ed.com/scoop/section/Eula), including Autodesk’s and Adobe’s. Recently, Ed commented about the May, 2008 Vernor decision (http://weblog.infoworld.com/gripeline/archives/2008/05/you_can_book_a.html) (see my CAD/Court web site (http://www.cadcourt.com/) for more information about the Vernor case). It will be no easy task to fill Ed’s shoes. We can be certain, though, that his work must go on.
This is a story about my 11 year old son, Nick, and a father’s pride. I coached Nick’s Little League baseball team this year, and now that the regular season is over I’m coaching an 11-12 year old All Star team. Being the youngest on the team, Nick struggles with his self confidence even though he’s an excellent baseball player. He’s not the tallest player, but he’s faster and more athletic than many of his older teammates. Even so, he doesn’t want to take any risks or make any mistakes, and his insecurities often prevent him from performing at his best. A few weeks ago in the league tournament Nick hit a ball against the fence, just short of going over. That was the closest he came all season to hitting one out, and was perhaps the first time he started to believe that it was possible. A few nights after our team was eliminated from the championship tournament, a kid hit a walk off grand slam with 1 out in the bottom of the 6th, down 9 - 6. Nick and I were there to watch it. I heard that the same kid hit one more out of the park later in the tournament. Those were very likely the only two over-the-fence home runs all year in our local league. Sometime during tournament time, Nick’s baseball bat disappeared from the trunk of my car. I suspect he didn’t close the trunk all the way one night, and someone stole it during the night. The following week, in exchange for Nick agreeing to mow the lawn this summer, I bought him a shiny new baseball bat, a new bat bag, and new cleats to replace the old ones with holes in their toes. Nick was itching to play again so he could try out his new toys. Fast forward to the all star team’s second scrimmage earlier this week. In his first at bat, Nick got walked (then stole second, third, and home over the course of the next few pitches). In his second at bat, Nick hit a hard line drive into the gap, and got to second with a stand-up double. It was just a scrimmage, there was no pressure, and Nick was feeling good about himself, perhaps even daring to feel confident in himself. His third time at the plate, Nick crushed the first pitch well over the center field fence amid groans from the opposing team. There was a mixture of surprise and elation among the other players on our team. Some had never seen a player at this level hit a ball over the fence, and I even had to remind them that they were allowed to enter the field to greet Nick as he crossed home plate. The excitement was soon forgotten as the game moved along, until Nick came up to bat again and everyone jokingly told him to hit another home run. And then, with two strikes, two out, and two on, he did it again! It’s amazing how much difference a shiny new bat can make.