Joel Spolsky recently wrote about the “Duct Tape Programmer“:
Duct tape programmers are pragmatic. Zawinski popularized Richard Gabriel’s precept of Worse is Better. A 50%-good solution that people actually have solves more problems and survives longer than a 99% solution that nobody has because it’s in your lab where you’re endlessly polishing the damn thing. Shipping is a feature. A really important feature. Your product must have it.
Joel’s views triggered a series of rants and responses on the pros and cons of the “release early, release often” pattern and the “analysis paralysis” anti-pattern, a phrase that describes exceedingly long timeframe to solution delivery. While I personally prefer the “quick ship” approach, I do utilize the benefits of iterating analysis. Maybe it makes me a diplomatic drone, but I care more about an uncomplicated outcome.
The debacle around the “duct tape” approach to programming led me to a different question. What if the duct tape is red, or more precisely, how does patent-driven red-tapism affect software and technology development? Essentially, why do some programmers patent their work?
Kas Thomas described the concept of a role-based favicon, and why Novell patented it:
I was granted a patent (U.S. Patent No. 7,594,193, “Visual indication of user role in an address bar”) on something that I whimsically call the rolicon.
Okay, but why do this patent? The answer is simpler than you think (and will brand me as a whore in some people’s eyes). I did it for the money. Novell has a liberal bonus program for employees who contribute patent ideas. We’re not talking a few hundreds bucks. We’re talking contribute ten patents, put a child through one year of college.
I have two kids, by the way. One is in college, using my patent bonuses to buy pepperoni pizzas as we speak.
It was a bit unsettling for me, because Novell has been continually contributing to open source projects, and most marginally good programmers I know don’t believe in patents.
Undoubtedly, Michael Jackson was a great performer. He had actually invented and patented the shoe design used as part of his famous Moonwalk.
It makes him a “hacker“, but his “method and means for creating anti-gravity illusion” could have had wider benefits if he would have not patented the design so that other innovators could make the most of it. I can already think how this could have improved the condition of people with arthritis for example.
An anticipated social benefit of patent law is that it creates an incentive to innovate. Ironically, the patent law severely restricts innovation and healthy competition. Patents stimulate monopolies, like Microsoft and many other self-indulgent technology companies. We need to acknowledge that patents should not be a marketing strategy, but unfortunately they are so in consumerism.
Some may suggest that we should abolish the patent system altogether, but I don’t think the big fishes would ever let that happen; otherwise they’ll lose competitive advantage in a lot of lucrative areas. But what if patents were self-expiring? A patent would auto-expire if isn’t used within a certain timeframe less than the default 20 year term of the patent. This should hopefully satisfy the corporate schemers, and all programmers regardless of the colour of their duct tape.