Saturday, July 18, 2009

“Theft”

What is theft, really?  From my perspective, theft is removing an item from a person or organization without their consent.  It does not necessarily dictate that the thief keep that item, or what happens to it after it has left the protection of the original owner.

He drinks your screwdriver.  He drinks it up.

Why am I trying to define this term?  I am trying to figure out why it seems many people object to stealing software, and why others seem to think it is okay.  I am also trying to figure out which side I am on (although my natural instinct is to justify my past actions by saying it’s okay).  At the moment, I am thinking that it’s the business model and economics of software that eventually need to change, and not the morals of all the download-happy, wAreZ surfing, iso-kiddies.

Analyzing a few scenarios

But all I have are ogg vorbis files! :(

So what happens when an item gets stolen in the real world? Well one person physically removes that item from the store or person, and then either keeps it for themselves, or sells it.  The person who originally either created or bought that item, now doesn’t have it.  That original owner has lost some quality of life simply because another person decided they wanted it.

In contrast, what happens when a piece of software gets “stolen”?  Digitally, each bit is accessed and copied from one medium to another, creating an exact duplicate.  That duplicate is then usually made accessible to the internet, which then allows other computers to access and copy each bit for the purpose of storage on their own machines.

In the first case (“real world” stealing) – after the “act” is carried out, there is still one item in existence.  That item is now in the hands of the thief and not the rightful owner.  In the second case, there are now a total of 3 copies.  One, still unchanged, in the owner’s possession, one in the “thief’s” hands, and one for the person who downloaded from the internet.

Copying software in this way doesn’t harm the original person’s quality of life.  In the case that the original owner created that item, it will cause them to have a harder time selling it if the copies start getting widespread visibility.

OSX Leopard on Windows 7

Motivation

Getting paid is clearly the main problem people have with copying.  The copier doesn’t (usually) pay the creator for that software.  Yet, the creator obviously spent many hours out of their life creating it.  They deserve some sort of compensation for their contribution to mankind.  If this person got no compensation for the work he/she did, there would be no real motivation to do it.  It would make more economic sense to work at a company and get paid a steady salary.

I will assume that last paragraph’s statement is agreed upon because anyone against it would be proposing that we start being communists.  We need money to motivate us in a capitalist society!

Without the creator making the software/music/video/etc for the masses, nobody would be able to copy and enjoy it.  However, copying is so easy in this digital age, that I believe it is unreasonable to simply expect people to just not copy this stuff.

“Real World” Analogy

What is the “Real World” analogy to software piracy?  I think it would be like someone inventing an “Atom Copying” machine.  If someone could go into a store, scan a product, and then leave with an exact replica of that item, it would be comparable.  Now keep in mind, that each scan costs the user some small price, but they don’t pay the creator this price.  Obviously the store keepers would start getting angry that people keep walking into their store, scanning items, and walking away with a copy!

Are laws really the best solution, though?  If this “atom-copier” happened, I think we might need to re-think commerce.  If we can copy anything, couldn’t we then copy things like food, and then ship it to 3rd world countries?  We could copy the dollar bills in our pockets to make more money!  The whole economy would collapse!  I suppose the new form of currency would be the raw materials the machine needed to create these things.

Although software hasn’t caused the whole world economy to collapse, it certainly seems to have shaken up the music/movie industry.  They have relied upon the fact that people can’t get their hands on unlimited listening of their music or watching of their movies without paying them.  I think this is a shaky assumption – and has clearly been broken down by the invention of bit torrent.

What to Do?

So what do we do about the current situation?  The people who get media from the creators would like for them to make money.  They just don’t want to (or can’t) pay them themselves.  My current thinking is that we need to start creating things that cannot be copied.  We need to create value for people that they can’t do for free (like copying bits).  Now that we cannot charge for copying bits, we need to think of another way to create that value.  The fact that copying bits is so easy sets off a signal in my brain that it no longer has monetary value.  It’s the “idea” that counts in this case.  Obviously, I am getting at “intellectual property” now, but I am not sure it should work the same way it does currently.

Should there be some sort of government setup for people creating ideas?  Sounds like a law to me.  I really would like to avoid arbitrary laws to keep society functioning – it always seems to fight the natural flow of humanity and eventually becomes more hassle than it’s worth.

Maybe we just need to set up web services that force the user to pay.  Just simply arranging 1’s and 0’s in a particular order is not really enough to make money.  If we have a web-based application, we can require a log-in, and then most of the code is on the server anyway – so there is no way that anyone can copy that asset.  The downside to this is forcing a hosting fee for your entire user-base.  That sucks!  Now you have an O(N) cost complexity just because you don’t want people stealing your software!

However, if you think about it, regular products have an O(N) complexity for their users as well.  They need to physically produce each product they create and then physically ship each of those items to the proper location to be sold.  The lack of this process is partially why we like software, but for now it might be required to enforce morals on the seething masses.

So anyway, I have thoroughly confused myself about the subject, so I would like some feedback if anyone is so inclined.  What do you think we could do to take advantage of our awesome technology of file-sharing, while also paying the developers that make awesome software?

Wednesday, April 1, 2009

Working at Union Pacific

Recent Happenings


So anyway, it turns out I'm now in Omaha working at Union Pacific. It's a railroad company, and its actually pretty cool. I am working on a very crucial product for the business (it's called PTC or Positive Train Control).

I am being challenged every day here, so this is a plus. I know that I absolutely need to keep learning at a break-neck pace if I want to move up in the world. Especially with technology companies. I bought a book called "Agile Software Development" by Uncle Bob (Robert Martin) to better understand the "theoretical" best way to decouple my designs and utilize TDD. I also discovered a book called "Clean Code" by the same on our e-learning website. Since my current team here isn't enforcing any particular software development practice, I am on my own to learn one. This is not because I think that there is one particular method that will fix everything, but because I think it is important to at least know one or two of them so you can start to learn WHY they are there in the first place. Then you can eventually become comfortable enough to roll your own "methodology" and proclaim yourself the lead evangelist if you like ;)

Procrastination and laziness


From my previous post, I was brainstorming ideas on how to maximize my learning while away from work. This didn't turn out as well as I hoped. I sort-of hinted at what I was suspecting about my job - was that I would be tired and not really in the mood for programming afterwards. Well, its not because I hate my job, but more because there are lots of time-wastey things to do at home that keep me from getting things done. Here are my personal evils:
  • Google Reader
  • Gmail
  • Hulu
  • Netflix
  • Peggle (yeah...)
  • 50 Cent: Blood on the sand (Ok, I can explain. My friend had me rent it for multiplayer! I swear!)
  • Intoxication (it doesn't take much alcohol to inhibit the "i want to think" part of the brain)
  • Working out/ Losing weight
The last one there isn't really a time-waster, but it sure is a will-power draining task. I have been at that since I started at UP and it really does take some motivation to keep going. After that, I feel like I deserve a break - not more stress and coding.

Even with these setbacks, I have managed to get something started. I am working with Django trying to create a website about goals. Right now they are fitness and diet goals, but I would like to generalize them to any type of goal or aspiration. I think it is useful to be able to track this stuff online in a social atmosphere. However, the pace has been painfully slow since it takes so long to "wind up" my brain for coding - and my brain usually isn't rested from work until about 11pm - an hour after I should already be in bed.

Reality Setting In


One thing that has changed in me since my last post, is all the excitement I had for the future. This isn't to say I am not excited about it, but that I see how many challenges and hurdles I face. I initially thought that since I'm a self-proclaimed "smart person", that I would figure out a way to succeed. That may still be true, but the more I learn about starting a business and what is already out there, the more I realize that ideas are a dime-a-dozen. This means that the startups that succeed are the ones who make it through thick-and-thin AND can adapt to the market. Not necessarily the ones who have a good idea to begin with.

Even if they have that, there is no guarantee however. There might be some minor thing you did to make your users wary of your product and nobody buys. Maybe nobody ever told you that you aren't supposed to do X so you did it and lost all your money. Life is unfair like that, and only the people who take those setbacks as challenges and fight back are the ones who succeed.

Take Mark Zuckerberg. He is incredibly successful with Facebook. He is a multi-millionaire and owns one of the coolest companies you can imagine! If he wasn't so nerdy I'm sure he would get all the chicks! But Mark is in a big dilemma right now - how to monetize? They could go under just like anybody else. How would he feel if Facebook could never really keep revenue > expense and eventually died out? It is possible, and Zuckerberg knows it. That must be terrifying.

I guess my point is that there is no time in life where you just go BOOYAH! and you now have money, women, friends, assets, and free time and not a care in the world. Well maybe Tim Ferriss does, but nobody else.

I still think that I will get the most out of life by trying the entrepreneurial route. However, I now realize that my "happiness" will not likely be some stress-free life. It will be filled with problems that need solving, and it will be up to me whether I sink or swim. I hope I swim, but that is yet to be seen.

So what's your point again?


Everyone wants to have a good life. But it's not easy. My level of happiness is probably comparable to what it will be as an entrepreneur in the future. I will just have higher standards for certain things, and maybe lower standards for others. The only thing preventing from me being happy right now is the thought that I should be doing more to get better. So really, I am trying to say everything is relative. Make the most of it while it's happening and stop worrying so much about the future (like I do)!